|
|
| ResidualBasedConvectionDiffusionStrategyNonLinear (ModelPart &model_part, typename TLinearSolver::Pointer pNewLinearSolver, bool ReformDofAtEachIteration=true, int time_order=2, int max_iter=30, double toll=1e-6) |
| Constructor. More...
|
|
virtual | ~ResidualBasedConvectionDiffusionStrategyNonLinear () |
|
double | Solve () override |
|
double | CalculateTemperatureNorm () |
| calculation of temperature norm More...
|
|
void | CalculateProjection () |
| calculation of projection More...
|
|
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...
|
|
| 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 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...
|
|
template<class TSparseSpace, class TDenseSpace, class TLinearSolver>
class Kratos::ResidualBasedConvectionDiffusionStrategyNonLinear< TSparseSpace, TDenseSpace, TLinearSolver >
This strategy is used to solve convection-diffusion problem.
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
\( \kappa \frac{\partial T}{\partial n} + \overline{q_n} = 0 \) (2) where
\( \overline{q_n} = q_n - \varepsilon \sigma (T^4 - T_0^4) - \alpha_c (T - T_0)\) (3)
Then, this strategy is employed to solve in iterative form the following equation
Evaluates \( 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 \)
until to achieve the convergence