24#ifndef _GEMA_PLUGIN_FEM_NONLINEARSOLVEROLD_H_
25#define _GEMA_PLUGIN_FEM_NONLINEARSOLVEROLD_H_
50 virtual bool step(
double dt,
double* newt,
bool* conv,
double* err,
int* niter,
bool eval);
53 virtual bool geostatic();
59 virtual bool crackDetection();
62 virtual bool crackPropagation();
65 virtual bool updateBC(
double dt,
int iter,
bool updateBc);
72 virtual void setElementSets(
bool,
bool,
bool,
bool,
bool);
75 virtual bool isNonLinear()
const;
80 return _solverOptions._type == GmpFemSolverOptions::transientSolver;
84 virtual bool convergence();
85 virtual bool convergenceNew()
const;
88 virtual void saveInternalForceAttributes();
94 virtual void restore();
97 virtual void setLoad();
100 virtual void setTime();
103 virtual void setState();
106 virtual double loadPredictor();
109 virtual double loadCorrector();
127 bool evaluateSolverTolerance(
int iter);
130 virtual bool staticSolver(
double,
double* newt);
133 virtual bool transientSolver(
double,
double* newt);
139 void vectorTreatment(
GmVector& fint);
140 bool timeIncrementAdjustment(
double dt,
int iter,
GmVector& X1,
GmVector& X0);
148 virtual bool fillStateControlMapDataStaticSolver(QVariantMap* map);
151 virtual bool fillStateControlMapDataTransientSolver(QVariantMap* map);
180 int _femBroydenItem = -1;
Basic class for solving Non linear FEM problems.
Definition gmpFemNonLinearSolverOld.h:32
GmVector _normR
Vector storing the current (0) and previous (1) value of the residual norm.
Definition gmpFemNonLinearSolverOld.h:172
bool _nonlinear
Is this a non linear problem ?
Definition gmpFemNonLinearSolverOld.h:178
virtual bool isTransient() const
Checks transient analysis.
Definition gmpFemNonLinearSolverOld.h:78
GmVector _r0
Vector with the residual of the previous step.
Definition gmpFemNonLinearSolverOld.h:171
void enableFastUpdate(bool mode)
Sets fastUpdate option.
Definition gmpFemNonLinearSolverOld.h:42
FemResultType
Result type for local matrix calculation methods.
Definition gmpFemPhysics.h:50
Basic class for the FEM solving process.
Definition gmpFemSolver.h:52
virtual bool initResultAttributes(int fatherItemId)
Helper function used to register the set of result attributes managed by the fem solver.
Definition gmpFemSolver.cpp:487
virtual bool stateControlMapDataLoaded(QVariantMap *map)
Method called when the state dump control registered in addStateItemsToGroup() has been loaded.
Definition gmpFemSolver.cpp:2204
bool solveLinearSystem(bool xFilled)
Solves the linear system K.x = f taking K and f from the single equivalent matrix/vector or from matr...
Definition gmpFemSolver.cpp:872
bool update(int mode, QString &err)
Informs the solver of an external change in model dofs, elements or BCs that must be forwarded to the...
Definition gmpFemSolver.cpp:356
virtual bool stateLoadedCalcDerivedResultsNonLinear()
Returns the value of the "nonLinearSolver" parameter that will be passed to the calcDerivedResults() ...
Definition gmpFemSolver.h:102
virtual bool fillStateControlMapData(QVariantMap *map)
Method called for filling the state dump control registered in addStateItemsToGroup()
Definition gmpFemSolver.cpp:2183
virtual bool initElementSets(GmNumSolver *solver)
Helper function used to initialize the matrix / vector sets with the definition of the needed types a...
Definition gmpFemSolver.cpp:460
virtual bool init()
Prepares the solver for assembling matrices by creating the assembler object and allocating the neede...
Definition gmpFemSolver.cpp:138
virtual bool addStateItemsToGroup(GmStateDump *state, int groupId)
Adds to 'state' the data items that should be saved for this FEM process. Should probably be overridd...
Definition gmpFemSolver.cpp:2104
Definition gmpFemSolverOptions.h:39
Declaration of the GmpFemSolver class.
Declaration of the GmpFemSolverOptions class.