Equation of State Notes

EOS Calls

Initialization

advance_timestep

Step 1.

Define the average expansion at time tn+12 and the new w0. * if ``dpdt_factor``* > 0 then

  • In makePfromRhoH, we compute a thermodynamic pn for the volume discrepancy term using (ρ,h,X)n.

end if

Step 2.

Construct the provisional edge-based advective velocity, U~ADV,.

Step 3.

React the full state and base state through the first time interval of Δt/2.

  • In react_state burner, we compute cp and ξk for inputs to VODE using (ρ,T,X)n.

  • In react_state, we compute T(1) using (ρ,h,X)(1) (if use_tfromp = F) or (ρ,X)(1) and p0n (if use_tfromp = T)

if evolve_base_state = T then

  • In make_gamma, we compute Γ1 using (ρ,X)(1) and p0n.

end if

Step 4.
Advect the base state, then the full state, through a time interval of Δt.
if use_thermal_diffusion = T then
  • In advance before make_explicit_thermal, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)(1).

  • In enthalpy_advance update_scal, we compute h above the base_cutoff_density using (ρ,X)(2), and p0n+1,.

  • In thermal_conduct, we compute T(2), using (ρ,h,X)(2), (if use_tfromp = F) or (ρ,X)(2), and p0n+1, (if use_tfromp = T).

else

  • In enthalpy_advance update_scal, we compute h above the base_cutoff_density using (ρ,X)(2), and p0n+1,.

  • In enthalpy_advance, we compute T(2), using (ρ,h,X)(2), (if use_tfromp = F) or (ρ,X)(2), and p0n+1, (if use_tfromp = T).

end if

Step 5.

React the full state through a second time interval of Δt/2.

  • In react_state burner, we compute cp and ξk for inputs to VODE using (ρ,T,X)(2),.

  • In react_state, we compute Tn+1, using (ρ,h,X)n+1, (if use_tfromp = F) or (ρ,X)n+1, and p0n+1, (if use_tfromp = T).

if evolve_base_state then

  • In make_gamma, we compute Γ1 using (ρ,X)n+1, and p0n+1,.

end if

Step 6.
Define a new average expansion rate at time tn+12.
if use_thermal_diffusion then
  • In advance before make_explicit_thermal, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)n+1,.

end if

  • In make_S, we compute thermodynamic variables using (ρ,T,X)n+1,.

if dpdt_factor > 0 then

  • In makePfromRhoH, we compute a thermodynamic pn+1, for the volume discrepancy term using (ρ,h,X)n+1,.

end if

Step 7.

Construct the final edge-based advective velocity, U~ADV.

Step 8.
Advect the base state, then the full state, through a time interval of Δt.
if use_thermal_diffusion = T then
  • In enthalpy_advance update_scal, we compute h above the base_cutoff_density using (ρ,X)(2) and p0n+1.

  • In advance before thermal_conduct, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)(2),.

  • In thermal_conduct, we compute T(2) using (ρ,h,X)(2) (if use_tfromp = F) or (ρ,X)(2) and p0n+1 (if use_tfromp = T).

else

  • In enthalpy_advance update_scal, we compute h above the base_cutoff_density using (ρ,X)(2) and p0n+1.

  • In enthalpy_advance, we compute T(2) using (ρ,h,X)(2) (if use_tfromp = F) or (ρ,X)(2) and p0n+1 (if use_tfromp = T).

end if

Step 9.

React the full state and base state through a second time interval of Δt/2.

  • In react_state burner, we compute cp and ξk for inputs to VODE using (ρ,T,X)(2).

  • In react_state, we compute Tn+1 using (ρ,h,X)n+1 (if use_tfromp = F) or (ρ,X)n+1 and p0n+1 (if use_tfromp = T).

if evolve_base_state = T then

  • In make_gamma, we compute Γ1 using (ρ,X)n+1 and p0n+1.

end if

Step 10.
Compute Sn+1 for the final projection.
if make_explicit_thermal then
  • In advance before make_explicit_thermal, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)n+1.

end if

  • In make_S, we compute thermodynamic variables using (ρ,T,X)n+1.

Step 11.
Update the velocity.
if dpdt_factor > 0 then
  • In makePfromRhoH, we compute a thermodynamic pn+1 for the volume discrepancy term using (ρ,h,X)n+1.

end if

Step 12.

Compute a new Δt.

make_plotfile

Temperature Usage

advance_timestep

Step 1.

Define the average expansion at time tn+12 and the new w0.

Step 2.

Construct the provisional edge-based advective velocity, U~ADV,.

Step 3.

React the full state and base state through the first time interval of Δt/2.

  • In react_state burner, we compute cp and ξk for inputs to VODE using (ρ,T,X)n.

  • In react_state, we compute T(1) using (ρ,h,X)(1) (if use_tfromp = F) or (ρ,X)(1) and p0n (if use_tfromp = T).

Step 4.
Advect the base state, then the full state, through a time interval of Δt.
if use_thermal_diffusion = T then
  • In advance before make_explicit_thermal, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)(1).

  • In thermal_conduct, we compute T(2), using (ρ,h,X)(2), (if use_tfromp = F) or (ρ,X)(2), and p0n+1, (if use_tfromp = T).

else

  • In enthalpy_advance, we compute T(2), using (ρ,h,X)(2), (if use_tfromp = F) or (ρ,X)(2), and p0n+1, (if use_tfromp = T).

end if

Step 5.

React the full state through a second time interval of Δt/2.

  • In react_state burner, we compute cp and ξk for inputs to VODE using (ρ,T,X)(2),.

  • In react_state, we compute Tn+1, using (ρ,h,X)n+1, (if use_tfromp = F) or (ρ,X)n+1, and p0n+1, (if use_tfromp = T).

Step 6.
Define a new average expansion rate at time tn+12.
if use_thermal_diffusion = T then
  • In advance before make_explicit_thermal, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)n+1,.

end if

  • In make_S, we compute thermodynamic variables using (ρ,T,X)n+1,.

Step 7.

Construct the final edge-based advective velocity, U~ADV.

Step 8.
Advect the base state, then the full state, through a time interval of Δt.
if use_thermal_diffusion = T then
  • In advance before thermal_conduct, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)(2),.

  • In thermal_conduct, we compute T(2) using (ρ,h,X)(2) (if use_tfromp = F) or (ρ,X)(2) and p0n+1 (if use_tfromp = T).

else

  • In enthalpy_advance, we compute T(2) using (ρ,h,X)(2) (if use_tfromp = F) or (ρ,X)(2) and p0n+1 (if use_tfromp = T).

end if

Step 9.

React the full state and base state through a second time interval of Δt/2.

  • In react_state burner, we compute cp and ξk for inputs to VODE using (ρ,T,X)(2).

  • In react_state, we compute Tn+1 using (ρ,h,X)n+1 (if use_tfromp = F) or (ρ,X)n+1 and p0n+1 (if use_tfromp = T).

Step 10.
Compute Sn+1 for the final projection.
if make_explicit_thermal then
  • In advance before make_explicit_thermal, we compute the coefficients for (kth/cp)h+ using (ρ,T,X)n+1.

end if

  • In make_S, we compute thermodynamic variables using (ρ,T,X)n+1.

Step 11.

Update the velocity.

Step 12.

Compute a new Δt.