riemann_solver_object Derived Type

type, public, abstract :: riemann_solver_object

Abstract Riemann Solver.

Inherited By

type~~riemann_solver_object~~InheritedByGraph type~riemann_solver_object riemann_solver_object type~euler_1d euler_1d type~riemann_solver_object->type~euler_1d riemann_solver type~riemann_solver_compressible_llf riemann_solver_compressible_llf type~riemann_solver_object->type~riemann_solver_compressible_llf type~riemann_solver_compressible_pvl riemann_solver_compressible_pvl type~riemann_solver_object->type~riemann_solver_compressible_pvl type~riemann_solver_compressible_roe riemann_solver_compressible_roe type~riemann_solver_object->type~riemann_solver_compressible_roe type~riemann_solver_compressible_exact riemann_solver_compressible_exact type~riemann_solver_object->type~riemann_solver_compressible_exact type~riemann_solver_compressible_hllc riemann_solver_compressible_hllc type~riemann_solver_object->type~riemann_solver_compressible_hllc
Help

Source Code


Type-Bound Procedures

procedure(initialize_interface), public, deferred, pass(self) :: initialize

Initialize solver.

  • subroutine initialize_interface(self, config) Prototype

    Initialize solver.

    Arguments

    Type IntentOptional AttributesName
    class(riemann_solver_object), intent(inout) :: self

    Solver.

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

    Configuration for solver algorithm.

procedure(solve_interface), public, deferred, pass(self) :: solve

Solve Riemann Problem.

  • subroutine solve_interface(self, eos_left, state_left, eos_right, state_right, normal, fluxes) Prototype

    Solve Riemann Problem.

    Arguments

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

    Solver.

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

    Equation of state for left state.

    class(conservative_object), intent(in) :: state_left

    Left Riemann state.

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

    Equation of state for right state.

    class(conservative_object), intent(in) :: state_right

    Right Riemann state.

    type(vector), intent(in) :: normal

    Normal (versor) of face where fluxes are given.

    class(conservative_object), intent(inout) :: fluxes

    Fluxes of the Riemann Problem solution.

Source Code

type, abstract :: riemann_solver_object
   !< Abstract Riemann Solver.
   contains
      ! public deferred methods
      procedure(initialize_interface),     pass(self), deferred :: initialize     !< Initialize solver.
      ! procedure(description_interface),    pass(self), deferred :: description    !< Return pretty-printed object description.
      procedure(solve_interface),          pass(self), deferred :: solve          !< Solve Riemann Problem.
endtype riemann_solver_object