template<class T>
class gismo::gsALMBase< T >
Performs the arc length method to solve a nonlinear system of equations.
- 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. More...
|
|
virtual gsStatus | computeStability (bool jacobian=true, T shift=-1e2) |
| Calculates the stability of the solution x. More...
|
|
virtual bool | converged () const |
| True if the Arc Length method converged.
|
|
| gsALMBase (const Jacobian_t &Jacobian, const ALResidual_t &ALResidual, const gsVector< T > &Force) |
| Constructor.
|
|
| gsALMBase (const dJacobian_t &dJacobian, const ALResidual_t &Residual, const gsVector< T > &Force) |
| Constructor using the jacobian that takes the solution and the solution step.
|
|
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 const 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. More...
|
|
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 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.
|
|
virtual void | initiateStep ()=0 |
| Initiate the first iteration.
|
|
virtual void | initMethods ()=0 |
| Initialize the ALM.
|
|
virtual void | initOutput ()=0 |
| Initialize the output.
|
|
virtual void | iteration ()=0 |
| A single iteration.
|
|
virtual void | iterationFinish ()=0 |
| Finish the iterations.
|
|
virtual void | predictor ()=0 |
| Step predictor.
|
|
virtual void | quasiNewtonIteration ()=0 |
| Perform iteration using quasi-newton method.
|
|
virtual void | quasiNewtonPredictor ()=0 |
| Provide a specialized predictor when using quasi newton methods.
|
|
virtual gsVector< T > | solveSystem (const gsVector< T > &F) |
| Solve the system with right-hand side F.
|
|
virtual void | stepOutput ()=0 |
| Provide step-wise output.
|
|