35 #ifndef nldeidynamic_h 36 #define nldeidynamic_h 38 #include "../sm/EngineeringModels/structengngmodel.h" 44 #define LOCAL_ZERO_MASS_REPLACEMENT 1 48 #define _IFT_NlDEIDynamic_Name "nldeidynamic" 49 #define _IFT_NlDEIDynamic_dumpcoef "dumpcoef" 50 #define _IFT_NlDEIDynamic_deltat "deltat" 51 #define _IFT_NlDEIDynamic_drflag "drflag" 52 #define _IFT_NlDEIDynamic_tau "tau" 53 #define _IFT_NlDEIDynamic_py "py" 54 #define _IFT_NlDEIDynamic_nonlocalext "nonlocalext" 183 #endif // nldeidynamic_h
LinSystSolverType
The values of this type should be related not to specific solvers, but more to specific packages that...
FloatArray loadRefVector
Reference load vector.
void computeMassMtrx(FloatArray &mass, double &maxOm, TimeStep *tStep)
Assembles the diagonal mass matrix of receiver.
virtual void solveYourself()
Starts solution process.
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to output domain stream, for given time step.
FloatArray internalForces
Vector of real nodal forces.
virtual void updateYourself(TimeStep *tStep)
Updates internal state after finishing time step.
virtual void solveYourselfAt(TimeStep *tStep)
Solves problem for given time step.
virtual NumericalMethod * giveNumericalMethod(MetaStep *mStep)
Returns reference to receiver's numerical method.
Base class for all matrices stored in sparse format.
void computeMassMtrx2(FloatMatrix &mass, double &maxOm, TimeStep *tStep)
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
This base class is an abstraction for all numerical methods solving sparse linear system of equations...
virtual void printDofOutputAt(FILE *stream, Dof *iDof, TimeStep *tStep)
DOF printing routine.
This base class is an abstraction for numerical algorithm.
double c
Parameter determining rate of the loading process.
#define _IFT_NlDEIDynamic_Name
Class implementing an array of integers.
FloatArray previousIncrementOfDisplacementVector
Vector storing displacement increments.
This class implements NonLinear (- may be changed) solution of dynamic problems using Direct Explicit...
LinSystSolverType solverType
double pyEstimate
Estimate of loadRefVector^T*displacementVector(Tau).
SparseMtrxType
Enumerative type used to identify the sparse matrix type.
FloatArray displacementVector
Displacement, velocity and acceleration vectors.
SparseLinearSystemNM * nMethod
virtual int giveNumberOfFirstStep(bool force=false)
Returns number of first time step used by receiver.
void computeLoadVector(FloatArray &answer, ValueModeType mode, TimeStep *tStep)
Assembles the load vector.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description in input reader.
virtual double giveUnknownComponent(ValueModeType type, TimeStep *tStep, Domain *d, Dof *dof)
Returns requested unknown.
virtual const char * giveInputRecordName() const
FloatArray accelerationVector
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode)
Restores the state of model from output stream.
virtual fMode giveFormulation()
Indicates type of non linear computation (total or updated formulation).
double Tau
End of time interval.
FloatArray velocityVector
fMode
Type representing the type of formulation (total or updated) of non-linear computation.
virtual int estimateMaxPackSize(IntArray &commMap, DataStream &buff, int packUnpackType)
Determines the space necessary for send/receive buffer.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
FloatArray massMatrix
Mass matrix.
double dumpingCoef
Dumping coefficient (C = dumpingCoef * MassMtrx).
This class implements extension of EngngModel for structural models.
virtual const char * giveClassName() const
Returns class name of the receiver.
NlDEIDynamic(int i, EngngModel *_master=NULL)
SparseMtrxType sparseMtrxType
Abstract base class representing the "problem" under consideration.
int initFlag
Flag indicating the need for initialization.
the oofem namespace is to define a context or scope in which all oofem names are defined.
FloatArray loadVector
Load vector.
Abstract class Dof represents Degree Of Freedom in finite element mesh.
Class representing solution step.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode)
Stores the state of model to output stream.
int drFlag
Flag indicating whether dynamic relaxation takes place.
double pMp
Product of p^tM^(-1)p; where p is reference load vector.
virtual TimeStep * giveNextStep()
Returns next time step (next to current step) of receiver.
SparseMtrx * massMatrixConsistent