dEuler_dt Function

private function dEuler_dt(self, t) result(dState_dt)

Time derivative of Euler field, the residuals function.

Arguments

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

Euler field.

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

Time.

Return Value class(integrand), allocatable

Euler field time derivative.


Source Code


Source Code

   function dEuler_dt(self, t) result(dState_dt)
   !< Time derivative of Euler field, the residuals function.
   class(euler_1d), intent(in)           :: self                         !< Euler field.
   real(R8P),       intent(in), optional :: t                            !< Time.
   class(integrand), allocatable         :: dState_dt                    !< Euler field time derivative.
   type(conservative_compressible)       :: U(1-self%Ng:self%Ni+self%Ng) !< Conservative variables.
   type(conservative_compressible)       :: UR(1:2,0:self%Ni+1)          !< Reconstructed conservative variables.
   type(conservative_compressible)       :: F(0:self%Ni)                 !< Fluxes of conservative variables.
   integer(I4P)                          :: i                            !< Counter.

   do i=1, self%Ni
      U(i) = self%U(i)
   enddo
   call self%impose_boundary_conditions(U=U)
   call self%reconstruct_interfaces(conservative=U, r_conservative=UR)
   do i=0, self%Ni
      call self%riemann_solver%solve(eos_left=self%eos,  state_left=UR( 2, i  ), &
                                     eos_right=self%eos, state_right=UR(1, i+1), normal=ex, fluxes=F(i))
   enddo
   allocate(euler_1d :: dState_dt)
   select type(dState_dt)
   class is(euler_1d)
      dState_dt = self
      do i=1, self%Ni
          dState_dt%U(i) = (F(i - 1) - F(i)) / self%Dx
      enddo
   endselect
   endfunction dEuler_dt


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