File: /nfs/home/0/users/jenkins/mfix.git/model/qmomk/qmomk_read_restart.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: QMOMK_READ_RESTART                                     C
4     !  Purpose: Reading QMOMK data for restart                             C
5     !                                                                      C
6     !                                                                      C
7     !  Author: Alberto Passalacqua                        Date:            C
8     !  Reviewer:                                          Date:            C
9     !                                                                      C
10     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
11     SUBROUTINE QMOMK_READ_RESTART
12     
13       USE param
14       USE param1
15       USE constant
16       USE fldvar
17       USE cont
18       USE geometry
19       USE indices
20       USE run
21       USE compar
22       USE physprop
23       USE qmom_kinetic_equation
24       USE qmomk_quadrature
25       USE functions
26     
27       IMPLICIT NONE
28     
29       INTEGER :: M, IJK
30     
31       OPEN (UNIT=901, FILE=TRIM(RUN_NAME)//'_QMOMK.RES', FORM='Unformatted', STATUS='unknown')
32     
33       REWIND (901)
34     
35       PRINT *,'QMOMK: Reading restart info...'
36     
37       READ (901) QMOMK_N1
38       READ (901) QMOMK_U1
39       READ (901) QMOMK_V1
40       READ (901) QMOMK_W1
41     
42       PRINT *,'QMOMK: Updating moments after restart...'
43     
44       DO M = 1, MMAX
45         DO IJK = ijkstart3, ijkend3
46          IF (FLUID_AT(IJK))  THEN
47            CALL MOMENTS_TWENTY_EIGHT_NODES (QMOMK_N1(:,IJK,M), &
48                 QMOMK_U1(:,IJK,M), QMOMK_V1(:,IJK,M), QMOMK_W1(:,IJK,M), QMOMK_M1(:,IJK,M))
49            CALL EIGHT_NODE_3D (QMOMK_M1(:,IJK,M), QMOMK_N1(:,IJK,M), &
50                 QMOMK_U1(:,IJK,M), QMOMK_V1(:,IJK,M), QMOMK_W1(:,IJK,M))
51            CALL MOMENTS_TWENTY_EIGHT_NODES (QMOMK_N1(:,IJK,M), &
52                 QMOMK_U1(:,IJK,M), QMOMK_V1(:,IJK,M), QMOMK_W1(:,IJK,M), QMOMK_M1(:,IJK,M))
53          END IF
54         END DO
55       END DO
56     
57       QMOMK_N0 = QMOMK_N1
58       QMOMK_U0 = QMOMK_U1
59       QMOMK_V0 = QMOMK_V1
60       QMOMK_W0 = QMOMK_W1
61       QMOMK_M0 = QMOMK_M1
62     
63       PRINT *,'QMOMK: Restart successful!'
64     
65     END SUBROUTINE QMOMK_READ_RESTART
66