V3FIT
Functions/Subroutines
siesta_pressure Module Reference

Updates pressure. More...

Functions/Subroutines

subroutine update_pres
 advance pressure on the half radial grid from t to t + delta_t. More...
 

Detailed Description

Updates pressure.

Function/Subroutine Documentation

◆ update_pres()

subroutine siesta_pressure::update_pres

advance pressure on the half radial grid from t to t + delta_t.

Changes in pressure are governed by the continuity equation.

dn/dt + Div(nv) = dn/dt + n*Div(v) + v.Grad(n) = 0 (1)

where n is the density and v is the velocity. From the adiabatic principle,

pV^gamma = Constant (2)

where p is the pressure and V is the volume. From the ideal gas law V scales as V ~ 1/n. Using this equation (2) can be rewritten in terms of

p/n^gamma = Constant (3)

Putting equation (3) into equation (1), the continuty equation can be written in terms of the pressure.

dp/dt + gamma*p*Div(v) + v.Grad(p) = 0 (4)

Using the idenity

Div(fA) = f*Div(A) + A.Grad(f) (5)

equation (4) can be written as.

dp/dt = (gamma - 1)v.Grad(p) - gamma*Div(pv) (6)

This leads to equation (2.3) in Hirshman et. al. doi:10.1063/1.3597155. Expanding out equation (6) gives

dp/dt = (gamma - 1)*(v^s*dp/ds + v^u*dp/du + v^v*dp/dv) (7)

  • gamma/J*(dJpv^s/ds + dJpv^u/du + dJpv^v/dv)

Definition at line 59 of file siesta_pressure.f90.