OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::CylindricalALM Class Reference

Implementation of sparse nonlinear solver with indirect control. More...

#include <calmls.h>

+ Inheritance diagram for oofem::CylindricalALM:
+ Collaboration diagram for oofem::CylindricalALM:

Public Member Functions

 CylindricalALM (Domain *d, EngngModel *m)
 
virtual ~CylindricalALM ()
 
virtual NM_Status solve (SparseMtrx &K, FloatArray &R, FloatArray *R0, FloatArray &X, FloatArray &dX, FloatArray &F, const FloatArray &internalForcesEBENorm, double &ReachedLambda, referenceLoadInputModeType rlm, int &nite, TimeStep *)
 Solves the given sparse linear system of equations $ s R + R_0 - F(X) = 0 $. More...
 
virtual double giveCurrentStepLength ()
 Returns step length. More...
 
virtual void setStepLength (double s)
 Sets the step length. More...
 
virtual IRResultType initializeFrom (InputRecord *ir)
 
virtual bool referenceLoad () const
 Returns true if reference loads are used (i.e. More...
 
virtual contextIOResultType saveContext (DataStream &stream, ContextMode mode, void *obj=NULL)
 
virtual contextIOResultType restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL)
 
virtual void setDomain (Domain *d)
 
virtual void reinitialize ()
 Reinitializes the receiver. More...
 
virtual const char * giveClassName () const
 
virtual const char * giveInputRecordName () const
 
virtual SparseLinearSystemNMgiveLinearSolver ()
 Constructs (if necessary) and returns a linear solver. More...
 
- Public Member Functions inherited from oofem::SparseNonLinearSystemNM
 SparseNonLinearSystemNM (Domain *d, EngngModel *m)
 Constructor. More...
 
virtual ~SparseNonLinearSystemNM ()
 Destructor. More...
 
virtual void printState (FILE *outputStream)
 Prints status message of receiver to output stream. More...
 
IRResultType initializeFrom (InputRecord *ir)
 
virtual void convertPertMap ()
 
virtual void applyPerturbation (FloatArray *displacement)
 
std::string errorInfo (const char *func) const
 Error printing helper. More...
 
- Public Member Functions inherited from oofem::NumericalMethod
 NumericalMethod (Domain *d, EngngModel *m)
 Constructor. More...
 
virtual ~NumericalMethod ()
 Destructor. More...
 
EngngModelgiveEngngModel ()
 

Protected Types

enum  calm_ControlType { calm_hpc_off = 0, calm_hpc_on, calml_hpc }
 CALM mode type; determines the calm step length control. More...
 
enum  calm_NR_ModeType { calm_modifiedNRM, calm_fullNRM, calm_accelNRM }
 Controlling mode of Newton-Raphson Method. More...
 
typedef std::set< DofIDItem__DofIDSet
 

Protected Member Functions

void convertHPCMap ()
 
int computeDeltaLambda (double &deltaLambda, const FloatArray &dX, const FloatArray &deltaXt, const FloatArray &deltaX_, const FloatArray &R, double RR, double eta, double deltaL, double DeltaLambda0, int neq)
 
void search (int istep, FloatArray &prod, FloatArray &eta, double amp, double maxeta, double mineta, int &status)
 
bool checkConvergence (const FloatArray &R, const FloatArray *R0, const FloatArray &F, const FloatArray &X, const FloatArray &ddX, double Lambda, double RR0, double RR, double drProduct, const FloatArray &internalForcesEBENorm, int nite, bool &errorOutOfRange)
 Evaluates the convergence criteria. More...
 
void do_lineSearch (FloatArray &X, const FloatArray &XInitial, const FloatArray &deltaX_, const FloatArray &deltaXt, const FloatArray &dXm1, FloatArray &dX, FloatArray &ddX, const FloatArray &R, const FloatArray *R0, const FloatArray &F, double &DeltaLambda, double &DeltaLambdam1, double &deltaLambda, double &Lambda, double &ReachedLambda, double RR, double &drProduct, TimeStep *tStep)
 Perform line search optimization of step length. More...
 

Protected Attributes

int nsmax
 
int maxRestarts
 
double Psi
 
double deltaL
 
double minStepLength
 
double maxStepLength
 
int solved
 
int numberOfRequiredIterations
 
calm_NR_ModeType calm_NR_Mode
 
calm_NR_ModeType calm_NR_OldMode
 
