foreseer_eos_object Module

  • Uses:

  • penf
module~~foreseer_eos_object~~UsesGraph module~foreseer_eos_object foreseer_eos_object penf penf penf->module~foreseer_eos_object
Help

Define the abstract equation of state (EOS) for FORESEER library.

Used By

module~~foreseer_eos_object~~UsedByGraph module~foreseer_eos_object foreseer_eos_object module~foreseer_primitive_object foreseer_primitive_object module~foreseer_eos_object->module~foreseer_primitive_object module~foreseer_riemann_solver_compressible_hllc foreseer_riemann_solver_compressible_hllc module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_hllc module~foreseer foreseer module~foreseer_eos_object->module~foreseer module~foreseer_riemann_solver_compressible_llf foreseer_riemann_solver_compressible_llf module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_llf module~foreseer_compressible_transformations foreseer_compressible_transformations module~foreseer_eos_object->module~foreseer_compressible_transformations module~foreseer_riemann_pattern_object foreseer_riemann_pattern_object module~foreseer_eos_object->module~foreseer_riemann_pattern_object module~foreseer_eos_compressible foreseer_eos_compressible module~foreseer_eos_object->module~foreseer_eos_compressible module~foreseer_conservative_object foreseer_conservative_object module~foreseer_eos_object->module~foreseer_conservative_object module~foreseer_riemann_solver_compressible_exact foreseer_riemann_solver_compressible_exact module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_exact module~foreseer_conservative_compressible foreseer_conservative_compressible module~foreseer_eos_object->module~foreseer_conservative_compressible module~foreseer_riemann_pattern_compressible_pvl foreseer_riemann_pattern_compressible_pvl module~foreseer_eos_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_riemann_solver_object foreseer_riemann_solver_object module~foreseer_eos_object->module~foreseer_riemann_solver_object module~foreseer_riemann_solver_compressible_roe foreseer_riemann_solver_compressible_roe module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_roe module~foreseer_primitive_compressible foreseer_primitive_compressible module~foreseer_eos_object->module~foreseer_primitive_compressible module~foreseer_riemann_solver_compressible_pvl foreseer_riemann_solver_compressible_pvl module~foreseer_eos_object->module~foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_pattern_compressible_object foreseer_riemann_pattern_compressible_object module~foreseer_eos_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_primitive_object->module~foreseer module~foreseer_primitive_object->module~foreseer_primitive_compressible module~foreseer_riemann_solver_compressible_hllc->module~foreseer program~foreseer_test_riemann_solver_compressible_pvl foreseer_test_riemann_solver_compressible_pvl module~foreseer->program~foreseer_test_riemann_solver_compressible_pvl module~foreseer_euler_1d foreseer_euler_1d module~foreseer->module~foreseer_euler_1d program~foreseer_test_conservative_compressible foreseer_test_conservative_compressible module~foreseer->program~foreseer_test_conservative_compressible program~foreseer_test_riemann_solver_compressible_hllc~2 foreseer_test_riemann_solver_compressible_hllc module~foreseer->program~foreseer_test_riemann_solver_compressible_hllc~2 program~foreseer_test_eos_compressible foreseer_test_eos_compressible module~foreseer->program~foreseer_test_eos_compressible program~foreseer_test_shock_tube foreseer_test_shock_tube module~foreseer->program~foreseer_test_shock_tube program~foreseer_test_riemann_solver_compressible_llf foreseer_test_riemann_solver_compressible_llf module~foreseer->program~foreseer_test_riemann_solver_compressible_llf program~foreseer_test_compressible_transformations foreseer_test_compressible_transformations module~foreseer->program~foreseer_test_compressible_transformations program~foreseer_test_riemann_solver_compressible_hllc foreseer_test_riemann_solver_compressible_hllc module~foreseer->program~foreseer_test_riemann_solver_compressible_hllc program~foreseer_test_primitive_compressible foreseer_test_primitive_compressible module~foreseer->program~foreseer_test_primitive_compressible program~foreseer_test_riemann_solver_compressible_roe foreseer_test_riemann_solver_compressible_roe module~foreseer->program~foreseer_test_riemann_solver_compressible_roe module~foreseer_riemann_solver_compressible_llf->module~foreseer module~foreseer_compressible_transformations->module~foreseer module~foreseer_riemann_pattern_object->module~foreseer module~foreseer_riemann_pattern_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_eos_compressible->module~foreseer module~foreseer_eos_compressible->module~foreseer_riemann_solver_compressible_roe module~foreseer_eos_compressible->module~foreseer_riemann_pattern_compressible_object module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_hllc module~foreseer_conservative_object->module~foreseer module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_llf module~foreseer_conservative_object->module~foreseer_riemann_pattern_object module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_exact module~foreseer_conservative_object->module~foreseer_conservative_compressible module~foreseer_conservative_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_conservative_object->module~foreseer_riemann_solver_object module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_roe module~foreseer_conservative_object->module~foreseer_riemann_solver_compressible_pvl module~foreseer_conservative_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_riemann_solver_compressible_exact->module~foreseer module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_hllc module~foreseer_conservative_compressible->module~foreseer module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_llf module~foreseer_conservative_compressible->module~foreseer_compressible_transformations module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_exact module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_roe module~foreseer_conservative_compressible->module~foreseer_riemann_solver_compressible_pvl module~foreseer_conservative_compressible->module~foreseer_riemann_pattern_compressible_object module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_hllc module~foreseer_riemann_pattern_compressible_pvl->module~foreseer module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_llf module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_exact module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_roe module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_hllc module~foreseer_riemann_solver_object->module~foreseer module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_llf module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_exact module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_roe module~foreseer_riemann_solver_object->module~foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_solver_compressible_roe->module~foreseer module~foreseer_primitive_compressible->module~foreseer module~foreseer_primitive_compressible->module~foreseer_compressible_transformations module~foreseer_riemann_solver_compressible_pvl->module~foreseer module~foreseer_riemann_pattern_compressible_object->module~foreseer module~foreseer_riemann_pattern_compressible_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_euler_1d->program~foreseer_test_shock_tube
Help


