35#ifndef linearstability_h
36#define linearstability_h
49#define _IFT_LinearStability_Name "linearstability"
50#define _IFT_LinearStability_nroot "nroot"
51#define _IFT_LinearStability_rtolv "rtolv"
52#define _IFT_LinearStability_stype "stype"
57class EigenVectorPrimaryField;
77 std :: unique_ptr< EigenVectorPrimaryField >
field;
85 std :: unique_ptr< SparseGeneralEigenValueSystemNM >
nMethod;
87 std :: unique_ptr< SparseLinearSystemNM >
nMethodLS;
EngngModel * master
Master e-model; if defined receiver is in maintained (slave) mode.
void updateYourself(TimeStep *tStep) override
double giveEigenValue(int eigNum) override
Only relevant for eigen value analysis. Otherwise returns zero.
std ::unique_ptr< EigenVectorPrimaryField > field
SparseLinearSystemNM * giveNumericalMethodForLinStaticProblem(TimeStep *tStep)
void setActiveVector(int i) override
Only relevant for eigen value analysis. Otherwise does noting.
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveInputRecordName() const
fMode giveFormulation() override
virtual ~LinearStability()
void solveYourselfAt(TimeStep *tStep) override
int giveUnknownDictHashIndx(ValueModeType mode, TimeStep *tStep) override
const char * giveClassName() const override
Returns class name of the receiver.
bool newDofHandling() override
void doStepOutput(TimeStep *tStep) override
GenEigvalSolverType solverType
Numerical method used to solve the problem.
NumericalMethod * giveNumericalMethod(MetaStep *mStep) override
Returns reference to receiver's numerical method.
std ::unique_ptr< SparseLinearSystemNM > nMethodLS
Numerical method used to solve the static problem.
double giveUnknownComponent(ValueModeType type, TimeStep *tStep, Domain *d, Dof *dof) override
std ::unique_ptr< SparseMtrx > initialStressMatrix
TimeStep * giveNextStep() override
Returns next time step (next to current step) of receiver.
void terminateLinStatic(TimeStep *tStep)
void initializeFrom(InputRecord &ir) override
LinearStability(int i, EngngModel *master=nullptr)
int numberOfRequiredEigenValues
std ::unique_ptr< SparseGeneralEigenValueSystemNM > nMethod
void solveYourself() override
void printOutputAt(FILE *file, TimeStep *tStep) override
std ::unique_ptr< SparseMtrx > stiffnessMatrix
void saveContext(DataStream &stream, ContextMode mode) override
StructuralEngngModel(int i, EngngModel *master=nullptr)
Creates new StructuralEngngModel with number i, associated to domain d.
#define _IFT_LinearStability_Name