7#ifndef ArcLength_base_H
8#define ArcLength_base_H
15 template <
typename _Type>
24 DESIRED_ARC_PROPORTION(0.5),
42 const double& max_length);
132 double DESIRED_ARC_PROPORTION;
Specification for a templated DenseVector class – a dense, dynamic, vector object.
void update_theta(const DenseVector< _Type > &x)
Automatically update the Keller THETA such that the proportion of the arclength obtained from the par...
_Type * p_PARAM
pointer to the parameter in arclength solves
virtual void solve(DenseVector< _Type > &x)=0
Compute a solution for that state & parameter variables that are an arc-length 'ds' from the current ...
void update(const DenseVector< _Type > &x)
A method called by arclength_solve and init_arc which stores the current converged state and paramete...
DenseVector< _Type > Jac_arclength_residual(DenseVector< _Type > &x) const
The derivative of the arclength_residual function with respect to each of the state variables.
void init_arc(DenseVector< _Type > x, _Type *p, const double &length, const double &max_length)
Initialise the class ready for arc-length continuation.
_Type PARAM_DERIV_S
derivative of the parameter w.r.t arc length
bool INITIALISED
for the arc-length solver - to show it has been initialised
bool & rescale_theta()
Handle to the RESCALE_THETA flag.
DenseVector< _Type > X_DERIV_S
derivative of the state variable w.r.t. arc length
double & ds()
Return a handle to the arclength step.
double & theta()
Set the arclength theta parameter.
double DS
size of the arc length step
double ARCSTEP_MULTIPLIER
step change multiplier
virtual ~ArcLength_base()
double THETA
the arclength theta
double arclength_residual(const DenseVector< _Type > &x) const
The extra constraint that is to be used to replace the unknown arc length.
double MAX_DS
maximum arc length step to be taken
_Type LAST_PARAM
parameter value at the last computed solution
DenseVector< _Type > LAST_X
state variable at the last computed solution
double & arcstep_multiplier()
Used to set the multiplication constant used when increasing or decreasing the arclength step.
double & desired_arc_proportion()
Handle to the desired proportion of the parameter to be used in the arc length solver.
An DenseVector class – a dense vector object.
std::size_t size() const
A pass-thru definition to get the size of the vector.
An object to block copying.
A collection of OO numerical routines aimed at simple (typical) applied problems in continuum mechani...