File: RELATIVE:/../../../mfix.git/model/reset_new.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: RESET_NEW                                              C
4     !  Purpose: Reset the new variables with the stored previous-time-step C
5     !           values of field variables.                                 C
6     !    *****Remember to modify update_old also
7     !                                                                      C
8     !  Author: M. Syamlal                                 Date: FEB-6-97   C
9     !                                                                      C
10     !  Literature/Document References:                                     C
11     !                                                                      C
12     !  Variables referenced: ROP_g, EP_g, ROP_s, IJKMAX2, MMAX, U_s, V_s,  C
13     !                        W_s                                           C
14     !                                                                      C
15     !  Variables modified: ROP_go, ROP_so, IJK, M, U_so, V_so, W_so C
16     !                                                                      C
17     !  Local variables: NONE                                               C
18     !                                                                      C
19     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
20           SUBROUTINE RESET_NEW
21     
22     !...Translated by Pacific-Sierra Research VAST-90 2.06G5  12:17:31  12/09/98
23     !...Switches: -xf
24     !
25     !-----------------------------------------------
26     !   M o d u l e s
27     !-----------------------------------------------
28           USE param
29           USE param1
30           USE parallel
31           USE fldvar
32           USE geometry
33           USE indices
34           USE physprop
35           USE trace
36           USE run
37           USE scalars
38     
39           IMPLICIT NONE
40     !-----------------------------------------------
41     !   G l o b a l   P a r a m e t e r s
42     !-----------------------------------------------
43     !-----------------------------------------------
44     !   L o c a l   P a r a m e t e r s
45     !-----------------------------------------------
46     !-----------------------------------------------
47     !   L o c a l   V a r i a b l e s
48     !-----------------------------------------------
49     !
50     !                    Indices
51           INTEGER :: M
52     !
53     !                    error index
54           INTEGER :: IER
55     
56     !-----------------------------------------------
57     
58           EP_G(:) = EP_GO(:)
59           P_G(:) = P_GO(:)
60           P_STAR(:) = P_STARO(:)
61           RO_G(:) = RO_GO(:)
62           ROP_G(:) = ROP_GO(:)
63           U_G(:) = U_GO(:)
64           V_G(:) = V_GO(:)
65           W_G(:) = W_GO(:)
66           IF (ENERGY_EQ) T_G(:) = T_GO(:)
67           IF (SPECIES_EQ(0)) THEN
68             IF (NMAX(0) > 0) THEN
69               X_G(:,:NMAX(0)) = X_GO(:,:NMAX(0))
70             ENDIF
71           ENDIF
72     
73           IF (NScalar > 0) THEN
74             Scalar(:,:NScalar) = ScalarO(:,:NScalar)
75           ENDIF
76     
77           IF (K_Epsilon) THEN
78             K_Turb_G(:) = K_Turb_GO(:)
79             E_Turb_G(:) = E_Turb_GO(:)
80           ENDIF
81     
82           DO M = 1, MMAX
83             ROP_S(:,M) = ROP_SO(:,M)
84     ! add by rong
85             If (Call_DQMOM) D_P(:,M)=D_Po(:,M)
86     !       If (NScalar>0) ome(:,M)=ome_o(:,M)
87     ! add by rong
88             IF (ENERGY_EQ) T_S(:,M) = T_SO(:,M)
89             IF (GRANULAR_ENERGY) THEN
90               THETA_M(:,M) = THETA_MO(:,M)
91               TRD_S_C(:,M) = TRD_S_CO(:,M)
92             ENDIF
93             U_S(:,M) = U_SO(:,M)
94             V_S(:,M) = V_SO(:,M)
95             W_S(:,M) = W_SO(:,M)
96             IF (SPECIES_EQ(M)) THEN
97               IF (NMAX(M) > 0) THEN
98                 X_S(:,M,:NMAX(M)) = X_SO(:,M,:NMAX(M))
99               ENDIF
100     
101               RO_S(:,M) = RO_SO(:,M)
102             ENDIF
103           END DO
104     
105     !     Recalculate all coefficients
106           CALL CALC_COEFF_ALL (0, IER)
107     
108           RETURN
109           END SUBROUTINE RESET_NEW
110     
111     !// Comments on the modifications for DMP version implementation
112     !// 120 Replaced the index for initialization: (:IJKMAX2) to just (:)
113