int calm_NR_ModeTick
 
int calm_MANRMSteps
 
int minIterations
 Minimum hard number of iteration.s. More...
 
int calm_hpc_init
 Variables for HyperPlaneControl. More...
 
calm_ControlType calm_Control
 
FloatArray calm_HPCWeights
 
IntArray calm_HPCIndirectDofMask
 Array containing equation numbers of dofs under indirect control. More...
 
IntArray calm_HPCDmanDofSrcArray
 Input array containing dofmanagers and corresponding dof numbers under indirect control. More...
 
FloatArray calm_HPCDmanWeightSrcArray
 Input array of dofman weights (for hpcmode 2). More...
 
std::unique_ptr< SparseLinearSystemNMlinSolver
 Linear system solver. More...
 
LinSystSolverType solverType
 linear system solver ID. More...
 
int lsFlag
 Line search flag. More...
 
double ls_tolerance
 Line search tolerance. More...
 
double amplifFactor
 Line search amplification factor. More...
 
double maxEta
 Line search parameters (limits). More...
 
double minEta
 
int nccdg
 Number of convergence criteria dof groups. More...
 
std::vector< __DofIDSetccDofGroups
 Convergence criteria dof groups. More...
 
FloatArray rtolf
 Relative unbalanced force tolerance for each group. More...
 
FloatArray rtold
 Relative iterative displacement change tolerance for each group. More...
 
ParallelContextparallel_context
 Parallel context for computing norms, dot products and such. More...
 
- Protected Attributes inherited from oofem::SparseNonLinearSystemNM
double deltaL
 Load level. More...
 
double randPertAmplitude
 Amplitude of a random perturbation applied on the solution before the iteration process. More...
 
int randSeed
 
bool pert_init_needed
 
IntArray igp_PertDmanDofSrcArray
 
FloatArray igp_PertWeightArray
 
IntArray igp_Map
 
FloatArray igp_Weight
 
- Protected Attributes inherited from oofem::NumericalMethod
Domaindomain
 Pointer to domain. More...
 
EngngModelengngModel
 Pointer to engineering model. More...
 

Additional Inherited Members

- Public Types inherited from oofem::SparseNonLinearSystemNM
enum  referenceLoadInputModeType { rlm_total =0, rlm_incremental =1 }
 The following parameter allows to specify how the reference load vector is obtained from given totalLoadVector and initialLoadVector. More...
 

Detailed Description

Implementation of sparse nonlinear solver with indirect control.

It uses Cylindrical Arc-Length Method algorithm.

DESCRIPTION : Perform solution of non-linear problem in the form Kt * deltaR = g where g is defined as g = g(Lambda,X) = Lambda* R - F(X). During iteration process, we want g became zero vector.

This method uses Modified Newton Raphson iteration scheme

If we solve non-linear static we can interpret symbols as follows:

Kt - tangential stiffness dX - increment of displacements g - vector of unbalanced forces (at the end should be zero one) Lambda - Load level Rt - Quasi Total Load vector Rt = R0 + Lambda*R X - total displacement vector F(X) - Nodal representation of (real) internal forces. Psi - control parameter (=0. means displacement control) Bergan_k0 - variable used to compute bergan's parameters of current stiffness. calm_NR_Mode - variable controlling the mode of NRM (ModifiedNR, Full NRM (stiffness update after each iteration), Modified Accelerated NRM (we perform iteration with stiffness matrix updated only after calm_MANRMSteps) calm_NR_OldMode - variable containing the old mode of NRM, which will be restored after calm_NR_ModeTick iterations. calm_NR_ModeTick - see calm_NR_OldMode. calm_MANRMSteps - if calm_NR_Mode == calm_accelNRM, it specifies, that new updated stiffness matrix is assembled after calm_MANRMSteps. calm_Control - variable indicating the ALM control. calm_HPCIndirectDofMask - Mask, telling which dofs are used for HPC. calm_HPCWeights - dofs weights in constrain.

Tasks:

  • solving problem: solveYourselfAt.
  • returning results (increment of displacement, reached level of loading and so on)

Variable description :

  • K(N,N) = Stiffness matrix (assumed positive definite)
  • dX(N) = Iterative increment of displacement
  • Rt = "quasi" total load vector
  • R0 = Fixed (Initial) load vector
  • deltaL = Step length
  • deltaLambda = Increment of load level
  • Psi = Determines loading or displacement control
  • dX = Current total increment
  • F = Nodal representation of (real) internal forces
  • DeltaLambda = Current total increment of load level
  • Lambda = Total load level
  • RTOL= Convergence tolerance
  • NSMAX = Maximum number of sweeps allowed

