funcd Subroutine

public pure subroutine funcd(xi, f, df, mylfac, d, ssqr, tau)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: xi
double precision, intent(out) :: f
double precision, intent(out) :: df
double precision, intent(out) :: mylfac
double precision, intent(in) :: d
double precision, intent(in) :: ssqr
double precision, intent(in) :: tau

Calls

proc~~funcd~~CallsGraph proc~funcd funcd proc~funcpressure FuncPressure proc~funcd->proc~funcpressure

Called by

proc~~funcd~~CalledByGraph proc~funcd funcd 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 funcd(xi,f,df,mylfac,d,ssqr,tau)
    
    double precision, intent(in)  :: xi,d,ssqr,tau
    double precision, intent(out) :: f,df,mylfac

    ! .. local ..
    double precision  :: dlfac
    double precision  :: vsqr,p,dpdxi
    !-----------------------------------------------------------------

    vsqr = ssqr/xi**2

       mylfac = one/dsqrt(one-vsqr)
       dlfac = -mylfac**3*ssqr/(xi**3)
       !===== Pressure, calculate using EOS =====!
       call FuncPressure(xi,mylfac,d,dlfac,p,dpdxi)
       !=========================================!
       f  = xi-tau-d-p
       df = one-dpdxi

  end subroutine funcd