FuncPressure Subroutine

public pure subroutine FuncPressure(xicurrent, lfac, d, dlfacdxi, p, dpdxi)

pointwise evaluations used in con2prim compute pointwise value for pressure p and dpdxi

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: xicurrent
double precision, intent(in) :: lfac
double precision, intent(in) :: d
double precision, intent(in) :: dlfacdxi
double precision, intent(out) :: p
double precision, intent(out) :: dpdxi

Called by

proc~~funcpressure~~CalledByGraph proc~funcpressure FuncPressure proc~funcd funcd proc~funcd->proc~funcpressure proc~con2prim con2prim proc~con2prim->proc~funcd proc~to_primitive to_primitive proc~to_primitive->proc~con2prim proc~to_primitive~10 to_primitive proc~to_primitive~10->proc~con2prim proc~to_primitive~4 to_primitive proc~to_primitive~4->proc~con2prim proc~to_primitive~9 to_primitive proc~to_primitive~9->proc~con2prim proc~add_split_source~4 add_split_source proc~add_split_source~4->proc~to_primitive~10 proc~finite_volume_local_muscl_hll finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll->proc~to_primitive~9 proc~finite_volume_local_muscl_hllc finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc->proc~to_primitive~9 proc~finite_volume_local_muscl_llf finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf->proc~to_primitive~9 proc~phys_to_primitive phys_to_primitive proc~phys_to_primitive->proc~to_primitive~4 proc~setdt setdt proc~setdt->proc~to_primitive proc~finite_volume_local finite_volume_local proc~finite_volume_local->proc~finite_volume_local_muscl_hll proc~finite_volume_local->proc~finite_volume_local_muscl_hllc proc~finite_volume_local->proc~finite_volume_local_muscl_llf

Source Code

  pure subroutine FuncPressure(xicurrent,lfac,d,dlfacdxi,p,dpdxi)
    

    double precision, intent(in)         :: xicurrent,lfac,d,dlfacdxi
    double precision, intent(out)        :: p,dpdxi
    ! .. local ..
    double precision                     :: rho,h,E,dhdxi,rhotoE
    double precision                     :: dpdchi,dEdxi

    ! rhoh here called h
    h=xicurrent/(lfac**2)
    rho=d/lfac
    ! output pressure
    p = (h - rho)*(phys_gamma-1.0d0)/phys_gamma
    dpdchi = one*(phys_gamma-1.0d0)/phys_gamma
    dpdxi = dpdchi * one/lfac**2
    ! zero case dlfacdxi implies zero velocity (ssqr=0)
    if (dlfacdxi /= 0.0d0) &
          dpdxi = dpdxi  + dpdchi * ((d*lfac-2.0d0*xicurrent)/lfac**3) * dlfacdxi

  end subroutine FuncPressure