26 #ifndef OOMPH_GENERALISED_TIMESTEPPERS_HEADER
27 #define OOMPH_GENERALISED_TIMESTEPPERS_HEADER
33 #include <oomph-lib-config.h>
62 const unsigned& max_deriv,
117 Type =
"ContinuationStorageScheme";
131 unsigned n_tstorage = time_stepper_pt->
ntstorage();
140 unsigned n_new_tstorage = 2 * this->Ndof_storage_entries + n_tstorage;
170 "Cannot perform impulsive start for ContinuationStorageScheme",
180 "Cannot perform impulsive start for ContinuationStorageScheme",
189 "Cannot shift time values forContinuationStorageScheme",
198 "Cannot shift time positions forContinuationStorageScheme",
228 std::ostringstream error_stream;
230 <<
"Data object " << data_pt <<
" has timestepper of type "
232 <<
"Please set the data's timestepper to be a "
233 <<
"ContinuationStorageScheme before calling this function\n";
240 const unsigned n_value = data_pt->
nvalue();
241 for (
unsigned i = 0;
i < n_value; ++
i)
271 std::ostringstream error_stream;
273 <<
"Node object " << node_pt <<
" has position timestepper of type "
275 <<
"Please set the Node's position timestepper to be a "
276 <<
"ContinuationStorageScheme before calling this function\n";
284 const unsigned n_dim = solid_node_pt->ndim();
286 const unsigned n_position_type = solid_node_pt->nposition_type();
289 for (
unsigned i = 0;
i < n_dim;
i++)
292 if (solid_node_pt->position_is_a_copy(
i) ==
false)
295 for (
unsigned k = 0;
k < n_position_type;
k++)
298 if (solid_node_pt->position_is_pinned(
k,
i))
306 solid_node_pt->x_gen(
t,
k,
i);
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Definition: generalised_timesteppers.h:101
void operator=(const ContinuationStorageScheme &)=delete
Broken assignment operator.
void shift_time_positions(Node *const &node_pt)
Broken shifting of time positions.
Definition: generalised_timesteppers.h:195
void assign_initial_values_impulsive(Data *const &data_pt)
Definition: generalised_timesteppers.h:167
void set_consistent_pinned_values(Data *const &data_pt)
Definition: generalised_timesteppers.h:221
ContinuationStorageScheme(const ContinuationStorageScheme &)=delete
Broken copy constructor.
void modify_storage(GeneralisedTimeStepper *const &time_stepper_pt)
Modify the scheme based on the underlying timestepper.
Definition: generalised_timesteppers.h:126
void set_weights()
Set the weights (Do nothing)
Definition: generalised_timesteppers.h:204
void assign_initial_positions_impulsive(Node *const &node_pt)
Definition: generalised_timesteppers.h:177
void shift_time_values(Data *const &data_pt)
Broken shifting of time values.
Definition: generalised_timesteppers.h:186
unsigned nprev_values() const
Number of previous values available.
Definition: generalised_timesteppers.h:207
unsigned Dof_current_offset
Definition: generalised_timesteppers.h:106
unsigned dof_current_offset()
Definition: generalised_timesteppers.h:322
unsigned Dof_derivative_offset
Definition: generalised_timesteppers.h:103
unsigned order() const
Definition: generalised_timesteppers.h:154
unsigned dof_derivative_offset()
Definition: generalised_timesteppers.h:316
void set_consistent_pinned_positions(Node *const &node_pt)
Definition: generalised_timesteppers.h:261
void undo_make_steady()
This is a steady scheme, so you can't do this.
Definition: generalised_timesteppers.h:160
unsigned ndt() const
Number of timestep increments that need to be stored by the scheme.
Definition: generalised_timesteppers.h:213
ContinuationStorageScheme()
Definition: generalised_timesteppers.h:112
TimeStepper *& time_stepper_pt()
Return the pointer to the timestepper.
Definition: nodes.h:238
void set_value(const unsigned &i, const double &value_)
Definition: nodes.h:271
virtual bool is_a_copy() const
Definition: nodes.h:253
unsigned nvalue() const
Return number of values stored in data object (incl pinned ones).
Definition: nodes.h:483
double value(const unsigned &i) const
Definition: nodes.h:293
bool is_pinned(const unsigned &i) const
Test whether the i-th variable is pinned (1: true; 0: false).
Definition: nodes.h:417
void resize(const unsigned long &n)
Definition: matrices.h:498
Definition: generalised_timesteppers.h:51
unsigned ndof_storage_entries() const
Return the number of entries that correspond to dof storage.
Definition: generalised_timesteppers.h:81
void operator=(const GeneralisedTimeStepper &)=delete
Broken assignment operator.
unsigned Ndof_storage_entries
Definition: generalised_timesteppers.h:54
GeneralisedTimeStepper(const GeneralisedTimeStepper &)=delete
Broken copy constructor.
GeneralisedTimeStepper()
Broken empty constructor.
Definition: generalised_timesteppers.h:71
GeneralisedTimeStepper(const unsigned &n_tstorage, const unsigned &max_deriv, const unsigned &ndof_storage_entries=1)
Definition: generalised_timesteppers.h:61
TimeStepper *& position_time_stepper_pt()
Return a pointer to the position timestepper.
Definition: nodes.h:1022
Definition: oomph_definitions.h:222
Definition: oomph_definitions.h:267
Definition: timesteppers.h:231
DenseMatrix< double > Weight
Storage for the weights associated with the timestepper.
Definition: timesteppers.h:237
unsigned ntstorage() const
Definition: timesteppers.h:601
std::string Type
Definition: timesteppers.h:241
bool Is_steady
Definition: timesteppers.h:251
char char char int int * k
Definition: level2_impl.h:374
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
string name
Definition: plotDoE.py:33
t
Definition: plotPSD.py:36
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86