|
MAST
|
The constraint equation is defined along the path
as
where,
,
is the solution,
is the load parameter,
is the predictor based on the search direction
.
More...
#include <pseudo_arclength_continuation_solver.h>


Public Member Functions | |
| PseudoArclengthContinuationSolver () | |
| virtual | ~PseudoArclengthContinuationSolver () |
| virtual void | initialize (Real dp) |
initializes the search direction using the specified load step dp. More... | |
Public Member Functions inherited from MAST::ContinuationSolverBase | |
| ContinuationSolverBase () | |
| virtual | ~ContinuationSolverBase () |
| void | set_assembly_and_load_parameter (MAST::AssemblyElemOperations &elem_ops, MAST::AssemblyBase &assembly, MAST::Parameter &p) |
| sets the assembly object for this solver More... | |
| void | clear_assembly_and_load_parameters () |
| clears the assembly object from this solver More... | |
| virtual void | solve () |
| solves for the next load step More... | |
Protected Member Functions | |
| virtual void | _solve_NR_iterate (libMesh::NumericVector< Real > &X, MAST::Parameter &p) |
| void | _update_search_direction (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p, libMesh::SparseMatrix< Real > &jac, libMesh::NumericVector< Real > &t1_X, Real &t1_p) |
updates for the current iterate X and p, and stores these values to _t0_X and _t0_p for next computation. More... | |
| virtual Real | _g (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p) |
where, | |
| void | _g (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p, libMesh::NumericVector< Real > &t1_X, Real &t1_p, Real &g) |
where | |
| virtual void | _save_iteration_data () |
| method saves any data for possible resuse if the solution step is restarted More... | |
| virtual void | _reset_iterations () |
| method resets any data if a solution step is restarted More... | |
Protected Member Functions inherited from MAST::ContinuationSolverBase | |
| void | _solve (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p, libMesh::NumericVector< Real > &f, bool update_f, libMesh::NumericVector< Real > &dfdp, bool update_dfdp, const libMesh::NumericVector< Real > &dgdX, const Real dgdp, const Real g, libMesh::NumericVector< Real > &dX, Real &dp) |
| solves for the linear system of equation as a monolithic system
| |
| void | _solve_schur_factorization (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p, libMesh::SparseMatrix< Real > &jac, bool update_jac, libMesh::NumericVector< Real > &f, bool update_f, libMesh::NumericVector< Real > &dfdp, bool update_dfdp, libMesh::NumericVector< Real > &dXdp, bool update_dXdp, const libMesh::NumericVector< Real > &dgdX, const Real dgdp, const Real g, libMesh::NumericVector< Real > &dX, Real &dp) |
| solves for the linear system of equation using Schur factorization. More... | |
| Real | _res_norm (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p) |
Protected Attributes | |
| std::unique_ptr< libMesh::NumericVector< Real > > | _t0_X |
| std::unique_ptr< libMesh::NumericVector< Real > > | _t0_X_orig |
| Real | _t0_p |
| Real | _t0_p_orig |
Protected Attributes inherited from MAST::ContinuationSolverBase | |
| bool | _initialized |
| MAST::AssemblyElemOperations * | _elem_ops |
| MAST::AssemblyBase * | _assembly |
| MAST::Parameter * | _p |
| Real | _p0 |
| Real | _X_scale |
| Real | _p_scale |
| std::unique_ptr< libMesh::NumericVector< Real > > | _X0 |
Additional Inherited Members | |
Public Attributes inherited from MAST::ContinuationSolverBase | |
| unsigned int | max_it |
| Maximum number of Newton-Raphson iterations for the solver. More... | |
| Real | abs_tol |
| Absolute tolerance for the solver. More... | |
| Real | rel_tol |
| Relative tolerance for the solver. More... | |
| Real | arc_length |
| arc length that the solver is required to satisfy for the update. More... | |
| Real | min_step |
| minimum step size allowed with adaptivity More... | |
| Real | max_step |
| maximum step size allowed with adaptivity More... | |
| Real | step_size_change_exponent |
| exponent used in step size update. More... | |
| unsigned int | step_desired_iters |
| desired N-R iterations per load-step. More... | |
| bool | schur_factorization |
| flag to use Schur-factorizaiton (default) or monolithic solver More... | |
The constraint equation is defined along the path
as
where,
,
is the solution,
is the load parameter,
is the predictor based on the search direction
.
Given that the predictor is defined as
, with
as the step size, the constraint is rewritten as
or, assuming
,
The search direction is evaluated based on:
and,
is then scaled to unit norm.
Definition at line 49 of file pseudo_arclength_continuation_solver.h.
| MAST::PseudoArclengthContinuationSolver::PseudoArclengthContinuationSolver | ( | ) |
Definition at line 31 of file pseudo_arclength_continuation_solver.cpp.
|
virtual |
Definition at line 39 of file pseudo_arclength_continuation_solver.cpp.
|
protectedvirtual |
where,
and
.
Implements MAST::ContinuationSolverBase.
Definition at line 205 of file pseudo_arclength_continuation_solver.cpp.


|
protected |
|
protectedvirtual |
method resets any data if a solution step is restarted
Implements MAST::ContinuationSolverBase.
Definition at line 259 of file pseudo_arclength_continuation_solver.cpp.
|
protectedvirtual |
method saves any data for possible resuse if the solution step is restarted
Implements MAST::ContinuationSolverBase.
Definition at line 248 of file pseudo_arclength_continuation_solver.cpp.

|
protectedvirtual |
Implements MAST::ContinuationSolverBase.
Definition at line 86 of file pseudo_arclength_continuation_solver.cpp.


|
protected |
updates
for the current iterate X and p, and stores these values to _t0_X and _t0_p for next computation.
Definition at line 144 of file pseudo_arclength_continuation_solver.cpp.


|
virtual |
initializes the search direction using the specified load step dp.
Implements MAST::ContinuationSolverBase.
Definition at line 45 of file pseudo_arclength_continuation_solver.cpp.

|
protected |
Definition at line 128 of file pseudo_arclength_continuation_solver.h.
|
protected |
Definition at line 128 of file pseudo_arclength_continuation_solver.h.
|
protected |
Definition at line 127 of file pseudo_arclength_continuation_solver.h.
|
protected |
Definition at line 127 of file pseudo_arclength_continuation_solver.h.