walberla::mesa_pd::MeshParticleVTKOutput< MeshType > Class Template Reference

#include <MeshParticleVTKOutput.h>

Public Types

using ParticleSelectorFunc = std::function< bool(const walberla::mesa_pd::data::ParticleStorage::iterator &pIt)>
 
typedef mesh::DistributedVTKMeshWriter< MeshType >::Vertices Vertices
 

Public Member Functions

 MeshParticleVTKOutput (shared_ptr< walberla::mesa_pd::data::ParticleStorage > ps, const std::string &identifier, const uint_t writeFrequency, const std::string &baseFolder="vtk_out")
 
void setParticleSelector (const ParticleSelectorFunc &func)
 
template<typename AccessorWithShape_T >
void assembleMesh (AccessorWithShape_T &accessor)
 Creates the output mesh and writes it to mesh_. More...
 
template<typename Selector >
void addVertexOutput (const std::string &name)
 Adds a output selector for the vertices of the mesh Similar to MESAPD's vtk output, one can add a property selector to select a property for a vertex corresponding to the associated particle. More...
 
template<typename Selector >
void addFaceOutput (const std::string &name)
 Adds a output selector for the faces of the mesh Similar to MESAPD's vtk output, one can add a property selector to select a property for a face corresponding to the associated particle. More...
 
template<typename DataSourceType >
void addVertexDataSource (const shared_ptr< DataSourceType > &dataSource)
 Add a vertex data source assigning a piece of data to a vertex. More...
 
template<typename DataSourceType >
void addFaceDataSource (const shared_ptr< DataSourceType > &dataSource)
 Add a face data source assigning a piece of data to a face. More...
 
template<typename AccessorWithShape_T >
void operator() (AccessorWithShape_T &accessor)
 

Private Attributes

const shared_ptr< walberla::mesa_pd::data::ParticleStorageps_
 
shared_ptr< MeshTypemesh_
 the output mesh More...
 
ParticleIdxFacePropertyManager< MeshTypefaceToParticleIdxManager_
 
ParticleIdxVertexPropertyManager< MeshTypevertexToParticleIdxManager_
 
mesh::DistributedVTKMeshWriter< MeshTypemeshWriter_
 
ParticleSelectorFunc particleSelector_
 

Member Typedef Documentation

◆ ParticleSelectorFunc

template<typename MeshType >
using walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::ParticleSelectorFunc = std::function<bool (const walberla::mesa_pd::data::ParticleStorage::iterator& pIt)>

◆ Vertices

Constructor & Destructor Documentation

◆ MeshParticleVTKOutput()

template<typename MeshType >
walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::MeshParticleVTKOutput ( shared_ptr< walberla::mesa_pd::data::ParticleStorage ps,
const std::string &  identifier,
const uint_t  writeFrequency,
const std::string &  baseFolder = "vtk_out" 
)
inline

Member Function Documentation

◆ addFaceDataSource()

template<typename MeshType >
template<typename DataSourceType >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::addFaceDataSource ( const shared_ptr< DataSourceType > &  dataSource)

Add a face data source assigning a piece of data to a face.

Template Parameters
MeshType
DataSourceTypeType of data source (has to be derived from FaceDataSource).
Parameters
dataSourceData source responsible for picking data for a face.

◆ addFaceOutput()

template<typename MeshType >
template<typename Selector >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::addFaceOutput ( const std::string &  name)

Adds a output selector for the faces of the mesh Similar to MESAPD's vtk output, one can add a property selector to select a property for a face corresponding to the associated particle.

Template Parameters
MeshType
SelectorType of the selector
Parameters
nameName of the output

◆ addVertexDataSource()

template<typename MeshType >
template<typename DataSourceType >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::addVertexDataSource ( const shared_ptr< DataSourceType > &  dataSource)

Add a vertex data source assigning a piece of data to a vertex.

Template Parameters
MeshType
DataSourceTypeType of data source (has to be derived from VertexDataSource).
Parameters
dataSourceData source responsible for picking data for a vertex.

◆ addVertexOutput()

template<typename MeshType >
template<typename Selector >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::addVertexOutput ( const std::string &  name)

Adds a output selector for the vertices of the mesh Similar to MESAPD's vtk output, one can add a property selector to select a property for a vertex corresponding to the associated particle.

Template Parameters
MeshType
SelectorType of the selector
Parameters
nameName of the output

◆ assembleMesh()

template<typename MeshType >
template<typename AccessorWithShape_T >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::assembleMesh ( AccessorWithShape_T &  accessor)

Creates the output mesh and writes it to mesh_.

Template Parameters
MeshType

◆ operator()()

template<typename MeshType >
template<typename AccessorWithShape_T >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::operator() ( AccessorWithShape_T &  accessor)
inline

◆ setParticleSelector()

template<typename MeshType >
void walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::setParticleSelector ( const ParticleSelectorFunc func)
inline

Member Data Documentation

◆ faceToParticleIdxManager_

template<typename MeshType >
ParticleIdxFacePropertyManager<MeshType> walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::faceToParticleIdxManager_
private

◆ mesh_

template<typename MeshType >
shared_ptr<MeshType> walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::mesh_
private

the output mesh

◆ meshWriter_

template<typename MeshType >
mesh::DistributedVTKMeshWriter<MeshType> walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::meshWriter_
private

◆ particleSelector_

template<typename MeshType >
ParticleSelectorFunc walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::particleSelector_
private
Initial value:

◆ ps_

template<typename MeshType >
const shared_ptr<walberla::mesa_pd::data::ParticleStorage> walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::ps_
private

◆ vertexToParticleIdxManager_

template<typename MeshType >
ParticleIdxVertexPropertyManager<MeshType> walberla::mesa_pd::MeshParticleVTKOutput< MeshType >::vertexToParticleIdxManager_
private

The documentation for this class was generated from the following file:
Definition: ParticleStorage.h:289