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.
|
This strategy is used to solve convection-diffusion problem. More...
#include <residualbased_eulerian_convdiff_strategy.h>
Public Member Functions | |
Life Cycle | |
ResidualBasedEulerianConvectionDiffusionStrategy (ModelPart &model_part, typename TLinearSolver::Pointer pNewLinearSolver, bool ReformDofAtEachIteration=false, int dimension=3) | |
virtual | ~ResidualBasedEulerianConvectionDiffusionStrategy () |
double | Solve () override |
void | SetEchoLevel (int Level) override |
This sets the level of echo for the solving strategy. More... | |
void | Clear () override |
Clears the internal storage. More... | |
int | Check () override |
Function to perform expensive checks. 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... | |
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... | |
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 () |
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 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 Member Functions | |
Protected Operations | |
virtual void | GenerateMeshPart (int dimension) |
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 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 |
KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedEulerianConvectionDiffusionStrategy) | |
This strategy is used to solve convection-diffusion problem.
Detail class definition.
The convection-diffusion problem \( \rho C M \frac{\partial T}{\partial t} + \rho C S T = - \kappa L T \) (1)
is completed with the standard boundary conditions of prescribed temperature and prescribed normal heat flux in the thermal problem. For surfaces exposed to fire conditions, energy losses due to radiation and convection must be taken into account, and the thermal boundary condition is
\f$ \kappa \frac{\partial T}{\partial n} + \overline{q_n} = 0 \f$ (2)
where
\f$ \overline{q_n} = q_n - \varepsilon \sigma (T^4 - T_0^4) - \alpha_c (T - T_0)\f$ (3)
Then, this strategy is employed to solve the following equation
Evaluates \f$ L h s = \frac{\rho C}{\Delta t} (W, N) + (W, v. \nabla N) + \kappa (\nabla W, \nabla N) + 4 \epsilon \sigma T^3 \left\langle W, N \right\rangle + \alpha \left\langle
W, N \right\rangle \( and \) R h s = \rho (W, Q) + \frac{\rho C}{\Delta t} (W, T^n)- \left\langle W, q \right\rangle - \epsilon \sigma \left\langle W, T^4 - T_0^4 \right\rangle - \left\langle W, \alpha (T - T_0) \right\rangle - L h s \ast T
typedef ImplicitSolvingStrategy<TSparseSpace,TDenseSpace,TLinearSolver> Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType |
typedef BaseType::DofsArrayType Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType |
typedef BaseType::LocalSystemMatrixType Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType |
typedef BaseType::LocalSystemVectorType Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType |
typedef BaseType::TDataType Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType |
typedef BaseType::TSystemMatrixType Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType |
typedef BaseType::TSystemVectorType Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType |
|
inline |
model_part | Reference to the ModelPart that contains the problem. |
pNewLinearSolver | pointer to the solver for the temperature system. @paramReformDofAtEachIteration=true. |
time_order=2. | |
prediction_order | == 2. |
|
inlinevirtual |
Destructor.
|
inlineoverridevirtual |
Function to perform expensive checks.
It is designed to be called ONCE to verify that the input is correct.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Clears the internal storage.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineprotectedvirtual |
Kratos::ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | ResidualBasedEulerianConvectionDiffusionStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
Counted pointer of ClassName
|
inlineoverridevirtual |
This sets the level of echo for the solving strategy.
Level | of echo for the solving strategy |
{ 0 -> Mute... no echo at all 1 -> Printing time and basic information 2 -> Printing linear solver data 3 -> Print of debug information: Echo of stiffness matrix, Dx, b... }
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Destructor.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.