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

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

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

revision 2270 by ksteube, Thu Sep 25 23:11:13 2008 UTC revision 2271 by jfenwick, Mon Feb 16 05:08:29 2009 UTC
# Line 52  void  Finley_Assemble_PDE_Single2_3D(Ass Line 52  void  Finley_Assemble_PDE_Single2_3D(Ass
52      #define DIM 3      #define DIM 3
53      index_t color;      index_t color;
54      dim_t e;      dim_t e;
55      double *EM_S, *EM_F, *Vol, *DSDX, *A_p, *B_p, *C_p, *D_p, *X_p, *Y_p;      __const double *A_p, *B_p, *C_p, *D_p, *X_p, *Y_p;
56        double *EM_S, *EM_F, *Vol, *DSDX;
57      index_t *row_index;      index_t *row_index;
58      register dim_t q, s,r;      register dim_t q, s,r;
59      register double rtmp, rtmp00, rtmp01, rtmp02, rtmp10, rtmp11, rtmp12, rtmp20, rtmp21, rtmp22, rtmp0, rtmp1, rtmp2;      register double rtmp, rtmp00, rtmp01, rtmp02, rtmp10, rtmp11, rtmp12, rtmp20, rtmp21, rtmp22, rtmp0, rtmp1, rtmp2;
# Line 64  void  Finley_Assemble_PDE_Single2_3D(Ass Line 65  void  Finley_Assemble_PDE_Single2_3D(Ass
65      bool_t extendedD=isExpanded(D);      bool_t extendedD=isExpanded(D);
66      bool_t extendedX=isExpanded(X);      bool_t extendedX=isExpanded(X);
67      bool_t extendedY=isExpanded(Y);      bool_t extendedY=isExpanded(Y);
68      double *F_p=getSampleData(F,0);      double *F_p=(requireWrite(F), getSampleDataRW(F,0));    /* use comma, to get around the mixed code and declarations thing */
69      double *S=p.row_jac->ReferenceElement->S;      double *S=p.row_jac->ReferenceElement->S;
70      dim_t len_EM_S=p.row_NN*p.col_NN;      dim_t len_EM_S=p.row_NN*p.col_NN;
71      dim_t len_EM_F=p.row_NN;      dim_t len_EM_F=p.row_NN;
72    
73        void* ABuff=allocSampleBuffer(A);
74        void* BBuff=allocSampleBuffer(B);
75        void* CBuff=allocSampleBuffer(C);
76        void* DBuff=allocSampleBuffer(D);
77        void* XBuff=allocSampleBuffer(X);
78        void* YBuff=allocSampleBuffer(Y);
79      #pragma omp parallel private(color,EM_S, EM_F, Vol, DSDX, A_p, B_p, C_p, D_p, X_p, Y_p,row_index,q, s,r,rtmp, rtmp00, rtmp01, rtmp02, rtmp10, rtmp11, rtmp12, rtmp20, rtmp21, rtmp22, rtmp0, rtmp1, rtmp2,add_EM_F, add_EM_S)      #pragma omp parallel private(color,EM_S, EM_F, Vol, DSDX, A_p, B_p, C_p, D_p, X_p, Y_p,row_index,q, s,r,rtmp, rtmp00, rtmp01, rtmp02, rtmp10, rtmp11, rtmp12, rtmp20, rtmp21, rtmp22, rtmp0, rtmp1, rtmp2,add_EM_F, add_EM_S)
80      {      {
81         EM_S=THREAD_MEMALLOC(len_EM_S,double);         EM_S=THREAD_MEMALLOC(len_EM_S,double);
# Line 92  void  Finley_Assemble_PDE_Single2_3D(Ass Line 98  void  Finley_Assemble_PDE_Single2_3D(Ass
98                     /**************************************************************/                     /**************************************************************/
99                     /*   process A: */                     /*   process A: */
100                     /**************************************************************/                     /**************************************************************/
101                     A_p=getSampleData(A,e);                     A_p=getSampleDataRO(A,e,ABuff);
102                     if (NULL!=A_p) {                     if (NULL!=A_p) {
103                        add_EM_S=TRUE;                        add_EM_S=TRUE;
104                        if (extendedA) {                        if (extendedA) {
# Line 158  void  Finley_Assemble_PDE_Single2_3D(Ass Line 164  void  Finley_Assemble_PDE_Single2_3D(Ass
164                     /**************************************************************/                     /**************************************************************/
165                     /*   process B: */                     /*   process B: */
166                     /**************************************************************/                     /**************************************************************/
167                     B_p=getSampleData(B,e);                     B_p=getSampleDataRO(B,e,BBuff);
168                     if (NULL!=B_p) {                     if (NULL!=B_p) {
169                        add_EM_S=TRUE;                        add_EM_S=TRUE;
170                        if (extendedB) {                        if (extendedB) {
# Line 194  void  Finley_Assemble_PDE_Single2_3D(Ass Line 200  void  Finley_Assemble_PDE_Single2_3D(Ass
200                     /**************************************************************/                     /**************************************************************/
201                     /*   process C: */                     /*   process C: */
202                     /**************************************************************/                     /**************************************************************/
203                     C_p=getSampleData(C,e);                     C_p=getSampleDataRO(C,e,CBuff);
204                     if (NULL!=C_p) {                     if (NULL!=C_p) {
205                       add_EM_S=TRUE;                       add_EM_S=TRUE;
206                       if (extendedC) {                       if (extendedC) {
# Line 230  void  Finley_Assemble_PDE_Single2_3D(Ass Line 236  void  Finley_Assemble_PDE_Single2_3D(Ass
236                     /************************************************************* */                     /************************************************************* */
237                     /* process D */                     /* process D */
238                     /**************************************************************/                     /**************************************************************/
239                     D_p=getSampleData(D,e);                     D_p=getSampleDataRO(D,e,DBuff);
240                     if (NULL!=D_p) {                     if (NULL!=D_p) {
241                       add_EM_S=TRUE;                       add_EM_S=TRUE;
242                       if (extendedD) {                       if (extendedD) {
# Line 254  void  Finley_Assemble_PDE_Single2_3D(Ass Line 260  void  Finley_Assemble_PDE_Single2_3D(Ass
260                     /**************************************************************/                     /**************************************************************/
261                     /*   process X: */                     /*   process X: */
262                     /**************************************************************/                     /**************************************************************/
263                     X_p=getSampleData(X,e);                     X_p=getSampleDataRO(X,e,XBuff);
264                     if (NULL!=X_p) {                     if (NULL!=X_p) {
265                       add_EM_F=TRUE;                       add_EM_F=TRUE;
266                       if (extendedX) {                       if (extendedX) {
# Line 284  void  Finley_Assemble_PDE_Single2_3D(Ass Line 290  void  Finley_Assemble_PDE_Single2_3D(Ass
290                    /**************************************************************/                    /**************************************************************/
291                    /*   process Y: */                    /*   process Y: */
292                    /**************************************************************/                    /**************************************************************/
293                     Y_p=getSampleData(Y,e);                     Y_p=getSampleDataRO(Y,e,YBuff);
294                     if (NULL!=Y_p) {                     if (NULL!=Y_p) {
295                       add_EM_F=TRUE;                       add_EM_F=TRUE;
296                       if (extendedY) {                       if (extendedY) {
# Line 318  void  Finley_Assemble_PDE_Single2_3D(Ass Line 324  void  Finley_Assemble_PDE_Single2_3D(Ass
324    
325        } /* end of pointer check */        } /* end of pointer check */
326     } /* end parallel region */     } /* end parallel region */
327       freeSampleBuffer(ABuff);
328       freeSampleBuffer(BBuff);
329       freeSampleBuffer(CBuff);
330       freeSampleBuffer(DBuff);
331       freeSampleBuffer(XBuff);
332       freeSampleBuffer(YBuff);
333  }  }
334  /*  /*
335   * $Log$   * $Log$

Legend:
Removed from v.2270  
changed lines
  Added in v.2271

  ViewVC Help
Powered by ViewVC 1.1.26