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::MoveParticleUtilityPFEM2< TDim > Class Template Reference

#include <move_particle_utility_pfem2.h>

Collaboration diagram for Kratos::MoveParticleUtilityPFEM2< TDim >:

Public Types

typedef SpatialContainersConfigure< TDim > Configure
 
typedef Configure::PointType PointType
 
typedef Configure::ContainerType ContainerType
 
typedef Configure::IteratorType IteratorType
 
typedef Configure::ResultContainerType ResultContainerType
 
typedef Configure::ResultIteratorType ResultIteratorType
 
typedef PointerVector< PFEM_Particle_Fluid, PFEM_Particle_Fluid *, std::vector< PFEM_Particle_Fluid * > > ParticlePointerVector
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (MoveParticleUtilityPFEM2)
 
 MoveParticleUtilityPFEM2 (ModelPart &model_part, int maximum_number_of_particles)
 
 ~MoveParticleUtilityPFEM2 ()
 
void MountBin ()
 
void IntializeTransferTool (ModelPart *topographic_model_part, array_1d< double, 3 > initial_domains_offset, bool ovewrite_particle_data)
 
void PreReseedUsingTopographicDomain (const int minimum_number_of_particles, array_1d< double, 3 > domains_added_displacement)
 
void CalculateVelOverElemSize ()
 
void ResetBoundaryConditions (bool fully_reset_nodes)
 
void ResetBoundaryConditionsSlip ()
 
void CalculateDeltaVelocity ()
 
void CopyVectorVarToPreviousTimeStep (const Variable< array_1d< double, 3 > > &OriginVariable, ModelPart::NodesContainerType &rNodes)
 
void CopyScalarVarToPreviousTimeStep (const Variable< double > &OriginVariable, ModelPart::NodesContainerType &rNodes)
 
void MoveParticles (const bool discriminate_streamlines)
 
void TransferLagrangianToEulerian ()
 
void TransferLagrangianToEulerianImp ()
 
void AccelerateParticlesWithoutMovingUsingDeltaVelocity ()
 
template<class TDataType >
void AddUniqueWeakPointer (GlobalPointersVector< TDataType > &v, const typename TDataType::WeakPointer candidate)
 
void PreReseed (int minimum_number_of_particles)
 
void PostReseed (int minimum_number_of_particles, double mass_correction_factor)
 
void ExecuteParticlesPritingTool (ModelPart &lagrangian_model_part, int input_filter_factor)
 
void ExecuteParticlesPritingToolForDroppletsOnly (ModelPart &lagrangian_model_part, int input_filter_factor)
 
void AssignNodalVelocityUsingInletConditions (const double inlet_vel)
 
void RotateParticlesAndDomainVelocities (array_1d< double, 3 > rotations)
 

Member Typedef Documentation

◆ Configure

template<unsigned int TDim>
typedef SpatialContainersConfigure<TDim> Kratos::MoveParticleUtilityPFEM2< TDim >::Configure

◆ ContainerType

template<unsigned int TDim>
typedef Configure::ContainerType Kratos::MoveParticleUtilityPFEM2< TDim >::ContainerType

◆ IteratorType

template<unsigned int TDim>
typedef Configure::IteratorType Kratos::MoveParticleUtilityPFEM2< TDim >::IteratorType

◆ ParticlePointerVector

◆ PointType

template<unsigned int TDim>
typedef Configure::PointType Kratos::MoveParticleUtilityPFEM2< TDim >::PointType

◆ ResultContainerType

◆ ResultIteratorType

Constructor & Destructor Documentation

◆ MoveParticleUtilityPFEM2()

template<unsigned int TDim>
Kratos::MoveParticleUtilityPFEM2< TDim >::MoveParticleUtilityPFEM2 ( ModelPart model_part,
int  maximum_number_of_particles 
)
inline

◆ ~MoveParticleUtilityPFEM2()

