Reading calculation result

Read calculation result from CGNS files.

Table 77 Subroutines to use
Subroutine Remarks
cg_iric_read_sol_count_f Reads the number of calculation result
cg_iric_read_sol_time_f Reads the time value
cg_iric_read_sol_iteration_f Reads the loop iteration value
cg_iric_read_sol_baseiterative_integer_f Reads the integer-type calculation result value
cg_iric_read_sol_baseiterative_real_f Reads the double-precision real-type calculation result value
cg_iric_read_sol_gridcoord2d_f Reads the 2D structured grid (for moving grid calculation)
cg_iric_read_sol_gridcoord3d_f Reads the 3D structured grid (for moving grid calculation)
cg_iric_read_sol_integer_f Reads the integer-type calculation result, having a value for each grid node
cg_iric_read_sol_real_f Reads the double-precision real-type calculation result, having a value for each grid node
cg_iric_read_sol_cell_integer_f Reads the integer-type calculation result, having a value for each grid cell
cg_iric_read_sol_cell_real_f Reads the double-precision real-type calculation result, having a value for each grid cell

List 109 shows an example of reading caluculation result from CGNS file, and output to standard output.

List 109 Example of reading calculation result
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
program SampleX
  implicit none
  include 'cgnslib_f.h'

  integer:: fin, ier, isize, jsize, solid, solcount, iter, i, j
  double precision, dimension(:,:), allocatable::grid_x, grid_y, result_real

  ! Opening CGNS file
  call cg_open_f('test.cgn', CG_MODE_READ, fin, ier)
  if (ier /=0) STOP "*** Open error of CGNS file ***"

  ! Initializing internal variables
  call cg_iric_initread_f(fin, ier)
  if (ier /=0) STOP "*** Initialize error of CGNS file ***"

  ! Reads grid size
  call cg_iric_gotogridcoord2d_f(isize, jsize, ier)

  ! Allocate memory for reading calculation result
  allocate(grid_x(isize,jsize), grid_y(isize,jsize))
  allocate(result_real(isize, jsize))

  ! Reads calculation result, and output to standard output.
  call cg_iric_read_sol_count_f(solcount, ier)
  do solid = 1, solcount
    call cg_iric_read_sol_iteration_f(solid, iter, ier)
    call cg_iric_read_sol_gridcoord2d_f(solid, grid_x, grid_y, ier)
    call cg_iric_read_sol_real_f(solid, 'result_real', result_real, ier)

    print *, 'iteration: ', iter
    print *, 'grid_x, grid_y, result: '
    do i = 1, isize
      do j = 1, jsize
        print *, '(', i, ', ', j, ') = (', grid_x(i, j), ', ', grid_y(i, j), ', ', result_real(i, j), ')'
      end do
    end do
  end do

  ! Closing CGNS file
  call cg_close_f(fin, ier)
  stop
end program SampleX

The functions are used in calculation analysis program (See Steps of developing a calculation result analysis program).