/[escript]/trunk/finley/src/Assemble_LumpedSystem.c
ViewVC logotype

Diff of /trunk/finley/src/Assemble_LumpedSystem.c

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

revision 2769 by caltinay, Tue Nov 17 23:39:20 2009 UTC revision 2770 by jfenwick, Wed Nov 25 01:24:51 2009 UTC
# Line 105  void Finley_Assemble_LumpedSystem(Finley Line 105  void Finley_Assemble_LumpedSystem(Finley
105    }    }
106    
107    if (Finley_noError()) {    if (Finley_noError()) {
     void* buffer=allocSampleBuffer(D);  
108      requireWrite(lumpedMat);      requireWrite(lumpedMat);
109      lumpedMat_p=getSampleDataRW(lumpedMat,0);      lumpedMat_p=getSampleDataRW(lumpedMat,0);
110      len_EM_lumpedMat=p.row_numShapesTotal*p.numEqu;      len_EM_lumpedMat=p.row_numShapesTotal*p.numEqu;
# Line 136  void Finley_Assemble_LumpedSystem(Finley Line 135  void Finley_Assemble_LumpedSystem(Finley
135                                 Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);                                 Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);
136                                 memset(EM_lumpedMat,0,len_EM_lumpedMat_size);                                 memset(EM_lumpedMat,0,len_EM_lumpedMat_size);
137                                    
138                                 D_p=getSampleDataRO(D,e,buffer);                                                           D_p=getSampleDataRO(D,e);                          
139                                 #ifdef NEW_LUMPING /* HRZ lumping */                                 #ifdef NEW_LUMPING /* HRZ lumping */
140                                     m_t=0; /* mass of the element: m_t */                                     m_t=0; /* mass of the element: m_t */
141                                     for (q=0;q<p.numQuadSub;q++) m_t+=Vol[q]*D_p[INDEX2(q, isub,p.numQuadSub) ];                                     for (q=0;q<p.numQuadSub;q++) m_t+=Vol[q]*D_p[INDEX2(q, isub,p.numQuadSub) ];
# Line 178  void Finley_Assemble_LumpedSystem(Finley Line 177  void Finley_Assemble_LumpedSystem(Finley
177                                  Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);                                  Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);
178                                  memset(EM_lumpedMat,0,len_EM_lumpedMat_size);                                  memset(EM_lumpedMat,0,len_EM_lumpedMat_size);
179                                    
180                                 D_p=getSampleDataRO(D,e,buffer);                                                           D_p=getSampleDataRO(D,e);                          
181                                 #ifdef NEW_LUMPING /* HRZ lumping */                                 #ifdef NEW_LUMPING /* HRZ lumping */
182                                     m_t=0; /* mass of the element: m_t */                                     m_t=0; /* mass of the element: m_t */
183                                     for (q=0;q<p.numQuadSub;q++) m_t+=Vol[q];                                     for (q=0;q<p.numQuadSub;q++) m_t+=Vol[q];
# Line 221  void Finley_Assemble_LumpedSystem(Finley Line 220  void Finley_Assemble_LumpedSystem(Finley
220                             for (isub=0; isub<p.numSub; isub++) {                                 for (isub=0; isub<p.numSub; isub++) {    
221                                Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);                                Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);
222                                memset(EM_lumpedMat,0,len_EM_lumpedMat_size);                                memset(EM_lumpedMat,0,len_EM_lumpedMat_size);
223                                D_p=getSampleDataRO(D,e,buffer);                                D_p=getSampleDataRO(D,e);
224                                
225                                #ifdef NEW_LUMPING /* HRZ lumping */                                #ifdef NEW_LUMPING /* HRZ lumping */
226                                    for (k=0;k<p.numEqu;k++) {                                    for (k=0;k<p.numEqu;k++) {
# Line 263  void Finley_Assemble_LumpedSystem(Finley Line 262  void Finley_Assemble_LumpedSystem(Finley
262                             for (isub=0; isub<p.numSub; isub++) {                                 for (isub=0; isub<p.numSub; isub++) {    
263                                Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);                                Vol=&(p.row_jac->volume[INDEX3(0,isub,e, p.numQuadSub,p.numSub)]);
264                                memset(EM_lumpedMat,0,len_EM_lumpedMat_size);                                memset(EM_lumpedMat,0,len_EM_lumpedMat_size);
265                                D_p=getSampleDataRO(D,e,buffer);                                D_p=getSampleDataRO(D,e);
266                                
267                                #ifdef NEW_LUMPING /* HRZ lumping */                                #ifdef NEW_LUMPING /* HRZ lumping */
268                                    for (k=0;k<p.numEqu;k++) {                                    for (k=0;k<p.numEqu;k++) {
# Line 303  void Finley_Assemble_LumpedSystem(Finley Line 302  void Finley_Assemble_LumpedSystem(Finley
302         THREAD_MEMFREE(EM_lumpedMat);         THREAD_MEMFREE(EM_lumpedMat);
303         THREAD_MEMFREE(row_index);         THREAD_MEMFREE(row_index);
304      } /* end parallel region */      } /* end parallel region */
     freeSampleBuffer(buffer);  
305    }    }
306  }  }

Legend:
Removed from v.2769  
changed lines
  Added in v.2770

  ViewVC Help
Powered by ViewVC 1.1.26