/[escript]/branches/trilinos_from_5897/dudley/src/Assemble_PDE_System2_2D.cpp
ViewVC logotype

Annotation of /branches/trilinos_from_5897/dudley/src/Assemble_PDE_System2_2D.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5593 - (hide annotations)
Fri Apr 24 01:36:26 2015 UTC (4 years, 2 months ago) by jfenwick
Original Path: trunk/dudley/src/Assemble_PDE_System2_2D.cpp
File size: 14918 byte(s)
Fixing institution name to comply with policy
1 gross 798
2 jfenwick 3981 /*****************************************************************************
3 ksteube 1811 *
4 jfenwick 5593 * Copyright (c) 2003-2015 by The University of Queensland
5 jfenwick 3981 * http://www.uq.edu.au
6 ksteube 1811 *
7     * Primary Business: Queensland, Australia
8     * Licensed under the Open Software License version 3.0
9     * http://www.opensource.org/licenses/osl-3.0.php
10     *
11 jfenwick 3981 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 jfenwick 4657 * Development 2012-2013 by School of Earth Sciences
13     * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 jfenwick 3981 *
15     *****************************************************************************/
16 ksteube 1312
17 jfenwick 3981 /************************************************************************************/
18 gross 798
19     /* assembles the system of numEq PDEs into the stiffness matrix S right hand side F */
20     /* the shape functions for test and solution must be identical */
21    
22     /* -(A_{k,i,m,j} u_m,j)_i-(B_{k,i,m} u_m)_i+C_{k,m,j} u_m,j-D_{k,m} u_m and -(X_{k,i})_i + Y_k */
23    
24     /* u has p.numComp components in a 2D domain. The shape functions for test and solution must be identical */
25     /* and row_NS == row_NN */
26    
27     /* Shape of the coefficients: */
28    
29     /* A = p.numEqu x 2 x p.numComp x 2 */
30     /* B = 2 x p.numEqu x p.numComp */
31     /* C = p.numEqu x 2 x p.numComp */
32     /* D = p.numEqu x p.numComp */
33     /* X = p.numEqu x 2 */
34     /* Y = p.numEqu */
35    
36 jfenwick 3981 /************************************************************************************/
37 gross 798
38 jfenwick 5483 #define ESNEEDPYTHON
39     #include "esysUtils/first.h"
40    
41 gross 798 #include "Assemble.h"
42     #include "Util.h"
43 gross 853 #ifdef _OPENMP
44     #include <omp.h>
45     #endif
46 gross 798
47 jfenwick 3981 /************************************************************************************/
48 gross 798
49 caltinay 3247 void Dudley_Assemble_PDE_System2_2D(Dudley_Assemble_Parameters p, Dudley_ElementFile * elements,
50 jfenwick 5480 paso::SystemMatrix_ptr Mat, escript::Data* F,
51     const escript::Data* A, const escript::Data* B, const escript::Data* C, const escript::Data* D,
52     const escript::Data* X, const escript::Data* Y)
53 jfenwick 3187 {
54 gross 798
55 jfenwick 3187 #define DIM 2
56 gross 798 index_t color;
57 jfenwick 3136 dim_t e;
58 gross 2748 __const double *A_p, *B_p, *C_p, *D_p, *X_p, *Y_p, *A_q, *B_q, *C_q, *D_q, *X_q, *Y_q;
59 jfenwick 3187 double *EM_S, *EM_F, *DSDX;
60 gross 853 index_t *row_index;
61 jfenwick 3187 register dim_t q, s, r, k, m;
62 gross 853 register double rtmp, rtmp0, rtmp1, rtmp00, rtmp10, rtmp01, rtmp11;
63 jfenwick 4521 bool add_EM_F, add_EM_S;
64 gross 853
65 jfenwick 4521 bool extendedA = isExpanded(A);
66     bool extendedB = isExpanded(B);
67     bool extendedC = isExpanded(C);
68     bool extendedD = isExpanded(D);
69     bool extendedX = isExpanded(X);
70     bool extendedY = isExpanded(Y);
71 jfenwick 3187 double *F_p = (requireWrite(F), getSampleDataRW(F, 0)); /* use comma, to get around the mixed code and declarations thing */
72 jfenwick 3224 const double *S = p.shapeFns;
73 jfenwick 3204 dim_t len_EM_S = p.numShapes * p.numShapes * p.numEqu * p.numComp;
74     dim_t len_EM_F = p.numShapes * p.numEqu;
75 gross 798
76 jfenwick 3231 #pragma omp parallel private(color,EM_S, EM_F, DSDX, A_p, B_p, C_p, D_p, X_p, Y_p, A_q, B_q, C_q, D_q, X_q, Y_q,row_index,q, s,r,k,m,rtmp, rtmp0, rtmp1, rtmp00, rtmp10, rtmp01, rtmp11,add_EM_F, add_EM_S)
77 gross 798 {
78 jfenwick 2271
79 jfenwick 4332 EM_S = new double[len_EM_S];
80     EM_F = new double[len_EM_F];
81     row_index = new index_t[p.numShapes];
82 gross 798
83 jfenwick 3187 if (!Dudley_checkPtr(EM_S) && !Dudley_checkPtr(EM_F) && !Dudley_checkPtr(row_index))
84     {
85 gross 2748
86 jfenwick 3187 for (color = elements->minColor; color <= elements->maxColor; color++)
87     {
88     /* open loop over all elements: */
89     #pragma omp for private(e) schedule(static)
90     for (e = 0; e < elements->numElements; e++)
91     {
92     if (elements->Color[e] == color)
93     {
94 jfenwick 3251 double vol = p.row_jac->absD[e] * p.row_jac->quadweight;
95 gross 2748
96 jfenwick 3187 A_p = getSampleDataRO(A, e);
97     B_p = getSampleDataRO(B, e);
98     C_p = getSampleDataRO(C, e);
99     D_p = getSampleDataRO(D, e);
100     X_p = getSampleDataRO(X, e);
101     Y_p = getSampleDataRO(Y, e);
102 jfenwick 3205 DSDX = &(p.row_jac->DSDX[INDEX5(0, 0, 0, 0, e, p.numShapes, DIM, p.numQuad, 1)]);
103 jfenwick 3187 for (q = 0; q < len_EM_S; ++q)
104     EM_S[q] = 0;
105     for (q = 0; q < len_EM_F; ++q)
106     EM_F[q] = 0;
107     add_EM_F = FALSE;
108     add_EM_S = FALSE;
109 gross 2748
110 jfenwick 3981 /************************************************************************************/
111 jfenwick 3187 /* process A: */
112 jfenwick 3981 /************************************************************************************/
113 jfenwick 3187 A_p = getSampleDataRO(A, e);
114     if (NULL != A_p)
115     {
116     add_EM_S = TRUE;
117     if (extendedA)
118     {
119 jfenwick 3205 A_q = &(A_p[INDEX6(0, 0, 0, 0, 0, 0, p.numEqu, DIM, p.numComp, DIM, p.numQuad)]);
120 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
121 jfenwick 3187 {
122 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
123 jfenwick 3187 {
124     for (k = 0; k < p.numEqu; k++)
125     {
126     for (m = 0; m < p.numComp; m++)
127     {
128     rtmp = 0;
129 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
130 jfenwick 3187 {
131     rtmp +=
132 jfenwick 3204 vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
133 jfenwick 3187 A_q[INDEX5(k, 0, m, 0, q, p.numEqu, DIM, p.numComp, DIM)]
134 jfenwick 3204 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)] +
135     DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
136 jfenwick 3187 A_q[INDEX5(k, 0, m, 1, q, p.numEqu, DIM, p.numComp, DIM)]
137 jfenwick 3204 * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)] +
138     DSDX[INDEX3(s, 1, q, p.numShapes, DIM)] *
139 jfenwick 3187 A_q[INDEX5(k, 1, m, 0, q, p.numEqu, DIM, p.numComp, DIM)]
140 jfenwick 3204 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)] +
141     DSDX[INDEX3(s, 1, q, p.numShapes, DIM)] *
142 jfenwick 3187 A_q[INDEX5(k, 1, m, 1, q, p.numEqu, DIM, p.numComp, DIM)]
143 jfenwick 3204 * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)]);
144 jfenwick 3187 }
145 jfenwick 3224 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] += rtmp;
146 jfenwick 3187 }
147     }
148     }
149     }
150 jfenwick 3224 }
151     else
152 jfenwick 3187 {
153 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
154 jfenwick 3187 {
155 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
156 jfenwick 3187 {
157     rtmp00 = 0;
158     rtmp01 = 0;
159     rtmp10 = 0;
160     rtmp11 = 0;
161 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
162 jfenwick 3187 {
163 jfenwick 3204 rtmp0 = vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
164     rtmp1 = vol * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];
165     rtmp00 += rtmp0 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
166     rtmp01 += rtmp0 * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];
167     rtmp10 += rtmp1 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
168     rtmp11 += rtmp1 * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];
169 jfenwick 3187 }
170     for (k = 0; k < p.numEqu; k++)
171     {
172     for (m = 0; m < p.numComp; m++)
173     {
174 jfenwick 3204 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] +=
175 jfenwick 3187 rtmp00 * A_p[INDEX4(k, 0, m, 0, p.numEqu, DIM, p.numComp)]
176     + rtmp01 * A_p[INDEX4(k, 0, m, 1, p.numEqu, DIM, p.numComp)]
177     + rtmp10 * A_p[INDEX4(k, 1, m, 0, p.numEqu, DIM, p.numComp)]
178     + rtmp11 * A_p[INDEX4(k, 1, m, 1, p.numEqu, DIM, p.numComp)];
179     }
180     }
181     }
182     }
183     }
184     }
185 jfenwick 3981 /************************************************************************************/
186 jfenwick 3187 /* process B: */
187 jfenwick 3981 /************************************************************************************/
188 jfenwick 3187 B_p = getSampleDataRO(B, e);
189     if (NULL != B_p)
190     {
191     add_EM_S = TRUE;
192     if (extendedB)
193     {
194 jfenwick 3205 B_q = &(B_p[INDEX5(0, 0, 0, 0, 0, p.numEqu, DIM, p.numComp, p.numQuad)]);
195 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
196 jfenwick 3187 {
197 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
198 jfenwick 3187 {
199     for (k = 0; k < p.numEqu; k++)
200     {
201     for (m = 0; m < p.numComp; m++)
202     {
203     rtmp = 0;
204 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
205 jfenwick 3187 {
206 jfenwick 3204 rtmp += vol * S[INDEX2(r, q, p.numShapes)] *
207     (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
208 jfenwick 3187 B_q[INDEX4(k, 0, m, q, p.numEqu, DIM, p.numComp)] +
209 jfenwick 3204 DSDX[INDEX3(s, 1, q, p.numShapes, DIM)] *
210 jfenwick 3187 B_q[INDEX4(k, 1, m, q, p.numEqu, DIM, p.numComp)]);
211     }
212 jfenwick 3224 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] += rtmp;
213 jfenwick 3187 }
214     }
215     }
216     }
217 jfenwick 3224 }
218     else
219 jfenwick 3187 {
220 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
221 jfenwick 3187 {
222 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
223 jfenwick 3187 {
224     rtmp0 = 0;
225     rtmp1 = 0;
226 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
227 jfenwick 3187 {
228 jfenwick 3204 rtmp = vol * S[INDEX2(r, q, p.numShapes)];
229     rtmp0 += rtmp * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
230     rtmp1 += rtmp * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];
231 jfenwick 3187 }
232     for (k = 0; k < p.numEqu; k++)
233     {
234     for (m = 0; m < p.numComp; m++)
235     {
236 jfenwick 3204 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] +=
237 jfenwick 3187 rtmp0 * B_p[INDEX3(k, 0, m, p.numEqu, DIM)] +
238     rtmp1 * B_p[INDEX3(k, 1, m, p.numEqu, DIM)];
239     }
240     }
241     }
242     }
243     }
244     }
245 jfenwick 3981 /************************************************************************************/
246 jfenwick 3187 /* process C: */
247 jfenwick 3981 /************************************************************************************/
248 jfenwick 3187 C_p = getSampleDataRO(C, e);
249     if (NULL != C_p)
250     {
251     add_EM_S = TRUE;
252     if (extendedC)
253     {
254 jfenwick 3205 C_q = &(C_p[INDEX5(0, 0, 0, 0, 0, p.numEqu, p.numComp, DIM, p.numQuad)]);
255 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
256 jfenwick 3187 {
257 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
258 jfenwick 3187 {
259     for (k = 0; k < p.numEqu; k++)
260     {
261     for (m = 0; m < p.numComp; m++)
262     {
263     rtmp = 0;
264 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
265 jfenwick 3187 {
266 jfenwick 3204 rtmp += vol * S[INDEX2(s, q, p.numShapes)] *
267 jfenwick 3187 (C_q[INDEX4(k, m, 0, q, p.numEqu, p.numComp, DIM)] *
268 jfenwick 3204 DSDX[INDEX3(r, 0, q, p.numShapes, DIM)] +
269 jfenwick 3187 C_q[INDEX4(k, m, 1, q, p.numEqu, p.numComp, DIM)] *
270 jfenwick 3204 DSDX[INDEX3(r, 1, q, p.numShapes, DIM)]);
271 jfenwick 3187 }
272 jfenwick 3224 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] += rtmp;
273 jfenwick 3187 }
274     }
275     }
276     }
277 jfenwick 3224 }
278     else
279 jfenwick 3187 {
280 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
281 jfenwick 3187 {
282 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
283 jfenwick 3187 {
284     rtmp0 = 0;
285     rtmp1 = 0;
286 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
287 jfenwick 3187 {
288 jfenwick 3204 rtmp = vol * S[INDEX2(s, q, p.numShapes)];
289     rtmp0 += rtmp * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
290     rtmp1 += rtmp * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];
291 jfenwick 3187 }
292     for (k = 0; k < p.numEqu; k++)
293     {
294     for (m = 0; m < p.numComp; m++)
295     {
296 jfenwick 3204 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] +=
297 jfenwick 3187 rtmp0 * C_p[INDEX3(k, m, 0, p.numEqu, p.numComp)] +
298     rtmp1 * C_p[INDEX3(k, m, 1, p.numEqu, p.numComp)];
299     }
300     }
301     }
302     }
303     }
304     }
305 jfenwick 3981 /*********************************************************************************** */
306 jfenwick 3187 /* process D */
307 jfenwick 3981 /************************************************************************************/
308 jfenwick 3187 D_p = getSampleDataRO(D, e);
309     if (NULL != D_p)
310     {
311     add_EM_S = TRUE;
312     if (extendedD)
313     {
314 jfenwick 3205 D_q = &(D_p[INDEX4(0, 0, 0, 0, p.numEqu, p.numComp, p.numQuad)]);
315 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
316 jfenwick 3187 {
317 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
318 jfenwick 3187 {
319     for (k = 0; k < p.numEqu; k++)
320     {
321     for (m = 0; m < p.numComp; m++)
322     {
323     rtmp = 0;
324 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
325 jfenwick 3187 {
326     rtmp +=
327 jfenwick 3204 vol * S[INDEX2(s, q, p.numShapes)] *
328 jfenwick 3187 D_q[INDEX3(k, m, q, p.numEqu, p.numComp)] *
329 jfenwick 3204 S[INDEX2(r, q, p.numShapes)];
330 jfenwick 3187 }
331 jfenwick 3224 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] += rtmp;
332 jfenwick 3187 }
333     }
334     }
335     }
336 jfenwick 3224 }
337     else
338 jfenwick 3187 {
339 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
340 jfenwick 3187 {
341 jfenwick 3204 for (r = 0; r < p.numShapes; r++)
342 jfenwick 3187 {
343     rtmp = 0;
344 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
345 jfenwick 3224 rtmp += vol * S[INDEX2(s, q, p.numShapes)] * S[INDEX2(r, q, p.numShapes)];
346 jfenwick 3187 for (k = 0; k < p.numEqu; k++)
347     {
348     for (m = 0; m < p.numComp; m++)
349     {
350 jfenwick 3204 EM_S[INDEX4(k, m, s, r, p.numEqu, p.numComp, p.numShapes)] +=
351 jfenwick 3187 rtmp * D_p[INDEX2(k, m, p.numEqu)];
352     }
353     }
354     }
355     }
356     }
357     }
358 jfenwick 3981 /************************************************************************************/
359 jfenwick 3187 /* process X: */
360 jfenwick 3981 /************************************************************************************/
361 jfenwick 3187 X_p = getSampleDataRO(X, e);
362     if (NULL != X_p)
363     {
364     add_EM_F = TRUE;
365     if (extendedX)
366     {
367 jfenwick 3205 X_q = &(X_p[INDEX4(0, 0, 0, 0, p.numEqu, DIM, p.numQuad)]);
368 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
369 jfenwick 3187 {
370     for (k = 0; k < p.numEqu; k++)
371     {
372     rtmp = 0;
373 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
374 jfenwick 3187 {
375     rtmp +=
376 jfenwick 3204 vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
377 jfenwick 3187 X_q[INDEX3(k, 0, q, p.numEqu, DIM)] +
378 jfenwick 3204 DSDX[INDEX3(s, 1, q, p.numShapes, DIM)] *
379 jfenwick 3187 X_q[INDEX3(k, 1, q, p.numEqu, DIM)]);
380     }
381     EM_F[INDEX2(k, s, p.numEqu)] += rtmp;
382     }
383     }
384 jfenwick 3224 }
385     else
386 jfenwick 3187 {
387 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
388 jfenwick 3187 {
389     rtmp0 = 0;
390     rtmp1 = 0;
391 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
392 jfenwick 3187 {
393 jfenwick 3204 rtmp0 += vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
394     rtmp1 += vol * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];
395 jfenwick 3187 }
396     for (k = 0; k < p.numEqu; k++)
397     EM_F[INDEX2(k, s, p.numEqu)] +=
398     rtmp0 * X_p[INDEX2(k, 0, p.numEqu)] + rtmp1 * X_p[INDEX2(k, 1, p.numEqu)];
399     }
400     }
401     }
402 jfenwick 3981 /************************************************************************************/
403 jfenwick 3187 /* process Y: */
404 jfenwick 3981 /************************************************************************************/
405 jfenwick 3187 Y_p = getSampleDataRO(Y, e);
406     if (NULL != Y_p)
407     {
408     add_EM_F = TRUE;
409     if (extendedY)
410     {
411 jfenwick 3205 Y_q = &(Y_p[INDEX3(0, 0, 0, p.numEqu, p.numQuad)]);
412 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
413 jfenwick 3187 {
414     for (k = 0; k < p.numEqu; k++)
415     {
416     rtmp = 0;
417 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
418 jfenwick 3224 rtmp += vol * S[INDEX2(s, q, p.numShapes)] * Y_q[INDEX2(k, q, p.numEqu)];
419 jfenwick 3187 EM_F[INDEX2(k, s, p.numEqu)] += rtmp;
420     }
421     }
422 jfenwick 3224 }
423     else
424 jfenwick 3187 {
425 jfenwick 3204 for (s = 0; s < p.numShapes; s++)
426 jfenwick 3187 {
427     rtmp = 0;
428 jfenwick 3205 for (q = 0; q < p.numQuad; q++)
429 jfenwick 3204 rtmp += vol * S[INDEX2(s, q, p.numShapes)];
430 jfenwick 3187 for (k = 0; k < p.numEqu; k++)
431     EM_F[INDEX2(k, s, p.numEqu)] += rtmp * Y_p[k];
432     }
433     }
434     }
435 jfenwick 3981 /*********************************************************************************************************************/
436 jfenwick 3187 /* add the element matrices onto the matrix and right hand side */
437 jfenwick 3981 /*********************************************************************************************************************/
438 jfenwick 3204 for (q = 0; q < p.numShapes; q++)
439 jfenwick 3187 row_index[q] = p.row_DOF[elements->Nodes[INDEX2(q, e, p.NN)]];
440 gross 798
441 jfenwick 3187 if (add_EM_F)
442 jfenwick 3224 Dudley_Util_AddScatter(p.numShapes, row_index, p.numEqu, EM_F, F_p, p.row_DOF_UpperBound);
443 jfenwick 3187 if (add_EM_S)
444 jfenwick 3204 Dudley_Assemble_addToSystemMatrix(Mat, p.numShapes, row_index, p.numEqu,
445     p.numShapes, row_index, p.numComp, EM_S);
446 jfenwick 3187
447     } /* end color check */
448     } /* end element loop */
449     } /* end color loop */
450    
451 jfenwick 4332 delete[] EM_S;
452     delete[] EM_F;
453     delete[] row_index;
454 jfenwick 3187
455     } /* end of pointer check */
456     } /* end parallel region */
457 gross 798 }
458 jfenwick 3187
459 gross 798 /*
460     * $Log$
461     */