OUTPUT : (after call solveYourselfAt)

  • dX = Reached displacement increment
  • Lambda = Total load level
  • nite = Number of iterations required to fulfill balance
  • status = NM_status with flags set to reached state

Definition at line 144 of file calmls.h.

Member Typedef Documentation

typedef std :: set< DofIDItem > oofem::CylindricalALM::__DofIDSet
protected

Definition at line 161 of file calmls.h.

Member Enumeration Documentation

CALM mode type; determines the calm step length control.

Enumerator
calm_hpc_off 

Full ALM with quadratic constrain and all dofs.

calm_hpc_on 

Full ALM with quadratic constrain, taking into account only selected dofs.

calml_hpc 

Linearized ALM (only displacements), taking into account only selected dofs with given weight.

Definition at line 148 of file calmls.h.

Controlling mode of Newton-Raphson Method.

Enumerator
calm_modifiedNRM 

Keeps the old tangent.

calm_fullNRM 

Updates the tangent every iteration.

calm_accelNRM 

Updates the tangent after a few steps.

Definition at line 155 of file calmls.h.

Constructor & Destructor Documentation

oofem::CylindricalALM::CylindricalALM ( Domain d,
EngngModel m 
)
oofem::CylindricalALM::~CylindricalALM ( )
virtual

Definition at line 103 of file calmls.C.

Member Function Documentation

bool oofem::CylindricalALM::checkConvergence ( const FloatArray R,
const FloatArray R0,
const FloatArray F,
const FloatArray X,
const FloatArray ddX,
double  Lambda,
double  RR0,
double  RR,
double  drProduct,
const FloatArray internalForcesEBENorm,
int  nite,
bool &  errorOutOfRange 
)
protected
int oofem::CylindricalALM::computeDeltaLambda ( double &  deltaLambda,
const FloatArray dX,
const FloatArray deltaXt,
const FloatArray deltaX_,
const FloatArray R,
double  RR,
double  eta,
double  deltaL,
double  DeltaLambda0,
int  neq 
)
protected
void oofem::CylindricalALM::do_lineSearch ( FloatArray X,
const FloatArray XInitial,
const FloatArray deltaX_,
const FloatArray deltaXt,
const FloatArray dXm1,
FloatArray dX,
FloatArray ddX,
const FloatArray R,
const FloatArray R0,
const FloatArray F,
double &  DeltaLambda,
double &  DeltaLambdam1,
double &  deltaLambda,
double &  Lambda,
double &  ReachedLambda,
double  RR,
double &  drProduct,
TimeStep tStep 
)
protected
virtual const char* oofem::CylindricalALM::giveClassName ( ) const
inlinevirtual

Reimplemented from oofem::SparseNonLinearSystemNM.

Definition at line 239 of file calmls.h.

virtual double oofem::CylindricalALM::giveCurrentStepLength ( )
inlinevirtual

Returns step length.

See also
solve For more details on the step length s.
Returns
Current step length

Reimplemented from oofem::SparseNonLinearSystemNM.

Definition at line 221 of file calmls.h.

virtual const char* oofem::CylindricalALM::giveInputRecordName ( ) const
inlinevirtual

Definition at line 240 of file calmls.h.

References _IFT_CylindricalALM_Name.

SparseLinearSystemNM * oofem::CylindricalALM::giveLinearSolver ( )
virtual

Constructs (if necessary) and returns a linear solver.

Public method because some problems require it for sensitivity analysis, etc. even for nonlinear problems (e.g. tangent relations in multiscale simulations).

Reimplemented from oofem::SparseNonLinearSystemNM.

Definition at line 969 of file calmls.C.

References oofem::classFactory, oofem::ClassFactory::createSparseLinSolver(), oofem::NumericalMethod::domain, oofem::NumericalMethod::engngModel, linSolver, OOFEM_ERROR, and solverType.

Referenced by initializeFrom(), and solve().

IRResultType oofem::CylindricalALM::initializeFrom ( InputRecord ir)
virtual

Reimplemented from oofem::NumericalMethod.

Definition at line 675 of file calmls.C.

