1 subroutine util_bcherm3(fherm,idimx1,idimx2,idimx3,
2 > jbcx1a,jbcx1b, jbcx2a,jbcx2b, jbcx3a,jbcx3b,
3 > zbcx1a,zbcx1b, zbcx2a,zbcx2b, zbcx3a,zbcx3b,
9 integer :: idimx1,idimx2,idimx3
10 real :: fherm(0:7,idimx1,idimx2,idimx3)
12 integer :: jbcx1a,jbcx1b
13 real :: zbcx1a(idimx2,idimx3)
14 real :: zbcx1b(idimx2,idimx3)
16 integer :: jbcx2a,jbcx2b
17 real :: zbcx2a(idimx1,idimx3)
18 real :: zbcx2b(idimx1,idimx3)
20 integer :: jbcx3a,jbcx3b
21 real :: zbcx3a(idimx2,idimx3)
22 real :: zbcx3b(idimx2,idimx3)
24 real :: x1(idimx1),x2(idimx2),x3(idimx3)
31 if((jbcx1a.eq.1).or.(jbcx1b.eq.1))
then
34 fherm(1,1,1:idimx2,1:idimx3)=zbcx1a(1:idimx2,1:idimx3)
40 > (fherm(0,2,ix,iy)-fherm(0,1,ix,iy))/zdx
46 fherm(1,idimx1,1:idimx2,1:idimx3)=zbcx1b(1:idimx2,1:idimx3)
48 zdx = x1(idimx1)-x1(idimx1-1)
51 fherm(1,idimx1,ix,iy)=
52 > (fherm(0,idimx1,ix,iy)-fherm(0,idimx1-1,ix,iy))/
60 if((jbcx2a.eq.1).or.(jbcx2b.eq.1))
then
63 fherm(2,1:idimx1,1,1:idimx3)=zbcx2a(1:idimx1,1:idimx3)
69 > (fherm(0,ix,2,iy)-fherm(0,ix,1,iy))/zdx
75 fherm(2,1:idimx1,idimx2,1:idimx3)=zbcx2b(1:idimx1,1:idimx3)
77 zdx=x2(idimx2)-x2(idimx2-1)
80 fherm(2,ix,idimx2,iy)=
81 > (fherm(0,ix,idimx2,iy)-fherm(0,ix,idimx2-1,iy))/
88 if((jbcx3a.eq.1).or.(jbcx3b.eq.1))
then
91 fherm(3,1:idimx1,1:idimx2,1)=zbcx3a(1:idimx1,1:idimx2)
97 > (fherm(0,ix,iy,2)-fherm(0,ix,iy,1))/zdx
103 fherm(3,1:idimx1,1:idimx2,idimx3)=zbcx3b(1:idimx1,1:idimx2)
105 zdx=x3(idimx3)-x3(idimx3-1)
108 fherm(3,ix,iy,idimx3)=
109 > (fherm(0,ix,iy,idimx3)-fherm(0,ix,iy,idimx3-1))/
116 end subroutine util_bcherm3