8 #if !defined(KRATOS_SWIMMING_PARTICLE_H_INCLUDED)
9 #define KRATOS_SWIMMING_PARTICLE_H_INCLUDED
26 template<
class TBaseElement >
37 using TBaseElement::GetGeometry;
39 using TBaseElement::mRealMass;
40 using TBaseElement::mRadius;
41 using TBaseElement::CalculateVolume;
42 using TBaseElement::GetMass;
43 using TBaseElement::GetForce;
61 :TBaseElement(NewId, pGeometry, pProperties){}
65 PropertiesType::Pointer pProperties)
const override
74 virtual void CreateHydrodynamicInteractionLaws(
const ProcessInfo& r_process_info);
85 virtual std::string
Info()
const override
87 std::stringstream buffer;
93 virtual void PrintInfo(std::ostream& rOStream)
const override
99 virtual void PrintData(std::ostream& rOStream)
const override{}
103 const ProcessInfo& r_current_process_info)
override;
107 void MemberDeclarationFirstStep(
const ProcessInfo& r_current_process_info)
override;
114 virtual double GetFluidMass();
153 double CalculateDragCoeffFromSphericity(
const double reynolds,
double sphericity,
int drag_modifier_type);
164 const double &force_reduction_coeff,
166 void ApplyNumericalAveragingWithOldForces(
NodeType&
node,
169 void ApplyDragPorosityModification(
double& drag_coeff);
170 void Initialize(
const ProcessInfo& r_process_info)
override;
180 int mPorosityCorrectionType;
181 double mFluidDensity;
182 double mKinematicViscosity;
184 double mNormOfSlipVel;
186 HydrodynamicInteractionLaw::Pointer mHydrodynamicInteractionLaw;
219 virtual void save(
Serializer& rSerializer)
const override
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: discrete_element.h:38
Geometry base class.
Definition: geometry.h:71
This class defines the node.
Definition: node.h:65
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Definition: swimming_particle.h:28
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: swimming_particle.h:93
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
Definition: swimming_particle.h:63
SwimmingParticle()
Default constructor.
Definition: swimming_particle.h:57
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: swimming_particle.h:99
SwimmingParticle(IndexType NewId, NodesArrayType const &ThisNodes)
Definition: swimming_particle.h:59
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(SwimmingParticle)
Pointer definition of SwimmingParticle.
std::vector< Node::Pointer > mNeighbourNodes
Definition: swimming_particle.h:81
Node NodeType
Definition: swimming_particle.h:32
virtual ~SwimmingParticle()
Destructor.
Definition: swimming_particle.h:71
std::vector< double > mNeighbourNodesDistances
Definition: swimming_particle.h:82
std::size_t IndexType
Definition: swimming_particle.h:31
Geometry< NodeType > GeometryType
Definition: swimming_particle.h:33
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition: swimming_particle.h:34
Properties PropertiesType
Definition: swimming_particle.h:35
SwimmingParticle(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Definition: swimming_particle.h:60
SwimmingParticle(IndexType NewId, GeometryType::Pointer pGeometry)
Definition: swimming_particle.h:58
virtual std::string Info() const override
Turn back information as a string.
Definition: swimming_particle.h:85
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
TDataType Calculate(GeometryType &dummy, const Variable< TDataType > &rVariable)
Definition: add_geometries_to_python.cpp:103
double GetDensity(const Properties &rProps, const IndexType Index)
Definition: shell_utilities.cpp:223
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: mesh_converter.cpp:38