flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
conj Namespace Reference

Classes

class  Geo2
 

Functions

 exact (Ds, K, hc, gs, nmax=1)
 
 bilin (G, idx, p)
 
 build (G, Ds, K, hc, gs, c=0.7)
 
 slowest (Kmat, M)
 

Variables

float R = 0.5
 
list FALLBACK = [0]
 
 rng = rng.random((3, 2))
 
list NDs = [16, 32, 64, 128]
 
list cases
 
 ref = exact(Ds, K, hc, gs)
 
str line = None
 
list e = []
 
 G = Geo2(ND, o)
 
 Km
 
 M
 
 em = np.sqrt(np.mean(np.square(e)))
 
 prev = em
 
 flush
 

Detailed Description

2-D prototype, round 4: CONJUGATE transport with the probe-flux cut-cell FV.

Geometry: solid core r < a (diffusivity Ds, capacity gs), fluid annulus a < r < R (Df = 1, capacity
1), u = 0 at r = R (immersed Dirichlet, probe-flux).  Interface at r = a:
    flux continuity   q = -Ds du_s/dr = -Df du_f/dr   (q: radial, solid -> fluid)
    q = hc (u_s/K - u_f)          (hc = inf  ->  u_s = K u_f: partition coefficient K)
Exact: slowest mode of  g du/dt = div(D grad u)  via a Bessel determinant.

Discretization (two fields on one grid; every cell with fluid fraction > 0 has a fluid unknown,
every cell with solid-core fraction > 0 has a solid unknown):
  faces   : aperture-weighted two-point fluxes, separately per phase (fluid apertures / core apertures)
  facet   : per cut cell, wall area A_w (aperture area vector), centroid x_w (radial projection),
            normal n (into the fluid). Fluid probe x_w + c h n (bilinear over fluid unknowns), solid
            probe x_w - c h n (bilinear over solid unknowns).  Two interface equations
               Df (u_pf - u_Gf)/s = Ds (u_Gs - u_ps)/s          (flux continuity, q = -Df (u_pf-u_Gf)/s)
               q = hc (u_Gs/K - u_Gf)    or   u_Gs = K u_Gf
            are solved for (u_Gf, u_Gs) -> q is a linear combination of probe-stencil unknowns;
            +q A_w enters the fluid cell, -q A_w the solid cell (exactly conservative).
  The fluid facet and the solid facet of a cell are the same facet; cells cut by the core interface
  carry both unknowns.  Outer boundary: Dirichlet probe flux as in jc.py.

Function Documentation

◆ exact()

conj.exact (   Ds,
  K,
  hc,
  gs,
  nmax = 1 
)

Definition at line 29 of file conj.py.

◆ bilin()

conj.bilin (   G,
  idx,
  p 
)

Definition at line 83 of file conj.py.

Referenced by build().

◆ build()

conj.build (   G,
  Ds,
  K,
  hc,
  gs,
  c = 0.7 
)

Definition at line 99 of file conj.py.

References bilin().

◆ slowest()

conj.slowest (   Kmat,
  M 
)

Definition at line 160 of file conj.py.

Variable Documentation

◆ R

float conj.R = 0.5

Definition at line 26 of file conj.py.

◆ FALLBACK

list conj.FALLBACK = [0]

Definition at line 80 of file conj.py.

◆ rng

conj.rng = rng.random((3, 2))

Definition at line 168 of file conj.py.

◆ NDs

list conj.NDs = [16, 32, 64, 128]

Definition at line 169 of file conj.py.

◆ cases

list conj.cases
Initial value:
1= [(1.0, 1.0, np.inf, 1.0), (10.0, 1.0, np.inf, 1.0), (0.1, 1.0, np.inf, 1.0),
2 (100.0, 1.0, np.inf, 0.5), (1.0, 3.0, np.inf, 1.0), (1.0, 1.0, 5.0, 1.0),
3 (10.0, 0.5, 2.0, 2.0)]

Definition at line 170 of file conj.py.

◆ ref

conj.ref = exact(Ds, K, hc, gs)

Definition at line 174 of file conj.py.

◆ line

str conj.line = None

Definition at line 175 of file conj.py.

◆ e

list conj.e = []

Definition at line 177 of file conj.py.

◆ G

conj.G = Geo2(ND, o)

Definition at line 179 of file conj.py.

◆ Km

conj.Km

Definition at line 180 of file conj.py.

◆ M

conj.M

Definition at line 180 of file conj.py.

◆ em

conj.em = np.sqrt(np.mean(np.square(e)))

Definition at line 182 of file conj.py.

◆ prev

conj.prev = em

Definition at line 184 of file conj.py.

◆ flush

conj.flush

Definition at line 185 of file conj.py.