Abstract Interfaces

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private pure subroutine assignment_interface(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(inout) :: lhs

    Left hand side.

    class(eos_object), intent(in) :: rhs

    Right hand side.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private elemental function density_interface(self, energy, pressure, speed_of_sound, temperature) result(density_)

    Return density.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    real(kind=R8P), intent(in), optional :: energy

    Specific internal energy value.

    real(kind=R8P), intent(in), optional :: pressure

    Pressure value.

    real(kind=R8P), intent(in), optional :: speed_of_sound

    Speed of sound value.

    real(kind=R8P), intent(in), optional :: temperature

    Temperature value.

    Return Value real(kind=R8P)

    Density value.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private pure function description_interface(self, prefix) result(desc)

    Return a pretty-formatted object description.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    character(len=*), intent(in), optional :: prefix

    Prefixing string.

    Return Value character(len=:), allocatable

    Description.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private elemental function energy_interface(self, density, pressure, temperature) result(energy_)

    Return specific internal energy.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    real(kind=R8P), intent(in), optional :: density

    Density value.

    real(kind=R8P), intent(in), optional :: pressure

    Pressure value.

    real(kind=R8P), intent(in), optional :: temperature

    Temperature value.

    Return Value real(kind=R8P)

    Energy value.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private elemental function pressure_interface(self, density, energy, temperature) result(pressure_)

    Return pressure.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    real(kind=R8P), intent(in), optional :: density

    Density value.

    real(kind=R8P), intent(in), optional :: energy

    Specific internal energy value.

    real(kind=R8P), intent(in), optional :: temperature

    Temperature value.

    Return Value real(kind=R8P)

    Pressure value.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private elemental function scalar_interface(self) result(scalar_)

    Return a scalar real value by only self data.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    Return Value real(kind=R8P)

    Scalar value.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private elemental function speed_of_sound_interface(self, density, pressure) result(speed_of_sound_)

    Return speed of sound.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    real(kind=R8P), intent(in) :: density

    Density value.

    real(kind=R8P), intent(in) :: pressure

    Pressure value.

    Return Value real(kind=R8P)

    Speed of sound value.

abstract interface

Abstract interfaces of deferred methods of eos_object.

  • private elemental function temperature_interface(self, density, energy, pressure) result(temperature_)

    Return temperature.

    Arguments

    Type IntentOptional AttributesName
    class(eos_object), intent(in) :: self

    Equation of state.

    real(kind=R8P), intent(in), optional :: density

    Density value.

    real(kind=R8P), intent(in), optional :: energy

    Specific internal energy value.

    real(kind=R8P), intent(in), optional :: pressure

    Pressure value.

    Return Value real(kind=R8P)

    Temperature value.


Derived Types

type, public, abstract :: eos_object

Equation of State (EOS) object class.

Type-Bound Procedures

procedure(scalar_interface), public, pass(self) :: R

Return fluid constant R=cp-cv.

generic, public :: assignment(=) => eos_assign_eos

Overload =.

procedure(scalar_interface), public, pass(self) :: cp

Return specific heat at constant pressure.

procedure(scalar_interface), public, pass(self) :: cv

Return specific heat at constant volume.

procedure(scalar_interface), public, pass(self) :: delta

Return (gamma - 1) / 2.

procedure(density_interface), public, pass(self) :: density

Return density.

procedure(description_interface), public, pass(self) :: description

Return pretty-printed object description.

procedure(energy_interface), public, pass(self) :: energy

Return specific internal energy.

procedure(assignment_interface), public, pass(lhs) :: eos_assign_eos

Operator =.

procedure(scalar_interface), public, pass(self) :: eta

Return 2 * gamma / (gamma - 1).

procedure(scalar_interface), public, pass(self) :: g

Return specific heats ratio gamma=cp/cv.

procedure(scalar_interface), public, pass(self) :: gm1

Return gamma - 1.

procedure(scalar_interface), public, pass(self) :: gp1

Return gamma + 1.

procedure(pressure_interface), public, pass(self) :: pressure

Return pressure.

procedure(speed_of_sound_interface), public, pass(self) :: speed_of_sound

Return speed of sound.

procedure(temperature_interface), public, pass(self) :: temperature

Return temperature.