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

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: Init_Ab_m(A_m, b_m, IJKMAX2, M, IER)                   C                     C
4     !  Purpose:Initialiize the sparse matrix coefficients and the          C
5     !           source vector.                                             C
6     !                                                                      C
7     !                                                                      C
8     !  Author: M. Syamlal                                 Date: 16-MAY-96  C
9     !  Reviewer:                                          Date:            C
10     !                                                                      C
11     !                                                                      C
12     !  Literature/Document References:                                     C
13     !                                                                      C
14     !  Variables referenced:                                               C
15     !  Variables modified:                                                 C
16     !                                                                      C
17     !  Local variables:                                                    C
18     !                                                                      C
19     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
20           SUBROUTINE INIT_AB_M(A_M, B_M, IJKMAX2A, M)
21     !...Translated by Pacific-Sierra Research VAST-90 2.06G5  12:17:31  12/09/98
22     !...Switches: -xf
23     !
24     !  Include param.inc file to specify parameter values
25     !
26     !-----------------------------------------------
27     !   M o d u l e s
28     !-----------------------------------------------
29           USE param
30           USE param1
31           USE matrix
32           USE parallel
33           USE compar
34           IMPLICIT NONE
35     !-----------------------------------------------
36     !   G l o b a l   P a r a m e t e r s
37     !-----------------------------------------------
38     !-----------------------------------------------
39     !   D u m m y   A r g u m e n t s
40     !-----------------------------------------------
41     !
42     !                      Phase index
43           INTEGER          M
44     !
45     !                      cell index
46           INTEGER          IJK
47     !
48     !                      Maximum dimension
49           INTEGER          IJKMAX2A
50     !
51     !                      Septadiagonal matrix A_m
52           DOUBLE PRECISION A_m(DIMENSION_3, -3:3, 0:DIMENSION_M)
53     !
54     !                      Source vector
55           DOUBLE PRECISION b_m(DIMENSION_3, 0:DIMENSION_M)
56     !
57     !-----------------------------------------------
58     !
59     !      IJK = 1
60           IF (IJKMAX2A > 0) THEN
61            IF (USE_DOLOOP) THEN
62     !!!$omp    parallel do private( IJK )
63              DO IJK = ijkstart3, ijkend3
64                A_M(IJK,B,M) = ZERO
65                A_M(IJK,S,M) = ZERO
66                A_M(IJK,W,M) = ZERO
67                A_M(IJK,0,M) = -ONE
68                A_M(IJK,E,M) = ZERO
69                A_M(IJK,N,M) = ZERO
70                A_M(IJK,T,M) = ZERO
71     
72                B_M(IJK,M) = ZERO
73              ENDDO
74            ELSE
75              A_M(:,B,M) = ZERO
76              A_M(:,S,M) = ZERO
77              A_M(:,W,M) = ZERO
78              A_M(:,0,M) = -ONE
79              A_M(:,E,M) = ZERO
80              A_M(:,N,M) = ZERO
81              A_M(:,T,M) = ZERO
82              B_M(:,M) = ZERO
83     
84     !         IJK = IJKMAX2A + 1
85            ENDIF
86           ENDIF
87           RETURN
88           END SUBROUTINE INIT_AB_M
89     
90     !// Comments on the modifications for DMP version implementation
91     !// 001 Include header file and common declarations for parallelization
92     !// 120 Replaced the index for initialization, :IJKMAX2A => :
93     !// 350 Changed do loop limits: 1,ijkmax2-> ijkstart3, ijkend3
94     !
95