35#ifndef nlineardynamic_h
36#define nlineardynamic_h
46#define _IFT_NonLinearDynamic_Name "nonlineardynamic"
47#define _IFT_NonLinearDynamic_deltat "deltat"
48#define _IFT_NonLinearDynamic_refloadmode "refloadmode"
49#define _IFT_NonLinearDynamic_nonlocstiff "nonlocstiff"
50#define _IFT_NonLinearDynamic_nonlocalext "nonlocalext"
51#define _IFT_NonLinearDynamic_ddtScheme "ddtscheme"
52#define _IFT_NonLinearDynamic_gamma "gamma"
53#define _IFT_NonLinearDynamic_beta "beta"
54#define _IFT_NonLinearDynamic_eta "eta"
55#define _IFT_NonLinearDynamic_delta "delta"
110 std :: unique_ptr< SparseNonLinearSystemNM >
nMethod;
158#ifdef __MPI_PARALLEL_MODE
enum fMode nonLinFormulation
Type of non linear formulation (total or updated formulation).
EngngModel * master
Master e-model; if defined receiver is in maintained (slave) mode.
TimeDiscretizationType initialTimeDiscretization
void updateSolution(FloatArray &solutionVector, TimeStep *tStep, Domain *d) override
void printOutputAt(FILE *file, TimeStep *tStep) override
FloatArray velocityVector
LoadBalancerMonitor * giveLoadBalancerMonitor() override
FloatArray accelerationVector
void updateInternalRHS(FloatArray &answer, TimeStep *tStep, Domain *d, FloatArray *eNorm) override
virtual ~NonLinearDynamic()
FloatArray incrementOfDisplacement
void assemble(SparseMtrx &answer, TimeStep *tStep, const MatrixAssembler &ma, const UnknownNumberingScheme &, Domain *domain) override
void packMigratingData(TimeStep *tStep) override
FloatArray previousLoadVector
FloatArray previousAccelerationVector
void updateAttributes(MetaStep *mStep) override
FloatArray previousTotalDisplacement
TimeDiscretizationType giveInitialTimeDiscretization()
void determineConstants(TimeStep *tStep)
void updateYourself(TimeStep *tStep) override
FloatArray totalDisplacement
int nonlocalStiffnessFlag
fMode giveFormulation() override
void updateDomainLinks() override
LinSystSolverType solverType
const char * giveInputRecordName() const
int estimateMaxPackSize(IntArray &commMap, DataStream &buff, int packUnpackType) override
void unpackMigratingData(TimeStep *tStep) override
void updateComponent(TimeStep *tStep, NumericalCmpn, Domain *d) override
void proceedStep(int di, TimeStep *tStep)
FloatArray previousIncrementOfDisplacement
void saveContext(DataStream &stream, ContextMode mode) override
double deltaT
Intrinsic time increment.
NumericalMethod * giveNumericalMethod(MetaStep *mStep) override
Returns reference to receiver's numerical method.
std ::unique_ptr< SparseMtrx > effectiveStiffnessMatrix
void showSparseMtrxStructure(int type, oofegGraphicContext &gc, TimeStep *tStep) override
double giveUnknownComponent(ValueModeType type, TimeStep *tStep, Domain *d, Dof *dof) override
LoadBalancer * giveLoadBalancer() override
void solveYourselfAt(TimeStep *tStep) override
std ::unique_ptr< SparseMtrx > massMatrix
FloatArray previousVelocityVector
const char * giveClassName() const override
Returns class name of the receiver.
TimeStep * giveNextStep() override
Returns next time step (next to current step) of receiver.
std ::unique_ptr< SparseNonLinearSystemNM > nMethod
Numerical method used to solve the problem.
void restoreContext(DataStream &stream, ContextMode mode) override
FloatArray internalForces
int giveUnknownDictHashIndx(ValueModeType mode, TimeStep *tStep) override
FloatArray previousInternalForces
void initializeYourself(TimeStep *tStep) override
void updateMatrix(SparseMtrx &mat, TimeStep *tStep, Domain *d) override
void initializeFrom(InputRecord &ir) override
int useNonlocalStiffnessOption() override
Returns nonzero if nonlocal stiffness option activated.
void solveYourself() override
SparseMtrxType sparseMtrxType
void printDofOutputAt(FILE *stream, Dof *iDof, TimeStep *tStep) override
void timesMtrx(FloatArray &answer, FloatArray &vec, CharType type, Domain *domain, TimeStep *tStep)
NonLinearDynamic(int i, EngngModel *master=nullptr)
StructuralEngngModel(int i, EngngModel *master=nullptr)
Creates new StructuralEngngModel with number i, associated to domain d.
TimeDiscretizationType
Time discretization used by transient solvers.
#define _IFT_NonLinearDynamic_Name
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]