initialize Subroutine

private elemental subroutine initialize(self, eos_left, state_left, eos_right, state_right, normal)

Initialize pattern with left and right states.

Arguments

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

Riemann (states) pattern solution.

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.


Source Code


Source Code

   elemental subroutine initialize(self, eos_left, state_left, eos_right, state_right, normal)
   !< Initialize pattern with left and right states.
   class(riemann_pattern_compressible_object), intent(inout) :: self        !< Riemann (states) pattern solution.
   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.

   select type(eos_left)
   class is(eos_compressible)
      self%eos_1 = eos_left
   endselect
   select type(state_left)
   class is(conservative_compressible)
      self%u_1  = state_left%velocity().dot.normal
      self%p_1  = state_left%pressure(eos=eos_left)
      self%r_1  = state_left%density
      self%a_1  = eos_left%speed_of_sound(density=state_left%density, pressure=self%p_1)
   endselect
   select type(eos_right)
   class is(eos_compressible)
      self%eos_4 = eos_right
   endselect
   select type(state_right)
   class is(conservative_compressible)
      self%u_4 = state_right%velocity().dot.normal
      self%p_4 = state_right%pressure(eos=eos_right)
      self%r_4 = state_right%density
      self%a_4 = eos_right%speed_of_sound(density=state_right%density, pressure=self%p_4)
   endselect
   endsubroutine initialize


add add add_euler array array compute_derivate compute_dt compute_fluxes compute_fluxes compute_fluxes_from_primitive compute_post_rarefaction compute_post_shock compute_roe_state compute_states23_from_u23 compute_u23 compute_up23 compute_waves compute_waves_u23 compute_waves_up23 cons_assign_cons cons_divide_real cons_multiply_cons cons_multiply_real conservative_compressible conservative_compressible_instance conservative_compressible_pointer conservative_to_primitive_compressible cp cv delta density description description description description destroy destroy destroy dEuler_dt energy energy eos_assign_eos eos_compressible eos_compressible_instance eos_compressible_pointer eta euler_assign_euler euler_assign_real euler_local_error euler_multiply_euler euler_multiply_real g gm1 gp1 impose_boundary_conditions initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize left_eigenvectors momentum negative negative output parse_command_line_interface positive positive pressure pressure prim_assign_prim prim_divide_real prim_multiply_prim prim_multiply_real primitive_compressible primitive_compressible_instance primitive_compressible_pointer primitive_to_conservative_compressible R real_multiply_cons real_multiply_euler real_multiply_prim reconstruct_interfaces_characteristic reconstruct_interfaces_conservative reconstruct_interfaces_primitive right_eigenvectors rpat_assign_rpat save_time_serie solve solve solve solve solve speed_of_sound sub sub sub_euler temperature velocity