Skip to content

adam_flume_hybrid_library ​

ADAM, FLUME pointwise central flux of the hybrid central/WENO scheme (issue #119, T2).

The 6th-order kinetic-energy- and pressure-equilibrium-preserving face flux, the conservative form of Pirozzoli (2011) with the two-point flux of Shima et al. (2021, KEEP-PE), <a> = (a_l + a_r) / 2:

 F_{i+1/2} = 2 sum_{l=1..3} a_l sum_{m=0..l-1} f(i-m, i-m+l),   a = (3/4, -3/20, 1/60)
 f(l, r): mass <rho><u_n>; momentum <rho><u_n><u_i> + <p> delta_{ni};
          energy <rho><u_n> (u_l . u_r) / 2 + <p><u_n> / (gamma - 1) + (u_n,l p_r + u_n,r p_l) / 2

A uniform velocity and pressure stay so exactly across any density jump: the form of Kennedy-Gruber-Pirozzoli <rho><u_n><H> does not, and a 100:1 contact stopped the run at its first step. Written from the published form through the llm-wiki and memory, not from the papers themselves; test_kep.F90 measures the order, the kinetic energy identity and the pressure equilibrium. The state is w(5,-2:3), (rho, u, v, w, p) of the 6 cells around the face, cell 0 on its left. pure, !$acc routine seq, !$omp declare target.

Source: src/app/flume/common/adam_flume_hybrid_library.F90

Contents ​

Subroutines ​

compute_kep_flux ​

Compute the 6th-order KEP face flux of direction d.

Attributes: pure

fortran
subroutine compute_kep_flux(d, gamma, w, f)

Arguments

NameTypeIntentAttributesDescription
dinteger(kind=I4P)inDirection, 1=x, 2=y, 3=z.
gammareal(kind=R8P)inSpecific heats ratio.
wreal(kind=R8P)inCell states.
freal(kind=R8P)outFace flux.

Call graph

compute_ducros ​

Compute the Ducros et al. (1999) sensor, theta^2 / (theta^2 + |omega|^2 + eps), from the velocity gradient g(a,b) = d u_a / d x_b; 1 where the density jumps: the Ducros ratio cannot see a contact, where the velocity is uniform and a central flux rings.

Attributes: pure

fortran
subroutine compute_ducros(eps, jump, jump_max, g, psi)

Arguments

NameTypeIntentAttributesDescription
epsreal(kind=R8P)inFloor of the denominator.
jumpreal(kind=R8P)inLargest |rho_+ - rho_-| / (rho_+ + rho_-) of the cell along its active directions.
jump_maxreal(kind=R8P)inIts bound.
greal(kind=R8P)inVelocity gradient.
psireal(kind=R8P)outSensor.

Call graph