walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T > Class Template Reference

#include <SurfaceDynamicsHandler.h>

Public Member Functions

 SurfaceDynamicsHandler (const std::shared_ptr< StructuredBlockForest > &blockForest, BlockDataID pdfFieldID, BlockDataID flagFieldID, BlockDataID fillFieldID, BlockDataID forceDensityFieldID, ConstBlockDataID normalFieldID, ConstBlockDataID curvatureFieldID, const std::shared_ptr< FreeSurfaceBoundaryHandling_T > &freeSurfaceBoundaryHandling, const std::shared_ptr< BubbleModelBase > &bubbleModel, const std::string &pdfReconstructionModel, const std::string &pdfRefillingModel, const std::string &excessMassDistributionModel, real_t relaxationRate, const Vector3< real_t > &globalAcceleration, real_t surfaceTension, bool useSimpleMassExchange, real_t cellConversionThreshold, real_t cellConversionForceThreshold, BlockDataID relaxationRateFieldID=BlockDataID(), real_t smagorinskyConstant=real_c(0))
 
ConstBlockDataID getConstExcessMassFieldID () const
 
void addSweeps (SweepTimeloop &timeloop) const
 

Protected Types

using Communication_T = blockforest::SimpleCommunication< typename LatticeModel_T::Stencil >
 
using CommunicationStencil_T = typename std::conditional< LatticeModel_T::Stencil::D==uint_t(2), stencil::D2Q9, stencil::D3Q27 >::type
 
using CommunicationCorner_T = blockforest::SimpleCommunication< CommunicationStencil_T >
 
using FreeSurfaceBoundaryHandling_T = FreeSurfaceBoundaryHandling< LatticeModel_T, FlagField_T, ScalarField_T >
 

Private Attributes

std::shared_ptr< StructuredBlockForestblockForest_
 
BlockDataID pdfFieldID_
 
BlockDataID flagFieldID_
 
BlockDataID fillFieldID_
 
BlockDataID forceDensityFieldID_
 
ConstBlockDataID normalFieldID_
 
ConstBlockDataID curvatureFieldID_
 
std::shared_ptr< BubbleModelBasebubbleModel_
 
std::shared_ptr< FreeSurfaceBoundaryHandling_TfreeSurfaceBoundaryHandling_
 
PdfReconstructionModel pdfReconstructionModel_
 
PdfRefillingModel pdfRefillingModel_
 
ExcessMassDistributionModel excessMassDistributionModel_
 
real_t relaxationRate_
 
Vector3< real_tglobalAcceleration_
 
real_t surfaceTension_
 
bool useSimpleMassExchange_
 
real_t cellConversionThreshold_
 
real_t cellConversionForceThreshold_
 
BlockDataID relaxationRateFieldID_
 
real_t smagorinskyConstant_
 
BlockDataID excessMassFieldID_ = BlockDataID()
 

Member Typedef Documentation

◆ Communication_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
using walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::Communication_T = blockforest::SimpleCommunication< typename LatticeModel_T::Stencil >
protected

◆ CommunicationCorner_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
using walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::CommunicationCorner_T = blockforest::SimpleCommunication< CommunicationStencil_T >
protected

◆ CommunicationStencil_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
using walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::CommunicationStencil_T = typename std::conditional< LatticeModel_T::Stencil::D == uint_t(2), stencil::D2Q9, stencil::D3Q27 >::type
protected

◆ FreeSurfaceBoundaryHandling_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
using walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::FreeSurfaceBoundaryHandling_T = FreeSurfaceBoundaryHandling< LatticeModel_T, FlagField_T, ScalarField_T >
protected

Constructor & Destructor Documentation

◆ SurfaceDynamicsHandler()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::SurfaceDynamicsHandler ( const std::shared_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  pdfFieldID,
BlockDataID  flagFieldID,
BlockDataID  fillFieldID,
BlockDataID  forceDensityFieldID,
ConstBlockDataID  normalFieldID,
ConstBlockDataID  curvatureFieldID,
const std::shared_ptr< FreeSurfaceBoundaryHandling_T > &  freeSurfaceBoundaryHandling,
const std::shared_ptr< BubbleModelBase > &  bubbleModel,
const std::string &  pdfReconstructionModel,
const std::string &  pdfRefillingModel,
const std::string &  excessMassDistributionModel,
real_t  relaxationRate,
const Vector3< real_t > &  globalAcceleration,
real_t  surfaceTension,
bool  useSimpleMassExchange,
real_t  cellConversionThreshold,
real_t  cellConversionForceThreshold,
BlockDataID  relaxationRateFieldID = BlockDataID(),
real_t  smagorinskyConstant = real_c(0) 
)
inline

Member Function Documentation

◆ addSweeps()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
void walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::addSweeps ( SweepTimeloop timeloop) const
inline

◆ getConstExcessMassFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
ConstBlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::getConstExcessMassFieldID ( ) const
inline

Member Data Documentation

◆ blockForest_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
std::shared_ptr< StructuredBlockForest > walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::blockForest_
private

◆ bubbleModel_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
std::shared_ptr< BubbleModelBase > walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::bubbleModel_
private

◆ cellConversionForceThreshold_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
real_t walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::cellConversionForceThreshold_
private

◆ cellConversionThreshold_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
real_t walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::cellConversionThreshold_
private

◆ curvatureFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
ConstBlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::curvatureFieldID_
private

◆ excessMassDistributionModel_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
ExcessMassDistributionModel walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::excessMassDistributionModel_
private

◆ excessMassFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
BlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::excessMassFieldID_ = BlockDataID()
private

◆ fillFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
BlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::fillFieldID_
private

◆ flagFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
BlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::flagFieldID_
private

◆ forceDensityFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
BlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::forceDensityFieldID_
private

◆ freeSurfaceBoundaryHandling_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
std::shared_ptr< FreeSurfaceBoundaryHandling_T > walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::freeSurfaceBoundaryHandling_
private

◆ globalAcceleration_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
Vector3< real_t > walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::globalAcceleration_
private

◆ normalFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
ConstBlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::normalFieldID_
private

◆ pdfFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
BlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::pdfFieldID_
private

◆ pdfReconstructionModel_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
PdfReconstructionModel walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::pdfReconstructionModel_
private

◆ pdfRefillingModel_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
PdfRefillingModel walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::pdfRefillingModel_
private

◆ relaxationRate_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
real_t walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::relaxationRate_
private

◆ relaxationRateFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
BlockDataID walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::relaxationRateFieldID_
private

◆ smagorinskyConstant_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
real_t walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::smagorinskyConstant_
private

◆ surfaceTension_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
real_t walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::surfaceTension_
private

◆ useSimpleMassExchange_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T , bool useCodegen = false, typename VectorFieldFlattened_T = GhostLayerField< real_t, 3 >>
bool walberla::free_surface::SurfaceDynamicsHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T, useCodegen, VectorFieldFlattened_T >::useSimpleMassExchange_
private

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