atl_euler_type Derived Type

type, public :: atl_euler_type

The Euler equation properties are stored here


Inherited by

type~~atl_euler_type~~InheritedByGraph type~atl_euler_type atl_euler_type type~atl_equations_type atl_Equations_type type~atl_equations_type->type~atl_euler_type Euler type~atl_varsys_solverdata_type atl_varSys_solverData_type type~atl_varsys_solverdata_type->type~atl_equations_type equationPtr type~atl_varsys_data_type atl_varSys_data_type type~atl_varsys_data_type->type~atl_varsys_solverdata_type solverData

Contents


Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: isen_coef

Isentropic coefficient

real(kind=rk), private :: r

Ideal gas constant

real(kind=rk), private :: cv

Heat capacity

real(kind=rk), private :: linear_limit

Limit in energy variation up to which a linearization is to be allowed in elements.

Set this to 0 to never allow linearization (default). Otherwise a linear flux computation will be used within elements, if the energy is guaranteed to not deviate beyond this limit from the mean energy level in the element.

That is the sum of absolute values of all higher modes is to be smaller then linear_limit multiplied with the first mode.

The energy is used as all characteristic variables contribute to it.

logical, private :: ensure_positivity

Ensure that polynomials for density and energy are everywhere positive after transfer to oversampled space.

Modes will only be considered up to the point where the sum of their absolute values is smaller than the first mode.

logical, private :: adaptive_timestep

Flag for adaptive timestep calculation

real(kind=rk), private :: porosity

Porosity (for the continuity equation)

real(kind=rk), private :: viscous_permeability

Porosity for the momentum transport

real(kind=rk), private :: thermal_permeability

Porosity for the heat transport

procedure(euler_numflux), private, pointer, pass(euler):: numflux=> NULL()

Procedure to compute the numerical flux for the equation at hand.

What kind of fluxes are available depends on the equation that is being solved.

procedure(linearization_indicator), private, pointer, pass(euler):: linear=> NULL()

Function to decide, whether linearized flux computation would be tolerable.

Set in the configuration by linearization_indicator. Available are:

  • 'density' use density deviation as indicator
  • 'energy' use energy deviation as indicator
  • 'error' use an error estimate as indicator Default is to use the error estimate.