atl_ere_init Subroutine

public subroutine atl_ere_init(me, prim_left, prim_right, gam, tolerance, nMaxIter)

Compute the exact solution of the Riemann problem for the Euler equation.

For the given state in primitive variables left and right, the solution is computed and stored in me. A Newton-Raphson iteration is used to find the solution in this non-linear system. Necessary parameters besides left and right state are the isentropic coefficient gam, and optionally a target tolerance to reach in the iterative scheme and the maximal number of iterations to perform.

Arguments

TypeIntentOptionalAttributesName
type(atl_ere_solState1D_type), intent(out) :: me

Description of the Riemann solution.

If the input results in a critical state, me%critical will be set to true. nIter will contain the actual number of Newton-Raphson iterations, that were performed.

real(kind=rk), intent(in) :: prim_left(3)

Primitive variables left of discontinuity

  • 1: density
  • 2: velocity
  • 3: pressure
real(kind=rk), intent(in) :: prim_right(3)

Primitive variables right of discontinuity

real(kind=rk), intent(in) :: gam

Isentropic expansion coefficient of the gas

real(kind=rk), intent(in), optional :: tolerance

Tolerated variation in the Newton-Raphson iterations, default: 8 epsilon

integer, intent(in), optional :: nMaxIter

Maximal number of iterations to do, default: 100000


Calls

proc~~atl_ere_init~~CallsGraph proc~atl_ere_init atl_ere_init proc~nr_start nr_start proc~atl_ere_init->proc~nr_start proc~atl_ere_init_consts atl_ere_init_consts proc~atl_ere_init->proc~atl_ere_init_consts proc~nr_1side nr_1side proc~atl_ere_init->proc~nr_1side

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: du
real(kind=rk), private :: u
real(kind=rk), private :: cl
real(kind=rk), private :: cr
real(kind=rk), private :: p
real(kind=rk), private :: p0
real(kind=rk), private :: cha
real(kind=rk), private :: fl
real(kind=rk), private :: fld
real(kind=rk), private :: fr
real(kind=rk), private :: frd
real(kind=rk), private :: cm
real(kind=rk), private :: pm
integer, private :: kk