/[escript]/trunk/dudley/src/Assemble_PDE_Single2_3D.c
ViewVC logotype

Diff of /trunk/dudley/src/Assemble_PDE_Single2_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 93  void Dudley_Assemble_PDE_Single2_3D(Asse Line 93  void Dudley_Assemble_PDE_Single2_3D(Asse
93              X_p = getSampleDataRO(X, e);              X_p = getSampleDataRO(X, e);
94              Y_p = getSampleDataRO(Y, e);              Y_p = getSampleDataRO(Y, e);
95    
96  //                      Vol=&(p.row_jac->volume[INDEX3(0,0,e, p.numQuadTotal,1)]);  //                      Vol=&(p.row_jac->volume[INDEX3(0,0,e, p.numQuad,1)]);
97              double vol = p.row_jac->absD[e] * p.row_jac->quadweight;              double vol = p.row_jac->absD[e] * p.row_jac->quadweight;
98              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)]);
99              for (q = 0; q < len_EM_S; ++q)              for (q = 0; q < len_EM_S; ++q)
100                  EM_S[q] = 0;                  EM_S[q] = 0;
101              for (q = 0; q < len_EM_F; ++q)              for (q = 0; q < len_EM_F; ++q)
# Line 111  void Dudley_Assemble_PDE_Single2_3D(Asse Line 111  void Dudley_Assemble_PDE_Single2_3D(Asse
111                  add_EM_S = TRUE;                  add_EM_S = TRUE;
112                  if (extendedA)                  if (extendedA)
113                  {                  {
114                  A_q = &(A_p[INDEX4(0, 0, 0, 0, DIM, DIM, p.numQuadTotal)]);                  A_q = &(A_p[INDEX4(0, 0, 0, 0, DIM, DIM, p.numQuad)]);
115                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
116                  {                  {
117                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
118                      {                      {
119                      rtmp = 0;                      rtmp = 0;
120                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
121                      {                      {
122                          rtmp +=                          rtmp +=
123                          vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *                          vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
# Line 166  void Dudley_Assemble_PDE_Single2_3D(Asse Line 166  void Dudley_Assemble_PDE_Single2_3D(Asse
166                      rtmp20 = 0;                      rtmp20 = 0;
167                      rtmp21 = 0;                      rtmp21 = 0;
168                      rtmp22 = 0;                      rtmp22 = 0;
169                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
170                      {                      {
171    
172                          rtmp0 = vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                          rtmp0 = vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
# Line 202  void Dudley_Assemble_PDE_Single2_3D(Asse Line 202  void Dudley_Assemble_PDE_Single2_3D(Asse
202                  add_EM_S = TRUE;                  add_EM_S = TRUE;
203                  if (extendedB)                  if (extendedB)
204                  {                  {
205                  B_q = &(B_p[INDEX3(0, 0, 0, DIM, p.numQuadTotal)]);                  B_q = &(B_p[INDEX3(0, 0, 0, DIM, p.numQuad)]);
206                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
207                  {                  {
208                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
209                      {                      {
210                      rtmp = 0;                      rtmp = 0;
211                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
212                      {                      {
213                          rtmp += vol * S[INDEX2(r, q, p.numShapes)] *                          rtmp += vol * S[INDEX2(r, q, p.numShapes)] *
214                          (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *                          (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
# Line 230  void Dudley_Assemble_PDE_Single2_3D(Asse Line 230  void Dudley_Assemble_PDE_Single2_3D(Asse
230                      rtmp0 = 0;                      rtmp0 = 0;
231                      rtmp1 = 0;                      rtmp1 = 0;
232                      rtmp2 = 0;                      rtmp2 = 0;
233                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
234                      {                      {
235                          rtmp = vol * S[INDEX2(r, q, p.numShapes)];                          rtmp = vol * S[INDEX2(r, q, p.numShapes)];
236                          rtmp0 += rtmp * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                          rtmp0 += rtmp * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
# Line 251  void Dudley_Assemble_PDE_Single2_3D(Asse Line 251  void Dudley_Assemble_PDE_Single2_3D(Asse
251                  add_EM_S = TRUE;                  add_EM_S = TRUE;
252                  if (extendedC)                  if (extendedC)
253                  {                  {
254                  C_q = &(C_p[INDEX3(0, 0, 0, DIM, p.numQuadTotal)]);                  C_q = &(C_p[INDEX3(0, 0, 0, DIM, p.numQuad)]);
255                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
256                  {                  {
257                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
258                      {                      {
259                      rtmp = 0;                      rtmp = 0;
260                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
261                      {                      {
262                          rtmp += vol * S[INDEX2(s, q, p.numShapes)] *                          rtmp += vol * S[INDEX2(s, q, p.numShapes)] *
263                          (C_q[INDEX2(0, q, DIM)] *                          (C_q[INDEX2(0, q, DIM)] *
# Line 279  void Dudley_Assemble_PDE_Single2_3D(Asse Line 279  void Dudley_Assemble_PDE_Single2_3D(Asse
279                      rtmp0 = 0;                      rtmp0 = 0;
280                      rtmp1 = 0;                      rtmp1 = 0;
281                      rtmp2 = 0;                      rtmp2 = 0;
282                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
283                      {                      {
284                          rtmp = vol * S[INDEX2(s, q, p.numShapes)];                          rtmp = vol * S[INDEX2(s, q, p.numShapes)];
285                          rtmp0 += rtmp * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];                          rtmp0 += rtmp * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
# Line 300  void Dudley_Assemble_PDE_Single2_3D(Asse Line 300  void Dudley_Assemble_PDE_Single2_3D(Asse
300                  add_EM_S = TRUE;                  add_EM_S = TRUE;
301                  if (extendedD)                  if (extendedD)
302                  {                  {
303                  D_q = &(D_p[INDEX2(0, 0, p.numQuadTotal)]);                  D_q = &(D_p[INDEX2(0, 0, p.numQuad)]);
304                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
305                  {                  {
306                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
307                      {                      {
308                      rtmp = 0;                      rtmp = 0;
309                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
310                          rtmp +=                          rtmp +=
311                          vol * S[INDEX2(s, q, p.numShapes)] * D_q[q] *                          vol * S[INDEX2(s, q, p.numShapes)] * D_q[q] *
312                          S[INDEX2(r, q, p.numShapes)];                          S[INDEX2(r, q, p.numShapes)];
# Line 320  void Dudley_Assemble_PDE_Single2_3D(Asse Line 320  void Dudley_Assemble_PDE_Single2_3D(Asse
320                      for (r = 0; r < p.numShapes; r++)                      for (r = 0; r < p.numShapes; r++)
321                      {                      {
322                      rtmp = 0;                      rtmp = 0;
323                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
324                          rtmp +=                          rtmp +=
325                          vol * S[INDEX2(s, q, p.numShapes)] *                          vol * S[INDEX2(s, q, p.numShapes)] *
326                          S[INDEX2(r, q, p.numShapes)];                          S[INDEX2(r, q, p.numShapes)];
# Line 338  void Dudley_Assemble_PDE_Single2_3D(Asse Line 338  void Dudley_Assemble_PDE_Single2_3D(Asse
338                  add_EM_F = TRUE;                  add_EM_F = TRUE;
339                  if (extendedX)                  if (extendedX)
340                  {                  {
341                  X_q = &(X_p[INDEX3(0, 0, 0, DIM, p.numQuadTotal)]);                  X_q = &(X_p[INDEX3(0, 0, 0, DIM, p.numQuad)]);
342                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
343                  {                  {
344                      rtmp = 0;                      rtmp = 0;
345                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
346                      {                      {
347                      rtmp +=                      rtmp +=
348                          vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *                          vol * (DSDX[INDEX3(s, 0, q, p.numShapes, DIM)] *
# Line 361  void Dudley_Assemble_PDE_Single2_3D(Asse Line 361  void Dudley_Assemble_PDE_Single2_3D(Asse
361                      rtmp0 = 0;                      rtmp0 = 0;
362                      rtmp1 = 0;                      rtmp1 = 0;
363                      rtmp2 = 0;                      rtmp2 = 0;
364                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
365                      {                      {
366                      rtmp0 += vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                      rtmp0 += vol * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
367                      rtmp1 += vol * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];                      rtmp1 += vol * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];
# Line 379  void Dudley_Assemble_PDE_Single2_3D(Asse Line 379  void Dudley_Assemble_PDE_Single2_3D(Asse
379                  add_EM_F = TRUE;                  add_EM_F = TRUE;
380                  if (extendedY)                  if (extendedY)
381                  {                  {
382                  Y_q = &(Y_p[INDEX2(0, 0, p.numQuadTotal)]);                  Y_q = &(Y_p[INDEX2(0, 0, p.numQuad)]);
383                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
384                  {                  {
385                      rtmp = 0;                      rtmp = 0;
386                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
387                      rtmp += vol * S[INDEX2(s, q, p.numShapes)] * Y_q[q];                      rtmp += vol * S[INDEX2(s, q, p.numShapes)] * Y_q[q];
388                      EM_F[INDEX2(0, s, p.numEqu)] += rtmp;                      EM_F[INDEX2(0, s, p.numEqu)] += rtmp;
389                  }                  }
# Line 392  void Dudley_Assemble_PDE_Single2_3D(Asse Line 392  void Dudley_Assemble_PDE_Single2_3D(Asse
392                  for (s = 0; s < p.numShapes; s++)                  for (s = 0; s < p.numShapes; s++)
393                  {                  {
394                      rtmp = 0;                      rtmp = 0;
395                      for (q = 0; q < p.numQuadTotal; q++)                      for (q = 0; q < p.numQuad; q++)
396                      rtmp += vol * S[INDEX2(s, q, p.numShapes)];                      rtmp += vol * S[INDEX2(s, q, p.numShapes)];
397                      EM_F[INDEX2(0, s, p.numEqu)] += rtmp * Y_p[0];                      EM_F[INDEX2(0, s, p.numEqu)] += rtmp * Y_p[0];
398                  }                  }

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

  ViewVC Help
Powered by ViewVC 1.1.26