Save grid file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
||
| character(len=*), | intent(in) | :: | file_basename | File basename. |
||
| logical, | intent(in), | optional | :: | ascii | Ascii/binary output. |
|
| logical, | intent(in), | optional | :: | metrics | Save also metrics data. |
|
| logical, | intent(in), | optional | :: | off | Save in OFF format sentinel. |
|
| logical, | intent(in), | optional | :: | tecplot | Tecplot output format sentinel. |
|
| logical, | intent(in), | optional | :: | vtk | VTK output format sentinel. |
subroutine save_file_grid(self, file_basename, ascii, metrics, off, tecplot, vtk)
!< Save grid file.
class(simulation_object), intent(inout) :: self !< simulation data.
character(*), intent(in) :: file_basename !< File basename.
logical, intent(in), optional :: ascii !< Ascii/binary output.
logical, intent(in), optional :: metrics !< Save also metrics data.
logical, intent(in), optional :: off !< Save in OFF format sentinel.
logical, intent(in), optional :: tecplot !< Tecplot output format sentinel.
logical, intent(in), optional :: vtk !< VTK output format sentinel.
integer(I4P) :: b !< Counter.
logical :: off_ !< OFF format sentinel, local variable.
logical :: vtk_ !< VTK format sentinel, local variable.
character(len=:), allocatable :: file_name !< File name buffer.
off_ = .true. ; if (present(off)) off_ = off
vtk_ = .false. ; if (present(vtk )) vtk_ = vtk
if (off_) then
call self%file_grid%initialize(file_name=trim(adjustl(file_basename))//'.grd')
call self%file_grid%save_grid_dimensions_into_file(grid_dimensions=self%grid_dimensions)
call self%file_grid%save_nodes_into_file(grid_dimensions=self%grid_dimensions, blocks=self%blocks)
endif
if (vtk_) then
do b=1, self%grid_dimensions%blocks_number
file_name = trim(adjustl(file_basename))//'-block'// &
'-id_'//trim(str(n=self%blocks(b)%signature%id, no_sign=.true.))// &
'-lv_'//trim(str(n=self%blocks(b)%signature%level, no_sign=.true.))//'.vts'
call self%blocks(b)%save_file_grid(file_name=file_name, ascii=ascii, metrics=metrics, vtk=vtk)
enddo
endif
endsubroutine save_file_grid