References _IFT_CylindricalALM_ccdg, _IFT_CylindricalALM_forcedinitialsteplength, _IFT_CylindricalALM_hpc, _IFT_CylindricalALM_hpcmode, _IFT_CylindricalALM_hpcw, _IFT_CylindricalALM_initialsteplength, _IFT_CylindricalALM_linesearch, _IFT_CylindricalALM_lsearchamp, _IFT_CylindricalALM_lsearchmaxeta, _IFT_CylindricalALM_lsearchtol, _IFT_CylindricalALM_lstype, _IFT_CylindricalALM_manrmsteps, _IFT_CylindricalALM_maxiter, _IFT_CylindricalALM_maxrestarts, _IFT_CylindricalALM_miniterations, _IFT_CylindricalALM_minsteplength, _IFT_CylindricalALM_nccdg, _IFT_CylindricalALM_psi, _IFT_CylindricalALM_reqiterations, _IFT_CylindricalALM_rtold, _IFT_CylindricalALM_rtolf, _IFT_CylindricalALM_rtolv, _IFT_CylindricalALM_steplength, amplifFactor, oofem::IntArray::at(), oofem::FloatArray::at(), calm_accelNRM, calm_Control, calm_hpc_init, calm_hpc_on, calm_HPCDmanDofSrcArray, calm_HPCDmanWeightSrcArray, calm_HPCWeights, calm_MANRMSteps, calm_modifiedNRM, calm_NR_Mode, calm_NR_OldMode, calml_hpc, ccDofGroups, oofem::IntArray::clear(), oofem::FloatArray::clear(), deltaL, giveLinearSolver(), oofem::IntArray::giveSize(), oofem::FloatArray::giveSize(), oofem::NumericalMethod::initializeFrom(), oofem::SparseNonLinearSystemNM::initializeFrom(), IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, ls_tolerance, lsFlag, maxEta, maxRestarts, maxStepLength, minIterations, minStepLength, nccdg, nsmax, numberOfRequiredIterations, OOFEM_ERROR, Psi, oofem::FloatArray::resize(), rtold, rtolf, and solverType.

virtual bool oofem::CylindricalALM::referenceLoad ( ) const
inlinevirtual

Returns true if reference loads are used (i.e.

arc length methods).

Reimplemented from oofem::SparseNonLinearSystemNM.

Definition at line 224 of file calmls.h.

virtual void oofem::CylindricalALM::reinitialize ( )
inlinevirtual

Reinitializes the receiver.

This is used, when topology of problem has changed (for example after adaptive refinement or load transfer in parallel applications). This is necessary for numerical methods, that cache some data between solution steps and that may depend on domain or problem topology. The caching of data by receiver is intended only for speeding up the calculation, but numerical method must be always able to generate this data again. This method clears receiver cached data dependent on topology, when it changes.

Reimplemented from oofem::NumericalMethod.

Definition at line 233 of file calmls.h.

contextIOResultType oofem::CylindricalALM::restoreContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

Reimplemented from oofem::NumericalMethod.

Definition at line 957 of file calmls.C.

References oofem::CIO_IOERR, oofem::CIO_OK, deltaL, oofem::DataStream::read(), and THROW_CIOERR.

contextIOResultType oofem::CylindricalALM::saveContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

Reimplemented from oofem::NumericalMethod.

Definition at line 945 of file calmls.C.

References oofem::CIO_IOERR, oofem::CIO_OK, deltaL, THROW_CIOERR, and oofem::DataStream::write().

void oofem::CylindricalALM::search ( int  istep,
FloatArray prod,
FloatArray eta,
double  amp,
double  maxeta,
double  mineta,
int &  status 
)
protected

Definition at line 1118 of file calmls.C.

References oofem::FloatArray::at(), and oofem::max().

Referenced by do_lineSearch().

virtual void oofem::CylindricalALM::setDomain ( Domain d)
inlinevirtual

Reimplemented from oofem::NumericalMethod.

Definition at line 227 of file calmls.h.

virtual void oofem::CylindricalALM::setStepLength ( double  s)
inlinevirtual

Sets the step length.

See also
solve For more details on the step length s.
Parameters
sNew step length.

Reimplemented from oofem::SparseNonLinearSystemNM.

Definition at line 222 of file calmls.h.

NM_Status oofem::CylindricalALM::solve ( SparseMtrx K,
FloatArray R,
FloatArray R0,
FloatArray X,
FloatArray dX,
FloatArray F,
const FloatArray internalForcesEBENorm,
double &  s,
referenceLoadInputModeType  rlm,
int &  nite,
TimeStep tStep 
)
virtual

Solves the given sparse linear system of equations $ s R + R_0 - F(X) = 0 $.

Total load vector is not passed, it is defined as $ s R + R_0 $, where s is scale factor.

See also
EngngModel::updateComponent Used to update the stiffness matrix and load vector.
Parameters
KCoefficient matrix ( $\displaystyle K = \frac{\partial F}{\partial X} $; stiffness matrix).
RReference incremental RHS (incremental load).
R0Initial RHS (initial load).
XTotal solution (total displacement).
dXIncrement of solution (incremental displacements).
FInternalRhs (real internal forces).
internalForcesEBENormNorm of internal nodal forces (evaluated on element by element basis) (split into each DOF id).
sRHS scale factor (load level).
rlmReference load mode.
niteNumber of iterations needed.
tStepTime step to solve for.
Returns
NM_Status value.

Implements oofem::SparseNonLinearSystemNM.

Definition at line 109 of file calmls.C.

References oofem::ParallelContext::accumulate(), oofem::FloatArray::add(), oofem::SparseNonLinearSystemNM::applyPerturbation(), oofem::IntArray::at(), oofem::FloatArray::at(), calm_accelNRM, calm_Control, CALM_DEFAULT_NRM_TICKS, calm_fullNRM, calm_hpc_init, calm_hpc_off, calm_hpc_on, calm_HPCIndirectDofMask, calm_HPCWeights, calm_MANRMSteps, calm_NR_Mode, calm_NR_ModeTick, calm_NR_OldMode, CALM_RESET_STEP_REDUCE, calml_hpc, checkConvergence(), oofem::FloatArray::clear(), computeDeltaLambda(), convertHPCMap(), deltaL, do_lineSearch(), oofem::NumericalMethod::domain, oofem::ExportModuleManager::doOutput(), oofem::NumericalMethod::engngModel, oofem::EngngModel::giveExportModuleManager(), giveLinearSolver(), oofem::TimeStep::giveNumber(), oofem::IntArray::giveSize(), oofem::FloatArray::giveSize(), oofem::TimeStep::incrementStateCounter(), oofem::TimeStep::incrementSubStepNumber(), oofem::EngngModel::initStepIncrements(), oofem::InternalRhs, linSolver, oofem::ParallelContext::localDotProduct(), oofem::ParallelContext::localNorm(), lsFlag, maxRestarts, maxStepLength, minIterations, minStepLength, nccdg, NM_None, NM_NoSuccess, NM_Success, oofem::NonLinearLhs, nsmax, numberOfRequiredIterations, OOFEM_ERROR, OOFEM_LOG_INFO, OOFEM_WARNING, parallel_context, Psi, oofem::FloatArray::resize(), oofem::sgn(), solved, oofem::FloatArray::subtract(), oofem::FloatArray::times(), oofem::EngngModel::updateComponent(), and oofem::FloatArray::zero().

Member Data Documentation

double oofem::CylindricalALM::amplifFactor
protected

Line search amplification factor.

Definition at line 196 of file calmls.h.

Referenced by do_lineSearch(), and initializeFrom().

calm_ControlType oofem::CylindricalALM::calm_Control
protected

Definition at line 177 of file calmls.h.

Referenced by computeDeltaLambda(), convertHPCMap(), initializeFrom(), and solve().

int oofem::CylindricalALM::calm_hpc_init
protected

Variables for HyperPlaneControl.

Definition at line 176 of file calmls.h.

Referenced by initializeFrom(), and solve().

IntArray oofem::CylindricalALM::calm_HPCDmanDofSrcArray
protected

Input array containing dofmanagers and corresponding dof numbers under indirect control.

Definition at line 182 of file calmls.h.

Referenced by convertHPCMap(), and initializeFrom().

FloatArray oofem::CylindricalALM::calm_HPCDmanWeightSrcArray
protected

Input array of dofman weights (for hpcmode 2).

Definition at line 184 of file calmls.h.

Referenced by convertHPCMap(), and initializeFrom().

IntArray oofem::CylindricalALM::calm_HPCIndirectDofMask
protected

Array containing equation numbers of dofs under indirect control.

Definition at line 180 of file calmls.h.