Properties

Name Value
svn:mergeinfo /branches/4.0fordebian/dudley/src/Assemble_PDE_System2_2D.cpp:5567-5588 /branches/lapack2681/finley/src/Assemble_PDE_System2_2D.cpp:2682-2741 /branches/pasowrap/dudley/src/Assemble_PDE_System2_2D.cpp:3661-3674 /branches/py3_attempt2/dudley/src/Assemble_PDE_System2_2D.cpp:3871-3891 /branches/restext/finley/src/Assemble_PDE_System2_2D.cpp:2610-2624 /branches/ripleygmg_from_3668/dudley/src/Assemble_PDE_System2_2D.cpp:3669-3791 /branches/stage3.0/finley/src/Assemble_PDE_System2_2D.cpp:2569-2590 /branches/symbolic_from_3470/dudley/src/Assemble_PDE_System2_2D.cpp:3471-3974 /branches/symbolic_from_3470/ripley/test/python/dudley/src/Assemble_PDE_System2_2D.cpp:3517-3974 /release/3.0/finley/src/Assemble_PDE_System2_2D.cpp:2591-2601 /release/4.0/dudley/src/Assemble_PDE_System2_2D.cpp:5380-5406 /trunk/dudley/src/Assemble_PDE_System2_2D.cpp:4257-4344 /trunk/ripley/test/python/dudley/src/Assemble_PDE_System2_2D.cpp:3480-3515

  ViewVC Help
Powered by ViewVC 1.1.26