flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
peclet::flow::vof::VofBlock Class Reference

One bubble's block. More...

#include <block_container.hpp>

Public Member Functions

bool mine () const
 
WyAdvector & advector ()
 
const WyAdvector & advector () const
 
VofBox extended (int ghost) const
 
const VofBlockStats & stats () const
 
VofCurvature & curvature ()
 Rung W2: the block's own curvature cascade and the CSF face force it forms.
 
const VofCurvature & curvature () const
 
SField csfForce (int c) const
 
void serializeAux (double out[kAuxLen]) const
 
void deserializeAux (const double in[kAuxLen])
 

Public Attributes

long id = 0
 
int master = 0
 
VofBox box
 the INNER box, global
 
VofBox seed_ {}
 The BUBBLE extent this block was seeded from (empty for a sphere seed, which paints its own colour).
 

Static Public Attributes

static constexpr int kAuxLen = 10
 The non-colour state a master carries between steps: the previous centroid (so a migrated block's reported velocity has no gap), whether it is valid, and the cumulative debris ledger (doc/vof_overlap_design.md §5.3: it migrates with the block).
 

Friends

class VofBlockSet
 

Detailed Description

One bubble's block.

Every rank holds the (id, box, master) triple — the replicated table — and ONLY the master allocates the advector and the colour.

Definition at line 313 of file block_container.hpp.

Member Function Documentation

◆ mine()

bool peclet::flow::vof::VofBlock::mine ( ) const
inline

Definition at line 322 of file block_container.hpp.

◆ advector() [1/2]

WyAdvector & peclet::flow::vof::VofBlock::advector ( )
inline

Definition at line 323 of file block_container.hpp.

◆ advector() [2/2]

const WyAdvector & peclet::flow::vof::VofBlock::advector ( ) const
inline

Definition at line 324 of file block_container.hpp.

◆ extended()

VofBox peclet::flow::vof::VofBlock::extended ( int  ghost) const
inline

Definition at line 325 of file block_container.hpp.

References box, and peclet::flow::vof::VofBox::grown().

◆ stats()

const VofBlockStats & peclet::flow::vof::VofBlock::stats ( ) const
inline

Definition at line 326 of file block_container.hpp.

◆ curvature() [1/2]

VofCurvature & peclet::flow::vof::VofBlock::curvature ( )
inline

Rung W2: the block's own curvature cascade and the CSF face force it forms.

Allocated only when VofBlockSet::csfEnabled is on and only on the master. csfForce(c) holds the force at the LOW face of each cell of the block's own extended array (flow's face convention), i.e. sigma kappa_f (C(i) - C(i - s_c)) / h, and is what the scatter sums into the global field.

Definition at line 331 of file block_container.hpp.

◆ curvature() [2/2]

const VofCurvature & peclet::flow::vof::VofBlock::curvature ( ) const
inline

Definition at line 332 of file block_container.hpp.

◆ csfForce()

SField peclet::flow::vof::VofBlock::csfForce ( int  c) const
inline

Definition at line 333 of file block_container.hpp.

◆ serializeAux()

◆ deserializeAux()

Friends And Related Symbol Documentation

◆ VofBlockSet

Definition at line 362 of file block_container.hpp.

Member Data Documentation

◆ id

long peclet::flow::vof::VofBlock::id = 0

Definition at line 315 of file block_container.hpp.

◆ master

int peclet::flow::vof::VofBlock::master = 0

Definition at line 316 of file block_container.hpp.

◆ box

VofBox peclet::flow::vof::VofBlock::box

the INNER box, global

Definition at line 317 of file block_container.hpp.

Referenced by extended().

◆ seed_

VofBox peclet::flow::vof::VofBlock::seed_ {}

The BUBBLE extent this block was seeded from (empty for a sphere seed, which paints its own colour).

Used once, at seeding, to clip a neighbour's liquid out of the margin ring.

Definition at line 320 of file block_container.hpp.

◆ kAuxLen

constexpr int peclet::flow::vof::VofBlock::kAuxLen = 10
staticconstexpr

The non-colour state a master carries between steps: the previous centroid (so a migrated block's reported velocity has no gap), whether it is valid, and the cumulative debris ledger (doc/vof_overlap_design.md §5.3: it migrates with the block).

kAuxLen doubles; everything else in a block is either replicated (the table) or recomputed every step.

Definition at line 338 of file block_container.hpp.

Referenced by peclet::flow::vof::VofBlockSet::assignMasters(), and peclet::flow::vof::VofBlockExchange::migrateColour().


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