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.
Public Types | Public Member Functions | List of all members
Kratos::QuaternionIntegrationScheme Class Reference

#include <quaternion_integration_scheme.h>

Inheritance diagram for Kratos::QuaternionIntegrationScheme:
Collaboration diagram for Kratos::QuaternionIntegrationScheme:

Public Types

typedef ModelPart::NodesContainerType NodesArrayType
 
- Public Types inherited from Kratos::DEMIntegrationScheme
typedef ModelPart::NodesContainerType NodesArrayType
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (QuaternionIntegrationScheme)
 Pointer definition of QuaternionIntegrationScheme. More...
 
 QuaternionIntegrationScheme ()
 Default constructor. More...
 
virtual ~QuaternionIntegrationScheme ()
 Destructor. More...
 
DEMIntegrationSchemeCloneRaw () const override
 
DEMIntegrationScheme::Pointer CloneShared () const override
 
void SetTranslationalIntegrationSchemeInProperties (Properties::Pointer pProp, bool verbose=true) const override
 
void SetRotationalIntegrationSchemeInProperties (Properties::Pointer pProp, bool verbose=true) const override
 
void UpdateTranslationalVariables (int StepFlag, Node &i, array_1d< double, 3 > &coor, array_1d< double, 3 > &displ, array_1d< double, 3 > &delta_displ, array_1d< double, 3 > &vel, const array_1d< double, 3 > &initial_coor, const array_1d< double, 3 > &force, const double force_reduction_factor, const double mass, const double delta_t, const bool Fix_vel[3]) override
 
void CalculateNewRotationalVariablesOfSpheres (int StepFlag, Node &i, const double moment_of_inertia, array_1d< double, 3 > &angular_velocity, array_1d< double, 3 > &torque, const double moment_reduction_factor, array_1d< double, 3 > &rotated_angle, array_1d< double, 3 > &delta_rotation, const double delta_t, const bool Fix_Ang_vel[3]) override
 
void CalculateNewRotationalVariablesOfRigidBodyElements (int StepFlag, Node &i, const array_1d< double, 3 > moments_of_inertia, array_1d< double, 3 > &angular_velocity, array_1d< double, 3 > &torque, const double moment_reduction_factor, array_1d< double, 3 > &rotated_angle, array_1d< double, 3 > &delta_rotation, Quaternion< double > &Orientation, const double delta_t, const bool Fix_Ang_vel[3]) override
 
void UpdateRotatedAngle (array_1d< double, 3 > &rotated_angle, array_1d< double, 3 > &delta_rotation, const array_1d< double, 3 > &angular_velocity, const double delta_t) override
 
void CalculateLocalAngularAcceleration (const double moment_of_inertia, const array_1d< double, 3 > &torque, const double moment_reduction_factor, array_1d< double, 3 > &angular_acceleration) override
 
void CalculateLocalAngularAccelerationByEulerEquations (const array_1d< double, 3 > &local_angular_velocity, const array_1d< double, 3 > &moments_of_inertia, const array_1d< double, 3 > &local_torque, const double moment_reduction_factor, array_1d< double, 3 > &local_angular_acceleration) override
 
virtual std::string Info () const override
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::DEMIntegrationScheme
 KRATOS_CLASS_POINTER_DEFINITION (DEMIntegrationScheme)
 
 DEMIntegrationScheme ()
 
virtual ~DEMIntegrationScheme ()
 
virtual void Move (Node &i, const double delta_t, const double force_reduction_factor, const int StepFlag)
 
virtual void Rotate (Node &i, const double delta_t, const double force_reduction_factor, const int StepFlag)
 
virtual void MoveRigidBodyElement (RigidBodyElement3D *rigid_body_element, Node &i, const double delta_t, const double force_reduction_factor, const int StepFlag)
 
virtual void RotateRigidBodyElement (RigidBodyElement3D *rigid_body_element, Node &i, const double delta_t, const double force_reduction_factor, const int StepFlag)
 
virtual void CalculateTranslationalMotionOfNode (Node &i, const double delta_t, const double force_reduction_factor, const int StepFlag)
 
virtual void CalculateRotationalMotionOfSphereNode (Node &i, const double delta_t, const double force_reduction_factor, const int StepFlag)
 
virtual void CalculateRotationalMotionOfRigidBodyElementNode (Node &i, const double delta_t, const double moment_reduction_factor, const int StepFlag)
 
virtual void UpdateRotationalVariables (int StepFlag, Node &i, array_1d< double, 3 > &rotated_angle, array_1d< double, 3 > &delta_rotation, array_1d< double, 3 > &angular_velocity, array_1d< double, 3 > &angular_acceleration, const double delta_t, const bool Fix_Ang_vel[3])
 
virtual void UpdateRotationalVariables (int StepFlag, Node &i, const double &moment_of_inertia, array_1d< double, 3 > &rotated_angle, array_1d< double, 3 > &delta_rotation, Quaternion< double > &Orientation, const array_1d< double, 3 > &angular_momentum, array_1d< double, 3 > &angular_velocity, const double delta_t, const bool Fix_Ang_vel[3])
 
virtual void UpdateRotationalVariables (int StepFlag, Node &i, const array_1d< double, 3 > &moments_of_inertia, array_1d< double, 3 > &rotated_angle, array_1d< double, 3 > &delta_rotation, Quaternion< double > &Orientation, const array_1d< double, 3 > &angular_momentum, array_1d< double, 3 > &angular_velocity, const double delta_t, const bool Fix_Ang_vel[3])
 
virtual void UpdateAngularVelocity (const Quaternion< double > &Orientation, const double LocalTensorInv[3][3], const array_1d< double, 3 > &angular_momentum, array_1d< double, 3 > &angular_velocity)
 
