The Euler equation properties are stored here
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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 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:
|