KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver > Class Template Reference

#include <fs_strategy_for_chimera.h>

Inheritance diagram for Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >:
Collaboration diagram for Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >:

Public Member Functions

Life Cycle
 FractionalStepStrategyForChimera (ModelPart &rModelPart, SolverSettingsType &rSolverConfig, bool PredictorCorrector)
 
 FractionalStepStrategyForChimera (ModelPart &rModelPart, SolverSettingsType &rSolverConfig, bool PredictorCorrector, bool CalculateReactionsFlag)
 
 ~FractionalStepStrategyForChimera ()=default
 Destructor. More...
 
FractionalStepStrategyForChimeraoperator= (FractionalStepStrategyForChimera const &rOther)=delete
 Assignment operator. More...
 
 FractionalStepStrategyForChimera (FractionalStepStrategyForChimera const &rOther)=delete
 Copy constructor. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 FractionalStepStrategy (ModelPart &rModelPart, SolverSettingsType &rSolverConfig, bool PredictorCorrector)
 
 FractionalStepStrategy (ModelPart &rModelPart, SolverSettingsType &rSolverConfig, bool PredictorCorrector, const Kratos::Variable< int > &PeriodicVar)
 
 FractionalStepStrategy (ModelPart &rModelPart, SolverSettingsType &rSolverConfig, bool PredictorCorrector, bool CalculateReactionsFlag)
 
 FractionalStepStrategy (ModelPart &rModelPart, SolverSettingsType &rSolverConfig, bool PredictorCorrector, bool CalculateReactionsFlag, const Kratos::Variable< int > &PeriodicVar)
 
 ~FractionalStepStrategy () override
 Destructor. More...
 
void Initialize () override
 Initialization of member variables and prior operations. More...
 
int Check () override
 Function to perform expensive checks. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. This function returns true if a solution has been found, false otherwise. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
virtual void CalculateReactions ()
 Calculates the reactions This methods calculates the reactions of the momentum equation. These are computed as minus the RHS and saved in the REACTION variable. More...
 
virtual void AddIterationStep (Process::Pointer pNewStep)
 
virtual void ClearExtraIterationSteps ()
 
void Clear () override
 Clears the internal storage. More...
 
void SetEchoLevel (int Level) override
 This sets the level of echo for the solving strategy. More...
 
void SetCalculateReactionsFlag (bool CalculateReactionsFlag)
 This method sets the flag mCalculateReactionsFlag. More...
 
bool GetCalculateReactionsFlag ()
 This method returns the flag mCalculateReactionsFlag. More...
 
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (FractionalStepStrategy)
 Counted pointer of FractionalStepStrategy. More...
 
- Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 ImplicitSolvingStrategy ()
 Default constructor. More...
 
 ImplicitSolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ImplicitSolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~ImplicitSolvingStrategy ()
 
BaseType::Pointer Create (ModelPart &rModelPart, Parameters ThisParameters) const override
 Create method. More...
 
void SetRebuildLevel (int Level) override
 This sets the build level. More...
 
int GetRebuildLevel () const override
 This returns the build level. More...
 
void SetStiffnessMatrixIsBuilt (const bool StiffnessMatrixIsBuilt)
 This method sets the flag mStiffnessMatrixIsBuilt. More...
 
bool GetStiffnessMatrixIsBuilt () const
 This method gets the flag mStiffnessMatrixIsBuilt. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ImplicitSolvingStrategy)
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
- Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
 SolvingStrategy ()
 Default constructor. More...
 
 SolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 SolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~SolvingStrategy ()
 
 KRATOS_CLASS_POINTER_DEFINITION (SolvingStrategy)
 
virtual void Predict ()
 Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values. More...
 
virtual double Solve ()
 The problem of interest is solved. More...
 
virtual bool IsConverged ()
 This should be considered as a "post solution" convergence check which is useful for coupled analysis. More...
 
virtual void CalculateOutputData ()
 This operations should be called before printing the results when non trivial results (e.g. stresses) need to be calculated given the solution of the step. More...
 
int GetEchoLevel ()
 This returns the level of echo for the solving strategy. More...
 
void SetMoveMeshFlag (bool Flag)
 This function sets the flag that says if the mesh is moved. More...
 
bool MoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
bool GetMoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
virtual void MoveMesh ()
 This function is designed to move the mesh. More...
 
ModelPartGetModelPart ()
 Operations to get the pointer to the model. More...
 
const ModelPartGetModelPart () const
 Operations to get the pointer to the model. More...
 
virtual double GetResidualNorm ()
 Operations to get the residual norm. More...
 
virtual TSystemMatrixTypeGetSystemMatrix ()
 This method returns the LHS matrix. More...
 
virtual TSystemVectorTypeGetSystemVector ()
 This method returns the RHS vector. More...
 
virtual TSystemVectorTypeGetSolutionVector ()
 This method returns the solution vector. More...
 

Protected Member Functions

Protected Operations
std::tuple< bool, doubleSolveStep () override
 
void ComputeSplitOssProjections (ModelPart &rModelPart) override
 
void CalculateEndOfStepVelocity () override
 