virtual void CalculateAngularVelocityRK (const Quaternion< double > &Orientation, const double &moment_of_inertia, const array_1d< double, 3 > &angular_momentum, array_1d< double, 3 > &angular_velocity, const double delta_t, const bool Fix_Ang_vel[3])
 
virtual void CalculateAngularVelocityRK (const Quaternion< double > &Orientation, const array_1d< double, 3 > &moments_of_inertia, const array_1d< double, 3 > &angular_momentum, array_1d< double, 3 > &angular_velocity, const double delta_t, const bool Fix_Ang_vel[3])
 
virtual void QuaternionCalculateMidAngularVelocities (const Quaternion< double > &Orientation, const double LocalTensorInv[3][3], const array_1d< double, 3 > &angular_momentum, const double dt, const array_1d< double, 3 > &InitialAngularVel, array_1d< double, 3 > &FinalAngularVel)
 

Member Typedef Documentation

◆ NodesArrayType

Constructor & Destructor Documentation

◆ QuaternionIntegrationScheme()

Kratos::QuaternionIntegrationScheme::QuaternionIntegrationScheme ( )
inline

Default constructor.

◆ ~QuaternionIntegrationScheme()

virtual Kratos::QuaternionIntegrationScheme::~QuaternionIntegrationScheme ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CalculateLocalAngularAcceleration()

void Kratos::QuaternionIntegrationScheme::CalculateLocalAngularAcceleration ( const double  moment_of_inertia,
const array_1d< double, 3 > &  torque,
const double  moment_reduction_factor,
array_1d< double, 3 > &  angular_acceleration 
)
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ CalculateLocalAngularAccelerationByEulerEquations()

void Kratos::QuaternionIntegrationScheme::CalculateLocalAngularAccelerationByEulerEquations ( const array_1d< double, 3 > &  local_angular_velocity,
const array_1d< double, 3 > &  moments_of_inertia,
const array_1d< double, 3 > &  local_torque,
const double  moment_reduction_factor,
array_1d< double, 3 > &  local_angular_acceleration 
)
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ CalculateNewRotationalVariablesOfRigidBodyElements()

void Kratos::QuaternionIntegrationScheme::CalculateNewRotationalVariablesOfRigidBodyElements ( int  StepFlag,
Node i,
const array_1d< double, 3 >  moments_of_inertia,
array_1d< double, 3 > &  angular_velocity,
array_1d< double, 3 > &  torque,
const double  moment_reduction_factor,
array_1d< double, 3 > &  rotated_angle,
array_1d< double, 3 > &  delta_rotation,
Quaternion< double > &  Orientation,
const double  delta_t,
const bool  Fix_Ang_vel[3] 
)
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ CalculateNewRotationalVariablesOfSpheres()

void Kratos::QuaternionIntegrationScheme::CalculateNewRotationalVariablesOfSpheres ( int  StepFlag,
Node i,
const double  moment_of_inertia,
array_1d< double, 3 > &  angular_velocity,
array_1d< double, 3 > &  torque,
const double  moment_reduction_factor,
array_1d< double, 3 > &  rotated_angle,
array_1d< double, 3 > &  delta_rotation,
const double  delta_t,
const bool  Fix_Ang_vel[3] 
)
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ CloneRaw()

DEMIntegrationScheme* Kratos::QuaternionIntegrationScheme::CloneRaw ( ) const
inlineoverridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ CloneShared()

DEMIntegrationScheme::Pointer Kratos::QuaternionIntegrationScheme::CloneShared ( ) const
inlineoverridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ Info()

virtual std::string Kratos::QuaternionIntegrationScheme::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::DEMIntegrationScheme.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::QuaternionIntegrationScheme::KRATOS_CLASS_POINTER_DEFINITION ( QuaternionIntegrationScheme  )

Pointer definition of QuaternionIntegrationScheme.

◆ PrintData()

virtual void Kratos::QuaternionIntegrationScheme::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::DEMIntegrationScheme.

◆ PrintInfo()

virtual void Kratos::QuaternionIntegrationScheme::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::DEMIntegrationScheme.

◆ SetRotationalIntegrationSchemeInProperties()

void Kratos::QuaternionIntegrationScheme::SetRotationalIntegrationSchemeInProperties ( Properties::Pointer  pProp,
bool  verbose = true 
) const
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ SetTranslationalIntegrationSchemeInProperties()

void Kratos::QuaternionIntegrationScheme::SetTranslationalIntegrationSchemeInProperties ( Properties::Pointer  pProp,
bool  verbose = true 
) const
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ UpdateRotatedAngle()

void Kratos::QuaternionIntegrationScheme::UpdateRotatedAngle ( array_1d< double, 3 > &  rotated_angle,
array_1d< double, 3 > &  delta_rotation,
const array_1d< double, 3 > &  angular_velocity,
const double  delta_t 
)
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.

◆ UpdateTranslationalVariables()

void Kratos::QuaternionIntegrationScheme::UpdateTranslationalVariables ( int  StepFlag,
Node i,
array_1d< double, 3 > &  coor,
array_1d< double, 3 > &  displ,
array_1d< double, 3 > &  delta_displ,
array_1d< double, 3 > &  vel,
const array_1d< double, 3 > &  initial_coor,
const array_1d< double, 3 > &  force,
const double  force_reduction_factor,
const double  mass,
const double  delta_t,
const bool  Fix_vel[3] 
)
overridevirtual

Reimplemented from Kratos::DEMIntegrationScheme.


The documentation for this class was generated from the following files: