24#ifndef _GEMA_PLUGIN_FEM_STATICNONLINEARSOLVER_H_
25#define _GEMA_PLUGIN_FEM_STATICNONLINEARSOLVER_H_
44 void enableFastUpdate(
bool mode) { _fastUpdate = mode; }
51 virtual bool runStep(
double dt,
double* newt,
bool* conv,
double* err,
int* niter,
bool eval=
false);
71 virtual void setElementSets(
bool,
bool,
bool,
bool,
bool);
78 virtual void update();
89 virtual void setLoad();
91 virtual void setState();
100 virtual double loadPredictor();
102 virtual double loadCorrector();
105 virtual bool staticLinearSolver(
double step,
double* newt,
bool* conv,
double* err,
int* niter,
bool eval);
106 virtual bool staticSolver(
double step,
double* newt,
bool* conv,
double* err,
int* niter,
bool eval);
126 unsigned _attempt = 0;
129 bool _iter4old =
false;
156 bool _geostatic =
false;
159 int _solverItem = -1;
162 int _attemptAttr = -1;
164 int _nlIterAttr = -1;
165 int _simTimeAttr = -1;
166 int _simStepAttr = -1;
167 int _solverCallsAttr = -1;
169 int _nlErrorAttr = -1;
171 int _solverFemExecTimeAttr = -1;
172 int _solverFemNumIterAttr = -1;
173 int _prepareExecTimeAttr = -1;
Basic class for solving Non linear FEM problems.
Definition gmpFemNonLinearSolver.h:37
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 gmpFemNonLinearSolver.cpp:3720
bool _hasUnanamedDofs
Set to true if there are dofs that belong to the 'unnamed' group.
Definition gmpFemNonLinearSolver.h:227
virtual GmpFemPhysics::FemResultType fillStiffnessMatrixBroyden()
Evaluates the stiffness matrix using Broyden's method.
Definition gmpFemNonLinearSolver.cpp:1765
GmVector _qtamax
The time-averaged value of the largest flux corresponding to the field αduring this step,...
Definition gmpFemNonLinearSolver.h:221
virtual GmpFemPhysics::FemResultType updateResidualForceAndStiffnessMatrix(double l)
Updates the stiffness matrix.
Definition gmpFemNonLinearSolver.cpp:1712
virtual bool initElementSets(GmNumSolver *)
Helper function used to initialize the matrix / vector sets with the definition of the needed types a...
Definition gmpFemNonLinearSolver.cpp:468
virtual bool fillStateControlMapDataTransientSolver(QVariantMap *map)
Virtual method to load the scalar attributes needed by transient solver.
Definition gmpFemNonLinearSolver.cpp:3890
virtual bool stateControlMapDataLoadedTransientSolver(QVariantMap *map)
Virtual method to fill the map with the needed transient solver data.
Definition gmpFemNonLinearSolver.cpp:3902
virtual bool stateControlMapDataLoadedStaticSolver(QVariantMap *map)
Virtual method to Load the scalar attributes needed by continuation method.
Definition gmpFemNonLinearSolver.cpp:3853
virtual bool fillStateControlMapDataStaticSolver(QVariantMap *map)
Virtual method to fill the map with the needed continuation method data.
Definition gmpFemNonLinearSolver.cpp:3822
virtual void saveInternalForceAttributes(GmVector &dv)
Save internal force attibutes such as Reaction and Volume flux.
Definition gmpFemNonLinearSolver.cpp:1369
virtual bool applyFixedBoundaryConditions(int *)
Apply Dirichlet (fixed) boundary conditions to the global equation system.
Definition gmpFemNonLinearSolver.cpp:795
virtual bool fillStateControlMapData(QVariantMap *map)
Method called for filling the state dump control registered in addStateItemsToGroup()
Definition gmpFemNonLinearSolver.cpp:3760
virtual bool maxVal(GmVector &array, const GmVector &) const
Maximun value of the array.
Definition gmpFemNonLinearSolver.cpp:971
virtual bool stateLoadedCalcDerivedResultsNonLinear()
Returns the value of the "nonLinearSolver" parameter that will be passed to the calcDerivedResults() ...
Definition gmpFemNonLinearSolver.cpp:3814
virtual bool stateControlMapDataLoaded(QVariantMap *map)
Method called when the state dump control registered in addStateItemsToGroup() has been loaded.
Definition gmpFemNonLinearSolver.cpp:3787
GmVector _qta
An overall time-averaged value of the typical flux for field α so far during this step including the ...
Definition gmpFemNonLinearSolver.h:220
TrackItemState _td
The "track data" object, controlling time & simulation progress tracking.
Definition gmpFemNonLinearSolver.h:252
FemResultType
Result type for local matrix calculation methods.
Definition gmpFemPhysics.h:50
Definition gmpFemSolverOptions.h:39
Basic class for solving Non linear FEM problems.
Definition gmpFemStaticNonLinearSolver.h:35
Declaration of the GmpFemNonLinearSolver class.
Declaration of the GmpFemSolverOptions class.
Definition gmpFemNonLinearSolver.h:231