void ChimeraProjectionCorrection (ModelPart &rModelPart)
 
void ChimeraVelocityCorrection (ModelPart &rModelPart)
 
- Protected Member Functions inherited from Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void SetTimeCoefficients ()
 Set the Time Coefficients object Calculate the coefficients for the BDF2 time iteration. These are stored in the BDF_COEFFICIENTS variable of the ProcessInfo container. More...
 
bool CheckFractionalStepConvergence (const double NormDv)
 
bool CheckPressureConvergence (const double NormDp)
 
void EnforceSlipCondition (const Kratos::Flags &rSlipWallFlag)
 Substract wall-normal component of velocity update to ensure that the final velocity satisfies slip conditions. More...
 
void PeriodicConditionProjectionCorrection (ModelPart &rModelPart)
 
void PeriodicConditionVelocityCorrection (ModelPart &rModelPart)
 
- Protected Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
- Protected Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 

Type Definitions

typedef FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef FractionalStepSettingsForChimera< TSparseSpace, TDenseSpace, TLinearSolver > SolverSettingsType
 
 KRATOS_CLASS_POINTER_DEFINITION (FractionalStepStrategyForChimera)
 Counted pointer of FractionalStepStrategyForChimera. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Pointer StrategyPointerType
 
typedef SolverSettings< TSparseSpace, TDenseSpace, TLinearSolver > SolverSettingsType
 
- Public Types inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef SolvingStrategy< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::TDataType TDataType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef Scheme< TSparseSpace, TDenseSpace > TSchemeType
 
typedef BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > TBuilderAndSolverType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > ClassType
 
typedef BaseType::TDofType TDofType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
- Public Types inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
typedef TSparseSpace::DataType TDataType
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef TSparseSpace::MatrixPointerType TSystemMatrixPointerType
 
typedef TSparseSpace::VectorPointerType TSystemVectorPointerType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > ClassType
 
typedef ModelPart::DofType TDofType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
- Static Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Static Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Protected Attributes inherited from Kratos::FractionalStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
double mVelocityTolerance
 
double mPressureTolerance
 
double mPressureGradientRelaxationFactor
 
unsigned int mMaxVelocityIter
 
unsigned int mMaxPressureIter
 
unsigned int mDomainSize
 
unsigned int mTimeOrder
 
bool mPredictorCorrector
 
bool mUseSlipConditions
 
bool mReformDofSet
 
bool mCalculateReactionsFlag
 
StrategyPointerType mpMomentumStrategy
 Scheme for the solution of the momentum equation. More...
 
StrategyPointerType mpPressureStrategy
 Scheme for the solution of the mass equation. More...
 
std::vector< Process::Pointer > mExtraIterationSteps
 
const Kratos::Variable< int > & mrPeriodicIdVar
 
- Protected Attributes inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
int mRebuildLevel
 
bool mStiffnessMatrixIsBuilt
 The current rebuild level. More...
 
- Protected Attributes inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
int mEchoLevel
 

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef FractionalStepStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType

◆ SolverSettingsType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef FractionalStepSettingsForChimera<TSparseSpace,TDenseSpace,TLinearSolver> Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::SolverSettingsType

Constructor & Destructor Documentation

◆ FractionalStepStrategyForChimera() [1/3]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::FractionalStepStrategyForChimera ( ModelPart rModelPart,
SolverSettingsType rSolverConfig,
bool  PredictorCorrector 
)
inline

◆ FractionalStepStrategyForChimera() [2/3]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::FractionalStepStrategyForChimera ( ModelPart rModelPart,
SolverSettingsType rSolverConfig,
bool  PredictorCorrector,
bool  CalculateReactionsFlag 
)
inline

◆ ~FractionalStepStrategyForChimera()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::~FractionalStepStrategyForChimera ( )
default

Destructor.

◆ FractionalStepStrategyForChimera() [3/3]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::FractionalStepStrategyForChimera ( FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver > const &  rOther)
delete

Copy constructor.

Member Function Documentation

◆ CalculateEndOfStepVelocity()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::CalculateEndOfStepVelocity ( )
inlineoverrideprotectedvirtual

◆ ChimeraProjectionCorrection()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::ChimeraProjectionCorrection ( ModelPart rModelPart)
inlineprotected

◆ ChimeraVelocityCorrection()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::ChimeraVelocityCorrection ( ModelPart rModelPart)
inlineprotected

◆ ComputeSplitOssProjections()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::ComputeSplitOssProjections ( ModelPart rModelPart)
inlineoverrideprotectedvirtual

◆ Info()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
std::string Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION ( FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >  )

Counted pointer of FractionalStepStrategyForChimera.

◆ operator=()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
FractionalStepStrategyForChimera& Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::operator= ( FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver > const &  rOther)
delete

Assignment operator.

◆ PrintData()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.

◆ SolveStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
std::tuple<bool,double> Kratos::FractionalStepStrategyForChimera< TSparseSpace, TDenseSpace, TLinearSolver >::SolveStep ( )
inlineoverrideprotectedvirtual

The documentation for this class was generated from the following file: