flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
peclet::flow::Solver< Grid >::PhaseChangeBudget Struct Reference

WO-P3f — the ENERGY BUDGET of the phase-change energy solve. More...

#include <flow_ibm.hpp>

Public Attributes

double hOpen = 0.0
 sum rcp (T - T_sat) over UNMASKED cells, before the solve
 
double hOpenNew = 0.0
 the same, after the solve
 
double hLiquid = 0.0
 sum rcp (T - T_sat) over PURE LIQUID cells, before the solve
 
double hMasked = 0.0
 the same over MASKED (interfacial) cells
 
double dEoverwrite = 0.0
 sum rcp (dval - T) over masked cells: what the Dirichlet rows inject when they overwrite the transported temperature
 
double dEoverwriteNew = 0.0
 the part of it on cells that were NOT masked last step
 
double eEnter = 0.0
 sum rcp (T - T_sat) of the cells that JOINED the masked set
 
double eLeave = 0.0
 ... and of the cells that LEFT it (carrying pcCarriedValue)
 
double qGfm = 0.0
 heat INTO the unmasked set across the plane-anchored rows (W)
 
double qBehind = 0.0
 WO-P3g: the second-order row's one-sided rescaling of the band BEHIND each interfacial face, which is the rest of the heat the operator transfers across the interface (0 at row order 1)
 
long nEnterLiquid = 0
 liquid -> interfacial transitions this step
 
long nEnterGas = 0
 gas -> interfacial
 
long nLeaveLiquid = 0
 interfacial -> liquid
 
long nLeaveGas = 0
 interfacial -> gas (the bubble swallowing a cell)
 
long nMasked = 0
 size of the masked set
 
long calls = 0
 how many energy solves have been instrumented
 

Detailed Description

template<class Grid>
struct peclet::flow::Solver< Grid >::PhaseChangeBudget

WO-P3f — the ENERGY BUDGET of the phase-change energy solve.

An INSTRUMENT: allocated and evaluated only under set_phase_change_budget(true), and every number below is a measurement of the shipped scheme, not a change to it.

The question it answers. The interfacial cells are Dirichlet rows, so they are OUTSIDE the energy solve: the "fluid" the energy equation conserves enthalpy over is the UNMASKED set, and that set changes membership every step as the interface sweeps. A liquid cell that becomes interfacial LEAVES the solve carrying its superheat rcp (T - T_sat), and an interfacial cell that becomes pure RE-ENTERS it carrying whatever pcCarriedValue left there. Neither transfer appears anywhere in the latent-heat book-keeping, so on a growing bubble they are a one-signed enthalpy source/sink of size (cells swept per step) x (superheat one cell from the interface).

The discrete balance the entries close, over the UNMASKED set and over one advanceScalars:

sum rcp (T^{n+1} - T*) / dt  =  qGfm + (domain boundary flux) + (solve residual)

with qGfm the heat the plane-anchored (GFM) rows actually deliver ACROSS the interface — negative when the interface draws heat out of the liquid. qGfm is the flux the ENERGY equation loses; mdot h_lv A_Gamma (from the diagnostics' removed_volume) is the flux the REGRESSION books as evaporation. They are computed by two different discretizations and are not equal; their ratio is the scheme's own flux consistency and is the first thing to read.

Definition at line 3992 of file flow_ibm.hpp.

Member Data Documentation

◆ hOpen

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::hOpen = 0.0

sum rcp (T - T_sat) over UNMASKED cells, before the solve

Definition at line 3993 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ hOpenNew

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::hOpenNew = 0.0

the same, after the solve

Definition at line 3994 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPost().

◆ hLiquid

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::hLiquid = 0.0

sum rcp (T - T_sat) over PURE LIQUID cells, before the solve

Definition at line 3995 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ hMasked

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::hMasked = 0.0

the same over MASKED (interfacial) cells

Definition at line 3996 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ dEoverwrite

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::dEoverwrite = 0.0

sum rcp (dval - T) over masked cells: what the Dirichlet rows inject when they overwrite the transported temperature

Definition at line 3997 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ dEoverwriteNew

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::dEoverwriteNew = 0.0

the part of it on cells that were NOT masked last step

Definition at line 3999 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ eEnter

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::eEnter = 0.0

sum rcp (T - T_sat) of the cells that JOINED the masked set

Definition at line 4000 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ eLeave

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::eLeave = 0.0

... and of the cells that LEFT it (carrying pcCarriedValue)

Definition at line 4001 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ qGfm

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::qGfm = 0.0

heat INTO the unmasked set across the plane-anchored rows (W)

Definition at line 4002 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPost().

◆ qBehind

template<class Grid >
double peclet::flow::Solver< Grid >::PhaseChangeBudget::qBehind = 0.0

WO-P3g: the second-order row's one-sided rescaling of the band BEHIND each interfacial face, which is the rest of the heat the operator transfers across the interface (0 at row order 1)

Definition at line 4003 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPost().

◆ nEnterLiquid

template<class Grid >
long peclet::flow::Solver< Grid >::PhaseChangeBudget::nEnterLiquid = 0

liquid -> interfacial transitions this step

Definition at line 4006 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ nEnterGas

template<class Grid >
long peclet::flow::Solver< Grid >::PhaseChangeBudget::nEnterGas = 0

gas -> interfacial

Definition at line 4007 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ nLeaveLiquid

template<class Grid >
long peclet::flow::Solver< Grid >::PhaseChangeBudget::nLeaveLiquid = 0

interfacial -> liquid

Definition at line 4008 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ nLeaveGas

template<class Grid >
long peclet::flow::Solver< Grid >::PhaseChangeBudget::nLeaveGas = 0

interfacial -> gas (the bubble swallowing a cell)

Definition at line 4009 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ nMasked

template<class Grid >
long peclet::flow::Solver< Grid >::PhaseChangeBudget::nMasked = 0

size of the masked set

Definition at line 4010 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPre().

◆ calls

template<class Grid >
long peclet::flow::Solver< Grid >::PhaseChangeBudget::calls = 0

how many energy solves have been instrumented

Definition at line 4011 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::pcBudgetPost(), and anderson_oracle.AndersonOracle::step().


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