waLBerla 7.3
Loading...
Searching...
No Matches
walberla::free_surface::bubble_model::DisjoiningPressureBubbleModel< Stencil_T > Class Template Reference

#include <DisjoiningPressureBubbleModel.h>

Inheritance diagram for walberla::free_surface::bubble_model::DisjoiningPressureBubbleModel< Stencil_T >:

Public Types

using DistanceField_T = GhostLayerField< DistanceInfo, 1 >

Public Member Functions

 DisjoiningPressureBubbleModel (const std::shared_ptr< StructuredBlockForest > &blockStorage, const real_t maxDistance=real_c(7), const real_t disjPressConst=real_c(0.05), bool enableBubbleSplits=true, uint_t distanceFieldUpdateInterval=uint_c(1))
 ~DisjoiningPressureBubbleModel () override=default
real_t getDensity (IBlock *block, const Cell &cell) const override
void update () override
ConstBlockDataID getDistanceFieldID ()
Public Member Functions inherited from walberla::free_surface::bubble_model::BubbleModel< Stencil_T >
 BubbleModel (const std::shared_ptr< StructuredBlockForest > &blockStorage, bool enableBubbleSplits)
 ~BubbleModel () override=default
void initFromFillLevelField (const ConstBlockDataID &fillField)
void setDensityOfAllBubbles (real_t rho) override
void setAtmosphere (const Cell &cellInGlobalCoordinates, real_t constantRho=real_c(1.0))
void setDensity (IBlock *block, const Cell &cell, real_t value) override
const BubbleIDgetBubbleID (IBlock *block, const Cell &cell) const
BubbleIDgetBubbleID (IBlock *block, const Cell &cell)
void reportFillLevelChange (IBlock *block, const Cell &cell, real_t fillLevelDifference) override
void reportLiquidToInterfaceConversion (IBlock *block, const Cell &cell) override
void reportInterfaceToLiquidConversion (IBlock *block, const Cell &cell) override
ConstBlockDataID getBubbleFieldID () const
std::vector< BubbleInfocomputeBubbleStats ()
void logBubbleStatsOnRoot ()
Public Member Functions inherited from walberla::free_surface::bubble_model::BubbleModelBase
virtual ~BubbleModelBase ()=default

Protected Member Functions

void updateDistanceField ()
Protected Member Functions inherited from walberla::free_surface::bubble_model::BubbleModel< Stencil_T >
const BubblegetBubble (IBlock *block, const Cell &cell) const
BubblegetBubble (IBlock *block, const Cell &cell)
const std::vector< Bubble > & getBubbles () const
void handleSplits ()
void markAndCreateSplittedBubbles (NewBubbleCommunication &newBubbleComm, const std::vector< bool > &splitIndicator)
BubbleField_TgetBubbleField (IBlock *block) const

Protected Attributes

real_t maxDistance_
real_t disjPressConst_
BlockDataID distanceFieldSrcID_
BlockDataID distanceFieldDstID_
uint_t distanceFieldUpdateInterval_
Protected Attributes inherited from walberla::free_surface::bubble_model::BubbleModel< Stencil_T >
std::shared_ptr< StructuredBlockStorageblockStorage_
BlockDataID bubbleFieldID_
std::vector< Bubblebubbles_
MergeInformation mergeInformation_
blockforest::communication::UniformBufferedScheme< StencilForSplit_TbubbleFieldCommunication_
std::vector< SplitHintsplitsToProcess_
std::shared_ptr< FloodFillInterfacefloodFill_
bool enableBubbleSplits_

Additional Inherited Members

Protected Types inherited from walberla::free_surface::bubble_model::BubbleModel< Stencil_T >
using StencilForSplit_T
Static Protected Member Functions inherited from walberla::free_surface::bubble_model::BubbleModel< Stencil_T >
static bool checkForSplit (BubbleField_T *bf, const Cell &cell, BubbleID prevBubbleID)
static bool extendedSplitCheck (BubbleField_T *bf, const Cell &cell, BubbleID oldBubbleID, cell_idx_t neighborhood=2)
static uint32_t mapNeighborhood (BubbleField_T *bf, stencil::Direction startDir, const Cell &cell, BubbleID bubbleID)

Member Typedef Documentation

◆ DistanceField_T

Constructor & Destructor Documentation

◆ DisjoiningPressureBubbleModel()

template<typename Stencil_T>
walberla::free_surface::bubble_model::DisjoiningPressureBubbleModel< Stencil_T >::DisjoiningPressureBubbleModel ( const std::shared_ptr< StructuredBlockForest > & blockStorage,
const real_t maxDistance = real_c(7),
const real_t disjPressConst = real_c(0.05),
bool enableBubbleSplits = true,
uint_t distanceFieldUpdateInterval = uint_c(1) )
explicit

◆ ~DisjoiningPressureBubbleModel()

Member Function Documentation

◆ getDensity()

template<typename Stencil_T>
real_t walberla::free_surface::bubble_model::DisjoiningPressureBubbleModel< Stencil_T >::getDensity ( IBlock * block,
const Cell & cell ) const
inlineoverridevirtual

◆ getDistanceFieldID()

◆ update()

◆ updateDistanceField()

template<typename Stencil_T>
void walberla::free_surface::bubble_model::DisjoiningPressureBubbleModel< Stencil_T >::updateDistanceField ( )
protected

Member Data Documentation

◆ disjPressConst_

◆ distanceFieldDstID_

◆ distanceFieldSrcID_

◆ distanceFieldUpdateInterval_

template<typename Stencil_T>
uint_t walberla::free_surface::bubble_model::DisjoiningPressureBubbleModel< Stencil_T >::distanceFieldUpdateInterval_
protected

◆ maxDistance_


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