1 #ifndef KRATOS_SDEM_HYDRODYNAMIC_INTERACTION_LAW_H
2 #define KRATOS_SDEM_HYDRODYNAMIC_INTERACTION_LAW_H
16 #include "../DEMApplication/custom_elements/spheric_particle.h"
39 virtual void Initialize(
const ProcessInfo& r_process_info);
41 virtual void SetHydrodynamicInteractionLawInProperties(Properties::Pointer pProp,
bool verbose =
true)
const;
43 virtual std::string GetTypeOfLaw();
49 HydrodynamicInteractionLaw::Pointer Clone()
const;
51 virtual BuoyancyLaw::Pointer CloneBuoyancyLaw()
const;
52 virtual DragLaw::Pointer CloneDragLaw()
const;
53 virtual InviscidForceLaw::Pointer CloneInviscidForceLaw()
const;
54 virtual HistoryForceLaw::Pointer CloneHistoryForceLaw()
const;
55 virtual VorticityInducedLiftLaw::Pointer CloneVorticityInducedLiftLaw()
const;
56 virtual RotationInducedLiftLaw::Pointer CloneRotationInducedLiftLaw()
const;
57 virtual SteadyViscousTorqueLaw::Pointer CloneSteadyViscousTorqueLaw()
const;
59 double ComputeParticleReynoldsNumber(
const double particle_radius,
60 const double fluid_kinematic_viscosity,
61 const double modulus_of_minus_slip_velocity);
64 const double fluid_density,
65 const double displaced_volume,
71 double particle_radius,
73 double fluid_kinematic_viscosity,
79 const double fluid_density,
80 const double displaced_volume,
89 double particle_radius,
91 double fluid_kinematic_viscosity,
100 double particle_radius,
101 double fluid_density,
102 double fluid_kinematic_viscosity,
108 double particle_radius,
109 double fluid_density,
110 double fluid_kinematic_viscosity,
116 double particle_radius,
117 double fluid_density,
118 double fluid_kinematic_viscosity,
136 virtual void save(
Serializer& rSerializer)
const override {
Definition: buoyancy_law.h:16
virtual BuoyancyLaw::Pointer Clone() const
Definition: buoyancy_law.cpp:19
Definition: drag_law.h:17
virtual DragLaw::Pointer Clone() const
Definition: drag_law.cpp:29
Geometry base class.
Definition: geometry.h:71
Definition: history_force_law.h:16
virtual HistoryForceLaw::Pointer Clone() const
Definition: history_force_law.cpp:19
Definition: hydrodynamic_interaction_law.h:20
BuoyancyLaw::Pointer mpBuoyancyLaw
Definition: hydrodynamic_interaction_law.h:124
void SetDragLaw(const DragLaw &r_law)
Definition: hydrodynamic_interaction_law.h:32
InviscidForceLaw::Pointer mpInviscidForceLaw
Definition: hydrodynamic_interaction_law.h:126
void SetVorticityInducedLiftLaw(const VorticityInducedLiftLaw &r_law)
Definition: hydrodynamic_interaction_law.h:35
HistoryForceLaw::Pointer mpHistoryForceLaw
Definition: hydrodynamic_interaction_law.h:127
void SetHistoryForceLaw(const HistoryForceLaw &r_law)
Definition: hydrodynamic_interaction_law.h:34
void SetBuoyancyLaw(const BuoyancyLaw &r_law)
Definition: hydrodynamic_interaction_law.h:31
void SetInviscidForceLaw(const InviscidForceLaw &r_law)
Definition: hydrodynamic_interaction_law.h:33
void SetRotationInducedLiftLaw(const RotationInducedLiftLaw &r_law)
Definition: hydrodynamic_interaction_law.h:36
SteadyViscousTorqueLaw::Pointer mpSteadyViscousTorqueLaw
Definition: hydrodynamic_interaction_law.h:130
RotationInducedLiftLaw::Pointer mpRotationInducedLiftLaw
Definition: hydrodynamic_interaction_law.h:129
DragLaw::Pointer mpDragLaw
Definition: hydrodynamic_interaction_law.h:125
HydrodynamicInteractionLaw()
Definition: hydrodynamic_interaction_law.h:27
VorticityInducedLiftLaw::Pointer mpVorticityInducedLiftLaw
Definition: hydrodynamic_interaction_law.h:128
Node NodeType
Definition: hydrodynamic_interaction_law.h:23
KRATOS_CLASS_POINTER_DEFINITION(HydrodynamicInteractionLaw)
void SetSteadyViscousTorqueLaw(const SteadyViscousTorqueLaw &r_law)
Definition: hydrodynamic_interaction_law.h:37
Definition: inviscid_force_law.h:16
virtual InviscidForceLaw::Pointer Clone() const
Definition: inviscid_force_law.cpp:19
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Definition: rotation_induced_lift_law.h:16
virtual RotationInducedLiftLaw::Pointer Clone() const
Definition: rotation_induced_lift_law.cpp:19
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Definition: spheric_particle.h:31
Definition: steady_viscous_torque_law.h:16
virtual SteadyViscousTorqueLaw::Pointer Clone() const
Definition: steady_viscous_torque_law.cpp:19
Definition: vorticity_induced_lift_law.h:16
virtual VorticityInducedLiftLaw::Pointer Clone() const
Definition: vorticity_induced_lift_law.cpp:18
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_DEFINE_APPLICATION_VARIABLE(CHIMERA_APPLICATION, double, CHIMERA_DISTANCE)
def load(f)
Definition: ode_solve.py:307
body_force
Definition: script_ELASTIC.py:102