Referenced by computeDeltaLambda(), convertHPCMap(), and solve().

FloatArray oofem::CylindricalALM::calm_HPCWeights
protected

Definition at line 178 of file calmls.h.

Referenced by computeDeltaLambda(), convertHPCMap(), initializeFrom(), and solve().

int oofem::CylindricalALM::calm_MANRMSteps
protected

Definition at line 170 of file calmls.h.

Referenced by initializeFrom(), and solve().

calm_NR_ModeType oofem::CylindricalALM::calm_NR_Mode
protected

Definition at line 168 of file calmls.h.

Referenced by initializeFrom(), and solve().

int oofem::CylindricalALM::calm_NR_ModeTick
protected

Definition at line 169 of file calmls.h.

Referenced by solve().

calm_NR_ModeType oofem::CylindricalALM::calm_NR_OldMode
protected

Definition at line 168 of file calmls.h.

Referenced by initializeFrom(), and solve().

std :: vector< __DofIDSet > oofem::CylindricalALM::ccDofGroups
protected

Convergence criteria dof groups.

Definition at line 204 of file calmls.h.

Referenced by checkConvergence(), and initializeFrom().

double oofem::CylindricalALM::deltaL
protected
std :: unique_ptr< SparseLinearSystemNM > oofem::CylindricalALM::linSolver
protected

Linear system solver.

Definition at line 187 of file calmls.h.

Referenced by giveLinearSolver(), and solve().

double oofem::CylindricalALM::ls_tolerance
protected

Line search tolerance.

Definition at line 194 of file calmls.h.

Referenced by do_lineSearch(), and initializeFrom().

int oofem::CylindricalALM::lsFlag
protected

Line search flag.

Definition at line 192 of file calmls.h.

Referenced by initializeFrom(), and solve().

double oofem::CylindricalALM::maxEta
protected

Line search parameters (limits).

Definition at line 198 of file calmls.h.

Referenced by do_lineSearch(), and initializeFrom().

int oofem::CylindricalALM::maxRestarts
protected

Definition at line 164 of file calmls.h.

Referenced by initializeFrom(), and solve().

double oofem::CylindricalALM::maxStepLength
protected

Definition at line 166 of file calmls.h.

Referenced by initializeFrom(), and solve().

double oofem::CylindricalALM::minEta
protected

Definition at line 198 of file calmls.h.

Referenced by do_lineSearch().

int oofem::CylindricalALM::minIterations
protected

Minimum hard number of iteration.s.

Definition at line 173 of file calmls.h.

Referenced by initializeFrom(), and solve().

double oofem::CylindricalALM::minStepLength
protected

Definition at line 166 of file calmls.h.

Referenced by initializeFrom(), and solve().

int oofem::CylindricalALM::nccdg
protected

Number of convergence criteria dof groups.

Definition at line 202 of file calmls.h.

Referenced by checkConvergence(), initializeFrom(), and solve().

int oofem::CylindricalALM::nsmax
protected

Definition at line 163 of file calmls.h.

Referenced by initializeFrom(), and solve().

int oofem::CylindricalALM::numberOfRequiredIterations
protected

Definition at line 167 of file calmls.h.

Referenced by initializeFrom(), and solve().

ParallelContext* oofem::CylindricalALM::parallel_context
protected

Parallel context for computing norms, dot products and such.

Definition at line 210 of file calmls.h.

Referenced by checkConvergence(), computeDeltaLambda(), convertHPCMap(), do_lineSearch(), and solve().

double oofem::CylindricalALM::Psi
protected

Definition at line 165 of file calmls.h.

Referenced by computeDeltaLambda(), initializeFrom(), and solve().

FloatArray oofem::CylindricalALM::rtold
protected

Relative iterative displacement change tolerance for each group.

Definition at line 208 of file calmls.h.

Referenced by checkConvergence(), and initializeFrom().

FloatArray oofem::CylindricalALM::rtolf
protected

Relative unbalanced force tolerance for each group.

Definition at line 206 of file calmls.h.

Referenced by checkConvergence(), and initializeFrom().

int oofem::CylindricalALM::solved
protected

Definition at line 167 of file calmls.h.

Referenced by solve().

LinSystSolverType oofem::CylindricalALM::solverType
protected

linear system solver ID.

Definition at line 189 of file calmls.h.

Referenced by giveLinearSolver(), and initializeFrom().


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:34 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011