20 #ifndef __mast__pseudo_arclength_continuation_solver_h__ 21 #define __mast__pseudo_arclength_continuation_solver_h__ 78 libMesh::SparseMatrix<Real> &jac,
81 libMesh::NumericVector<Real> &t1_X,
95 _g(
const libMesh::NumericVector<Real> &X,
111 _g(
const libMesh::NumericVector<Real> &X,
113 libMesh::NumericVector<Real> &t1_X,
133 #endif // __mast__pseudo_arclength_continuation_solver_h__ virtual Real _g(const libMesh::NumericVector< Real > &X, const MAST::Parameter &p)
where, and .
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 computa...
virtual void _save_iteration_data()
method saves any data for possible resuse if the solution step is restarted
This is a scalar function whose value can be changed and one that can be used as a design variable in...
virtual void initialize(Real dp)
initializes the search direction using the specified load step dp.
the equation set is: the N-R updates are calculated such that This equation is solved using Schur-f...
std::unique_ptr< libMesh::NumericVector< Real > > _t0_X_orig
The constraint equation is defined along the path as where, , is the solution, is the load parame...
PseudoArclengthContinuationSolver()
std::unique_ptr< libMesh::NumericVector< Real > > _t0_X
virtual void _solve_NR_iterate(libMesh::NumericVector< Real > &X, MAST::Parameter &p)
virtual ~PseudoArclengthContinuationSolver()
virtual void _reset_iterations()
method resets any data if a solution step is restarted