Hermes2D  3.0
shapeset_common.h
1 // This file is part of Hermes2D.
2 //
3 // Hermes2D is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 2 of the License, or
6 // (at your option) any later version.
7 //
8 // Hermes2D is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with Hermes2D. If not, see <http://www.gnu.org/licenses/>.
15 
16 #ifndef __H2D_SHAPESET_COMMON_H
17 #define __H2D_SHAPESET_COMMON_H
18 
19 // Common definitions used by the shapesets...
20 
21 #define lambda1(x,y) (((y) + 1) / 2)
22 #define lambda2(x,y) (-((x) + (y)) / 2)
23 #define lambda3(x,y) (((x) + 1) / 2)
24 
26 #define lambda1x(x,y) (0.0)
27 #define lambda2x(x,y) (-1.0 / 2.0)
28 #define lambda3x(x,y) (1.0 / 2.0)
29 
31 #define lambda1y(x,y) (1.0 / 2.0)
32 #define lambda2y(x,y) (-1.0 / 2.0)
33 #define lambda3y(x,y) (0.0)
34 
36 #define phi0(x) (-2.0 * 1.22474487139158904909864203735)
37 #define phi1(x) (-2.0 * 1.58113883008418966599944677222 * (x))
38 #define phi2(x) (-1.0 / 2.0 * 1.87082869338697069279187436616 * (5 * (x) * (x) - 1))
39 #define phi3(x) (-1.0 / 2.0 * 2.12132034355964257320253308631 * (7 * (x) * (x) - 3) * (x))
40 #define phi4(x) (-1.0 / 4.0 * 2.34520787991171477728281505677 * (21 * (x) * (x) * (x) * (x) - 14 * (x) * (x) + 1))
41 #define phi5(x) (-1.0 / 4.0 * 2.54950975679639241501411205451 * ((33 * (x) * (x) - 30) * (x) * (x) + 5) * (x))
42 #define phi6(x) (-1.0 / 32.0 * 2.73861278752583056728484891400 * (((429 * (x) * (x) - 495) * (x) * (x) + 135) * (x) * (x) - 5))
43 #define phi7(x) (-1.0 / 32.0 * 2.91547594742265023543707643877 * (((715 * (x) * (x) - 1001) * (x) * (x) + 385) * (x) * (x) - 35) * (x))
44 #define phi8(x) (-1.0 / 64.0 * 3.08220700148448822512509619073 * ((((2431 * (x) * (x) - 4004) * (x) * (x) + 2002) * (x) * (x) - 308) * (x) * (x) + 7))
45 #define phi9(x) (-1.0 / 128.0 * 6.4807406984078603784382721642 * ((((4199 * (x) * (x) - 7956) * (x) * (x) + 4914) * (x) * (x) - 1092) * (x) * (x) + 63) * (x))
46 
48 #define phi0x(x) (0)
49 #define phi1x(x) (-2.0 * 1.58113883008418966599944677222)
50 #define phi2x(x) (-1.0 / 2.0 * 1.87082869338697069279187436616 * (10 * (x)))
51 #define phi3x(x) (-1.0 / 2.0 * 2.12132034355964257320253308631 * (21.0*(x)*(x)-3.0))
52 #define phi4x(x) (-1.0 / 4.0 * 2.34520787991171477728281505677 * ((84.0*(x)*(x)-28.0)*(x)))
53 #define phi5x(x) (-1.0 / 4.0 * 2.54950975679639241501411205451 * ((165.0*(x)*(x)-90.0)*(x)*(x)+5.0))
54 #define phi6x(x) (-1.0 / 32.0 * 2.73861278752583056728484891400 * (((2574.0*(x)*(x)-1980.0)*(x)*(x)+270.0)*(x)))
55 #define phi7x(x) (-1.0 / 32.0 * 2.91547594742265023543707643877 * (((5005.0*(x)*(x)-5005.0)*(x)*(x)+1155.0)*(x)*(x)-35.0))
56 #define phi8x(x) (-1.0 / 64.0 * 3.08220700148448822512509619073 * ((((19448.0*(x)*(x)-24024.0)*(x)*(x)+8008.0)*(x)*(x)-616.0)*(x)))
57 #define phi9x(x) (-1.0 / 128.0 * 6.4807406984078603784382721642 * ((((37791.0*(x)*(x)-55692.0)*(x)*(x)+24570.0)*(x)*(x)-3276.0)*(x)*(x)-63.0))
58 
60 #define phi0xx(x) (0)
61 #define phi1xx(x) (0)
62 #define phi2xx(x) (-1.0 / 2.0 * 1.87082869338697069279187436616 * 10)
63 #define phi3xx(x) (-1.0 / 2.0 * 2.12132034355964257320253308631 * (42.0*(x)))
64 #define phi4xx(x) (-1.0 / 4.0 * 2.34520787991171477728281505677 * ((252.0*(x)*(x)-28.0)))
65 #define phi5xx(x) (-1.0 / 4.0 * 2.54950975679639241501411205451 * ((660.0*(x)*(x)*(x)-180.0*(x))))
66 #define phi6xx(x) (-1.0 / 32.0 * 2.73861278752583056728484891400 * (((12870.0*(x)*(x)-5940.0)*(x)*(x)+270.0)))
67 #define phi7xx(x) (-1.0 / 32.0 * 2.91547594742265023543707643877 * (((30030.0*(x)*(x)-20020.0)*(x)*(x)+2310.0)*(x)))
68 #define phi8xx(x) (-1.0 / 64.0 * 3.08220700148448822512509619073 * ((((136136.0*(x)*(x)-120120.0)*(x)*(x)+24024.0)*(x)*(x)-616.0)))
69 #define phi9xx(x) (-1.0 / 128.0 * 6.4807406984078603784382721642 * ((((302328.0*(x)*(x)-334152.0)*(x)*(x)+98280.0)*(x)*(x)-6552.0)*(x)*(x)))
70 
72 #define Legendre0(x) (1.0)
73 #define Legendre1(x) (x)
74 #define Legendre2(x) (1.0 / 2.0 * (3 * (x) * (x) - 1))
75 #define Legendre3(x) (1.0 / 2.0 * (5 * (x) * (x) - 3) * (x))
76 #define Legendre4(x) (1.0 / 8.0 * ((35 * (x) * (x) - 30) * (x) * (x) + 3))
77 #define Legendre5(x) (1.0 / 8.0 * ((63 * (x) * (x) - 70) * (x) * (x) + 15) * (x))
78 #define Legendre6(x) (1.0 / 16.0 * (((231 * (x) * (x) - 315) * (x) * (x) + 105) * (x) * (x) - 5))
79 #define Legendre7(x) (1.0 / 16.0 * (((429 * (x) * (x) - 693) * (x) * (x) + 315) * (x) * (x) - 35) * (x))
80 #define Legendre8(x) (1.0 / 128.0 * ((((6435 * (x) * (x) - 12012) * (x) * (x) + 6930) * (x) * (x) - 1260) * (x) * (x) + 35))
81 #define Legendre9(x) (1.0 / 128.0 * ((((12155 * (x) * (x) - 25740) * (x) * (x) + 18018) * (x) * (x) - 4620) * (x) * (x) + 315) * (x))
82 #define Legendre10(x) (1.0 / 256.0 * (((((46189 * (x) * (x) - 109395) * (x) * (x) + 90090) * (x) * (x) - 30030) * (x) * (x) + 3465) * (x) * (x) - 63))
83 
85 #define Legendre0x(x) (0.0)
86 #define Legendre1x(x) (1.0)
87 #define Legendre2x(x) (3.0 * (x))
88 #define Legendre3x(x) (15.0 / 2.0 * (x) * (x) - 3.0 / 2.0)
89 #define Legendre4x(x) (5.0 / 2.0 * (x) * (7.0 * (x) * (x) - 3.0))
90 #define Legendre5x(x) ((315.0 / 8.0 * (x) * (x) - 105.0 / 4.0) * (x) * (x) + 15.0 / 8.0)
91 #define Legendre6x(x) (21.0 / 8.0 * (x) * ((33.0 * (x) * (x) - 30.0) * (x) * (x) + 5.0))
92 #define Legendre7x(x) (((3003.0 / 16.0 * (x) * (x) - 3465.0 / 16.0) * (x) * (x) + 945.0 / 16.0) * (x) * (x) - 35.0 / 16.0)
93 #define Legendre8x(x) (9.0 / 16.0 * (x) * (((715.0 * (x) * (x) - 1001.0) * (x) * (x) + 385.0) * (x) * (x) - 35.0))
94 #define Legendre9x(x) ((((109395.0 / 128.0 * (x) * (x) - 45045.0 / 32.0) * (x) * (x) + 45045.0 / 64.0) * (x) * (x) - 3465.0 / 32.0) * (x) * (x) + 315.0 / 128.0)
95 #define Legendre10x(x) (2.0 / 256.0 * (x) * ((((230945.0 * (x) * (x) - 437580.0) * (x) * (x) + 270270.0) * (x) * (x) - 60060.0) * (x) * (x) + 3465.0))
96 
98 #define Legendre0xx(x) (0.0)
99 #define Legendre1xx(x) (0.0)
100 #define Legendre2xx(x) (3.0)
101 #define Legendre3xx(x) (15.0 * (x))
102 #define Legendre4xx(x) (105.0 / 2.0 * (x) * (x) - 15.0 / 2.0)
103 #define Legendre5xx(x) (105.0 / 2.0 * (x) * (3.0 * (x) * (x) - 1.0))
104 #define Legendre6xx(x) ((3465.0 / 8.0 * (x) * (x) - 1890.0 / 8.0) * (x) * (x) + 105.0 / 8.0)
105 #define Legendre7xx(x) (63.0 / 8.0 * (x) * ((143.0 * (x) * (x) - 110.0) * (x) * (x) + 15.0))
106 #define Legendre8xx(x) (((45045.0 / 16.0 * (x) * (x) - 45045.0 / 16.0) * (x) * (x) + 10395.0 / 16.0) * (x) * (x) - 315.0 / 16.0)
107 #define Legendre9xx(x) (45.0 / 16.0 * (x) * (((2431.0 * (x) * (x) - 3003.0) * (x) * (x) + 1001.0) * (x) * (x) - 77.0))
108 #define Legendre10xx(x) ((((2078505.0 / 128.0 * (x) * (x) - 765765.0 / 32.0) * (x) * (x) + 675675.0 / 64.0) * (x) * (x) - 45045.0 / 32.0) * (x) * (x) + 3465.0 / 128.0)
109 
111 #define l0(x) ((1.0 - (x)) * 0.5)
112 #define l1(x) ((1.0 + (x)) * 0.5)
113 
114 #define l0l1(x) ((1.0 - (x)*(x)) * 0.25)
115 
117 #define l2(x) (phi0(x) * l0l1(x))
118 #define l3(x) (phi1(x) * l0l1(x))
119 #define l4(x) (phi2(x) * l0l1(x))
120 #define l5(x) (phi3(x) * l0l1(x))
121 #define l6(x) (phi4(x) * l0l1(x))
122 #define l7(x) (phi5(x) * l0l1(x))
123 #define l8(x) (phi6(x) * l0l1(x))
124 #define l9(x) (phi7(x) * l0l1(x))
125 #define l10(x) (phi8(x) * l0l1(x))
126 #define l11(x) (phi9(x) * l0l1(x))
127 
129 #define dl0(x) (-0.5)
130 #define dl1(x) (0.5)
131 #define dl2(x) (sqrt(3.0/2.0) * Legendre1(x))
132 #define dl3(x) (sqrt(5.0/2.0) * Legendre2(x))
133 #define dl4(x) (sqrt(7.0/2.0) * Legendre3(x))
134 #define dl5(x) (sqrt(9.0/2.0) * Legendre4(x))
135 #define dl6(x) (sqrt(11.0/2.0) * Legendre5(x))
136 #define dl7(x) (sqrt(13.0/2.0) * Legendre6(x))
137 #define dl8(x) (sqrt(15.0/2.0) * Legendre7(x))
138 #define dl9(x) (sqrt(17.0/2.0) * Legendre8(x))
139 #define dl10(x) (sqrt(19.0/2.0) * Legendre9(x))
140 #define dl11(x) (sqrt(21.0/2.0) * Legendre10(x))
141 
143 #define d2l0(x) (0.0)
144 #define d2l1(x) (0.0)
145 #define d2l2(x) (sqrt(3.0/2.0) * Legendre1x(x))
146 #define d2l3(x) (sqrt(5.0/2.0) * Legendre2x(x))
147 #define d2l4(x) (sqrt(7.0/2.0) * Legendre3x(x))
148 #define d2l5(x) (sqrt(9.0/2.0) * Legendre4x(x))
149 #define d2l6(x) (sqrt(11.0/2.0) * Legendre5x(x))
150 #define d2l7(x) (sqrt(13.0/2.0) * Legendre6x(x))
151 #define d2l8(x) (sqrt(15.0/2.0) * Legendre7x(x))
152 #define d2l9(x) (sqrt(17.0/2.0) * Legendre8x(x))
153 #define d2l10(x) (sqrt(19.0/2.0) * Legendre9x(x))
154 #define d2l11(x) (sqrt(21.0/2.0) * Legendre10x(x))
155 
156 
158 
160 #define n11 0.0
161 #define n12 -1.0
162 #define n21 0.707106781186547524400844362105
163 #define n22 0.707106781186547524400844362105
164 #define n31 -1.0
165 #define n32 0.0
166 
168 #define n2t1 0.707106781186547524400844362105
169 #define n3t1 -1.0
170 #define n3t2 0.707106781186547524400844362105
171 #define n1t2 -0.707106781186547524400844362105
172 #define n1t3 1.0
173 #define n2t3 -0.707106781186547524400844362105
174 
175 /*
176 // outward unit normal vectors to the reference triangle
177 #define n11 0.0
178 #define n12 -1.0
179 #define n21 1.0
180 #define n22 1.0
181 #define n31 -1.0
182 #define n32 0.0
183 
184 // inner products of normals and tangents
185 #define n2t1 1.0
186 #define n3t1 -1.0
187 #define n3t2 1.0
188 #define n1t2 -1.0
189 #define n1t3 1.0
190 #define n2t3 -1.0
191 */
192 /*
193 // Whitney functions
194 #define psi0e1_1(x,y) ((lambda3(x,y) * n21 / n2t1 + lambda2(x,y) * n31 / n3t1)/ 2.0)
195 #define psi0e1_2(x,y) ((lambda3(x,y) * n22 / n2t1 + lambda2(x,y) * n32 / n3t1)/ 2.0)
196 #define psi0e2_1(x,y) ((lambda1(x,y) * n31 / n3t2 + lambda3(x,y) * n11 / n1t2)/ 2.82842712474619)
197 #define psi0e2_2(x,y) ((lambda1(x,y) * n32 / n3t2 + lambda3(x,y) * n12 / n1t2)/ 2.82842712474619)
198 #define psi0e3_1(x,y) ((lambda2(x,y) * n11 / n1t3 + lambda1(x,y) * n21 / n2t3)/ 2.0)
199 #define psi0e3_2(x,y) ((lambda2(x,y) * n12 / n1t3 + lambda1(x,y) * n22 / n2t3)/ 2.0)
200 
201 // x derivatives of Whitney functions
202 #define psi0e1x_1(x,y) ((lambda3x(x,y) * n21 / n2t1 + lambda2x(x,y) * n31 / n3t1)/2.0)
203 #define psi0e1x_2(x,y) ((lambda3x(x,y) * n22 / n2t1 + lambda2x(x,y) * n32 / n3t1)/2.0)
204 #define psi0e2x_1(x,y) ((lambda1x(x,y) * n31 / n3t2 + lambda3x(x,y) * n11 / n1t2)/ 2.82842712474619)
205 #define psi0e2x_2(x,y) ((lambda1x(x,y) * n32 / n3t2 + lambda3x(x,y) * n12 / n1t2)/ 2.82842712474619)
206 #define psi0e3x_1(x,y) ((lambda2x(x,y) * n11 / n1t3 + lambda1x(x,y) * n21 / n2t3)/2.0)
207 #define psi0e3x_2(x,y) ((lambda2x(x,y) * n12 / n1t3 + lambda1x(x,y) * n22 / n2t3)/2.0)
208 
209 // y derivatives of Whitney functions
210 #define psi0e1y_1(x,y) ((lambda3y(x,y) * n21 / n2t1 + lambda2y(x,y) * n31 / n3t1)/2.0)
211 #define psi0e1y_2(x,y) ((lambda3y(x,y) * n22 / n2t1 + lambda2y(x,y) * n32 / n3t1)/2.0)
212 #define psi0e2y_1(x,y) ((lambda1y(x,y) * n31 / n3t2 + lambda3y(x,y) * n11 / n1t2)/ 2.82842712474619)
213 #define psi0e2y_2(x,y) ((lambda1y(x,y) * n32 / n3t2 + lambda3y(x,y) * n12 / n1t2)/ 2.82842712474619)
214 #define psi0e3y_1(x,y) ((lambda2y(x,y) * n11 / n1t3 + lambda1y(x,y) * n21 / n2t3)/2.0)
215 #define psi0e3y_2(x,y) ((lambda2y(x,y) * n12 / n1t3 + lambda1y(x,y) * n22 / n2t3)/2.0)
216 
217 // linear edge functions
218 #define psi1e1_1(x,y) ((lambda3(x,y) * n21 / n2t1 - lambda2(x,y) * n31 / n3t1)/2.0)
219 #define psi1e1_2(x,y) ((lambda3(x,y) * n22 / n2t1 - lambda2(x,y) * n32 / n3t1)/2.0)
220 #define psi1e2_1(x,y) ((lambda1(x,y) * n31 / n3t2 - lambda3(x,y) * n11 / n1t2)/ 2.82842712474619)
221 #define psi1e2_2(x,y) ((lambda1(x,y) * n32 / n3t2 - lambda3(x,y) * n12 / n1t2)/ 2.82842712474619)
222 #define psi1e3_1(x,y) ((lambda2(x,y) * n11 / n1t3 - lambda1(x,y) * n21 / n2t3)/2.0)
223 #define psi1e3_2(x,y) ((lambda2(x,y) * n12 / n1t3 - lambda1(x,y) * n22 / n2t3)/2.0)
224 
225 // x derivatives of linear edge functions
226 #define psi1e1x_1(x,y) ((lambda3x(x,y) * n21 / n2t1 - lambda2x(x,y) * n31 / n3t1)/2.0)
227 #define psi1e1x_2(x,y) ((lambda3x(x,y) * n22 / n2t1 - lambda2x(x,y) * n32 / n3t1)/2.0)
228 #define psi1e2x_1(x,y) ((lambda1x(x,y) * n31 / n3t2 - lambda3x(x,y) * n11 / n1t2)/ 2.82842712474619)
229 #define psi1e2x_2(x,y) ((lambda1x(x,y) * n32 / n3t2 - lambda3x(x,y) * n12 / n1t2)/ 2.82842712474619)
230 #define psi1e3x_1(x,y) ((lambda2x(x,y) * n11 / n1t3 - lambda1x(x,y) * n21 / n2t3)/2.0)
231 #define psi1e3x_2(x,y) ((lambda2x(x,y) * n12 / n1t3 - lambda1x(x,y) * n22 / n2t3)/2.0)
232 
233 // y derivatives of linear edge functions
234 #define psi1e1y_1(x,y) ((lambda3y(x,y) * n21 / n2t1 - lambda2y(x,y) * n31 / n3t1)/2.0)
235 #define psi1e1y_2(x,y) ((lambda3y(x,y) * n22 / n2t1 - lambda2y(x,y) * n32 / n3t1)/2.0)
236 #define psi1e2y_1(x,y) ((lambda1y(x,y) * n31 / n3t2 - lambda3y(x,y) * n11 / n1t2)/ 2.82842712474619)
237 #define psi1e2y_2(x,y) ((lambda1y(x,y) * n32 / n3t2 - lambda3y(x,y) * n12 / n1t2)/ 2.82842712474619)
238 #define psi1e3y_1(x,y) ((lambda2y(x,y) * n11 / n1t3 - lambda1y(x,y) * n21 / n2t3)/2.0)
239 #define psi1e3y_2(x,y) ((lambda2y(x,y) * n12 / n1t3 - lambda1y(x,y) * n22 / n2t3)/2.0)
240 */
241 
243 #define psi0e1_1(x,y) ((lambda3(x,y) * n21 / n2t1 + lambda2(x,y) * n31 / n3t1))
244 #define psi0e1_2(x,y) ((lambda3(x,y) * n22 / n2t1 + lambda2(x,y) * n32 / n3t1))
245 #define psi0e2_1(x,y) ((lambda1(x,y) * n31 / n3t2 + lambda3(x,y) * n11 / n1t2))
246 #define psi0e2_2(x,y) ((lambda1(x,y) * n32 / n3t2 + lambda3(x,y) * n12 / n1t2))
247 #define psi0e3_1(x,y) ((lambda2(x,y) * n11 / n1t3 + lambda1(x,y) * n21 / n2t3))
248 #define psi0e3_2(x,y) ((lambda2(x,y) * n12 / n1t3 + lambda1(x,y) * n22 / n2t3))
249 
251 #define psi0e1x_1(x,y) ((lambda3x(x,y) * n21 / n2t1 + lambda2x(x,y) * n31 / n3t1))
252 #define psi0e1x_2(x,y) ((lambda3x(x,y) * n22 / n2t1 + lambda2x(x,y) * n32 / n3t1))
253 #define psi0e2x_1(x,y) ((lambda1x(x,y) * n31 / n3t2 + lambda3x(x,y) * n11 / n1t2))
254 #define psi0e2x_2(x,y) ((lambda1x(x,y) * n32 / n3t2 + lambda3x(x,y) * n12 / n1t2))
255 #define psi0e3x_1(x,y) ((lambda2x(x,y) * n11 / n1t3 + lambda1x(x,y) * n21 / n2t3))
256 #define psi0e3x_2(x,y) ((lambda2x(x,y) * n12 / n1t3 + lambda1x(x,y) * n22 / n2t3))
257 
259 #define psi0e1y_1(x,y) ((lambda3y(x,y) * n21 / n2t1 + lambda2y(x,y) * n31 / n3t1))
260 #define psi0e1y_2(x,y) ((lambda3y(x,y) * n22 / n2t1 + lambda2y(x,y) * n32 / n3t1))
261 #define psi0e2y_1(x,y) ((lambda1y(x,y) * n31 / n3t2 + lambda3y(x,y) * n11 / n1t2))
262 #define psi0e2y_2(x,y) ((lambda1y(x,y) * n32 / n3t2 + lambda3y(x,y) * n12 / n1t2))
263 #define psi0e3y_1(x,y) ((lambda2y(x,y) * n11 / n1t3 + lambda1y(x,y) * n21 / n2t3))
264 #define psi0e3y_2(x,y) ((lambda2y(x,y) * n12 / n1t3 + lambda1y(x,y) * n22 / n2t3))
265 
267 #define psi1e1_1(x,y) ((lambda3(x,y) * n21 / n2t1 - lambda2(x,y) * n31 / n3t1))
268 #define psi1e1_2(x,y) ((lambda3(x,y) * n22 / n2t1 - lambda2(x,y) * n32 / n3t1))
269 #define psi1e2_1(x,y) ((lambda1(x,y) * n31 / n3t2 - lambda3(x,y) * n11 / n1t2))
270 #define psi1e2_2(x,y) ((lambda1(x,y) * n32 / n3t2 - lambda3(x,y) * n12 / n1t2))
271 #define psi1e3_1(x,y) ((lambda2(x,y) * n11 / n1t3 - lambda1(x,y) * n21 / n2t3))
272 #define psi1e3_2(x,y) ((lambda2(x,y) * n12 / n1t3 - lambda1(x,y) * n22 / n2t3))
273 
275 #define psi1e1x_1(x,y) ((lambda3x(x,y) * n21 / n2t1 - lambda2x(x,y) * n31 / n3t1))
276 #define psi1e1x_2(x,y) ((lambda3x(x,y) * n22 / n2t1 - lambda2x(x,y) * n32 / n3t1))
277 #define psi1e2x_1(x,y) ((lambda1x(x,y) * n31 / n3t2 - lambda3x(x,y) * n11 / n1t2))
278 #define psi1e2x_2(x,y) ((lambda1x(x,y) * n32 / n3t2 - lambda3x(x,y) * n12 / n1t2))
279 #define psi1e3x_1(x,y) ((lambda2x(x,y) * n11 / n1t3 - lambda1x(x,y) * n21 / n2t3))
280 #define psi1e3x_2(x,y) ((lambda2x(x,y) * n12 / n1t3 - lambda1x(x,y) * n22 / n2t3))
281 
283 #define psi1e1y_1(x,y) ((lambda3y(x,y) * n21 / n2t1 - lambda2y(x,y) * n31 / n3t1))
284 #define psi1e1y_2(x,y) ((lambda3y(x,y) * n22 / n2t1 - lambda2y(x,y) * n32 / n3t1))
285 #define psi1e2y_1(x,y) ((lambda1y(x,y) * n31 / n3t2 - lambda3y(x,y) * n11 / n1t2))
286 #define psi1e2y_2(x,y) ((lambda1y(x,y) * n32 / n3t2 - lambda3y(x,y) * n12 / n1t2))
287 #define psi1e3y_1(x,y) ((lambda2y(x,y) * n11 / n1t3 - lambda1y(x,y) * n21 / n2t3))
288 #define psi1e3y_2(x,y) ((lambda2y(x,y) * n12 / n1t3 - lambda1y(x,y) * n22 / n2t3))
289 
290 
291 #endif