output Function

private pure function output(self, is_primitive) result(state)

Output the Euler field state.

Arguments

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

Euler field.

logical, intent(in), optional :: is_primitive

Output in primitive variables.

Return Value real(kind=R8P), allocatable,(:,:)

Euler state vector.

Calls

proc~~output~~CallsGraph proc~output output proc~conservative_to_primitive_compressible conservative_to_primitive_compressible proc~output->proc~conservative_to_primitive_compressible
Help

Source Code


Source Code

   pure function output(self, is_primitive) result(state)
   !< Output the Euler field state.
   class(euler_1d), intent(in)           :: self          !< Euler field.
   logical,         intent(in), optional :: is_primitive  !< Output in primitive variables.
   real(R8P), allocatable                :: state(:,:)    !< Euler state vector.
   real(R8P), allocatable                :: state_(:)     !< Euler state vector, local variable.
   logical                               :: is_primitive_ !< Output in primitive variables, local variable.
   type(primitive_compressible)          :: primitive     !< Primitive state.
   integer(I4P)                          :: i             !< Counter.

   is_primitive_ = .false. ; if (present(is_primitive)) is_primitive_ = is_primitive
   if (is_primitive_) then
      allocate(state(1:size(primitive%array(), dim=1), 1:self%Ni))
      do i=1, self%Ni
         primitive = conservative_to_primitive_compressible(conservative=self%U(i), eos=self%eos)
         state_ = primitive%array()
      enddo
   else
      allocate(state(1:size(self%U(1)%array(), dim=1), 1:self%Ni))
      do i=1, self%Ni
         state_ = self%U(i)%array()
         state(:, i) = state_
      enddo
   endif
   endfunction output


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