template<unsigned int TDim>
Kratos::MoveParticleUtilityPFEM2< TDim >::~MoveParticleUtilityPFEM2 ( )
inline

Member Function Documentation

◆ AccelerateParticlesWithoutMovingUsingDeltaVelocity()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::AccelerateParticlesWithoutMovingUsingDeltaVelocity ( )
inline

◆ AddUniqueWeakPointer()

template<unsigned int TDim>
template<class TDataType >
void Kratos::MoveParticleUtilityPFEM2< TDim >::AddUniqueWeakPointer ( GlobalPointersVector< TDataType > &  v,
const typename TDataType::WeakPointer  candidate 
)
inline

◆ AssignNodalVelocityUsingInletConditions()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::AssignNodalVelocityUsingInletConditions ( const double  inlet_vel)
inline

◆ CalculateDeltaVelocity()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::CalculateDeltaVelocity ( )
inline

◆ CalculateVelOverElemSize()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::CalculateVelOverElemSize ( )
inline

◆ CopyScalarVarToPreviousTimeStep()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::CopyScalarVarToPreviousTimeStep ( const Variable< double > &  OriginVariable,
ModelPart::NodesContainerType rNodes 
)
inline

◆ CopyVectorVarToPreviousTimeStep()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::CopyVectorVarToPreviousTimeStep ( const Variable< array_1d< double, 3 > > &  OriginVariable,
ModelPart::NodesContainerType rNodes 
)
inline

◆ ExecuteParticlesPritingTool()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::ExecuteParticlesPritingTool ( ModelPart lagrangian_model_part,
int  input_filter_factor 
)
inline

◆ ExecuteParticlesPritingToolForDroppletsOnly()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::ExecuteParticlesPritingToolForDroppletsOnly ( ModelPart lagrangian_model_part,
int  input_filter_factor 
)
inline

◆ IntializeTransferTool()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::IntializeTransferTool ( ModelPart topographic_model_part,
array_1d< double, 3 >  initial_domains_offset,
bool  ovewrite_particle_data 
)
inline

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<unsigned int TDim>
Kratos::MoveParticleUtilityPFEM2< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( MoveParticleUtilityPFEM2< TDim >  )

◆ MountBin()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::MountBin ( )
inline

◆ MoveParticles()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::MoveParticles ( const bool  discriminate_streamlines)
inline

◆ PostReseed()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::PostReseed ( int  minimum_number_of_particles,
double  mass_correction_factor 
)
inline

COMMENT TO GET A CONTINOUS DISTANCE FUNCTION FIELD

◆ PreReseed()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::PreReseed ( int  minimum_number_of_particles)
inline

◆ PreReseedUsingTopographicDomain()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::PreReseedUsingTopographicDomain ( const int  minimum_number_of_particles,
array_1d< double, 3 >  domains_added_displacement 
)
inline

◆ ResetBoundaryConditions()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::ResetBoundaryConditions ( bool  fully_reset_nodes)
inline

◆ ResetBoundaryConditionsSlip()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::ResetBoundaryConditionsSlip ( )
inline

◆ RotateParticlesAndDomainVelocities()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::RotateParticlesAndDomainVelocities ( array_1d< double, 3 >  rotations)
inline

◆ TransferLagrangianToEulerian()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::TransferLagrangianToEulerian ( )
inline

KRATOS_WATCH(ielem->Id()) KRATOS_WATCH(ielem->GetValue(NEIGHBOUR_NODES).size());

finally, if there was an inlet that had a fixed position for the distance function, that has to remain unchanged:

◆ TransferLagrangianToEulerianImp()

template<unsigned int TDim>
void Kratos::MoveParticleUtilityPFEM2< TDim >::TransferLagrangianToEulerianImp ( )
inline

KRATOS_WATCH(ielem->Id()) KRATOS_WATCH(ielem->GetValue(NEIGHBOUR_NODES).size());

finally, if there was an inlet that had a fixed position for the distance function, that has to remain unchanged:


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