walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T > Class Template Reference

Detailed Description

template<typename FlagField_T, template< typename, typename > class FieldInterpolator_T>
class walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >

Initializes the bodies with the velocity of the surrounding fluid.

The class uses an interpolator to obtain the approximate value of the fluid velocity at the bodies' position, and then sets the bodies' velocity accordingly.

Whether or not a body gets treated by this initializer depends on the return value of 'dpmBodySelectorFct'.

For more infos on interpolators, see field interpolators in src/field/interpolators.

#include <BodyVelocityInitializer.h>

Public Types

using Vec3Field_T = GhostLayerField< Vector3< real_t >, 1 >
 
using Vec3FieldInterpolator_T = FieldInterpolator_T< Vec3Field_T, FlagField_T >
 

Public Member Functions

 BodyVelocityInitializer (const shared_ptr< StructuredBlockStorage > &blockStorage, const BlockDataID &bodyStorageID, const BlockDataID &flagFieldID, const Set< FlagUID > &domainFlags, const BlockDataID &velocityFieldID, const std::function< bool(pe::BodyID)> &dpmBodySelectorFct=selectRegularBodies)
 
void operator() ()
 

Private Attributes

shared_ptr< StructuredBlockStorageblockStorage_
 
BlockDataID bodyStorageID_
 
BlockDataID velocityFieldInterpolatorID_
 
std::function< bool(pe::BodyID)> dpmBodySelectorFct_
 

Member Typedef Documentation

◆ Vec3Field_T

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
using walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::Vec3Field_T = GhostLayerField<Vector3<real_t>, 1>

◆ Vec3FieldInterpolator_T

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
using walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::Vec3FieldInterpolator_T = FieldInterpolator_T<Vec3Field_T, FlagField_T>

Constructor & Destructor Documentation

◆ BodyVelocityInitializer()

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::BodyVelocityInitializer ( const shared_ptr< StructuredBlockStorage > &  blockStorage,
const BlockDataID bodyStorageID,
const BlockDataID flagFieldID,
const Set< FlagUID > &  domainFlags,
const BlockDataID velocityFieldID,
const std::function< bool(pe::BodyID)> &  dpmBodySelectorFct = selectRegularBodies 
)
inline

Member Function Documentation

◆ operator()()

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
void walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::operator() ( )
inline

Member Data Documentation

◆ blockStorage_

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
shared_ptr<StructuredBlockStorage> walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::blockStorage_
private

◆ bodyStorageID_

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
BlockDataID walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::bodyStorageID_
private

◆ dpmBodySelectorFct_

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
std::function<bool(pe::BodyID)> walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::dpmBodySelectorFct_
private

◆ velocityFieldInterpolatorID_

template<typename FlagField_T , template< typename, typename > class FieldInterpolator_T>
BlockDataID walberla::pe_coupling::discrete_particle_methods::BodyVelocityInitializer< FlagField_T, FieldInterpolator_T >::velocityFieldInterpolatorID_
private

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