50 #define _IFT_CylindricalALM_Name "calm" 51 #define _IFT_CylindricalALM_psi "psi" 52 #define _IFT_CylindricalALM_maxiter "maxiter" 53 #define _IFT_CylindricalALM_maxrestarts "maxrestarts" 54 #define _IFT_CylindricalALM_minsteplength "minsteplength" 55 #define _IFT_CylindricalALM_steplength "steplength" 56 #define _IFT_CylindricalALM_initialsteplength "initialsteplength" 57 #define _IFT_CylindricalALM_forcedinitialsteplength "forcedinitialsteplength" 58 #define _IFT_CylindricalALM_reqiterations "reqiterations" 59 #define _IFT_CylindricalALM_miniterations "miniter" 60 #define _IFT_CylindricalALM_manrmsteps "manrmsteps" 61 #define _IFT_CylindricalALM_hpcmode "hpcmode" 62 #define _IFT_CylindricalALM_hpc "hpc" 63 #define _IFT_CylindricalALM_hpcw "hpcw" 64 #define _IFT_CylindricalALM_lstype "lstype" 65 #define _IFT_CylindricalALM_linesearch "linesearch" 66 #define _IFT_CylindricalALM_lsearchtol "lsearchtol" 67 #define _IFT_CylindricalALM_lsearchamp "lsearchamp" 68 #define _IFT_CylindricalALM_lsearchmaxeta "lsearchmaxeta" 69 #define _IFT_CylindricalALM_nccdg "nccdg" 70 #define _IFT_CylindricalALM_ccdg "ccdg" 71 #define _IFT_CylindricalALM_rtolv "rtolv" 72 #define _IFT_CylindricalALM_rtolf "rtolf" 73 #define _IFT_CylindricalALM_rtold "rtold" 80 class ParallelContext;
82 #define calm_SMALL_NUM 1.e-20 83 #define calm_SMALL_ERROR_NUM 1.e-6 230 linSolver->setDomain(d);
236 linSolver->reinitialize();
245 void convertHPCMap();
252 double deltaL,
double DeltaLambda0,
int neq);
255 double maxeta,
double mineta,
int &status);
260 double Lambda,
double RR0,
double RR,
double drProduct,
261 const FloatArray &internalForcesEBENorm,
int nite,
bool &errorOutOfRange);
267 double &DeltaLambda,
double &DeltaLambdam1,
double &deltaLambda,
268 double &Lambda,
double &ReachedLambda,
double RR,
double &drProduct,
TimeStep *tStep);
LinSystSolverType
The values of this type should be related not to specific solvers, but more to specific packages that...
int nccdg
Number of convergence criteria dof groups.
virtual bool referenceLoad() const
Returns true if reference loads are used (i.e.
virtual void setDomain(Domain *d)
Base class for all matrices stored in sparse format.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
virtual const char * giveClassName() const
virtual void setStepLength(double s)
Sets the step length.
FloatArray rtolf
Relative unbalanced force tolerance for each group.
This base class is an abstraction for all numerical methods solving sparse linear system of equations...
Linearized ALM (only displacements), taking into account only selected dofs with given weight...
FloatArray calm_HPCWeights
unsigned long NM_Status
Mask defining NumMetod Status; which can be asked after finishing computation by Numerical Method...
Class implementing an array of integers.
calm_ControlType calm_Control
int lsFlag
Line search flag.
double amplifFactor
Line search amplification factor.
std::vector< __DofIDSet > ccDofGroups
Convergence criteria dof groups.
Implementation of sparse nonlinear solver with indirect control.
FloatArray rtold
Relative iterative displacement change tolerance for each group.
calm_NR_ModeType calm_NR_OldMode
virtual const char * giveInputRecordName() const
referenceLoadInputModeType
The following parameter allows to specify how the reference load vector is obtained from given totalL...
std::unique_ptr< SparseLinearSystemNM > linSolver
Linear system solver.
virtual double giveCurrentStepLength()
Returns step length.
FloatArray calm_HPCDmanWeightSrcArray
Input array of dofman weights (for hpcmode 2).
int minIterations
Minimum hard number of iteration.s.
#define _IFT_CylindricalALM_Name
Class representing vector of real numbers.
Full ALM with quadratic constrain, taking into account only selected dofs.
IRResultType
Type defining the return values of InputRecord reading operations.
This class provides an communication context for distributed memory parallelism.
ParallelContext * parallel_context
Parallel context for computing norms, dot products and such.
calm_NR_ModeType
Controlling mode of Newton-Raphson Method.
IntArray calm_HPCIndirectDofMask
Array containing equation numbers of dofs under indirect control.
Updates the tangent every iteration.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
IntArray calm_HPCDmanDofSrcArray
Input array containing dofmanagers and corresponding dof numbers under indirect control.
double ls_tolerance
Line search tolerance.
Abstract base class representing the "problem" under consideration.
Updates the tangent after a few steps.
the oofem namespace is to define a context or scope in which all oofem names are defined.
calm_ControlType
CALM mode type; determines the calm step length control.
int calm_hpc_init
Variables for HyperPlaneControl.
Class representing solution step.
LinSystSolverType solverType
linear system solver ID.
This base class is an abstraction for all numerical methods solving sparse nonlinear system of equati...
std::set< DofIDItem > __DofIDSet
virtual void reinitialize()
Reinitializes the receiver.