walberla::mesh::BoundarySetup Class Reference

#include <BoundarySetup.h>

Public Types

enum  Location { INSIDE, OUTSIDE }
 
typedef field::GhostLayerField< uint8_t, uint_t(1) > VoxelizationField
 
typedef std::function< real_t(const Vector3< real_t > &) > DistanceFunction
 

Public Member Functions

 BoundarySetup (const shared_ptr< StructuredBlockStorage > &structuredBlockStorage, const DistanceFunction &distanceFunction, const uint_t numGhostLayers)
 
 ~BoundarySetup ()
 
template<typename BoundaryHandlingType >
void setDomainCells (const BlockDataID boundaryHandlingID, const Location domainLocation)
 
template<typename BoundaryHandlingType , typename BoundaryFunction , typename Stencil = stencil::D3Q27>
void setBoundaries (const BlockDataID boundaryHandlingID, const BoundaryFunction &boundaryFunction, Location boundaryLocation)
 
template<typename FlagField_T >
void setFlag (const BlockDataID flagFieldID, field::FlagUID flagUID, Location boundaryLocation)
 
void writeVTKVoxelfile (const std::string &identifier="voxelization", bool writeGhostLayers=false, const std::string &baseFolder=std::string("vtk_out"), const std::string &executionFolder=std::string("voxelization"))
 

Private Member Functions

void divideAndPushCellInterval (const CellInterval &ci, std::queue< CellInterval > &outputQueue)
 
void allocateOrResetVoxelizationField ()
 
void deallocateVoxelizationField ()
 
void voxelize ()
 
void refinementCorrection (StructuredBlockForest &blockForest)
 

Private Attributes

shared_ptr< StructuredBlockStorage > structuredBlockStorage_
 
shared_ptr< BlockDataID > voxelizationFieldId_
 
DistanceFunction distanceFunction_
 
uint_t numGhostLayers_
 function providing the squared signed distance to an object More...
 
size_t cellVectorChunkSize_
 

Member Typedef Documentation

typedef std::function< real_t ( const Vector3< real_t > &) > walberla::mesh::BoundarySetup::DistanceFunction

Member Enumeration Documentation

Enumerator
INSIDE 
OUTSIDE 

Constructor & Destructor Documentation

walberla::mesh::BoundarySetup::BoundarySetup ( const shared_ptr< StructuredBlockStorage > &  structuredBlockStorage,
const DistanceFunction distanceFunction,
const uint_t  numGhostLayers 
)
walberla::mesh::BoundarySetup::~BoundarySetup ( )
inline

Member Function Documentation

void walberla::mesh::BoundarySetup::allocateOrResetVoxelizationField ( )
private
void walberla::mesh::BoundarySetup::deallocateVoxelizationField ( )
private
void walberla::mesh::BoundarySetup::divideAndPushCellInterval ( const CellInterval &  ci,
std::queue< CellInterval > &  outputQueue 
)
private
void walberla::mesh::BoundarySetup::refinementCorrection ( StructuredBlockForest &  blockForest)
private
template<typename BoundaryHandlingType , typename BoundaryFunction , typename Stencil >
void walberla::mesh::BoundarySetup::setBoundaries ( const BlockDataID  boundaryHandlingID,
const BoundaryFunction &  boundaryFunction,
Location  boundaryLocation 
)
template<typename BoundaryHandlingType >
void walberla::mesh::BoundarySetup::setDomainCells ( const BlockDataID  boundaryHandlingID,
const Location  domainLocation 
)
template<typename FlagField_T >
void walberla::mesh::BoundarySetup::setFlag ( const BlockDataID  flagFieldID,
field::FlagUID  flagUID,
Location  boundaryLocation 
)
void walberla::mesh::BoundarySetup::voxelize ( )
private
void walberla::mesh::BoundarySetup::writeVTKVoxelfile ( const std::string &  identifier = "voxelization",
bool  writeGhostLayers = false,
const std::string &  baseFolder = std::string("vtk_out"),
const std::string &  executionFolder = std::string("voxelization") 
)

Member Data Documentation

size_t walberla::mesh::BoundarySetup::cellVectorChunkSize_
private
DistanceFunction walberla::mesh::BoundarySetup::distanceFunction_
private
uint_t walberla::mesh::BoundarySetup::numGhostLayers_
private

function providing the squared signed distance to an object

shared_ptr< StructuredBlockStorage > walberla::mesh::BoundarySetup::structuredBlockStorage_
private
shared_ptr< BlockDataID > walberla::mesh::BoundarySetup::voxelizationFieldId_
private

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