template<class T>
class gismo::gsALMRiks< T >
Performs the Riks arc length method to solve a nonlinear equation system.
- Template Parameters
-
|
virtual void | applyOptions () |
| Apply the options.
|
|
virtual gsStatus | computeSingularPoint (const gsVector< T > &U, const T &L, bool switchBranch=false, bool jacobian=false, bool testPoint=true) |
| Calculates the singular point.
|
|
virtual bool | converged () const |
| True if the Arc Length method converged.
|
|
| gsALMRiks (const dJacobian_t &dJacobian, const ALResidual_t &ALResidual, const gsVector< T > &Force) |
| Constructor using the jacobian that takes the solution and the solution step.
|
|
| gsALMRiks (const Jacobian_t &Jacobian, const ALResidual_t &ALResidual, const gsVector< T > &Force) |
| Constructor.
|
|
virtual T | indicator () const |
| Returns the value of the Determinant or other indicator.
|
|
virtual void | initialize (bool stability=true) |
| Initialize the arc-length method, computes the stability of the initial configuration if stability is true.
|
|
virtual bool | isBifurcation (bool jacobian=false) |
| Returns true if the point is a bifurcation.
|
|
virtual bool | isStable () const |
| Returns if solution passed a bifurcation point.
|
|
virtual index_t | numIterations () const |
| Returns the number of Newton iterations performed.
|
|
virtual gsOptionList & | options () |
| Access the options.
|
|
virtual void | options_into (gsOptionList options) |
| Return the options into options.
|
|
virtual T | reduceLength (T fac=0.5) |
| Reduce the length by multiplication with a factor fac.
|
|
virtual T | resetLength () |
| Reset the length.
|
|
virtual void | resetStep () |
| Resets the step.
|
|
virtual T | residue () const |
| Returns the error after solving the nonlinear system.
|
|
virtual void | setLength (T length) |
| Set arc length to length.
|
|
virtual void | setLength (T length, bool adaptive) |
| Set arc length to length, enables adaptive steps.
|
|
virtual void | setLength (T length, bool adaptive, index_t iterations) |
| Set arc length to length, enables adaptive steps aiming for iterations number of iterations per step.
|
|
virtual void | setLength (T length, index_t iterations) |
| Set arc length to length, enables adaptive steps aiming for iterations number of iterations per step.
|
|
virtual void | setOptions (gsOptionList options) |
| Set the options to options.
|
|
virtual void | setSolution (const gsVector< T > &U, const T &L) |
| Sets the solution.
|
|
virtual void | setSolutionStep (const gsVector< T > &DU, const T &DL) |
| Sets the solution step.
|
|
virtual const gsVector< T > & | solutionU () const |
| Return the solution vector and factor.
|
|
virtual index_t | stability () const |
| Computes the stability: -1 if unstable, +1 if stable.
|
|
virtual bool | stabilityChange () const |
| Checks if the stability of the system changed since the previously known solution.
|
|
virtual gsStatus | step () |
| Perform one arc-length step.
|
|
virtual void | switchBranch () |
| Switches branches.
|
|
virtual T | tolerance () const |
| Returns the tolerance value used.
|
|
|
virtual index_t | _bisectionObjectiveFunction (const gsVector< T > &x, bool jacobian=true) |
| Returns the objective function for the bisection method given solution x.
|
|
virtual bool | _bisectionSolve (const gsVector< T > &U, const T L, const T tol) |
| Perform a bisection system solve to find a singular point.
|
|
virtual T | _bisectionTerminationFunction (const gsVector< T > &x, bool jacobian=true) |
| Returns the termination function for the bisection method given solution x.
|
|
virtual gsSparseMatrix< T > | _computeJacobian (const gsVector< T > &U, const gsVector< T > &dU) |
| Compute the jacobian matrix.
|
|
virtual void | _computeSingularPoint (const gsVector< T > &U, const T &L, bool switchBranch=false, bool jacobian=false, bool testPoint=true) |
| See computeSingularPoint.
|
|
virtual void | _computeStability (const gsVector< T > &x, bool jacobian=true, T shift=-1e2) |
| See computeStability.
|
|
virtual void | _extendedSystemIteration () |
| Perform an extended system iteration.
|
|
virtual bool | _extendedSystemSolve (const gsVector< T > &U, const T L, const T tol) |
| Perform an extended system solve to find a singular point.
|
|
virtual void | _initOutputExtended () |
| Initialize the output for extended iterations.
|
|
virtual void | _step () |
| Implementation of step.
|
|
virtual void | _stepOutputExtended () |
| Step output for extended iterations.
|
|
virtual bool | _testSingularPoint (bool jacobian=false) |
| Tests if a point is a bifurcation point.
|
|
virtual void | computeLength () |
| Compute the adaptive arc-length.
|
|
virtual gsVector< T > | computeResidual (const gsVector< T > &U, const T &L) |
| Compute the residual.
|
|
virtual void | computeResidualNorms () |
| Compute the residual error norms.
|
|
virtual gsStatus | computeStability (bool jacobian=true, T shift=-1e2) |
| Calculates the stability of the solution x.
|
|
virtual void | computeUbar () |
| Compute \(\bar_u\).
|
|
virtual void | computeUt () |
| Compute \(\u_t\).
|
|
virtual void | defaultOptions () |
| Set default options.
|
|
virtual void | factorizeMatrix (const gsSparseMatrix< T > &M) |
| Factorize the matrix M.
|
|
virtual void | getOptions () |
| Apply options.
|
|
virtual void | init (bool stability) |
| Initialize the solver.
|
|
void | initiateStep () |
| See gsALMBase.
|
|
void | initMethods () |
| See gsALMBase.
|
|
void | initOutput () |
| See gsALMBase.
|
|
void | iteration () |
| See gsALMBase.
|
|
void | iterationFinish () |
| See gsALMBase.
|
|
void | predictor () |
| See gsALMBase.
|
|
void | quasiNewtonIteration () |
| See gsALMBase.
|
|
void | quasiNewtonPredictor () |
| See gsALMBase.
|
|
virtual gsVector< T > | solveSystem (const gsVector< T > &F) |
| Solve the system with right-hand side F.
|
|
void | stepOutput () |
| See gsALMBase.
|
|
|
T | m_arcLength |
| Length of the step in the u,f plane.
|
|
bool | m_converged |
| Convergence result.
|
|
T | m_DeltaL |
| Update of lambdaGeneralizedSelfAdjointEigenSolver.
|
|
T | m_deltaL |
| Update of update of lambda.
|
|
gsVector< T > | m_deltaLs |
| Vector with lambda updates.
|
|
gsVector< T > | m_DeltaU |
| Update of displacement vector.
|
|
gsVector< T > | m_deltaU |
| Update of update of displacement vector.
|
|
gsVector< T > | m_deltaUbar |
| u_bar
|
|
gsVector< T > | m_deltaUt |
| u_t
|
|
index_t | m_desiredIterations |
| Number of desired iterations.
|
|
T | m_indicator |
| Indicator for bifurcation.
|
|
gsSparseMatrix< T > | m_jacMat |
| Jacobian matrix.
|
|
T | m_L |
| Lambda (present, at previously converged point)
|
|
index_t | m_maxIterations |
| Maximum number of Arc Length iterations allowed.
|
|
std::string | m_note |
| Note.
|
|
index_t | m_numIterations |
| Number of Arc Length iterations performed.
|
|
gsOptionList | m_options |
| Solver options.
|
|
T | m_phi |
| Scaling parameter.
|
|
T | m_relax |
| Relaxation factor.
|
|
T | m_residue |
| Force residuum.
|
|
T | m_residueF |
| Force residuum.
|
|
T | m_residueKTPhi |
| Singular point.
|
|
T | m_residueL |
| Load residuum.
|
|
T | m_residueU |
| Displacement residuum.
|
|
gsVector< T > | m_resVec |
| Value of residual function.
|
|
T | m_tolerance |
| Tolerance value to decide convergence.
|
|
T | m_toleranceF |
| Tolerance value to decide convergence - Force criterion.
|
|
T | m_toleranceU |
| Tolerance value to decide convergence - Displacement criterion.
|
|
gsVector< T > | m_U |
| Displacement vector (present, at previously converged point)
|
|
bool | m_verbose |
| Output verbosity.
|
|