6 integer,
parameter :: lvt1 = lx1*ly1*lz1*lelv
7 integer,
parameter :: lvt2 = lx2*ly2*lz2*lelv
8 integer,
parameter :: lbt1 = lbx1*lby1*lbz1*lbelv
9 integer,
parameter :: lbt2 = lbx2*lby2*lbz2*lbelv
11 integer,
parameter :: lptmsk = lvt1*(5+2*ldimt) + 4*lbt1
12 integer,
parameter :: lptsol &
13 = lvt1*(12 + 4*ldimt + 2*ldimt1 + (3+ldimt)*(lorder-1)) &
15 + lbt1*(12 + 3*(lorder-1)) &
18 integer,
parameter :: lorder2 = max(1,lorder-2)
21 real(DP),
allocatable :: bq(:,:,:,:,:)
23 real(DP),
allocatable,
dimension(:,:,:,:,:) :: vxlag, vylag, vzlag
24 real(DP),
allocatable :: tlag(:,:,:,:,:,:)
25 real(DP),
allocatable,
dimension(:,:,:,:,:) :: vgradt1, vgradt2
26 real(DP),
allocatable,
dimension(:,:,:,:) :: abx1, aby1, abz1
27 real(DP),
allocatable,
dimension(:,:,:,:) :: abx2, aby2, abz2
28 real(DP),
allocatable,
dimension(:,:,:,:) :: vdiff_e
30 real(DP),
allocatable,
dimension(:,:,:,:) :: vx, vy, vz
31 real(DP),
allocatable,
dimension(:,:,:,:,:) :: t, vtrans, vdiff
32 real(DP),
allocatable,
dimension(:,:,:,:) :: bfx, bfy, bfz
33 real(DP),
allocatable,
dimension(:,:,:,:) :: cflf
34 real(DP),
allocatable :: c_vx(:,:)
36 real(DP),
allocatable,
dimension(:,:,:,:) :: bx, by, bz, pm
37 real(DP),
allocatable,
dimension(:,:,:,:) :: bmx, bmy, bmz
39 real(DP),
allocatable,
dimension(:,:,:,:) :: bbx1, bby1, bbz1
40 real(DP),
allocatable,
dimension(:,:,:,:) :: bbx2, bby2, bbz2
41 real(DP),
allocatable :: bxlag(:,:), bylag(:,:), bzlag(:,:), pmlag(:,:)
45 real(DP),
allocatable :: pr(:,:,:,:), prlag(:,:,:,:,:)
47 real(DP),
allocatable :: qtl(:,:,:,:), usrdiv(:,:,:,:)
49 real(DP),
allocatable,
target,
dimension(:,:,:,:) :: v1mask
50 real(DP),
pointer,
dimension(:,:,:,:) :: v2mask, v3mask, pmask
51 real(DP),
allocatable,
target,
dimension(:,:,:,:,:) :: tmask
52 real(DP),
pointer,
dimension(:,:,:,:) :: omask, vmult
53 real(DP),
allocatable,
target,
dimension(:,:,:,:,:) :: tmult
54 real(DP),
allocatable,
dimension(:,:,:,:) :: b1mask, b2mask, b3mask
55 real(DP),
allocatable,
dimension(:,:,:,:) :: bpmask
58 real(DP),
allocatable,
dimension(:,:) :: vxp, vyp, vzp, prp
59 real(DP),
allocatable,
dimension(:,:,:) :: tp, bqp
60 real(DP),
allocatable,
dimension(:,:) :: bfxp, bfyp, bfzp
61 real(DP),
allocatable,
dimension(:,:,:) :: vxlagp, vylagp, vzlagp, prlagp
62 real(DP),
allocatable,
dimension(:,:,:,:) :: tlagp
64 real(DP),
allocatable,
dimension(:,:) :: exx1p, exy1p, exz1p, exx2p, exy2p, exz2p
65 real(DP),
allocatable,
dimension(:,:,:) :: vgradt1p, vgradt2p
76 allocate(bq(lx1,ly1,lz1,lelt,ldimt))
81 vxlag(lx1,ly1,lz1,lelv,2) &
82 , vylag(lx1,ly1,lz1,lelv,2) &
83 , vzlag(lx1,ly1,lz1,lelv,2) &
84 , tlag(lx1,ly1,lz1,lelt,lorder-1,ldimt))
85 vxlag = 0._dp; vylag = 0._dp; vzlag = 0._dp; tlag = 0._dp
88 vgradt1(lx1,ly1,lz1,lelt,ldimt) &
89 , vgradt2(lx1,ly1,lz1,lelt,ldimt) )
91 abx1(lx1,ly1,lz1,lelv) &
92 , aby1(lx1,ly1,lz1,lelv) &
93 , abz1(lx1,ly1,lz1,lelv) &
94 , abx2(lx1,ly1,lz1,lelv) &
95 , aby2(lx1,ly1,lz1,lelv) &
96 , abz2(lx1,ly1,lz1,lelv) &
99 , vx(lx1,ly1,lz1,lelv) &
100 , vy(lx1,ly1,lz1,lelv) &
101 , vz(lx1,ly1,lz1,lelv) &
102 , t(lx1,ly1,lz1,lelt,ldimt) &
103 , vtrans(lx1,ly1,lz1,lelt,ldimt1) &
104 , vdiff(lx1,ly1,lz1,lelt,ldimt1) &
105 , bfx(lx1,ly1,lz1,lelv) &
106 , bfy(lx1,ly1,lz1,lelv) &
107 , bfz(lx1,ly1,lz1,lelv) &
111 , bx(lbx1,lby1,lbz1,lbelv) &
112 , by(lbx1,lby1,lbz1,lbelv) &
113 , bz(lbx1,lby1,lbz1,lbelv) &
114 , pm(lbx2,lby2,lbz2,lbelv) &
115 , bmx(lbx1,lby1,lbz1,lbelv) &
116 , bmy(lbx1,lby1,lbz1,lbelv) &
117 , bmz(lbx1,lby1,lbz1,lbelv) &
118 , bbx1(lbx1,lby1,lbz1,lbelv) &
119 , bby1(lbx1,lby1,lbz1,lbelv) &
120 , bbz1(lbx1,lby1,lbz1,lbelv) &
121 , bbx2(lbx1,lby1,lbz1,lbelv) &
122 , bby2(lbx1,lby1,lbz1,lbelv) &
123 , bbz2(lbx1,lby1,lbz1,lbelv) &
124 , bxlag(lbx1*lby1*lbz1*lbelv,lorder-1) &
125 , bylag(lbx1*lby1*lbz1*lbelv,lorder-1) &
126 , bzlag(lbx1*lby1*lbz1*lbelv,lorder-1) &
127 , pmlag(lbx2*lby2*lbz2*lbelv,lorder2) )
129 allocate(pr(lx2,ly2,lz2,lelv))
136 allocate(v1mask(lx1,ly1,lz1,lelv) &
137 , v2mask(lx1,ly1,lz1,lelv) &
138 , v3mask(lx1,ly1,lz1,lelv) &
140 , tmask(lx1,ly1,lz1,lelt,ldimt) &
144 , b1mask(lbx1,lby1,lbz1,lbelv) &
145 , b2mask(lbx1,lby1,lbz1,lbelv) &
146 , b3mask(lbx1,lby1,lbz1,lbelv) &
147 , bpmask(lbx1,lby1,lbz1,lbelv) )
150 allocate(vxp(lpx1*lpy1*lpz1*lpelv,lpert) &
151 , vyp(lpx1*lpy1*lpz1*lpelv,lpert) &
152 , vzp(lpx1*lpy1*lpz1*lpelv,lpert) &
153 , prp(lpx2*lpy2*lpz2*lpelv,lpert) &
154 , tp(lpx1*lpy1*lpz1*lpelt,ldimt,lpert) &
155 , bqp(lpx1*lpy1*lpz1*lpelt,ldimt,lpert) &
156 , bfxp(lpx1*lpy1*lpz1*lpelv,lpert) &
157 , bfyp(lpx1*lpy1*lpz1*lpelv,lpert) &
158 , bfzp(lpx1*lpy1*lpz1*lpelv,lpert) &
159 , vxlagp(lpx1*lpy1*lpz1*lpelv,lorder-1,lpert) &
160 , vylagp(lpx1*lpy1*lpz1*lpelv,lorder-1,lpert) &
161 , vzlagp(lpx1*lpy1*lpz1*lpelv,lorder-1,lpert) &
162 , prlagp(lpx2*lpy2*lpz2*lpelv,lorder2,lpert) &
163 , tlagp(lpx1*lpy1*lpz1*lpelt,ldimt,lorder-1,lpert) &
164 , exx1p(lpx1*lpy1*lpz1*lpelv,lpert) &
165 , exy1p(lpx1*lpy1*lpz1*lpelv,lpert) &
166 , exz1p(lpx1*lpy1*lpz1*lpelv,lpert) &
167 , exx2p(lpx1*lpy1*lpz1*lpelv,lpert) &
168 , exy2p(lpx1*lpy1*lpz1*lpelv,lpert) &
169 , exz2p(lpx1*lpy1*lpz1*lpelv,lpert) &
170 ,vgradt1p(lpx1*lpy1*lpz1*lpelt,ldimt,lpert) &
171 ,vgradt2p(lpx1*lpy1*lpz1*lpelt,ldimt,lpert) )