24 #ifndef _GEMA_PLUGIN_FEM_NONLINEARSOLVER_H_ 25 #define _GEMA_PLUGIN_FEM_NONLINEARSOLVER_H_ 48 virtual bool step(
double dt,
double* newt,
bool* conv,
double* err,
int* niter,
bool eval);
51 virtual bool geostatic();
57 virtual bool crackDetection();
60 virtual bool crackPropagation();
63 virtual bool updateBC(
double dt,
int iter,
bool updateBc);
70 virtual void setElementSets(
bool,
bool,
bool,
bool,
bool);
73 virtual bool isNonLinear()
const;
78 return _solverOptions._type == GmpFemSolverOptions::transientSolver;
82 virtual bool convergence()
const;
83 virtual bool convergenceNew()
const;
86 virtual void saveInternalForceAttributes();
92 virtual void restore();
95 virtual void setLoad();
98 virtual void setTime();
101 virtual void setState();
104 virtual double loadPredictor();
107 virtual double loadCorrector();
113 virtual bool stepStaticNonlinear(
double,
double* newt);
128 virtual bool stepTransientNonLinear(
double,
double* newt);
131 virtual bool stepTransientNonlinearAut(
double,
double* newt);
137 void vectorTreatment(
GmVector& fint);
138 bool timeIncrementAdjustment(
double dt,
int iter,
GmVector& X1,
GmVector& X0);
146 virtual bool fillStateControlMapDataStaticSolver(QVariantMap* map);
149 virtual bool fillStateControlMapDataTransientSolver(QVariantMap* map);
virtual bool fillStateControlMapData(QVariantMap *map)
Method called for filling the state dump control regustered in addStateItemsToGroup()
Definition: gmpFemSolver.cpp:1964
Definition: gmpFemSolverOptions.h:38
virtual bool stateLoadedCalcDerivedResultsNonLinear()
Returns the value of the "nonLinearSolver" parameter that will be passed to the calcDerivedResults() ...
Definition: gmpFemSolver.h:115
FemResultType
Result type for local matrix calculation methods.
Definition: gmpFemPhysics.h:49
Basic class for the FEM solving process.
Definition: gmpFemSolver.h:51
Basic class for solving Non linear FEM problems.
Definition: gmpFemNonLinearSolver.h:31
bool _nonlinear
Is this a non linear problem ?
Definition: gmpFemNonLinearSolver.h:184
virtual bool init()
Prepares the solver for assembling matrices by creating the assembler object and allocating the neede...
Definition: gmpFemSolver.cpp:137
Declaration of the GmpFemSolver class.
virtual bool initElementSets(GmNumSolver *solver)
Helpper function used to initialize the matrix / vector sets with the definition of the needed types ...
Definition: gmpFemSolver.cpp:450
Declaration of the GmpFemSolverOptions class.
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:346
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:744
virtual bool stateControlMapDataLoaded(QVariantMap *map)
Method called when the state dump control registered in addStateItemsToGroup() has been loaded.
Definition: gmpFemSolver.cpp:1985
virtual bool addStateItemsToGroup(GmStateDump *state, int groupId)
Adds to 'state' the data items that should be saved for this FEM process. Should probably be override...
Definition: gmpFemSolver.cpp:1885
void enableFastUpdate(bool mode)
Sets fastUpdate option.
Definition: gmpFemNonLinearSolver.h:42
virtual bool isTransient() const
Checks transient analysis.
Definition: gmpFemNonLinearSolver.h:76