4
subroutine equil(g_fg, fg, ld_fg1, ld_fg2,
5
+ g_fld, fld, ld_fld1, ld_fld2,
9
integer ld_fg1, ld_fg2, ld_fld1, ld_fld2, ld_bc1
10
double precision fg(ld_fg1,ld_fg2, *)
11
double precision fld(ld_fld1, ld_fld2, *)
13
integer g_fg, g_fld, g_bc
15
double precision rdim, b, c2, cspdi, cspd2, ex, ey
16
double precision aa0, aa
19
c This subroutine evaluates the equilibrium distribution
24
cspdi = sqrt(2.0d00)/cspd
27
c Calculate equilibrium distributions
29
do jj = width(2) + 1, dims(2) - width(2)
39
do ii = width(1) + 1, dims(1) - width(1)
40
aa = (rdim/(b*c2))*fld(ii,jj,4)
41
aa0 = fld(ii,jj,1) - b*aa
43
ffa(j) = aa0 + 4.0d00*aa
50
c evaluate distribution
52
fg(ii,jj,i) = ffa(j) + fld(ii,jj,1)*(ffb(j)*(fld(ii,jj,2)*ex
54
+ + ffc(j)*(fld(ii,jj,2)**2*ex**2
55
+ + 2.0d00*fld(ii,jj,2)*fld(ii,jj,3)*ex*ey
56
+ + fld(ii,jj,3)**2*ey**2)
57
+ + ffd(j)*(fld(ii,jj,2)**2+fld(ii,jj,3)**2))