char_flux_complex Interface

interface


Calls

interface~~char_flux_complex~~CallsGraph interface~char_flux_complex char_flux_complex proc~char_flux_complex char_flux_complex interface~char_flux_complex->proc~char_flux_complex

public module function char_flux_complex(this, nvar, order, uint, uext, flux, lambda, s, sinv, debug_output)

Arguments

Type IntentOptional AttributesName
class(ref_element), intent(in) :: this

Has to be a reference element type.

integer(kind=ip), intent(in) :: nvar

The number of variables the characteristic flux has to be computed for.

integer(kind=ip), intent(in) :: order

The order of the reference element. Used to declare the size of the return array.

complex(kind=wp), intent(in), dimension(2,nvar):: uint

The boundary data internal to this element.

complex(kind=wp), intent(in), dimension(2,nvar):: uext

The boundary data external to this element.

complex(kind=wp), intent(in), dimension(2,nvar):: flux

The boundary fluxes.

real(kind=wp), intent(in), dimension(2,nvar):: lambda

The boundary characteristic speeds.

real(kind=wp), intent(in), dimension(2,nvar,nvar):: s

The matrix that converts from characteristic to evolved variables.

real(kind=wp), intent(in), dimension(2,nvar,nvar):: sinv

The matrix that converts from evolved to characteristic variables.

logical, intent(in) :: debug_output

If .true., produce debug output

Return Value complex(kind=wp), dimension(order+1,nvar)

At return the numerical flux has been lifted to the whole element.

Description

Interface for the characteristic flux routine for complex data types.