to_conservative Subroutine

private pure subroutine to_conservative(u)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: u(nw_phys)

Called by

proc~~to_conservative~6~~CalledByGraph proc~to_conservative~6 to_conservative proc~riemann_hll_prim~2 riemann_hll_prim proc~riemann_hll_prim~2->proc~to_conservative~6 proc~riemann_hllc_prim~2 riemann_hllc_prim proc~riemann_hllc_prim~2->proc~to_conservative~6 proc~riemann_llf_prim~2 riemann_llf_prim proc~riemann_llf_prim~2->proc~to_conservative~6 proc~reconflux_muscl_hll_prim~2 reconflux_muscl_hll_prim proc~reconflux_muscl_hll_prim~2->proc~riemann_hll_prim~2 proc~reconflux_muscl_hllc_prim~2 reconflux_muscl_hllc_prim proc~reconflux_muscl_hllc_prim~2->proc~riemann_hllc_prim~2 proc~reconflux_muscl_llf_prim~2 reconflux_muscl_llf_prim proc~reconflux_muscl_llf_prim~2->proc~riemann_llf_prim~2 proc~finite_volume_local_muscl_hllc~2 finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc~2->proc~reconflux_muscl_hllc_prim~2 proc~finite_volume_local_muscl_hll~2 finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll~2->proc~reconflux_muscl_hll_prim~2 proc~finite_volume_local_muscl_llf~2 finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf~2->proc~reconflux_muscl_llf_prim~2 proc~finite_volume_local~2 finite_volume_local proc~finite_volume_local~2->proc~finite_volume_local_muscl_hllc~2 proc~finite_volume_local~2->proc~finite_volume_local_muscl_hll~2 proc~finite_volume_local~2->proc~finite_volume_local_muscl_llf~2

Source Code

pure subroutine to_conservative(u)
  
  real(dp), intent(inout) :: u(nw_phys)

  ! Compute energy from pressure and kinetic energy
  u(iw_e) = u(iw_e) * inv_gamma_1 + 0.5_dp * u(iw_rho) * &
     sum(u(iw_mom(1:ndim))**2)

  ! Compute momentum from density and velocity components
      u(iw_mom(1)) = u(iw_rho) * u(iw_mom(1))
      u(iw_mom(2)) = u(iw_rho) * u(iw_mom(2))
      u(iw_mom(3)) = u(iw_rho) * u(iw_mom(3))

end subroutine to_conservative