26 #ifndef OOMPH_ODE_ELEMENT_FOR_IMR_H
27 #define OOMPH_ODE_ELEMENT_FOR_IMR_H
45 :
ODEElement(time_stepper_pt, exact_solution_pt) {}
66 for(
unsigned j=0;
j<nj;
j++)
93 for(
unsigned j=0;
j<nj;
j++)
120 for(
unsigned j=0, nj=deriv.size();
j<nj;
j++)
127 residuals[
j] = deriv[
j] - dudt;
163 const double w00 = ts_pt->
weight(0,0);
164 for(
unsigned i=0;
i<
n;
i++)
166 for(
unsigned j=0;
j<
n;
j++)
168 jacobian(
i,
j) *= w00;
174 const double w10 = ts_pt->
weight(1,0);
175 for(
unsigned i=0;
i<
n;
i++)
177 jacobian(
i,
i) -= w10;
184 (residuals, jacobian,
true);
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
TimeStepper *& time_stepper_pt()
Return the pointer to the timestepper.
Definition: nodes.h:238
double value(const unsigned &i) const
Definition: nodes.h:293
Data *& internal_data_pt(const unsigned &i)
Return a pointer to i-th internal data object.
Definition: elements.h:622
void fill_in_jacobian_from_internal_by_fd(Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false)
Definition: elements.cc:1102
Definition: ode_element_for_imr.h:40
Vector< double > time_interpolate_u() const
Definition: ode_element_for_imr.h:53
void fill_in_contribution_to_residuals(Vector< double > &residuals)
Definition: ode_element_for_imr.h:104
IMRODEElement(TimeStepper *time_stepper_pt, SolutionFunctorBase *exact_solution_pt)
Constructor.
Definition: ode_element_for_imr.h:43
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Definition: ode_element_for_imr.h:138
double time_interpolate_time() const
Definition: ode_element_for_imr.h:80
IMRODEElement(const IMRODEElement &dummy)
Broken copy constructor.
Definition: ode_element_for_imr.h:192
virtual ~IMRODEElement()
Virtual destructor.
Definition: ode_element_for_imr.h:48
Element for integrating an initial value ODE.
Definition: ode_elements.h:41
bool Use_fd_jacobian
Definition: ode_elements.h:182
SolutionFunctorBase * Exact_solution_pt
Definition: ode_elements.h:180
Vector< double > derivative_function(const double &t, const Vector< double > &u)
Exact solution.
Definition: ode_elements.h:166
unsigned nvalue() const
Definition: ode_elements.h:76
Definition: oomph_utilities.h:1109
virtual void jacobian(const double &t, const Vector< double > &x, const Vector< double > &u, DenseMatrix< double > &jacobian) const
Definition: oomph_utilities.h:1142
virtual bool have_jacobian() const
Is a jacobian function implemented?
Definition: oomph_utilities.h:1153
Definition: timesteppers.h:231
virtual double weight(const unsigned &i, const unsigned &j) const
Access function for j-th weight for the i-th derivative.
Definition: timesteppers.h:594
virtual unsigned nprev_values_for_value_at_evaluation_time() const
Definition: timesteppers.h:359
void time_derivative(const unsigned &i, Data *const &data_pt, Vector< double > &deriv)
Definition: timesteppers.h:502
Time *const & time_pt() const
Access function for the pointer to time (const version)
Definition: timesteppers.h:572
double & time()
Return the current value of the continuous time.
Definition: timesteppers.h:123
void broken_copy(const std::string &class_name)
Issue error message and terminate execution.
Definition: oomph_utilities.cc:212
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
t
Definition: plotPSD.py:36
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2