|
MAST
|
the equation set is:
the N-R updates are calculated such that
This equation is solved using Schur-factorization so that the disciplinary linear solver can be used. More...
#include <continuation_solver_base.h>


Public Member Functions | |
| 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 | initialize (Real dp)=0 |
initializes the data structure based on initial load step dp. More... | |
| virtual void | solve () |
| solves for the next load step More... | |
Public Attributes | |
| 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... | |
Protected Member Functions | |
| virtual void | _solve_NR_iterate (libMesh::NumericVector< Real > &X, MAST::Parameter &p)=0 |
| 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) |
| virtual Real | _g (const libMesh::NumericVector< Real > &X, const MAST::Parameter &p)=0 |
| virtual void | _save_iteration_data ()=0 |
| method saves any data for possible resuse if the solution step is restarted More... | |
| virtual void | _reset_iterations ()=0 |
| method resets any data if a soltion step is restarted More... | |
Protected Attributes | |
| 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 |
the equation set is:
the N-R updates are calculated such that
This equation is solved using Schur-factorization so that the disciplinary linear solver can be used.
Definition at line 53 of file continuation_solver_base.h.
| MAST::ContinuationSolverBase::ContinuationSolverBase | ( | ) |
Definition at line 37 of file continuation_solver_base.cpp.
|
virtual |
Definition at line 59 of file continuation_solver_base.cpp.

|
protectedpure virtual |
Implemented in MAST::PseudoArclengthContinuationSolver, and MAST::ArclengthContinuationSolver.

|
protected |
Definition at line 570 of file continuation_solver_base.cpp.


|
protectedpure virtual |
method resets any data if a soltion step is restarted
Implemented in MAST::PseudoArclengthContinuationSolver, and MAST::ArclengthContinuationSolver.

|
protectedpure virtual |
method saves any data for possible resuse if the solution step is restarted
Implemented in MAST::PseudoArclengthContinuationSolver, and MAST::ArclengthContinuationSolver.

|
protected |
solves for the linear system of equation as a monolithic system
dX and dp are returned from the solution
Definition at line 184 of file continuation_solver_base.cpp.


|
protectedpure virtual |
Implemented in MAST::PseudoArclengthContinuationSolver, and MAST::ArclengthContinuationSolver.

|
protected |
solves for the linear system of equation using Schur factorization.
dX and dp are returned from the solution
Definition at line 421 of file continuation_solver_base.cpp.


| void MAST::ContinuationSolverBase::clear_assembly_and_load_parameters | ( | ) |
clears the assembly object from this solver
Definition at line 82 of file continuation_solver_base.cpp.
|
pure virtual |
initializes the data structure based on initial load step dp.
must be called before solve().
Implemented in MAST::PseudoArclengthContinuationSolver, and MAST::ArclengthContinuationSolver.
| void MAST::ContinuationSolverBase::set_assembly_and_load_parameter | ( | MAST::AssemblyElemOperations & | elem_ops, |
| MAST::AssemblyBase & | assembly, | ||
| MAST::Parameter & | p | ||
| ) |
sets the assembly object for this solver
Definition at line 67 of file continuation_solver_base.cpp.

|
virtual |
solves for the next load step
Definition at line 93 of file continuation_solver_base.cpp.

|
protected |
Definition at line 224 of file continuation_solver_base.h.
|
protected |
Definition at line 223 of file continuation_solver_base.h.
|
protected |
Definition at line 221 of file continuation_solver_base.h.
|
protected |
Definition at line 225 of file continuation_solver_base.h.
|
protected |
Definition at line 228 of file continuation_solver_base.h.
|
protected |
Definition at line 228 of file continuation_solver_base.h.
|
protected |
Definition at line 233 of file continuation_solver_base.h.
|
protected |
Definition at line 228 of file continuation_solver_base.h.
| Real MAST::ContinuationSolverBase::abs_tol |
Absolute tolerance for the solver.
Default is 1.e-8;
Definition at line 97 of file continuation_solver_base.h.
| Real MAST::ContinuationSolverBase::arc_length |
arc length that the solver is required to satisfy for the update.
Definition at line 109 of file continuation_solver_base.h.
| unsigned int MAST::ContinuationSolverBase::max_it |
Maximum number of Newton-Raphson iterations for the solver.
Default is 20.
Definition at line 91 of file continuation_solver_base.h.
| Real MAST::ContinuationSolverBase::max_step |
maximum step size allowed with adaptivity
Definition at line 121 of file continuation_solver_base.h.
| Real MAST::ContinuationSolverBase::min_step |
minimum step size allowed with adaptivity
Definition at line 115 of file continuation_solver_base.h.
| Real MAST::ContinuationSolverBase::rel_tol |
Relative tolerance for the solver.
Default is 1.e-8;
Definition at line 103 of file continuation_solver_base.h.
| bool MAST::ContinuationSolverBase::schur_factorization |
flag to use Schur-factorizaiton (default) or monolithic solver
Definition at line 141 of file continuation_solver_base.h.
| unsigned int MAST::ContinuationSolverBase::step_desired_iters |
desired N-R iterations per load-step.
Step-size is chanegd if actual number of N-R iterates is different from this value using the expression
, where, p is the exponent.
Definition at line 136 of file continuation_solver_base.h.
| Real MAST::ContinuationSolverBase::step_size_change_exponent |
exponent used in step size update.
Definition at line 127 of file continuation_solver_base.h.