Reading calculation result¶
Read calculation result from CGNS files.
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.
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).