41#ifndef sparsenonlinsystemnm_h
42#define sparsenonlinsystemnm_h
51#define _IFT_NonLinearStatic_randPertAmplitude "rpa"
52#define _IFT_NonLinearStatic_randSeed "rseed"
53#define _IFT_NonLinearStatic_pert "pert"
54#define _IFT_NonLinearStatic_pertw "pertw"
62class SparseLinearSystemNM;
156 virtual void convertPertMap();
157 virtual void applyPerturbation(
FloatArray* displacement);
159 virtual const char *
giveClassName()
const {
return "SparseNonLinearSystemNM"; }
NumericalMethod(Domain *d, EngngModel *m)
SparseNonLinearSystemNM(Domain *d, EngngModel *m)
Constructor.
referenceLoadInputModeType
@ rlm_incremental
The reference load vector is obtained as incremental load vector at given time.
@ rlm_total
The reference incremental load vector is defined as totalLoadVector assembled at given time.
virtual ~SparseNonLinearSystemNM()
Destructor.
virtual ConvergedReason solve(SparseMtrx &K, FloatArray &R, FloatArray *R0, FloatArray &X, FloatArray &dX, FloatArray &F, const FloatArray &internalForcesEBENorm, double &s, referenceLoadInputModeType rlm, int &nite, TimeStep *tStep)=0
virtual double giveCurrentStepLength()
IntArray igp_PertDmanDofSrcArray
virtual void printState(FILE *outputStream)
virtual SparseLinearSystemNM * giveLinearSolver()
virtual void setStepLength(double s)
virtual bool referenceLoad() const
FloatArray igp_PertWeightArray
double randPertAmplitude
Amplitude of a random perturbation applied on the solution before the iteration process.
virtual const char * giveClassName() const
std::string errorInfo(const char *func) const
Error printing helper.