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.
Classes | Protected Attributes | List of all members
Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle > Class Template Reference

#include <binbased_DEM_fluid_coupled_mapping.h>

Collaboration diagram for Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >:

Public Member Functions

Life Cycle
 BinBasedDEMFluidCoupledMapping (Parameters &rParameters, SpatialSearch::Pointer pSpSearch=NULL)
 Default constructor. More...
 
virtual ~BinBasedDEMFluidCoupledMapping ()
 Destructor. More...
 
Operations
template<class TDataType >
void AddDEMCouplingVariable (Variable< TDataType > const &r_variable)
 
template<class TDataType >
void AddFluidCouplingVariable (Variable< TDataType > const &r_variable)
 
template<class TDataType >
void AddDEMVariablesToImpose (Variable< TDataType > const &r_variable)
 
template<class TDataType >
void AddFluidVariableToBeTimeFiltered (Variable< TDataType > const &r_variable, const double time_constant)
 
template<class TDataType >
void AddCouplingVariable (Variable< TDataType > const &r_variable, std::string variable_list_identifier, std::string coupling_variable_description)
 
void InterpolateFromFluidMesh (ModelPart &r_fluid_model_part, ModelPart &r_dem_model_part, Parameters &parameters, BinBasedFastPointLocator< TDim > &bin_of_objects_fluid, const double alpha)
 Interpolate fluid data onto the DEM model part. More...
 
void ImposeFlowOnDEMFromField (FluidFieldUtility &r_flow, ModelPart &r_dem_model_part)
 
void ImposeVelocityOnDEMFromFieldToAuxVelocity (FluidFieldUtility &r_flow, ModelPart &r_dem_model_part)
 
void InterpolateVelocityOnAuxVelocity (ModelPart &r_fluid_model_part, ModelPart &r_dem_model_part, BinBasedFastPointLocator< TDim > &bin_of_objects_fluid, const double alpha)
 
void UpdateOldVelocity (ModelPart &r_dem_model_part)
 
void UpdateOldAdditionalForce (ModelPart &r_dem_model_part)
 
void InterpolateFromDEMMesh (ModelPart &r_dem_model_part, ModelPart &r_fluid_model_part, BinBasedFastPointLocator< TDim > &bin_of_objects_fluid)
 
void VariingRadiusHomogenizeFromDEMMesh (ModelPart &r_dem_model_part, ModelPart &r_fluid_model_part, const double &search_radius, const double &shape_factor, bool must_search=true, bool use_drew_model=false)
 
void HomogenizeFromDEMMesh (ModelPart &r_dem_model_part, ModelPart &r_fluid_model_part, const double &search_radius, const double &shape_factor, bool must_search=true, bool use_drew_model=false)
 
void ComputePostProcessResults (ModelPart &r_dem_model_part, ModelPart &r_fluid_model_part, ModelPart &rfem_dem_model_part, BinBasedFastPointLocator< TDim > &bin_of_objects_fluid, const ProcessInfo &r_current_process_info)
 
Input and output
virtual std::string Info () const
 Turn back information as a stemplate<class T, std::size_t dim> tring. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
Friends
DenseVector< unsigned int > & GetElementPartition ()
 
DenseVector< unsigned int > & GetNodePartition ()
 
ElementsArrayType::iterator GetElementPartitionBegin (ModelPart &r_model_part, unsigned int k)
 
ElementsArrayType::iterator GetElementPartitionEnd (ModelPart &r_model_part, unsigned int k)
 
NodesArrayType::iterator GetNodePartitionBegin (ModelPart &r_model_part, unsigned int k)
 
NodesArrayType::iterator GetNodePartitionEnd (ModelPart &r_model_part, unsigned int k)
 

Protected Attributes

DenseVector< unsigned intmElementsPartition
 
DenseVector< unsigned intmNodesPartition
 

Type Definitions

typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ElementsArrayType::ContainerType ResultElementsContainerType
 
typedef std::vector< ResultElementsContainerTypeVectorResultElementsContainerType
 
typedef ModelPart::ElementsContainerType::iterator ElementIteratorType
 
