walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T > Class Template Reference

#include <SurfaceGeometryHandler.h>

Public Member Functions

 SurfaceGeometryHandler (const std::shared_ptr< StructuredBlockForest > &blockForest, const std::shared_ptr< FreeSurfaceBoundaryHandling_T > &freeSurfaceBoundaryHandling, const BlockDataID &fillFieldID, const std::string &curvatureModel, bool computeCurvature, bool enableWetting, real_t contactAngleInDegrees)
 
ConstBlockDataID getConstCurvatureFieldID () const
 
ConstBlockDataID getConstNormalFieldID () const
 
ConstBlockDataID getConstObstNormalFieldID () const
 
BlockDataID getCurvatureFieldID () const
 
BlockDataID getNormalFieldID () const
 
BlockDataID getObstNormalFieldID () const
 
void addSweeps (SweepTimeloop &timeloop) const
 

Protected Types

using FreeSurfaceBoundaryHandling_T = FreeSurfaceBoundaryHandling< LatticeModel_T, FlagField_T, ScalarField_T >
 
using vector_t = typename std::remove_const< typename VectorField_T::value_type >::type
 
using Stencil_T = typename std::conditional< LatticeModel_T::Stencil::D==uint_t(2), stencil::D2Q9, stencil::D3Q27 >::type
 
using Communication_T = blockforest::SimpleCommunication< Stencil_T >
 
using StateSweep = BlockStateDetectorSweep< FlagField_T >
 

Protected Attributes

std::shared_ptr< StructuredBlockForestblockForest_
 
std::shared_ptr< FreeSurfaceBoundaryHandling_TfreeSurfaceBoundaryHandling_
 
BlockDataID flagFieldID_
 
ConstBlockDataID fillFieldID_
 
BlockDataID curvatureFieldID_
 
BlockDataID normalFieldID_
 
BlockDataID obstacleNormalFieldID_
 
Set< FlagUID > obstacleFlagIDSet_
 
std::string curvatureModel_
 
bool computeCurvature_
 
bool enableWetting_
 
ContactAngle contactAngle_
 

Friends

class curvature_model::FiniteDifferenceMethod< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >
 
class curvature_model::LocalTriangulation< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >
 
class curvature_model::SimpleFiniteDifferenceMethod< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >
 

Member Typedef Documentation

◆ Communication_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
using walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::Communication_T = blockforest::SimpleCommunication< Stencil_T >
protected

◆ FreeSurfaceBoundaryHandling_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
using walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::FreeSurfaceBoundaryHandling_T = FreeSurfaceBoundaryHandling< LatticeModel_T, FlagField_T, ScalarField_T >
protected

◆ StateSweep

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
using walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::StateSweep = BlockStateDetectorSweep< FlagField_T >
protected

◆ Stencil_T

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
using walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::Stencil_T = typename std::conditional< LatticeModel_T::Stencil::D == uint_t(2), stencil::D2Q9, stencil::D3Q27 >::type
protected

◆ vector_t

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
using walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::vector_t = typename std::remove_const< typename VectorField_T::value_type >::type
protected

Constructor & Destructor Documentation

◆ SurfaceGeometryHandler()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::SurfaceGeometryHandler ( const std::shared_ptr< StructuredBlockForest > &  blockForest,
const std::shared_ptr< FreeSurfaceBoundaryHandling_T > &  freeSurfaceBoundaryHandling,
const BlockDataID fillFieldID,
const std::string &  curvatureModel,
bool  computeCurvature,
bool  enableWetting,
real_t  contactAngleInDegrees 
)
inline

Member Function Documentation

◆ addSweeps()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
void walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::addSweeps ( SweepTimeloop timeloop) const
inline

◆ getConstCurvatureFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
ConstBlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::getConstCurvatureFieldID ( ) const
inline

◆ getConstNormalFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
ConstBlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::getConstNormalFieldID ( ) const
inline

◆ getConstObstNormalFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
ConstBlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::getConstObstNormalFieldID ( ) const
inline

◆ getCurvatureFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::getCurvatureFieldID ( ) const
inline

◆ getNormalFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::getNormalFieldID ( ) const
inline

◆ getObstNormalFieldID()

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::getObstNormalFieldID ( ) const
inline

Friends And Related Function Documentation

◆ curvature_model::FiniteDifferenceMethod< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
friend class curvature_model::FiniteDifferenceMethod< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >
friend

◆ curvature_model::LocalTriangulation< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
friend class curvature_model::LocalTriangulation< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >
friend

◆ curvature_model::SimpleFiniteDifferenceMethod< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
friend class curvature_model::SimpleFiniteDifferenceMethod< Stencil_T, LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >
friend

Member Data Documentation

◆ blockForest_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
std::shared_ptr< StructuredBlockForest > walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::blockForest_
protected

◆ computeCurvature_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
bool walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::computeCurvature_
protected

◆ contactAngle_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
ContactAngle walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::contactAngle_
protected

◆ curvatureFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::curvatureFieldID_
protected

◆ curvatureModel_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
std::string walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::curvatureModel_
protected

◆ enableWetting_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
bool walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::enableWetting_
protected

◆ fillFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
ConstBlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::fillFieldID_
protected

◆ flagFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::flagFieldID_
protected

◆ freeSurfaceBoundaryHandling_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
std::shared_ptr< FreeSurfaceBoundaryHandling_T > walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::freeSurfaceBoundaryHandling_
protected

◆ normalFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::normalFieldID_
protected

◆ obstacleFlagIDSet_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
Set< FlagUID > walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::obstacleFlagIDSet_
protected

◆ obstacleNormalFieldID_

template<typename LatticeModel_T , typename FlagField_T , typename ScalarField_T , typename VectorField_T >
BlockDataID walberla::free_surface::SurfaceGeometryHandler< LatticeModel_T, FlagField_T, ScalarField_T, VectorField_T >::obstacleNormalFieldID_
protected

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