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

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

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

branches/domexper/dudley/src/Assemble_PDE_System2_2D.c revision 3231 by jfenwick, Fri Oct 1 01:53:46 2010 UTC branches/doubleplusgood/dudley/src/Assemble_PDE_System2_2D.c revision 4257 by jfenwick, Wed Feb 27 03:42:40 2013 UTC
# Line 1  Line 1 
1    
2  /*******************************************************  /*****************************************************************************
3  *  *
4  * Copyright (c) 2003-2010 by University of Queensland  * Copyright (c) 2003-2013 by University of Queensland
5  * Earth Systems Science Computational Center (ESSCC)  * http://www.uq.edu.au
 * http://www.uq.edu.au/esscc  
6  *  *
7  * Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
8  * Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
9  * http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
10  *  *
11  *******************************************************/  * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12    * Development since 2012 by School of Earth Sciences
13    *
14    *****************************************************************************/
15    
16  /**************************************************************/  /************************************************************************************/
17    
18  /*    assembles the system of numEq PDEs into the stiffness matrix S right hand side F  */  /*    assembles the system of numEq PDEs into the stiffness matrix S right hand side F  */
19  /*    the shape functions for test and solution must be identical */  /*    the shape functions for test and solution must be identical */
# Line 30  Line 32 
32  /*      X = p.numEqu x 2  */  /*      X = p.numEqu x 2  */
33  /*      Y = p.numEqu   */  /*      Y = p.numEqu   */
34    
35  /**************************************************************/  /************************************************************************************/
36    
37  #include "Assemble.h"  #include "Assemble.h"
38  #include "Util.h"  #include "Util.h"
# Line 38  Line 40 
40  #include <omp.h>  #include <omp.h>
41  #endif  #endif
42    
43  /**************************************************************/  /************************************************************************************/
44    
45  void Dudley_Assemble_PDE_System2_2D(Assemble_Parameters p, Dudley_ElementFile * elements,  void Dudley_Assemble_PDE_System2_2D(Dudley_Assemble_Parameters p, Dudley_ElementFile * elements,
46                      Paso_SystemMatrix * Mat, escriptDataC * F,                      Paso_SystemMatrix * Mat, escriptDataC * F,
47                      escriptDataC * A, escriptDataC * B, escriptDataC * C, escriptDataC * D,                      escriptDataC * A, escriptDataC * B, escriptDataC * C, escriptDataC * D,
48                      escriptDataC * X, escriptDataC * Y)                      escriptDataC * X, escriptDataC * Y)
# Line 85  void Dudley_Assemble_PDE_System2_2D(Asse Line 87  void Dudley_Assemble_PDE_System2_2D(Asse
87          {          {
88              if (elements->Color[e] == color)              if (elements->Color[e] == color)
89              {              {
90                double vol = p.row_jac->absD[e] * p.row_jac->quadweight;
91    
92              A_p = getSampleDataRO(A, e);              A_p = getSampleDataRO(A, e);
93              B_p = getSampleDataRO(B, e);              B_p = getSampleDataRO(B, e);
# Line 92  void Dudley_Assemble_PDE_System2_2D(Asse Line 95  void Dudley_Assemble_PDE_System2_2D(Asse
95              D_p = getSampleDataRO(D, e);              D_p = getSampleDataRO(D, e);
96              X_p = getSampleDataRO(X, e);              X_p = getSampleDataRO(X, e);
97              Y_p = getSampleDataRO(Y, e);              Y_p = getSampleDataRO(Y, e);
             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.numQuad, 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;
# Line 101  void Dudley_Assemble_PDE_System2_2D(Asse Line 103  void Dudley_Assemble_PDE_System2_2D(Asse
103              add_EM_F = FALSE;              add_EM_F = FALSE;
104              add_EM_S = FALSE;              add_EM_S = FALSE;
105    
106                /**************************************************************/                /************************************************************************************/
107              /*   process A: */              /*   process A: */
108                /**************************************************************/                /************************************************************************************/
109              A_p = getSampleDataRO(A, e);              A_p = getSampleDataRO(A, e);
110              if (NULL != A_p)              if (NULL != A_p)
111              {              {
# Line 176  void Dudley_Assemble_PDE_System2_2D(Asse Line 178  void Dudley_Assemble_PDE_System2_2D(Asse
178                  }                  }
179                  }                  }
180              }              }
181                /**************************************************************/                /************************************************************************************/
182              /*   process B: */              /*   process B: */
183                /**************************************************************/                /************************************************************************************/
184              B_p = getSampleDataRO(B, e);              B_p = getSampleDataRO(B, e);
185              if (NULL != B_p)              if (NULL != B_p)
186              {              {
# Line 236  void Dudley_Assemble_PDE_System2_2D(Asse Line 238  void Dudley_Assemble_PDE_System2_2D(Asse
238                  }                  }
239                  }                  }
240              }              }
241                /**************************************************************/                /************************************************************************************/
242              /*   process C: */              /*   process C: */
243                /**************************************************************/                /************************************************************************************/
244              C_p = getSampleDataRO(C, e);              C_p = getSampleDataRO(C, e);
245              if (NULL != C_p)              if (NULL != C_p)
246              {              {
# Line 296  void Dudley_Assemble_PDE_System2_2D(Asse Line 298  void Dudley_Assemble_PDE_System2_2D(Asse
298                  }                  }
299                  }                  }
300              }              }
301                /************************************************************* */                /*********************************************************************************** */
302              /* process D */              /* process D */
303                /**************************************************************/                /************************************************************************************/
304              D_p = getSampleDataRO(D, e);              D_p = getSampleDataRO(D, e);
305              if (NULL != D_p)              if (NULL != D_p)
306              {              {
# Line 349  void Dudley_Assemble_PDE_System2_2D(Asse Line 351  void Dudley_Assemble_PDE_System2_2D(Asse
351                  }                  }
352                  }                  }
353              }              }
354                /**************************************************************/                /************************************************************************************/
355              /*   process X: */              /*   process X: */
356                /**************************************************************/                /************************************************************************************/
357              X_p = getSampleDataRO(X, e);              X_p = getSampleDataRO(X, e);
358              if (NULL != X_p)              if (NULL != X_p)
359              {              {
# Line 393  void Dudley_Assemble_PDE_System2_2D(Asse Line 395  void Dudley_Assemble_PDE_System2_2D(Asse
395                  }                  }
396                  }                  }
397              }              }
398               /**************************************************************/               /************************************************************************************/
399              /*   process Y: */              /*   process Y: */
400               /**************************************************************/               /************************************************************************************/
401              Y_p = getSampleDataRO(Y, e);              Y_p = getSampleDataRO(Y, e);
402              if (NULL != Y_p)              if (NULL != Y_p)
403              {              {
# Line 426  void Dudley_Assemble_PDE_System2_2D(Asse Line 428  void Dudley_Assemble_PDE_System2_2D(Asse
428                  }                  }
429                  }                  }
430              }              }
431                 /***********************************************************************************************/                 /*********************************************************************************************************************/
432              /* add the element matrices onto the matrix and right hand side                                */              /* add the element matrices onto the matrix and right hand side                                */
433                 /***********************************************************************************************/                 /*********************************************************************************************************************/
434              for (q = 0; q < p.numShapes; q++)              for (q = 0; q < p.numShapes; q++)
435                  row_index[q] = p.row_DOF[elements->Nodes[INDEX2(q, e, p.NN)]];                  row_index[q] = p.row_DOF[elements->Nodes[INDEX2(q, e, p.NN)]];
436    

Legend:
Removed from v.3231  
changed lines
  Added in v.4257

  ViewVC Help
Powered by ViewVC 1.1.26