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
 1program SampleX
 2  implicit none
 3  include 'cgnslib_f.h'
 4
 5  integer:: fin, ier, isize, jsize, solid, solcount, iter, i, j
 6  double precision, dimension(:,:), allocatable::grid_x, grid_y, result_real
 7
 8  ! Opening CGNS file
 9  call cg_open_f('test.cgn', CG_MODE_READ, fin, ier)
10  if (ier /=0) STOP "*** Open error of CGNS file ***"
11
12  ! Initializing internal variables
13  call cg_iric_initread_f(fin, ier)
14  if (ier /=0) STOP "*** Initialize error of CGNS file ***"
15
16  ! Reads grid size
17  call cg_iric_gotogridcoord2d_f(isize, jsize, ier)
18
19  ! Allocate memory for reading calculation result
20  allocate(grid_x(isize,jsize), grid_y(isize,jsize))
21  allocate(result_real(isize, jsize))
22
23  ! Reads calculation result, and output to standard output.
24  call cg_iric_read_sol_count_f(solcount, ier)
25  do solid = 1, solcount
26    call cg_iric_read_sol_iteration_f(solid, iter, ier)
27    call cg_iric_read_sol_gridcoord2d_f(solid, grid_x, grid_y, ier)
28    call cg_iric_read_sol_real_f(solid, 'result_real', result_real, ier)
29
30    print *, 'iteration: ', iter
31    print *, 'grid_x, grid_y, result: '
32    do i = 1, isize
33      do j = 1, jsize
34        print *, '(', i, ', ', j, ') = (', grid_x(i, j), ', ', grid_y(i, j), ', ', result_real(i, j), ')'
35      end do
36    end do
37  end do
38
39  ! Closing CGNS file
40  call cg_close_f(fin, ier)
41  stop
42end program SampleX

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