26#ifndef OOMPH_GENERALISED_TIMESTEPPERS_HEADER
27#define OOMPH_GENERALISED_TIMESTEPPERS_HEADER
33#include <oomph-lib-config.h>
117 Type =
"ContinuationStorageScheme";
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",
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";
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";
289 for (
unsigned i = 0;
i <
n_dim;
i++)
GeneralisedTimestepper used to store the arclength derivatives and pervious solutions required in con...
void operator=(const ContinuationStorageScheme &)=delete
Broken assignment operator.
void shift_time_positions(Node *const &node_pt)
Broken shifting of time positions.
void assign_initial_values_impulsive(Data *const &data_pt)
Broken initialisation the time-history for the Data values corresponding to an impulsive start.
void set_consistent_pinned_values(Data *const &data_pt)
Set consistent values of the derivatives and current value when the data is pinned....
ContinuationStorageScheme(const ContinuationStorageScheme &)=delete
Broken copy constructor.
void modify_storage(GeneralisedTimeStepper *const &time_stepper_pt)
Modify the scheme based on the underlying timestepper.
void set_weights()
Set the weights (Do nothing)
void assign_initial_positions_impulsive(Node *const &node_pt)
Broken initialisation of the positions for the node corresponding to an impulsive start.
void shift_time_values(Data *const &data_pt)
Broken shifting of time values.
unsigned nprev_values() const
Number of previous values available.
unsigned Dof_current_offset
unsigned dof_current_offset()
unsigned Dof_derivative_offset
unsigned order() const
Return the actual order of the scheme. It's a steady scheme so it's zero, but that doesn't really mak...
unsigned dof_derivative_offset()
void set_consistent_pinned_positions(Node *const &node_pt)
Set consistent values of the derivatives and current value when the Nodes position is pinned....
void undo_make_steady()
This is a steady scheme, so you can't do this.
unsigned ndt() const
Number of timestep increments that need to be stored by the scheme.
ContinuationStorageScheme()
Constructor for the case when we allow adaptive continuation It can evaulate up to second derivatives...
A class that represents a collection of data; each Data object may contain many different individual ...
void set_value(const unsigned &i, const double &value_)
Set the i-th stored data value to specified value. The only reason that we require an explicit set fu...
void resize(const unsigned long &n)
Resize to a square nxn matrix; any values already present will be transfered.
Generalised timestepper that can serve a variety of purposes in continuation, bifurcation detection a...
unsigned ndof_storage_entries() const
Return the number of entries that correspond to dof storage.
void operator=(const GeneralisedTimeStepper &)=delete
Broken assignment operator.
unsigned Ndof_storage_entries
GeneralisedTimeStepper(const GeneralisedTimeStepper &)=delete
Broken copy constructor.
GeneralisedTimeStepper()
Broken empty constructor.
GeneralisedTimeStepper(const unsigned &n_tstorage, const unsigned &max_deriv, const unsigned &ndof_storage_entries=1)
Constructor that can only be called by derived objects. Pass the information directly through to the ...
unsigned ndim() const
Access function to # of Eulerian coordinates.
TimeStepper *& time_stepper_pt()
Access function for pointer to time stepper: Null if object is not time-dependent.
Nodes are derived from Data, but, in addition, have a definite (Eulerian) position in a space of a gi...
TimeStepper *& position_time_stepper_pt()
Return a pointer to the position timestepper.
An OomphLibError object which should be thrown when an run-time error is encountered....
An OomphLibWarning object which should be created as a temporary object to issue a warning....
A Class for nodes that deform elastically (i.e. position is an unknown in the problem)....
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
Base class for time-stepping schemes. Timestepper provides an approximation of the temporal derivativ...
DenseMatrix< double > Weight
Storage for the weights associated with the timestepper.
unsigned ntstorage() const
Return the number of doubles required to represent history (one for steady)
bool Is_steady
Bool to indicate if the timestepper is steady, i.e. its time-derivatives evaluate to zero....
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).