File: /nfs/home/0/users/jenkins/mfix.git/model/des/write_res0_des.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvc
2     !
3     !  module name: des_write_restart
4     !  purpose: writing des data for restart
5     !
6     !  Author : Pradeep G
7     !  Purpose : Reads either single restart file or multiple restart files
8     !            (based on bdist_io) flag
9     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^c
10           subroutine WRITE_RES0_DES
11     
12           use param1
13           use compar
14           use discretelement
15           use run
16           use des_bc
17           use des_rxns
18           use des_thermo
19           use mfix_pic, only: MPPIC
20           use mfix_pic, only: DES_STAT_WT
21     
22           use error_manager
23           use write_res1_des
24           use mpi_utility
25     
26           implicit none
27     !-----------------------------------------------
28     ! local variables
29     !-----------------------------------------------
30           INTEGER :: LC1
31           INTEGER :: lNEXT_REC
32           INTEGER :: lDIMN
33     
34           DOUBLE PRECISION :: VERSION
35     
36     
37     ! Set the version of the DES RES file.
38           VERSION = 1.1
39     
40     ! Set the output dimension.
41           lDIMN = merge(2,3,NO_K)
42     
43           CALL INIT_WRITE_RES_DES(trim(RUN_NAME), VERSION, lNEXT_REC)
44     
45           CALL WRITE_RES_DES(lNEXT_REC, VTP_FINDEX)
46           CALL WRITE_RES_DES(lNEXT_REC, TECPLOT_FINDEX)
47           CALL WRITE_RES_DES(lNEXT_REC, DTSOLID)
48     
49           DO LC1 = 1, lDIMN
50              CALL WRITE_RES_pARRAY(lNEXT_REC, DES_POS_NEW(LC1,:))
51           ENDDO
52     
53           CALL WRITE_RES_pARRAY(lNEXT_REC, iGLOBAL_ID)
54     
55           DO LC1 = 2, 4
56              CALL WRITE_RES_pARRAY(lNEXT_REC, PEA(:,LC1))
57           ENDDO
58     
59           DO LC1 = 1, lDIMN
60              CALL WRITE_RES_pARRAY(lNEXT_REC, DES_VEL_NEW(LC1,:))
61           ENDDO
62     
63           DO LC1 = 1, merge(1,3,NO_K)
64              CALL WRITE_RES_pARRAY(lNEXT_REC, OMEGA_NEW(LC1,:))
65           ENDDO
66     
67           CALL WRITE_RES_pARRAY(lNEXT_REC, DES_RADIUS)
68           CALL WRITE_RES_pARRAY(lNEXT_REC, RO_SOL)
69     
70           IF(MPPIC) &
71              CALL WRITE_RES_pARRAY(lNEXT_REC, DES_STAT_WT)
72     
73           IF(ENERGY_EQ) &
74              CALL WRITE_RES_pARRAY(lNEXT_REC, DES_T_s_NEW)
75     
76           IF(ANY_SPECIES_EQ) THEN
77              DO LC1=1, DIMENSION_N_S
78                 CALL WRITE_RES_pARRAY(lNEXT_REC, DES_X_s(:,LC1))
79              ENDDO
80           ENDIF
81     
82     ! DES User defined variable :: added for VERSION>= 1.1
83           CALL WRITE_RES_DES(lNEXT_REC, DES_USR_VAR_SIZE)
84           DO LC1=1,DES_USR_VAR_SIZE
85              CALL WRITE_RES_pARRAY(lNEXT_REC, DES_USR_VAR(LC1,:))
86           ENDDO
87     
88           DO LC1=1,2
89              CALL WRITE_RES_cARRAY(lNEXT_REC, PAIRS(LC1,:), pLOC2GLB=.TRUE.)
90           ENDDO
91     
92           CALL WRITE_RES_cARRAY(lNEXT_REC, PV_PAIR(:))
93     
94           DO LC1=1, lDIMN
95              CALL WRITE_RES_cARRAY(lNEXT_REC,PFN_PAIR(LC1,:))
96              CALL WRITE_RES_cARRAY(lNEXT_REC,PFT_PAIR(LC1,:))
97           ENDDO
98     
99           CALL WRITE_RES_DES(lNEXT_REC, DEM_BCMI)
100           DO LC1=1, DEM_BCMI
101              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI_TIME(LC1))
102              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%VACANCY)
103              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%OCCUPANTS)
104              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%WINDOW)
105              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%OFFSET)
106              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%L)
107              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%W(:))
108              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%H(:))
109              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%P(:))
110              CALL WRITE_RES_DES(lNEXT_REC, DEM_MI(LC1)%Q(:))
111           ENDDO
112     
113           CALL FINL_WRITE_RES_DES
114     
115           RETURN
116           END SUBROUTINE WRITE_RES0_DES
117