![]() |
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.
|
Short class definition. More...
#include <fracstep_GLS_strategy.h>
Public Member Functions | |
Life Cycle | |
FracStepStrategy (ModelPart &model_part, typename TLinearSolver::Pointer pNewVelocityLinearSolver, typename TLinearSolver::Pointer pNewPressureLinearSolver, bool ReformDofAtEachIteration=true, double velocity_toll=0.01, double pressure_toll=0.01, int MaxVelocityIterations=3, int MaxPressureIterations=1, unsigned int time_order=2, unsigned int domain_size=2, bool predictor_corrector=false) | |
virtual | ~FracStepStrategy () |
double | Solve () override |
double | SolvePressure () |
double | IterativeSolve () |
double | SavePressureIteration () |
void | AssignInitialStepValues () |
void | SolveStep1 (double velocity_toll, int MaxIterations) |
double | FractionalVelocityIteration () |
void | SolveStep4 () |
void | SolveStep7 () |
double | SolveStep2 () |
void | SolveStep3 () |
void | SolveStepaux () |
bool | ConvergenceCheck (const double &normDx, double tol) |
void | Compute () |
virtual void | SetEchoLevel (int Level) override |
virtual void | Clear () override |
Clears the internal storage. More... | |
virtual double | GetStageResidualNorm (unsigned int step) |
![]() | |
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... | |
std::string | Info () const override |
Turn back information as a string. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ImplicitSolvingStrategy) | |
Parameters | GetDefaultParameters () const override |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
![]() | |
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 () |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
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 void | Initialize () |
Initialization of member variables and prior operations. 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... | |
virtual void | InitializeSolutionStep () |
Performs all the required operations that should be done (for each step) before solving the solution step. More... | |
virtual void | FinalizeSolutionStep () |
Performs all the required operations that should be done (for each step) after solving the solution step. More... | |
virtual bool | SolveSolutionStep () |
Solves the current step. This function returns true if a solution has been found, false otherwise. 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... | |
ModelPart & | GetModelPart () |
Operations to get the pointer to the model. More... | |
const ModelPart & | GetModelPart () const |
Operations to get the pointer to the model. More... | |
virtual double | GetResidualNorm () |
Operations to get the residual norm. More... | |
virtual int | Check () |
Function to perform expensive checks. More... | |
virtual TSystemMatrixType & | GetSystemMatrix () |
This method returns the LHS matrix. More... | |
virtual TSystemVectorType & | GetSystemVector () |
This method returns the RHS vector. More... | |
virtual TSystemVectorType & | GetSolutionVector () |
This method returns the solution vector. More... | |
Protected Attributes | |
Protected member Variables | |
BaseType::Pointer | mpfracvel_strategy |
BaseType::Pointer | mppressurestep |
double | mvelocity_toll |
double | mpressure_toll |
int | mMaxVelIterations |
int | mMaxPressIterations |
unsigned int | mtime_order |
unsigned int | mprediction_order |
bool | mpredictor_corrector |
bool | mReformDofAtEachIteration |
int | mecho_level |
bool | muse_dt_in_stabilization |
![]() | |
int | mRebuildLevel |
bool | mStiffnessMatrixIsBuilt |
The current rebuild level. More... | |
![]() | |
int | mEchoLevel |
Type Definitions | |
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | BaseType |
typedef BaseType::TDataType | TDataType |
typedef BaseType::DofsArrayType | DofsArrayType |
typedef BaseType::TSystemMatrixType | TSystemMatrixType |
typedef BaseType::TSystemVectorType | TSystemVectorType |
typedef BaseType::LocalSystemVectorType | LocalSystemVectorType |
typedef BaseType::LocalSystemMatrixType | LocalSystemMatrixType |
typedef OpenMPUtils::PartitionVector | PartitionVector |
KRATOS_CLASS_POINTER_DEFINITION (FracStepStrategy) | |
Short class definition.
Detail class definition.
\URL[Example of use html]{ extended_documentation/no_ex_of_use.html}
\URL[Example of use pdf]{ extended_documentation/no_ex_of_use.pdf}
\URL[Example of use doc]{ extended_documentation/no_ex_of_use.doc}
\URL[Example of use ps]{ extended_documentation/no_ex_of_use.ps}
\URL[Extended documentation html]{ extended_documentation/no_ext_doc.html}
\URL[Extended documentation pdf]{ extended_documentation/no_ext_doc.pdf}
\URL[Extended documentation doc]{ extended_documentation/no_ext_doc.doc}
\URL[Extended documentation ps]{ extended_documentation/no_ext_doc.ps}
typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType |
typedef BaseType::DofsArrayType Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType |
typedef BaseType::LocalSystemMatrixType Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType |
typedef BaseType::LocalSystemVectorType Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType |
typedef OpenMPUtils::PartitionVector Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PartitionVector |
typedef BaseType::TDataType Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType |
typedef BaseType::TSystemMatrixType Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType |
typedef BaseType::TSystemVectorType Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType |
|
inline |
Constructor of the FracStepStrategy. Implements the solutions strategy for a Navier Stokes solver using the fractional step approach. Prepared for both openmp parallelism and mpi parallelism. The function also calls internally the "Check" function to verify that the input is complete
model_part | - contains Nodes, elements, etc. |
solver_config | - auxiliary file to ease the configuration. Prescribes the linear solvers and builiding strategies to be used in defining the current composite solver. |
ReformDofAtEachIteration | - if set to true the graph of the matrix is recomputed at each iteration |
velocity_toll | - tolerance used in the velocity convergence check |
pressure_toll | - pressure tolerance in finalizing the predictor corrector strategy |
MaxVelocityIterations | - maximum number of iterations of the velocity solver |
MaxPressureIterations | - max number of iteration for the predictor corrector strategy |
time_order | - 1=BDF1 , 2=BDF2 |
domain_size | 2=2D, 3=3D |
predictor_corrector | - true->for predictor corrector, false->standard Fractional Step (default = false) |
|
inlinevirtual |
Destructor.
|
inline |
|
inlineoverridevirtual |
Clears the internal storage.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inline |
|
inline |
implements the convergence check for the velocities convergence is considered achieved when normDx/norm(v) is less than tol
normDx | norm of the VELOCITY correction |
toll | tolerance accepted |
|
inline |
|
inlinevirtual |
|
inline |
Kratos::FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | FracStepStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
Counted pointer of ClassName
|
inline |
copies PRESSURE->PRESSURE_OLD_IT
|
inlineoverridevirtual |
Level |
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Destructor.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inline |
|
inline |
this function performs the iterative solution of the non-linear velocity problem in the first step of the fractional step procedure
velocity_toll | - tolerance used in the velocity convergence check |
MaxIterations | - max number of iterations |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |