5 #if !defined KRATOS_DEM_INTEGRATION_SCHEME_H_INCLUDED
6 #define KRATOS_DEM_INTEGRATION_SCHEME_H_INCLUDED
22 class RigidBodyElement3D;
44 virtual void SetTranslationalIntegrationSchemeInProperties(Properties::Pointer pProp,
bool verbose =
true)
const;
45 virtual void SetRotationalIntegrationSchemeInProperties(Properties::Pointer pProp,
bool verbose =
true)
const;
47 virtual void Move(
Node &
i,
const double delta_t,
const double force_reduction_factor,
const int StepFlag);
48 virtual void Rotate(
Node &
i,
const double delta_t,
const double force_reduction_factor,
const int StepFlag);
49 virtual void MoveRigidBodyElement(
RigidBodyElement3D* rigid_body_element,
Node &
i,
const double delta_t,
const double force_reduction_factor,
const int StepFlag);
50 virtual void RotateRigidBodyElement(
RigidBodyElement3D* rigid_body_element,
Node &
i,
const double delta_t,
const double force_reduction_factor,
const int StepFlag);
52 virtual void UpdateTranslationalVariables(
61 const double force_reduction_factor,
64 const bool Fix_vel[3]);
66 virtual void CalculateTranslationalMotionOfNode(
Node &
i,
const double delta_t,
const double force_reduction_factor,
const int StepFlag);
67 virtual void CalculateRotationalMotionOfSphereNode(
Node &
i,
const double delta_t,
const double force_reduction_factor,
const int StepFlag);
68 virtual void CalculateRotationalMotionOfRigidBodyElementNode(
Node &
i,
const double delta_t,
const double moment_reduction_factor,
const int StepFlag);
70 virtual void CalculateNewRotationalVariablesOfSpheres(
73 const double moment_of_inertia,
76 const double moment_reduction_factor,
80 const bool Fix_Ang_vel[3]);
82 virtual void CalculateNewRotationalVariablesOfRigidBodyElements(
88 const double moment_reduction_factor,
93 const bool Fix_Ang_vel[3]);
95 virtual void UpdateRotationalVariables(
103 const bool Fix_Ang_vel[3]);
105 virtual void UpdateRotationalVariables(
108 const double& moment_of_inertia,
115 const bool Fix_Ang_vel[3]);
117 virtual void UpdateRotationalVariables(
127 const bool Fix_Ang_vel[3]);
129 virtual void UpdateRotatedAngle(
135 virtual void UpdateAngularVelocity(
137 const double LocalTensorInv[3][3],
141 virtual void CalculateLocalAngularAcceleration(
142 const double moment_of_inertia,
144 const double moment_reduction_factor,
147 virtual void CalculateLocalAngularAccelerationByEulerEquations(
151 const double moment_reduction_factor,
154 virtual void CalculateAngularVelocityRK(
156 const double& moment_of_inertia,
160 const bool Fix_Ang_vel[3]);
162 virtual void CalculateAngularVelocityRK(
168 const bool Fix_Ang_vel[3]);
170 virtual void QuaternionCalculateMidAngularVelocities(
172 const double LocalTensorInv[3][3],
178 virtual std::string
Info()
const {
179 std::stringstream buffer;
180 buffer <<
"DEMIntegrationScheme";
187 rOStream <<
"DEMIntegrationScheme";
207 DEMIntegrationScheme(DEMIntegrationScheme
const& rOther) {
213 virtual void save(
Serializer& rSerializer)
const {
232 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: dem_integration_scheme.h:24
KRATOS_CLASS_POINTER_DEFINITION(DEMIntegrationScheme)
virtual DEMIntegrationScheme * CloneRaw() const
Definition: dem_integration_scheme.h:34
virtual std::string Info() const
Definition: dem_integration_scheme.h:178
ModelPart::NodesContainerType NodesArrayType
Definition: dem_integration_scheme.h:27
virtual DEMIntegrationScheme::Pointer CloneShared() const
Definition: dem_integration_scheme.h:39
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: dem_integration_scheme.h:192
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: dem_integration_scheme.h:186
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
This class defines the node.
Definition: node.h:65
Definition: rigid_body_element.h:31
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
dt
Definition: DEM_benchmarks.py:173
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def load(f)
Definition: ode_solve.py:307
vel
Definition: pure_conduction.py:76
float delta_t
Definition: rotatingcone_PureConvectionBenchmarking.py:129
integer i
Definition: TensorModule.f:17