/[escript]/branches/domexper/dudley/src/Assemble_PDE_System2_3D.c
ViewVC logotype

Diff of /branches/domexper/dudley/src/Assemble_PDE_System2_3D.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3204 by jfenwick, Thu Sep 23 23:59:39 2010 UTC revision 3205 by jfenwick, Fri Sep 24 00:30:43 2010 UTC
# Line 94  void Dudley_Assemble_PDE_System2_3D(Asse Line 94  void Dudley_Assemble_PDE_System2_3D(Asse
94              Y_p = getSampleDataRO(Y, e);              Y_p = getSampleDataRO(Y, e);
95              double vol = p.row_jac->absD[e] * p.row_jac->quadweight;              double vol = p.row_jac->absD[e] * p.row_jac->quadweight;
96    
97              DSDX = &(p.row_jac->DSDX[INDEX5(0, 0, 0, 0, e, p.numShapes, DIM, p.numQuadTotal, 1)]);              DSDX = &(p.row_jac->DSDX[INDEX5(0, 0, 0, 0, e, p.numShapes, DIM, p.numQuad, 1)]);
98              for (q = 0; q < len_EM_S; ++q)              for (q = 0; q < len_EM_S; ++q)
99                  EM_S[q] = 0;                  EM_S[q] = 0;
100              for (q = 0; q < len_EM_F; ++q)              for (q = 0; q < len_EM_F; ++q)
# Line 110  void Dudley_Assemble_PDE_System2_3D(Asse Line 110  void Dudley_Assemble_PDE_System2_3D(Asse
110                  add_EM_S = TRUE;                  add_EM_S = TRUE;
111                  if (extendedA)                  if (extendedA)
112                  {                  {
113                  A_q = &(A_p[INDEX6(0, 0, 0, 0, 0, 0, p.numEqu, DIM, p.numComp, DIM, p.numQuadTotal)]);                  A_q = &(A_p[INDEX6(0, 0, 0, 0, 0, 0, p.numEqu, DIM, p.numComp, DIM, p.numQuad)]);
114                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
115                  {                  {
116                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
# Line 120  void Dudley_Assemble_PDE_System2_3D(Asse Line 120  void Dudley_Assemble_PDE_System2_3D(Asse
120                          for (m = 0; m < p.numComp; m++)                          for (m = 0; m < p.numComp; m++)
121                          {                          {
122                          rtmp = 0;                          rtmp = 0;
123                          for (q = 0; q < p.numQuadTotal; q++)                          for (q = 0; q < p.numQuad; q++)
124                          {                          {
125                              rtmp +=                              rtmp +=
126                              vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *                              vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
# Line 173  void Dudley_Assemble_PDE_System2_3D(Asse Line 173  void Dudley_Assemble_PDE_System2_3D(Asse
173                      rtmp20 = 0;                      rtmp20 = 0;
174                      rtmp21 = 0;                      rtmp21 = 0;
175                      rtmp22 = 0;                      rtmp22 = 0;
176                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
177                      {                      {
178                          rtmp0 = vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                          rtmp0 = vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
179                          rtmp00 += rtmp0 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];                          rtmp00 += rtmp0 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
# Line 218  void Dudley_Assemble_PDE_System2_3D(Asse Line 218  void Dudley_Assemble_PDE_System2_3D(Asse
218                  add_EM_S = TRUE;                  add_EM_S = TRUE;
219                  if (extendedB)                  if (extendedB)
220                  {                  {
221                  B_q = &(B_p[INDEX5(0, 0, 0, 0, 0, p.numEqu, DIM, p.numComp, p.numQuadTotal)]);                  B_q = &(B_p[INDEX5(0, 0, 0, 0, 0, p.numEqu, DIM, p.numComp, p.numQuad)]);
222                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
223                  {                  {
224                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
# Line 228  void Dudley_Assemble_PDE_System2_3D(Asse Line 228  void Dudley_Assemble_PDE_System2_3D(Asse
228                          for (m = 0; m < p.numComp; m++)                          for (m = 0; m < p.numComp; m++)
229                          {                          {
230                          rtmp = 0;                          rtmp = 0;
231                          for (q = 0; q < p.numQuadTotal; q++)                          for (q = 0; q < p.numQuad; q++)
232                          {                          {
233                              rtmp +=                              rtmp +=
234                              vol * S[INDEX2(r, q, p.numShapes)] *                              vol * S[INDEX2(r, q, p.numShapes)] *
# Line 254  void Dudley_Assemble_PDE_System2_3D(Asse Line 254  void Dudley_Assemble_PDE_System2_3D(Asse
254                      rtmp0 = 0;                      rtmp0 = 0;
255                      rtmp1 = 0;                      rtmp1 = 0;
256                      rtmp2 = 0;                      rtmp2 = 0;
257                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
258                      {                      {
259                          rtmp = vol * S[INDEX2(r, q, p.numShapes)];                          rtmp = vol * S[INDEX2(r, q, p.numShapes)];
260                          rtmp0 += rtmp * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                          rtmp0 += rtmp * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
# Line 283  void Dudley_Assemble_PDE_System2_3D(Asse Line 283  void Dudley_Assemble_PDE_System2_3D(Asse
283                  add_EM_S = TRUE;                  add_EM_S = TRUE;
284                  if (extendedC)                  if (extendedC)
285                  {                  {
286                  C_q = &(C_p[INDEX5(0, 0, 0, 0, 0, p.numEqu, p.numComp, DIM, p.numQuadTotal)]);                  C_q = &(C_p[INDEX5(0, 0, 0, 0, 0, p.numEqu, p.numComp, DIM, p.numQuad)]);
287                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
288                  {                  {
289                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
# Line 293  void Dudley_Assemble_PDE_System2_3D(Asse Line 293  void Dudley_Assemble_PDE_System2_3D(Asse
293                          for (m = 0; m < p.numComp; m++)                          for (m = 0; m < p.numComp; m++)
294                          {                          {
295                          rtmp = 0;                          rtmp = 0;
296                          for (q = 0; q < p.numQuadTotal; q++)                          for (q = 0; q < p.numQuad; q++)
297                          {                          {
298                              rtmp +=                              rtmp +=
299                              vol * S[INDEX2(s, q, p.numShapes)] *                              vol * S[INDEX2(s, q, p.numShapes)] *
# Line 319  void Dudley_Assemble_PDE_System2_3D(Asse Line 319  void Dudley_Assemble_PDE_System2_3D(Asse
319                      rtmp0 = 0;                      rtmp0 = 0;
320                      rtmp1 = 0;                      rtmp1 = 0;
321                      rtmp2 = 0;                      rtmp2 = 0;
322                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
323                      {                      {
324                          rtmp = vol * S[INDEX2(s, q, p.numShapes)];                          rtmp = vol * S[INDEX2(s, q, p.numShapes)];
325                          rtmp0 += rtmp * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];                          rtmp0 += rtmp * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
# Line 348  void Dudley_Assemble_PDE_System2_3D(Asse Line 348  void Dudley_Assemble_PDE_System2_3D(Asse
348                  add_EM_S = TRUE;                  add_EM_S = TRUE;
349                  if (extendedD)                  if (extendedD)
350                  {                  {
351                  D_q = &(D_p[INDEX4(0, 0, 0, 0, p.numEqu, p.numComp, p.numQuadTotal)]);                  D_q = &(D_p[INDEX4(0, 0, 0, 0, p.numEqu, p.numComp, p.numQuad)]);
352                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
353                  {                  {
354                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
# Line 358  void Dudley_Assemble_PDE_System2_3D(Asse Line 358  void Dudley_Assemble_PDE_System2_3D(Asse
358                          for (m = 0; m < p.numComp; m++)                          for (m = 0; m < p.numComp; m++)
359                          {                          {
360                          rtmp = 0;                          rtmp = 0;
361                          for (q = 0; q < p.numQuadTotal; q++)                          for (q = 0; q < p.numQuad; q++)
362                          {                          {
363                              rtmp +=                              rtmp +=
364                              vol * S[INDEX2(s, q, p.numShapes)] *                              vol * S[INDEX2(s, q, p.numShapes)] *
# Line 378  void Dudley_Assemble_PDE_System2_3D(Asse Line 378  void Dudley_Assemble_PDE_System2_3D(Asse
378                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
379                      {                      {
380                      rtmp = 0;                      rtmp = 0;
381                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
382                          rtmp +=                          rtmp +=
383                          vol * S[INDEX2(s, q, p.numShapes)] *                          vol * S[INDEX2(s, q, p.numShapes)] *
384                          S[INDEX2(r, q, p.numShapes)];                          S[INDEX2(r, q, p.numShapes)];
# Line 402  void Dudley_Assemble_PDE_System2_3D(Asse Line 402  void Dudley_Assemble_PDE_System2_3D(Asse
402                  add_EM_F = TRUE;                  add_EM_F = TRUE;
403                  if (extendedX)                  if (extendedX)
404                  {                  {
405                  X_q = &(X_p[INDEX4(0, 0, 0, 0, p.numEqu, DIM, p.numQuadTotal)]);                  X_q = &(X_p[INDEX4(0, 0, 0, 0, p.numEqu, DIM, p.numQuad)]);
406                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
407                  {                  {
408                      for (k = 0; k < p.numEqu; k++)                      for (k = 0; k < p.numEqu; k++)
409                      {                      {
410                      rtmp = 0;                      rtmp = 0;
411                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
412                      {                      {
413                          rtmp +=                          rtmp +=
414                          vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *                          vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
# Line 428  void Dudley_Assemble_PDE_System2_3D(Asse Line 428  void Dudley_Assemble_PDE_System2_3D(Asse
428                      rtmp0 = 0;                      rtmp0 = 0;
429                      rtmp1 = 0;                      rtmp1 = 0;
430                      rtmp2 = 0;                      rtmp2 = 0;
431                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
432                      {                      {
433                      rtmp0 += vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                      rtmp0 += vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
434                      rtmp1 += vol * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];                      rtmp1 += vol * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];
# Line 450  void Dudley_Assemble_PDE_System2_3D(Asse Line 450  void Dudley_Assemble_PDE_System2_3D(Asse
450                  add_EM_F = TRUE;                  add_EM_F = TRUE;
451                  if (extendedY)                  if (extendedY)
452                  {                  {
453                  Y_q = &(Y_p[INDEX3(0, 0, 0, p.numEqu, p.numQuadTotal)]);                  Y_q = &(Y_p[INDEX3(0, 0, 0, p.numEqu, p.numQuad)]);
454                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
455                  {                  {
456                      for (k = 0; k < p.numEqu; k++)                      for (k = 0; k < p.numEqu; k++)
457                      {                      {
458                      rtmp = 0.;                      rtmp = 0.;
459                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
460                          rtmp +=                          rtmp +=
461                          vol * S[INDEX2(s, q, p.numShapes)] * Y_q[INDEX2(k, q, p.numEqu)];                          vol * S[INDEX2(s, q, p.numShapes)] * Y_q[INDEX2(k, q, p.numEqu)];
462                      EM_F[INDEX2(k, s, p.numEqu)] += rtmp;                      EM_F[INDEX2(k, s, p.numEqu)] += rtmp;
# Line 467  void Dudley_Assemble_PDE_System2_3D(Asse Line 467  void Dudley_Assemble_PDE_System2_3D(Asse
467                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
468                  {                  {
469                      rtmp = 0;                      rtmp = 0;
470                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
471                      rtmp += vol * S[INDEX2(s, q, p.numShapes)];                      rtmp += vol * S[INDEX2(s, q, p.numShapes)];
472                      for (k = 0; k < p.numEqu; k++)                      for (k = 0; k < p.numEqu; k++)
473                      EM_F[INDEX2(k, s, p.numEqu)] += rtmp * Y_p[k];                      EM_F[INDEX2(k, s, p.numEqu)] += rtmp * Y_p[k];

Legend:
Removed from v.3204  
changed lines
  Added in v.3205

  ViewVC Help
Powered by ViewVC 1.1.26