1 c File generated by ogmg/neumann.maple
2 c Fourth-order BC
for mixed boundary condition
using the
normal derivative of the PDE
3 c BC: an1*ur+an2*us+an0*u = g
4 c PDE: c11*urr + c12*urs + c22*uss + c1*ur + c2*us + c0 *u = f
5 c PDE.r: urrr + br2*urr = b0*u + b1*us + b3*usss + bf
7 c real alpha1,alpha2,a1,a2,a0
8 c real rxi,ryi,sxi,syi,rxr,rxs,sxr,sxs,ryr,rys,syr,sys
10 c real rxrr,rxrs,rxss,ryrr,ryrs,ryss
11 c real sxrr,sxrs,sxss,syrr,syrs,syss
12 c real rxx,ryy,sxx,syy
13 c real rxxr,ryyr,rxxs,ryys, sxxr,syyr,sxxs,syys
14 c real rxNormI,rxNormIs,rxNormIss,rxNormIr,rxNormIrr
15 c real n1,n1s,n1ss,n2,n2s,n2ss
16 c real an1,an1s,an1ss,an2,an2s,an2ss
17 c real an1r,an1rr,an2r,an2rs
18 c real ff,ffs,ffr,g,gs,gss
19 c real c11,c11r,c11s,c12,c12r,c12s,c22,c22r,c22s,c1,c1r,c1s,c2,c2r,c2s,c0,c0r,c0s
20 c real b0,b1,b2,b3,bf,br2
22 #beginMacro fourthOrderNeumannEquationBCNew(DIR,DIM)
59 rxxr=rxi*rxrr+rxr*rxr + sxi*rxrs + sxr*rxs
60 ryyr=ryi*ryrr+ryr*ryr + syi*ryrs + syr*rys
62 rxxs=rxi*rxrs+rxs*rxr + sxi*rxss + sxs*rxs
63 ryys=ryi*ryrs+rys*ryr + syi*ryss + sys*rys
65 sxxr=rxi*sxrr+rxr*sxr + sxi*sxrs + sxr*sxs
66 syyr=ryi*syrr+ryr*syr + syi*syrs + syr*sys
68 sxxs=rxi*sxrs+rxs*sxr + sxi*sxss + sxs*sxs
69 syys=ryi*syrs+rys*syr + syi*syss + sys*sys
71 alpha1=a1*nsign ! nsign=2*side-1
75 rxNormI=1./sqrt(rxi**2+ryi**2)
76 rxNormIs=-(rxi*rxs+ryi*rys)*rxNormI**3
77 rxNormIss=-(rxi*rxss+ryi*ryss+rxs*rxs+rys*rys)*rxNormI**3 -3.*(rxi*rxs+ryi*rys)*rxNormI**2*rxNormIs
80 n1s=rxs*rxNormI + rxi*rxNormIs
81 n1ss=rxss*rxNormI + 2.*rxs*rxNormIs + rxi*rxNormIss
83 n2s=rys*rxNormI + ryi*rxNormIs
84 n2ss=ryss*rxNormI + 2.*rys*rxNormIs + ryi*rxNormIss
85 an1=alpha1*(n1*rxi+n2*ryi)
86 an2=alpha2*(n1*sxi+n2*syi)
87 an1s=alpha1*(n1*rxs+n2*rys+n1s*rxi+n2s*ryi)
88 an1ss=alpha1*(n1*rxss+n2*ryss+2.*(n1s*rxs+n2s*rys)+n1ss*rxi+n2ss*ryi)
89 an2s=alpha2*(n1*sxs+n2*sys + n1s*sxi+n2s*syi)
90 an2ss=alpha2*(n1*sxss+n2*syss + 2.*(n1s*sxs+n2s*sys) + n1ss*sxi+n2ss*syi)
92 sxNormI=1./sqrt(sxi**2+syi**2)
93 sxNormIr=-(sxi*sxr+syi*syr)*sxNormI**3
94 sxNormIrr=-(sxi*sxrr+syi*syrr+sxr*sxr+syr*syr)*sxNormI**3 -3.*(sxi*sxr+syi*syr)*sxNormI**2*sxNormIr
97 n1r=sxr*sxNormI + sxi*sxNormIr
98 n1rr=sxrr*sxNormI + 2.*sxr*sxNormIr + sxi*sxNormIrr
100 n2r=syr*sxNormI + syi*sxNormIr
101 n2rr=syrr*sxNormI + 2.*syr*sxNormIr + syi*sxNormIrr
102 an1=alpha1*(n1*rxi+n2*ryi)
103 an2=alpha2*(n1*sxi+n2*syi)
104 an1r=alpha1*(n1*rxr+n1r*rxi + n2*ryr+n2r*ryi)
105 an1rr=alpha1*(n1*rxrr+n2*ryrr+ 2.*(n1r*rxr+n2r*ryr) + n1rr*rxi+n2rr*ryi)
106 an2r=alpha2*(n1*sxr+n1r*sxi + n2*syr+n2r*syi)
107 an2rr=alpha2*(n1*sxrr+n2*syrr+ 2.*(n1r*sxr+n2r*syr) + n1rr*sxi+n2rr*syi)
111 c11r=2.*(rxi*rxr+ryi*ryr)
112 c11s=2.*(rxi*rxs+ryi*rys)
113 c12=2.*(rxi*sxi+ryi*syi)
114 c12r=2.*(rxr*sxi+rxi*sxr + ryr*syi+ ryi*syr)
115 c12s=2.*(rxs*sxi+rxi*sxs + rys*syi+ ryi*sys)
117 c22r=2.*(sxi*sxr+syi*syr)
118 c22s=2.*(sxi*sxs+syi*sys)
129 c Coefficients of u(i1-2,i2,i3) u(i1-1,i2,i3) u(i1,i2,i3) u(i1+1,i2,i3) u(i1+2,i2,i3)
131 c um1=1/dr**3+1/dr**2*br2
132 c u0 =-b0-2/dr**2*br2
133 c up1=1/dr**2*br2-1/dr**3
136 b0=-(c12*c1*an1**2*an2*c0+c1s*an1*a0*c12**2*an2-c22s*an1*c12**2*an1s*a0-c0s*an1**2*c12**2*an2+2*an2s*c12**3*an1s*a0+c12**2*an1ss*a0*c22*an1-2*c12**2*an2s*c1*an1*a0-c0r*an1**3*c11*c22+c0r*an1**2*c11*c12*an2+c1r*an1**2*c11*a0*c22-c22r*an1**2*c11*c1*a0-c1r*an1*c11*a0*c12*an2-c12r*an1**2*c11*an2*c0+c12r*an1*c11*an2*c1*a0-c2*an1**2*c11*an2*c0+c2*an1*c11*an2*c1*a0+c22r*an1**3*c11*c0-c22**2*c11*an1ss*a0*an1+c22*c11*c1*an1*a0**2-c22*c11*c12*an1s*a0**2-2*c22*c11*an2s*c0*an1**2+2*c22**2*c11*an1s**2*a0-c12*c1s*an1**2*a0*c22-c12*c22s*an1**3*c0-c12*c2*an1**3*c0-c12*c1**2*an1*an2*a0+c12*c2*an1**2*c1*a0+2*c12**2*an2s*c0*an1**2-an1ss*a0*c12**3*an2-2*c12**2*an1s*an2*c0*an1+c12**3*an1s*a0**2+2*c22*c11*an2s*c1*an1*a0-2*c22*c11*an2s*c12*an1s*a0+c12*c12s*an1*an1s*a0*c22-c12*c12s*an1*an2*c1*a0+c12*c0s*an1**3*c22+c12*c1*an1*an1s*a0*c22+c12**2*a0*c0*an1**2-2*c12**2*an1s**2*a0*c22-c12**2*c1*an1*a0**2+2*c12**2*an1s*an2*c1*a0+c22r*an1*c11*c12*an1s*a0-c12r*an1*c11*an1s*a0*c22-c0*an1*c11*a0*c12*an2-c2*an1*c11*an1s*a0*c22+c22*c11*an1ss*a0*c12*an2-2*c22*c11*an1s*an2*c1*a0+2*c22*c11*an1s*an2*c0*an1+c12*c12s*an1**2*an2*c0+c12*c22s*an1**2*c1*a0-c2*an1*c12**2*an1s*a0)/an1**2/(c12*an2-c22*an1)/c11**2
138 b1=1/an1**2*(2*c12**2*an2s*c1*an1*an2+c12*c12s*an1**2*an2s*c22+c12*c12s*an1**2*a0*c22+c22r*an1**2*c11*c12*a0-c22r*an1*c11*c12*an1s*an2+c22r*an1**2*c11*c1*an2+c1r*an1*c11*an2**2*c12-c1r*an1**2*c11*an2*c22-c12*c12s*an1**2*an2*c2-c12*c12s*an1*an1s*an2*c22-c2r*an1**2*c11*c12*an2+c12**2*a0*c1*an1*an2+3*c12**2*an1s*an2*c2*an1-2*c12**2*an1s*an2s*an1*c22+2*c12**3*an2s**2*an1-c12r*an1*c11*c1*an2**2-c2*an1*c11*c1*an2**2+c0*an1*c11*an2**2*c12-c0*an1**2*c11*an2*c22+c12r*an1**2*c11*an2*c2-3*c22*c11*an2s*c12*a0*an1+2*c22*c11*an2s*c12*an1s*an2+c2**2*an1**2*c11*an2-c22*c11*c12*a0**2*an1+2*c22*c11*an1s*c1*an2**2-c22*c11*an1ss*an2**2*c12-2*c22*c11*an2s*c1*an1*an2+c22*c11*an2ss*an1*c12*an2+c22*c11*a0*c12*an1s*an2-c22*c11*an1s*an2*c2*an1+2*c22**2*c11*an1s*an2s*an1+2*c22**2*c11*an1s*a0*an1+c22**2*c11*an1ss*an2*an1+3*an2s*c12**3*a0*an1-2*an2s*c12**3*an1s*an2-an2ss*an1*c12**3*an2+2*c12**2*an1s**2*an2*c22-2*c12**2*an1s*c1*an2**2+c12*c1**2*an1*an2**2-c12*c0*an1**3*c22+c12*c22s*an1**3*c2-2*c12**2*an1s*a0*an1*c22-c12**2*an1ss*an2*c22*an1-a0*c12**3*an1s*an2+c12**2*an2ss*an1**2*c22-2*c12**2*a0*c2*an1**2-3*c12**2*an2s*c2*an1**2-2*c12*c1*an1**2*an2*c2+c12*c1*an1**2*an2s*c22+c12*c1*an1**2*a0*c22-2*c22*c11*c12*an2s**2*an1+c22*c11*an2s*c2*an1**2-c12*c22s*an1**2*c1*an2+c12*c1s*an1**2*an2*c22-c22*c11*a0*c1*an1*an2-c12r*an1**2*c11*an2s*c22-c12r*an1**2*c11*a0*c22+c12r*an1*c11*an1s*an2*c22+c22r*an1**2*c11*c12*an2s+c12**3*a0**2*an1-c12*c2s*an1**3*c22-c22**2*c11*an2ss*an1**2-2*c22**2*c11*an1s**2*an2-c22r*an1**3*c11*c2+c2r*an1**3*c11*c22-c12*c1*an1*an1s*an2*c22+c12*c12s*an1*c1*an2**2+c22s*an1*c12**2*an1s*an2-c1s*an1*an2**2*c12**2+c2s*an1**2*c12**2*an2-c22s*an1**2*c12**2*a0+c0*an1**2*c12**2*an2-c22s*an1**2*c12**2*an2s+c12*c2**2*an1**3+an1ss*an2**2*c12**3)/(c12*an2-c22*an1)/c11**2
140 br2=1/an1*(-c11s*an1*c12**2*an2+2*c12**2*an2s*c11*an1+c12**2*a0*c11*an1+2*c12*c1*an1*an2*c11+c12*c12s*an1*an2*c11-c12*c2*an1**2*c11-c12*c22s*an1**2*c11+c12*c11s*an1**2*c22-2*c22*c11**2*an2s*an1-c22*c11**2*a0*an1+2*c22*c11**2*an1s*an2-c1*an1**2*c11*c22-c2*an1*c11**2*an2+c22r*an1**2*c11**2-c12r*an1*c11**2*an2+c11r*an1*c11*c12*an2-c11r*an1**2*c11*c22-2*c12**2*an1s*an2*c11)/(c12*an2-c22*an1)/c11**2
142 b3=-(an2*c12**2-an2*c22*c11-c22*an1*c12)/an1/c11**2
144 bf=1/an1**2*(2*c12**2*an1s*an1*c22-c12*c1*an1**2*c22-c12*c12s*an1**2*c22+2*c22*c11*an2s*c12*an1+c22*c11*a0*c12*an1-2*c22**2*c11*an1s*an1+c2*an1**2*c11*c22+c12r*an1**2*c11*c22-c22r*an1**2*c11*c12-2*an2s*c12**3*an1-a0*c12**3*an1+c2*an1**2*c12**2+c22s*an1**2*c12**2)/(c12*an2-c22*an1)/c11**2*gs+1/an1**2*(-c22*c11*an1*c12*an2+an1*c12**3*an2-c12**2*an1**2*c22+c22**2*c11*an1**2)/(c12*an2-c22*an1)/c11**2*gss+1/an1**2*(-2*c12**2*an1s*an2*an1+c12*c1*an1**2*an2+c12*c12s*an1**2*an2+2*c22*c11*an1s*an2*an1-c22*c11*a0*an1**2-2*c22*c11*an2s*an1**2-c2*an1**2*c11*an2+c22r*an1**3*c11-c12r*an1**2*c11*an2+c12**2*a0*an1**2+2*c12**2*an2s*an1**2-c12*c2*an1**3-c12*c22s*an1**3)/(c12*an2-c22*an1)/c11**2*ff+1/an1**2*(-an1**2*c12**2*an2+c12*an1**3*c22)/(c12*an2-c22*an1)/c11**2*ffs+1/an1**2*(-an1**3*c11*c22+an1**2*c11*c12*an2)/(c12*an2-c22*an1)/c11**2*ffr+1/an1**2*(-2*c12**2*an2s*c1*an1-c22s*an1*c12**2*an1s-c2*an1*c12**2*an1s+c1s*an1*c12**2*an2-an1ss*c12**3*an2-2*c12**2*an1s**2*c22+c22r*an1*c11*c12*an1s-c12r*an1*c11*an1s*c22+c12r*an1*c11*an2*c1-c22r*an1**2*c11*c1-c0*an1*c11*c12*an2+2*an2s*c12**3*an1s-c2*an1*c11*an1s*c22-c12*c1s*an1**2*c22+c12*c22s*an1**2*c1+c2*an1*c11*an2*c1+c12**2*an1ss*c22*an1-c12**2*a0*c1*an1+c22*c11*an1ss*c12*an2-2*c22*c11*an1s*an2*c1+c22*c11*a0*c1*an1-c22**2*c11*an1ss*an1+c0*an1**2*c11*c22+c12*c12s*an1*an1s*c22-c12*c1**2*an1*an2-c12*c12s*an1*an2*c1+c12*c2*an1**2*c1-2*c22*c11*an2s*c12*an1s+a0*c12**3*an1s+c12*c1*an1*an1s*c22+2*c12**2*an1s*an2*c1+2*c22**2*c11*an1s**2+2*c22*c11*an2s*c1*an1-c22*c11*a0*c12*an1s-c1r*an1*c11*c12*an2+c1r*an1**2*c11*c22)/(c12*an2-c22*an1)/c11**2*g
147 b0=-(c12*c2*an2**2*an1*c0+c2r*an2*a0*c12**2*an1-c11r*an2*c12**2*an2r*a0-c0r*an2**2*c12**2*an1+2*an1r*c12**3*an2r*a0+c12**2*an2rr*a0*c11*an2-2*c12**2*an1r*c2*an2*a0-c0s*an2**3*c22*c11+c0s*an2**2*c22*c12*an1+c2s*an2**2*c22*a0*c11-c11s*an2**2*c22*c2*a0-c2s*an2*c22*a0*c12*an1-c12s*an2**2*c22*an1*c0+c12s*an2*c22*an1*c2*a0-c1*an2**2*c22*an1*c0+c1*an2*c22*an1*c2*a0+c11s*an2**3*c22*c0-c11**2*c22*an2rr*a0*an2+c11*c22*c2*an2*a0**2-c11*c22*c12*an2r*a0**2-2*c11*c22*an1r*c0*an2**2+2*c11**2*c22*an2r**2*a0-c12*c2r*an2**2*a0*c11-c12*c11r*an2**3*c0-c12*c1*an2**3*c0-c12*c2**2*an2*an1*a0+c12*c1*an2**2*c2*a0+2*c12**2*an1r*c0*an2**2-an2rr*a0*c12**3*an1-2*c12**2*an2r*an1*c0*an2+c12**3*an2r*a0**2+2*c11*c22*an1r*c2*an2*a0-2*c11*c22*an1r*c12*an2r*a0+c12*c12r*an2*an2r*a0*c11-c12*c12r*an2*an1*c2*a0+c12*c0r*an2**3*c11+c12*c2*an2*an2r*a0*c11+c12**2*a0*c0*an2**2-2*c12**2*an2r**2*a0*c11-c12**2*c2*an2*a0**2+2*c12**2*an2r*an1*c2*a0+c11s*an2*c22*c12*an2r*a0-c12s*an2*c22*an2r*a0*c11-c0*an2*c22*a0*c12*an1-c1*an2*c22*an2r*a0*c11+c11*c22*an2rr*a0*c12*an1-2*c11*c22*an2r*an1*c2*a0+2*c11*c22*an2r*an1*c0*an2+c12*c12r*an2**2*an1*c0+c12*c11r*an2**2*c2*a0-c1*an2*c12**2*an2r*a0)/an2**2/(c12*an1-c11*an2)/c22**2
149 b1=1/an2**2*(2*c12**2*an1r*c2*an2*an1+c12*c12r*an2**2*an1r*c11+c12*c12r*an2**2*a0*c11+c11s*an2**2*c22*c12*a0-c11s*an2*c22*c12*an2r*an1+c11s*an2**2*c22*c2*an1+c2s*an2*c22*an1**2*c12-c2s*an2**2*c22*an1*c11-c12*c12r*an2**2*an1*c1-c12*c12r*an2*an2r*an1*c11-c1s*an2**2*c22*c12*an1+c12**2*a0*c2*an2*an1+3*c12**2*an2r*an1*c1*an2-2*c12**2*an2r*an1r*an2*c11+2*c12**3*an1r**2*an2-c12s*an2*c22*c2*an1**2-c1*an2*c22*c2*an1**2+c0*an2*c22*an1**2*c12-c0*an2**2*c22*an1*c11+c12s*an2**2*c22*an1*c1-3*c11*c22*an1r*c12*a0*an2+2*c11*c22*an1r*c12*an2r*an1+c1**2*an2**2*c22*an1-c11*c22*c12*a0**2*an2+2*c11*c22*an2r*c2*an1**2-c11*c22*an2rr*an1**2*c12-2*c11*c22*an1r*c2*an2*an1+c11*c22*an1rr*an2*c12*an1+c11*c22*a0*c12*an2r*an1-c11*c22*an2r*an1*c1*an2+2*c11**2*c22*an2r*an1r*an2+2*c11**2*c22*an2r*a0*an2+c11**2*c22*an2rr*an1*an2+3*an1r*c12**3*a0*an2-2*an1r*c12**3*an2r*an1-an1rr*an2*c12**3*an1+2*c12**2*an2r**2*an1*c11-2*c12**2*an2r*c2*an1**2+c12*c2**2*an2*an1**2-c12*c0*an2**3*c11+c12*c11r*an2**3*c1-2*c12**2*an2r*a0*an2*c11-c12**2*an2rr*an1*c11*an2-a0*c12**3*an2r*an1+c12**2*an1rr*an2**2*c11-2*c12**2*a0*c1*an2**2-3*c12**2*an1r*c1*an2**2-2*c12*c2*an2**2*an1*c1+c12*c2*an2**2*an1r*c11+c12*c2*an2**2*a0*c11-2*c11*c22*c12*an1r**2*an2+c11*c22*an1r*c1*an2**2-c12*c11r*an2**2*c2*an1+c12*c2r*an2**2*an1*c11-c11*c22*a0*c2*an2*an1-c12s*an2**2*c22*an1r*c11-c12s*an2**2*c22*a0*c11+c12s*an2*c22*an2r*an1*c11+c11s*an2**2*c22*c12*an1r+c12**3*a0**2*an2-c12*c1r*an2**3*c11-c11**2*c22*an1rr*an2**2-2*c11**2*c22*an2r**2*an1-c11s*an2**3*c22*c1+c1s*an2**3*c22*c11-c12*c2*an2*an2r*an1*c11+c12*c12r*an2*c2*an1**2+c11r*an2*c12**2*an2r*an1-c2r*an2*an1**2*c12**2+c1r*an2**2*c12**2*an1-c11r*an2**2*c12**2*a0+c0*an2**2*c12**2*an1-c11r*an2**2*c12**2*an1r+c12*c1**2*an2**3+an2rr*an1**2*c12**3)/(c12*an1-c11*an2)/c22**2
151 br2=1/an2*(-c22r*an2*c12**2*an1+2*c12**2*an1r*c22*an2+c12**2*a0*c22*an2+2*c12*c2*an2*an1*c22+c12*c12r*an2*an1*c22-c12*c1*an2**2*c22-c12*c11r*an2**2*c22+c12*c22r*an2**2*c11-2*c11*c22**2*an1r*an2-c11*c22**2*a0*an2+2*c11*c22**2*an2r*an1-c2*an2**2*c22*c11-c1*an2*c22**2*an1+c11s*an2**2*c22**2-c12s*an2*c22**2*an1+c22s*an2*c22*c12*an1-c22s*an2**2*c22*c11-2*c12**2*an2r*an1*c22)/(c12*an1-c11*an2)/c22**2
153 b3=-(an1*c12**2-an1*c11*c22-c11*an2*c12)/an2/c22**2
155 bf=1/an2**2*(2*c12**2*an2r*an2*c11-c12*c2*an2**2*c11-c12*c12r*an2**2*c11+2*c11*c22*an1r*c12*an2+c11*c22*a0*c12*an2-2*c11**2*c22*an2r*an2+c1*an2**2*c22*c11+c12s*an2**2*c22*c11-c11s*an2**2*c22*c12-2*an1r*c12**3*an2-a0*c12**3*an2+c1*an2**2*c12**2+c11r*an2**2*c12**2)/(c12*an1-c11*an2)/c22**2*gr+1/an2**2*(-c11*c22*an2*c12*an1+an2*c12**3*an1-c12**2*an2**2*c11+c11**2*c22*an2**2)/(c12*an1-c11*an2)/c22**2*grr+1/an2**2*(-2*c12**2*an2r*an1*an2+c12*c2*an2**2*an1+c12*c12r*an2**2*an1+2*c11*c22*an2r*an1*an2-c11*c22*a0*an2**2-2*c11*c22*an1r*an2**2-c1*an2**2*c22*an1+c11s*an2**3*c22-c12s*an2**2*c22*an1+c12**2*a0*an2**2+2*c12**2*an1r*an2**2-c12*c1*an2**3-c12*c11r*an2**3)/(c12*an1-c11*an2)/c22**2*ff+1/an2**2*(-an2**2*c12**2*an1+c12*an2**3*c11)/(c12*an1-c11*an2)/c22**2*ffr+1/an2**2*(-an2**3*c22*c11+an2**2*c22*c12*an1)/(c12*an1-c11*an2)/c22**2*ffs+1/an2**2*(-2*c12**2*an1r*c2*an2-c11r*an2*c12**2*an2r-c1*an2*c12**2*an2r+c2r*an2*c12**2*an1-an2rr*c12**3*an1-2*c12**2*an2r**2*c11+c11s*an2*c22*c12*an2r-c12s*an2*c22*an2r*c11+c12s*an2*c22*an1*c2-c11s*an2**2*c22*c2-c0*an2*c22*c12*an1+2*an1r*c12**3*an2r-c1*an2*c22*an2r*c11-c12*c2r*an2**2*c11+c12*c11r*an2**2*c2+c1*an2*c22*an1*c2+c12**2*an2rr*c11*an2-c12**2*a0*c2*an2+c11*c22*an2rr*c12*an1-2*c11*c22*an2r*an1*c2+c11*c22*a0*c2*an2-c11**2*c22*an2rr*an2+c0*an2**2*c22*c11+c12*c12r*an2*an2r*c11-c12*c2**2*an2*an1-c12*c12r*an2*an1*c2+c12*c1*an2**2*c2-2*c11*c22*an1r*c12*an2r+a0*c12**3*an2r+c12*c2*an2*an2r*c11+2*c12**2*an2r*an1*c2+2*c11**2*c22*an2r**2+2*c11*c22*an1r*c2*an2-c11*c22*a0*c12*an2r-c2s*an2*c22*c12*an1+c2s*an2**2*c22*c11)/(c12*an1-c11*an2)/c22**2*g
159 c Solution
for ur4=ga, urrr2+br2*urr2 = gb is
160 c u(i1-1,i2,i3) = 2*br2*drn/(-3+br2*drn)*u(i1,i2,i3)+(-3-br2*drn)/(-3+br2*drn)*u(i1+1,i2,i3)+(6*ga*drn+gb*drn**3)/(-3+br2*drn)
161 c u(i1-2,i2,i3) = u(i1+2,i2,i3)+16*br2*drn/(-3+br2*drn)*u(i1,i2,i3)-16*br2*drn/(-3+br2*drn)*u(i1+1,i2,i3)+(12*ga*drn+8*gb*drn**3+12*ga*drn**2*br2)/(-3+br2*drn)
163 c Solution
for ur4=ga, urrr2+br2*urr2 = gb is
164 c u(i1+1,i2,i3) = 2*br2*drn/(3+br2*drn)*u(i1,i2,i3)+(3-br2*drn)/(3+br2*drn)*u(i1-1,i2,i3)+(6*ga*drn+gb*drn**3)/(3+br2*drn)
165 c u(i1+2,i2,i3) = u(i1-2,i2,i3)+16*br2*drn/(3+br2*drn)*u(i1,i2,i3)-16*br2*drn/(3+br2*drn)*u(i1-1,i2,i3)+(12*ga*drn+8*gb*drn**3-12*ga*drn**2*br2)/(3+br2*drn)
167 c Solution
for ur4=ga, urrr2+br2*urr2 = gb, ca*u(i1-2)+cb*u(i1-1)+
cc*u = gc is
168 c u(i1-2,i2,i3) = (-3*
cc+
cc*br2*drn+2*br2*drn*cb)/(-3*cc+cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*u(i1+2,i2,i3)+(-16*
cc*br2*drn-16*br2*drn*cb)/(-3*cc+cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*u(i1+1,i2,i3)+(16*br2*drn*gc+12*ga*drn**2*
cc*br2+8*
cc*gb*drn**3+12*
cc*ga*drn+24*ga*drn**2*br2*cb)/(-3*cc+cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)
169 c u(i1,i2,i3) = -(br2*drn*ca-3*ca)/(-3*cc+cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*u(i1+2,i2,i3)-(-16*br2*drn*ca-br2*drn*cb-3*cb)/(-3*cc+cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*u(i1+1,i2,i3)-(3*gc+6*cb*ga*drn+12*br2*drn**2*ca*ga-br2*drn*gc+cb*gb*drn**3+8*ca*gb*drn**3+12*ca*ga*drn)/(-3*cc+cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)
170 c u(i1-1,i2,i3) = -2/(-3*
cc+
cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*br2*drn*ca*u(i1+2,i2,i3)-1/(-3*
cc+
cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*(3*cc+cc*br2*drn-16*br2*drn*ca)*u(i1+1,i2,i3)-1/(-3*
cc+
cc*br2*drn+16*br2*drn*ca+2*br2*drn*cb)*(-cc*gb*drn**3-6*cc*ga*drn+24*br2*drn**2*ca*ga-2*br2*drn*gc)
172 c Solution
for ur4=ga, urrr2+br2*urr2 = gb, ca*u(i1-2)+cb*u(i1-1)+
cc*u = gc is
173 c u(i1+2,i2,i3) = -(16*br2*drn*ca-3*
cc-
cc*br2*drn)/cc/(3+br2*drn)*u(i1-2,i2,i3)-(16*
cc*br2*drn+16*br2*drn*cb)/cc/(3+br2*drn)*u(i1-1,i2,i3)-(-12*
cc*ga*drn+12*ga*drn**2*
cc*br2-16*br2*drn*gc-8*
cc*gb*drn**3)/cc/(3+br2*drn)
174 c u(i1,i2,i3) = -ca/
cc*u(i1-2,i2,i3)-cb/
cc*u(i1-1,i2,i3)+gc/
cc
175 c u(i1+1,i2,i3) = -2*br2*drn*ca/
cc/(3+br2*drn)*u(i1-2,i2,i3)-(-3*
cc+
cc*br2*drn+2*br2*drn*cb)/cc/(3+br2*drn)*u(i1-1,i2,i3)-(-2*br2*drn*gc-6*
cc*ga*drn-
cc*gb*drn**3)/cc/(3+br2*drn)