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

Diff of /branches/trilinos_from_5897/dudley/src/Assemble_PDE_Single_2D.cpp

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

revision 6089 by caltinay, Tue Mar 22 06:58:00 2016 UTC revision 6090 by caltinay, Wed Mar 23 06:35:54 2016 UTC
# Line 103  void Assemble_PDE_Single_2D(const Assemb Line 103  void Assemble_PDE_Single_2D(const Assemb
103                                               A_q[INDEX3(1, 1, q, DIM, DIM)] *                                               A_q[INDEX3(1, 1, q, DIM, DIM)] *
104                                               DSDX[INDEX3(r, 1, q, p.numShapes, DIM)]);                                               DSDX[INDEX3(r, 1, q, p.numShapes, DIM)]);
105                                      }                                      }
106                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] += f;                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] += f;
107                                  }                                  }
108                              }                              }
109                          } else {                          } else {
# Line 121  void Assemble_PDE_Single_2D(const Assemb Line 121  void Assemble_PDE_Single_2D(const Assemb
121                                          f10 += f1 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];                                          f10 += f1 * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
122                                          f11 += f1 * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];                                          f11 += f1 * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];
123                                      }                                      }
124                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] +=                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] +=
125                                          f00 * A_p[INDEX2(0, 0, DIM)] + f01 * A_p[INDEX2(0, 1, DIM)] +                                          f00 * A_p[INDEX2(0, 0, DIM)] + f01 * A_p[INDEX2(0, 1, DIM)] +
126                                          f10 * A_p[INDEX2(1, 0, DIM)] + f11 * A_p[INDEX2(1, 1, DIM)];                                          f10 * A_p[INDEX2(1, 0, DIM)] + f11 * A_p[INDEX2(1, 1, DIM)];
127                                  }                                  }
# Line 146  void Assemble_PDE_Single_2D(const Assemb Line 146  void Assemble_PDE_Single_2D(const Assemb
146                                               B_q[INDEX2(0, q, DIM)] +                                               B_q[INDEX2(0, q, DIM)] +
147                                               DSDX[INDEX3(s, 1, q, p.numShapes, DIM)] * B_q[INDEX2(1, q, DIM)]);                                               DSDX[INDEX3(s, 1, q, p.numShapes, DIM)] * B_q[INDEX2(1, q, DIM)]);
148                                      }                                      }
149                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] += f;                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] += f;
150                                  }                                  }
151                              }                              }
152                          } else {                          } else {
# Line 159  void Assemble_PDE_Single_2D(const Assemb Line 159  void Assemble_PDE_Single_2D(const Assemb
159                                          f0 += f * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];                                          f0 += f * DSDX[INDEX3(s, 0, q, p.numShapes, DIM)];
160                                          f1 += f * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];                                          f1 += f * DSDX[INDEX3(s, 1, q, p.numShapes, DIM)];
161                                      }                                      }
162                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] +=                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] +=
163                                          f0 * B_p[0] + f1 * B_p[1];                                          f0 * B_p[0] + f1 * B_p[1];
164                                  }                                  }
165                              }                              }
# Line 184  void Assemble_PDE_Single_2D(const Assemb Line 184  void Assemble_PDE_Single_2D(const Assemb
184                                              + C_q[INDEX2(1, q, DIM)] *                                              + C_q[INDEX2(1, q, DIM)] *
185                                              DSDX[INDEX3(r, 1, q, p.numShapes, DIM)]);                                              DSDX[INDEX3(r, 1, q, p.numShapes, DIM)]);
186                                      }                                      }
187                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] += f;                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] += f;
188                                  }                                  }
189                              }                              }
190                          } else {                          } else {
# Line 197  void Assemble_PDE_Single_2D(const Assemb Line 197  void Assemble_PDE_Single_2D(const Assemb
197                                          f0 += f * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];                                          f0 += f * DSDX[INDEX3(r, 0, q, p.numShapes, DIM)];
198                                          f1 += f * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];                                          f1 += f * DSDX[INDEX3(r, 1, q, p.numShapes, DIM)];
199                                      }                                      }
200                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] +=                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] +=
201                                          f0 * C_p[0] + f1 * C_p[1];                                          f0 * C_p[0] + f1 * C_p[1];
202                                  }                                  }
203                              }                              }
# Line 219  void Assemble_PDE_Single_2D(const Assemb Line 219  void Assemble_PDE_Single_2D(const Assemb
219                                          f +=                                          f +=
220                                              vol * S[INDEX2(s, q, p.numShapes)] * D_q[q] *                                              vol * S[INDEX2(s, q, p.numShapes)] * D_q[q] *
221                                              S[INDEX2(r, q, p.numShapes)];                                              S[INDEX2(r, q, p.numShapes)];
222                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] += f;                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] += f;
223                                  }                                  }
224                              }                              }
225                          } else {                          } else {
# Line 228  void Assemble_PDE_Single_2D(const Assemb Line 228  void Assemble_PDE_Single_2D(const Assemb
228                                      double f = 0;                                      double f = 0;
229                                      for (int q = 0; q < p.numQuad; q++)                                      for (int q = 0; q < p.numQuad; q++)
230                                          f += vol * S[INDEX2(s, q, p.numShapes)] * S[INDEX2(r, q, p.numShapes)];                                          f += vol * S[INDEX2(s, q, p.numShapes)] * S[INDEX2(r, q, p.numShapes)];
231                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numComp, p.numShapes)] += f * D_p[0];                                      EM_S[INDEX4(0, 0, s, r, p.numEqu, p.numEqu, p.numShapes)] += f * D_p[0];
232                                  }                                  }
233                              }                              }
234                          }                          }
# Line 291  void Assemble_PDE_Single_2D(const Assemb Line 291  void Assemble_PDE_Single_2D(const Assemb
291                          row_index[q] = p.DOF[p.elements->Nodes[INDEX2(q, e, p.NN)]];                          row_index[q] = p.DOF[p.elements->Nodes[INDEX2(q, e, p.NN)]];
292                      if (add_EM_F)                      if (add_EM_F)
293                          util::addScatter(p.numShapes, &row_index[0],                          util::addScatter(p.numShapes, &row_index[0],
294                                  p.numEqu, &EM_F[0], F_p, p.DOF_UpperBound);                                      p.numEqu, &EM_F[0], F_p, p.DOF_UpperBound);
295                      if (add_EM_S)                      if (add_EM_S)
296                          Assemble_addToSystemMatrix(p.S, p.numShapes,                          Assemble_addToSystemMatrix(p.S, row_index, p.numEqu,
297                                  &row_index[0], p.numEqu, p.numShapes,                                                     EM_S);
                                 &row_index[0], p.numComp, &EM_S[0]);  
298                  } // end color check                  } // end color check
299              } // end element loop              } // end element loop
300          } // end color loop          } // end color loop

Legend:
Removed from v.6089  
changed lines
  Added in v.6090

  ViewVC Help
Powered by ViewVC 1.1.26