10 #if !defined(KRATOS_EXPLICIT_STRATEGY_H_INCLUDED)
11 #define KRATOS_EXPLICIT_STRATEGY_H_INCLUDED
47 template<
class TSparseSpace,
92 typename SchemeType::Pointer pScheme,
94 :
SolutionStrategy<TSparseSpace, TDenseSpace, TLinearSolver>(rModelPart, rOptions)
103 mpBuilderAndSolver = Kratos::make_shared<ExplicitBuilderAndSolver<TSparseSpace, TDenseSpace, TLinearSolver> >();
132 if(this->
IsNot(LocalFlagType::INITIALIZED))
163 if(this->
mOptions.
Is(LocalFlagType::REFORM_DOFS)){
186 if(this->
mOptions.
IsNot(LocalFlagType::CONSTANT_SYSTEM_MATRIX))
278 if (
mpScheme->IsNot(LocalFlagType::INITIALIZED))
290 if(this->
mOptions.
Is(LocalFlagType::CONSTANT_SYSTEM_MATRIX))
293 this->
Set(LocalFlagType::INITIALIZED,
true);
Convergence Criterion base class.
Definition: convergence_criterion.hpp:52
bool Has(const Variable< TDataType > &rThisVariable) const
Checks if the data container has a value associated with a given variable.
Definition: data_value_container.h:382
Definition: explicit_strategy.hpp:52
bool SolveSolutionStep() override
Solves the current step. This function returns true if a solution has been found, false otherwise.
Definition: explicit_strategy.hpp:181
void Clear() override
Clears the internal storage.
Definition: explicit_strategy.hpp:203
BaseType::SchemeType SchemeType
Definition: explicit_strategy.hpp:70
SchemeType::Pointer GetScheme()
Get method for the time scheme.
Definition: explicit_strategy.hpp:231
ConvergenceCriterion< TSparseSpace, TDenseSpace > ConvergenceCriterionType
Definition: explicit_strategy.hpp:66
ExplicitSolutionStrategy(ModelPart &rModelPart, typename SchemeType::Pointer pScheme, Flags &rOptions)
Constructor.
Definition: explicit_strategy.hpp:91
~ExplicitSolutionStrategy() override
Destructor.
Definition: explicit_strategy.hpp:112
void InitializeSolutionStep() override
Performs all the required operations that should be done (for each step) before solving the solution ...
Definition: explicit_strategy.hpp:126
TSparseSpace SparseSpaceType
Definition: explicit_strategy.hpp:72
SystemVectorPointerType mpb
The incremement in the solution.
Definition: explicit_strategy.hpp:258
BaseType::SystemVectorType SystemVectorType
Definition: explicit_strategy.hpp:78
SchemeType::Pointer mpScheme
Definition: explicit_strategy.hpp:254
BaseType::LocalFlagType LocalFlagType
Definition: explicit_strategy.hpp:64
SystemMatrixPointerType mpA
The RHS vector of the system of equations.
Definition: explicit_strategy.hpp:259
SystemVectorPointerType mpDx
The pointer to the builder and solver employed.
Definition: explicit_strategy.hpp:257
int Check() override
Definition: explicit_strategy.hpp:319
void Initialize() override
Initialization of member variables and prior operations.
Definition: explicit_strategy.hpp:273
KRATOS_CLASS_POINTER_DEFINITION(ExplicitSolutionStrategy)
BaseType::BuilderAndSolverType BuilderAndSolverType
Definition: explicit_strategy.hpp:68
BuilderAndSolverType::Pointer mpBuilderAndSolver
The pointer to the time scheme employed.
Definition: explicit_strategy.hpp:255
void Update() override
Here the database is updated.
Definition: explicit_strategy.hpp:306
void FinalizeSolutionStep() override
Performs all the required operations that should be done (for each step) after solving the solution s...
Definition: explicit_strategy.hpp:149
BaseType::DofsArrayType DofsArrayType
Definition: explicit_strategy.hpp:74
BaseType::SystemMatrixPointerType SystemMatrixPointerType
Definition: explicit_strategy.hpp:80
void SetScheme(typename SchemeType::Pointer pScheme)
Set method for the time scheme.
Definition: explicit_strategy.hpp:222
SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
Definition: explicit_strategy.hpp:62
BaseType::SystemMatrixType SystemMatrixType
Definition: explicit_strategy.hpp:76
BaseType::SystemVectorPointerType SystemVectorPointerType
Definition: explicit_strategy.hpp:82
void Set(const Flags ThisFlag)
Definition: flags.cpp:33
bool Is(Flags const &rOther) const
Definition: flags.h:274
bool IsNot(Flags const &rOther) const
Definition: flags.h:291
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
ProcessInfo & GetProcessInfo()
Definition: model_part.h:1746
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
Solution Buider and Solver base class.
Definition: solution_builder_and_solver.hpp:63
Solution scheme base class.
Definition: solution_scheme.hpp:54
Solution strategy base class.
Definition: solution_strategy.hpp:52
TSparseSpace::VectorPointerType SystemVectorPointerType
Definition: solution_strategy.hpp:63
ModelPart & GetModelPart()
Operations to get the pointer to the model.
Definition: solution_strategy.hpp:243
Flags mOptions
Definition: solution_strategy.hpp:267
TSparseSpace::MatrixPointerType SystemMatrixPointerType
Definition: solution_strategy.hpp:62
TSparseSpace::MatrixType SystemMatrixType
Definition: solution_strategy.hpp:60
virtual int Check()
Function to perform expensive checks.
Definition: solution_strategy.hpp:154
TSparseSpace::VectorType SystemVectorType
Definition: solution_strategy.hpp:61
Solver local flags class definition.
Definition: solution_local_flags.hpp:48
static void Clear(MatrixPointerType &pA)
Definition: ublas_space.h:578
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21