21 template <
class TSparseSpace,
class TDenseSpace>
26 const std::vector<SecondOrderVectorVariable>& rSecondOrderVectorVariables)
39 rModelPart.
GetProcessInfo()[r_first_order_scalar_variable.delta_time_coefficient] =
57 UpdateVectorTimeDerivatives(rNode);
59 for (const auto& r_first_order_scalar_variable : this->GetFirstOrderScalarVariables()) {
60 SetDerivative(r_first_order_scalar_variable.first_time_derivative,
61 r_first_order_scalar_variable.instance, rNode);
70 for (
const auto& r_second_order_vector_variable : this->GetSecondOrderVectorVariables()) {
73 SetDerivative(r_second_order_vector_variable.first_time_derivative,
74 r_second_order_vector_variable.instance, rNode);
78 SetDerivative(r_second_order_vector_variable.second_time_derivative,
79 r_second_order_vector_variable.first_time_derivative, rNode);
Definition: backward_euler_scheme.hpp:23
void SetDerivative(const Variable< T > &derivative_variable, const Variable< T > &instance_variable, Node &rNode) const
Definition: backward_euler_scheme.hpp:84
void UpdateVariablesDerivatives(ModelPart &rModelPart) override
Definition: backward_euler_scheme.hpp:50
void UpdateVectorTimeDerivatives(Node &rNode) const
Definition: backward_euler_scheme.hpp:68
void SetTimeFactors(ModelPart &rModelPart) override
Definition: backward_euler_scheme.hpp:32
BackwardEulerScheme(const std::vector< FirstOrderScalarVariable > &rFirstOrderScalarVariables, const std::vector< SecondOrderVectorVariable > &rSecondOrderVectorVariables)
Definition: backward_euler_scheme.hpp:25
Definition: geomechanics_time_integration_scheme.hpp:50
const std::vector< FirstOrderScalarVariable > & GetFirstOrderScalarVariables() const
Definition: geomechanics_time_integration_scheme.hpp:338
double GetDeltaTime() const
Definition: geomechanics_time_integration_scheme.hpp:331
virtual void SetTimeFactors(ModelPart &rModelPart)
Definition: geomechanics_time_integration_scheme.hpp:324
const std::vector< SecondOrderVectorVariable > & GetSecondOrderVectorVariables() const
Definition: geomechanics_time_integration_scheme.hpp:333
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
ProcessInfo & GetProcessInfo()
Definition: model_part.h:1746
NodesContainerType & Nodes(IndexType ThisIndex=0)
Definition: model_part.h:507
This class defines the node.
Definition: node.h:65
TVariableType::Type & FastGetSolutionStepValue(const TVariableType &rThisVariable)
Definition: node.h:435
bool SolutionStepsDataHas(const VariableData &rThisVariable) const
Definition: node.h:427
#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
void block_for_each(TIterator itBegin, TIterator itEnd, TFunction &&rFunction)
Execute a functor on all items of a range in parallel.
Definition: parallel_utilities.h:299