update Subroutine

private elemental subroutine update(self, global_min_dt)

Update time.

Arguments

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

Time object.

real(kind=R8P), intent(inout) :: global_min_dt

Global (all processes/images, all blocks) minimum time step.


Source Code


Source Code

   elemental subroutine update(self, global_min_dt)
   !< Update time.
   class(time_object), intent(inout) :: self          !< Time object.
   real(R8P),          intent(inout) :: global_min_dt !< Global (all processes/images, all blocks) minimum time step.

   if (self%is_unsteady) then
      ! for an unsteady accurate simulation each cell is updated by means of global minimum time step
      ! control for the last iterate
      if (self%n_max <= 0) then
         if ((self%t + global_min_dt) > self%t_max) then
            ! the global minimum time step is so high that the last iteration will go over t_max
            ! it is decreased in order to achieve exactly t_max
            global_min_dt = abs(self%t_max - self%t)
         endif
      endif
      self%t = self%t + global_min_dt
   endif
   endsubroutine update


adim_assign_adim allocate_blocks block_assign_block block_d_assign_block_d cell_assign_cell cells_number cells_number check cli_parse cli_parse cli_parse close compute_extents compute_faces_metrics compute_metrics compute_metrics compute_reference_values compute_space_operator compute_volumes correct_metrics cp create_linspace description description description description description description description description description destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy err_assign_err face_assign_face file_assign_file free_assign_free grid_d_assign_grid_d initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize_unix initialize_windows integrate interpolate_at_nodes iolength iolength iopos_block_nodes is_the_end load_file_grid load_file_name_from_file load_file_parameters load_from_file load_from_file load_from_file load_from_file load_from_file load_from_file load_from_file load_grid_dimensions_from_file load_input_files load_nodes_from_file load_nodes_from_file mkdir node_assign_node node_to_center nodes_number nodes_number nullify_normals open os_assign_os parse_command_line_interface progress rm save_file_grid save_file_grid save_file_grid_tec save_file_grid_vtk save_file_name_into_file save_file_parameters save_grid_dimensions_into_file save_into_file save_into_file save_into_file save_into_file save_into_file save_into_file save_into_file save_nodes_into_file save_nodes_into_file set_command_line_interface set_stop solver_assign_solver time_assign_time update