typedef SwimmingParticle< TBaseTypeOfSwimmingParticle > ParticleType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef NodesArrayType::ContainerType ResultNodesContainerType
 
typedef std::vector< ResultNodesContainerTypeVectorResultNodesContainerType
 
typedef std::vector< Node::Pointer > NodalPointersContainerType
 
typedef ModelPart::NodesContainerType::iterator NodeIteratorType
 
typedef std::size_t ListIndexType
 
typedef SpatialSearch::DistanceType DistanceType
 
typedef SpatialSearch::VectorDistanceType VectorDistanceType
 
typedef BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle > BinBasedDEMFluidCoupledMapping_TDim_TBaseTypeOfSwimmingParticle
 Pointer definition of BinBasedDEMFluidCoupledMapping. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (BinBasedDEMFluidCoupledMapping_TDim_TBaseTypeOfSwimmingParticle)
 

Member Typedef Documentation

◆ BinBasedDEMFluidCoupledMapping_TDim_TBaseTypeOfSwimmingParticle

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef BinBasedDEMFluidCoupledMapping<TDim, TBaseTypeOfSwimmingParticle> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::BinBasedDEMFluidCoupledMapping_TDim_TBaseTypeOfSwimmingParticle

Pointer definition of BinBasedDEMFluidCoupledMapping.

◆ DistanceType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef SpatialSearch::DistanceType Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::DistanceType

◆ ElementIteratorType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef ModelPart::ElementsContainerType::iterator Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ElementIteratorType

◆ ElementsArrayType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef ModelPart::ElementsContainerType Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ElementsArrayType

◆ ListIndexType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef std::size_t Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ListIndexType

◆ NodalPointersContainerType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef std::vector<Node::Pointer> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::NodalPointersContainerType

◆ NodeIteratorType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef ModelPart::NodesContainerType::iterator Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::NodeIteratorType

◆ NodesArrayType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef ModelPart::NodesContainerType Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::NodesArrayType

◆ ParticleType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef SwimmingParticle<TBaseTypeOfSwimmingParticle> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ParticleType

◆ ResultElementsContainerType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef ElementsArrayType::ContainerType Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ResultElementsContainerType

◆ ResultNodesContainerType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef NodesArrayType::ContainerType Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ResultNodesContainerType

◆ VectorDistanceType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef SpatialSearch::VectorDistanceType Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::VectorDistanceType

◆ VectorResultElementsContainerType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef std::vector<ResultElementsContainerType> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::VectorResultElementsContainerType

◆ VectorResultNodesContainerType

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
typedef std::vector<ResultNodesContainerType> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::VectorResultNodesContainerType

Constructor & Destructor Documentation

◆ BinBasedDEMFluidCoupledMapping()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::BinBasedDEMFluidCoupledMapping ( Parameters rParameters,
SpatialSearch::Pointer  pSpSearch = NULL 
)
inline

Default constructor.

◆ ~BinBasedDEMFluidCoupledMapping()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
virtual Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::~BinBasedDEMFluidCoupledMapping ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ AddCouplingVariable()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
template<class TDataType >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::AddCouplingVariable ( Variable< TDataType > const &  r_variable,
std::string  variable_list_identifier,
std::string  coupling_variable_description 
)
inline

◆ AddDEMCouplingVariable()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
template<class TDataType >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::AddDEMCouplingVariable ( Variable< TDataType > const &  r_variable)
inline

◆ AddDEMVariablesToImpose()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
template<class TDataType >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::AddDEMVariablesToImpose ( Variable< TDataType > const &  r_variable)
inline

◆ AddFluidCouplingVariable()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
template<class TDataType >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::AddFluidCouplingVariable ( Variable< TDataType > const &  r_variable)
inline

◆ AddFluidVariableToBeTimeFiltered()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
template<class TDataType >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::AddFluidVariableToBeTimeFiltered ( Variable< TDataType > const &  r_variable,
const double  time_constant 
)
inline

◆ ComputePostProcessResults()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ComputePostProcessResults ( ModelPart r_dem_model_part,
ModelPart r_fluid_model_part,
ModelPart rfem_dem_model_part,
BinBasedFastPointLocator< TDim > &  bin_of_objects_fluid,
const ProcessInfo r_current_process_info 
)

