![]() |
|
Implicit midpoint rule base class for the two implementations. More...
#include <implicit_midpoint_rule.h>
Public Member Functions | |
IMRBase (const bool &adaptive=false) | |
Constructor with initialisation. More... | |
virtual | ~IMRBase () |
Destructor. More... | |
virtual void | set_weights ()=0 |
Setup weights for time derivative calculations. More... | |
virtual unsigned | nprev_values_for_value_at_evaluation_time () const =0 |
unsigned | order () const |
Actual order (accuracy) of the scheme. More... | |
unsigned | ndt () const |
Number of timestep increments that are required by the scheme. More... | |
unsigned | nprev_values () const |
??ds More... | |
void | shift_time_values (Data *const &data_pt) |
void | shift_time_positions (Node *const &node_pt) |
void | set_error_weights () |
void | set_predictor_weights () |
void | assign_initial_values_impulsive (Data *const &data_pt) |
not implemented (??ds TODO) More... | |
void | assign_initial_positions_impulsive (Node *const &node_pt) |
void | calculate_predicted_positions (Node *const &node_pt) |
double | temporal_error_in_position (Node *const &node_pt, const unsigned &i) |
void | calculate_predicted_values (Data *const &data_pt) |
double | temporal_error_in_value (Data *const &data_pt, const unsigned &i) |
![]() | |
TimeStepper (const unsigned &tstorage, const unsigned &max_deriv) | |
TimeStepper () | |
Broken empty constructor. More... | |
TimeStepper (const TimeStepper &)=delete | |
Broken copy constructor. More... | |
void | operator= (const TimeStepper &)=delete |
Broken assignment operator. More... | |
virtual | ~TimeStepper () |
virtual destructor More... | |
unsigned | highest_derivative () const |
Highest order derivative that the scheme can compute. More... | |
double & | time () |
Return current value of continous time. More... | |
double | time () const |
Return current value of continous time. More... | |
void | make_steady () |
bool | is_steady () const |
bool | predict_by_explicit_step () const |
ExplicitTimeStepper * | explicit_predictor_pt () |
void | set_predictor_pt (ExplicitTimeStepper *_pred_pt) |
void | update_predicted_time (const double &new_time) |
void | check_predicted_values_up_to_date () const |
Check that the predicted values are the ones we want. More... | |
unsigned | predictor_storage_index () const |
void | enable_warning_in_assign_initial_data_values () |
void | disable_warning_in_assign_initial_data_values () |
const DenseMatrix< double > * | weights_pt () const |
Get a (const) pointer to the weights. More... | |
virtual void | undo_make_steady () |
std::string | type () const |
void | time_derivative (const unsigned &i, Data *const &data_pt, Vector< double > &deriv) |
double | time_derivative (const unsigned &i, Data *const &data_pt, const unsigned &j) |
Evaluate i-th derivative of j-th value in Data. More... | |
void | time_derivative (const unsigned &i, Node *const &node_pt, Vector< double > &deriv) |
double | time_derivative (const unsigned &i, Node *const &node_pt, const unsigned &j) |
Time *const & | time_pt () const |
Access function for the pointer to time (const version) More... | |
Time *& | time_pt () |
virtual double | weight (const unsigned &i, const unsigned &j) const |
Access function for j-th weight for the i-th derivative. More... | |
unsigned | ntstorage () const |
bool | adaptive_flag () const |
Function to indicate whether the scheme is adaptive (false by default) More... | |
virtual void | actions_before_timestep (Problem *problem_pt) |
virtual void | actions_after_timestep (Problem *problem_pt) |
Additional Inherited Members | |
![]() | |
Time * | Time_pt |
Pointer to discrete time storage scheme. More... | |
DenseMatrix< double > | Weight |
Storage for the weights associated with the timestepper. More... | |
std::string | Type |
bool | Adaptive_Flag |
bool | Is_steady |
bool | Shut_up_in_assign_initial_data_values |
bool | Predict_by_explicit_step |
ExplicitTimeStepper * | Explicit_predictor_pt |
double | Predicted_time |
int | Predictor_storage_index |
Implicit midpoint rule base class for the two implementations.
|
inline |
Constructor with initialisation.
References Global_Physical_Variables::adaptive, oomph::TimeStepper::Adaptive_Flag, oomph::TimeStepper::Is_steady, oomph::TimeStepper::Predict_by_explicit_step, oomph::TimeStepper::Predictor_storage_index, oomph::DenseMatrix< T >::resize(), oomph::TimeStepper::Type, and oomph::TimeStepper::Weight.
|
inlinevirtual |
Initialiset the positions for the node corresponding to an impulsive start
Implements oomph::TimeStepper.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Global_string_for_annotation::string().
|
inlinevirtual |
not implemented (??ds TODO)
Implements oomph::TimeStepper.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Global_string_for_annotation::string().
|
inlinevirtual |
Do the predictor step for the positions at a node (currently empty — overwrite for a specific scheme)
Reimplemented from oomph::TimeStepper.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Global_string_for_annotation::string().
|
virtual |
Dummy - just check that the values that problem::calculate_predicted_values() has been called right.
Reimplemented from oomph::TimeStepper.
References oomph::TimeStepper::adaptive_flag(), and oomph::TimeStepper::check_predicted_values_up_to_date().
|
inlinevirtual |
Number of timestep increments that are required by the scheme.
Implements oomph::TimeStepper.
References nprev_values().
Referenced by shift_time_positions(), and shift_time_values().
|
inlinevirtual |
|
pure virtual |
Number of history values to interpolate over to get the "current" value.
Reimplemented from oomph::TimeStepper.
Implemented in oomph::IMRByBDF, and oomph::IMR.
|
inlinevirtual |
Actual order (accuracy) of the scheme.
Reimplemented from oomph::TimeStepper.
|
inlinevirtual |
Set the weights for the error computation. This is not used by midpoint rule.
Reimplemented from oomph::TimeStepper.
|
inlinevirtual |
Set the weights for the predictor previous timestep. This is not used by midpint rule.
Reimplemented from oomph::TimeStepper.
|
pure virtual |
Setup weights for time derivative calculations.
Implements oomph::TimeStepper.
Implemented in oomph::IMRByBDF, and oomph::IMR.
|
virtual |
This function advances the time history of the positions at a node.
This function advances the time history of the positions at a node. ??ds Untested: I have no problems with moving nodes.
Implements oomph::TimeStepper.
References oomph::TimeStepper::adaptive_flag(), i, k, oomph::Node::ndim(), ndt(), oomph::Node::nposition_type(), oomph::TimeStepper::ntstorage(), oomph::Node::position_is_a_copy(), plotPSD::t, Jeffery_Solution::velocity(), oomph::TimeStepper::Weight, and oomph::Node::x_gen().
|
virtual |
This function advances the Data's time history so that we can move on to the next timestep
Implements oomph::TimeStepper.
References oomph::Data::is_a_copy(), j, ndt(), oomph::Data::nvalue(), oomph::Data::set_value(), plotPSD::t, and oomph::Data::value().
|
inlinevirtual |
Compute the error in the position i at a node zero here – overwrite for specific scheme.
Reimplemented from oomph::TimeStepper.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Global_string_for_annotation::string().
|
virtual |
Compute the error in the value i in a Data structure zero here – overwrite for specific scheme.
Reimplemented from oomph::TimeStepper.
References oomph::TimeStepper::adaptive_flag(), i, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::TimeStepper::Predictor_storage_index, oomph::Global_string_for_annotation::string(), and oomph::Data::value().