iopos_block_nodes Function

private function iopos_block_nodes(self, b)

Return the IO position where nodes of block b-th are stored.

Arguments

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

Grid dimensions object.

integer(kind=I4P), intent(in) :: b

Block index.

Return Value integer(kind=I4P)

IO position where nodes of block b-th are stored.


Source Code


Source Code

   function iopos_block_nodes(self, b)
   !< Return the IO position where nodes of block b-th are stored.
   class(grid_dimensions_object), intent(in) :: self              !< Grid dimensions object.
   integer(I4P),                  intent(in) :: b                 !< Block index.
   integer(I4P)                              :: iopos_block_nodes !< IO position where nodes of block b-th are stored.
   type(vector)                              :: node              !< A node coordinate prototype.
   integer(I4P)                              :: node_iolength     !< Node IO length storage.
   integer(I4P)                              :: bb                !< Counter.

   inquire(iolength=node_iolength) node%x, node%y, node%z
   iopos_block_nodes = self%iolength() ! file header length
   if (self%blocks_number > 0) then
      if (b > 1.and. b <= self%blocks_number) then
         ! b-th block, there are the file header and [1:b-1] blocks before its nodes
         do bb=1, b-1
            iopos_block_nodes = iopos_block_nodes + self%block_signature(bb)%nodes_number() * node_iolength
         enddo
         iopos_block_nodes = iopos_block_nodes + 1
      else
         ! first block, there is only the file header before its nodes
         iopos_block_nodes = iopos_block_nodes + 1
      endif
   endif
   endfunction iopos_block_nodes


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