◆ GetElementPartition()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
DenseVector<unsigned int>& Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::GetElementPartition ( )
inline

◆ GetElementPartitionBegin()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
ElementsArrayType::iterator Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::GetElementPartitionBegin ( ModelPart r_model_part,
unsigned int  k 
)
inline

◆ GetElementPartitionEnd()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
ElementsArrayType::iterator Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::GetElementPartitionEnd ( ModelPart r_model_part,
unsigned int  k 
)
inline

◆ GetNodePartition()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
DenseVector<unsigned int>& Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::GetNodePartition ( )
inline

◆ GetNodePartitionBegin()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
NodesArrayType::iterator Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::GetNodePartitionBegin ( ModelPart r_model_part,
unsigned int  k 
)
inline

◆ GetNodePartitionEnd()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
NodesArrayType::iterator Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::GetNodePartitionEnd ( ModelPart r_model_part,
unsigned int  k 
)
inline

◆ HomogenizeFromDEMMesh()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::HomogenizeFromDEMMesh ( ModelPart r_dem_model_part,
ModelPart r_fluid_model_part,
const double search_radius,
const double shape_factor,
bool  must_search = true,
bool  use_drew_model = false 
)

◆ ImposeFlowOnDEMFromField()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ImposeFlowOnDEMFromField ( FluidFieldUtility r_flow,
ModelPart r_dem_model_part 
)

◆ ImposeVelocityOnDEMFromFieldToAuxVelocity()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::ImposeVelocityOnDEMFromFieldToAuxVelocity ( FluidFieldUtility r_flow,
ModelPart r_dem_model_part 
)

◆ Info()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
virtual std::string Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::Info ( ) const
inlinevirtual

Turn back information as a stemplate<class T, std::size_t dim> tring.

◆ InterpolateFromDEMMesh()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::InterpolateFromDEMMesh ( ModelPart r_dem_model_part,
ModelPart r_fluid_model_part,
BinBasedFastPointLocator< TDim > &  bin_of_objects_fluid 
)

◆ InterpolateFromFluidMesh()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::InterpolateFromFluidMesh ( ModelPart r_fluid_model_part,
ModelPart r_dem_model_part,
Parameters parameters,
BinBasedFastPointLocator< TDim > &  bin_of_objects_fluid,
const double  alpha 
)

Interpolate fluid data onto the DEM model part.

Parameters
r_fluid_model_partthe origin model part from which to project
r_dem_model_partthe destination model part of which we want to interpolate its nodal values
bin_of_objects_fluidpre-assembled bin of objects (elements of the fluid mesh). It is to be constructed separately
See also
binbased_nodes_in_element_locator

◆ InterpolateVelocityOnAuxVelocity()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::InterpolateVelocityOnAuxVelocity ( ModelPart r_fluid_model_part,
ModelPart r_dem_model_part,
BinBasedFastPointLocator< TDim > &  bin_of_objects_fluid,
const double  alpha 
)

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::KRATOS_CLASS_POINTER_DEFINITION ( BinBasedDEMFluidCoupledMapping_TDim_TBaseTypeOfSwimmingParticle  )

◆ PrintData()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
virtual void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

◆ PrintInfo()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
virtual void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

◆ UpdateOldAdditionalForce()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::UpdateOldAdditionalForce ( ModelPart r_dem_model_part)

◆ UpdateOldVelocity()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::UpdateOldVelocity ( ModelPart r_dem_model_part)

◆ VariingRadiusHomogenizeFromDEMMesh()

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
void Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::VariingRadiusHomogenizeFromDEMMesh ( ModelPart r_dem_model_part,
ModelPart r_fluid_model_part,
const double search_radius,
const double shape_factor,
bool  must_search = true,
bool  use_drew_model = false 
)

Member Data Documentation

◆ mElementsPartition

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
DenseVector<unsigned int> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::mElementsPartition
protected

◆ mNodesPartition

template<std::size_t TDim, typename TBaseTypeOfSwimmingParticle >
DenseVector<unsigned int> Kratos::BinBasedDEMFluidCoupledMapping< TDim, TBaseTypeOfSwimmingParticle >::mNodesPartition
protected

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