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

Diff of /branches/domexper/dudley/src/Assemble_PDE_System2_2D.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_System2_2D(Ass Line 52  void  Finley_Assemble_PDE_System2_2D(Ass
52      #define DIM 2      #define DIM 2
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,k,m;      register dim_t q, s,r,k,m;
59      register double rtmp, rtmp0, rtmp1, rtmp00, rtmp10, rtmp01, rtmp11;      register double rtmp, rtmp0, rtmp1, rtmp00, rtmp10, rtmp01, rtmp11;
# Line 64  void  Finley_Assemble_PDE_System2_2D(Ass Line 65  void  Finley_Assemble_PDE_System2_2D(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*p.numEqu*p.numComp;      dim_t len_EM_S=p.row_NN*p.col_NN*p.numEqu*p.numComp;
71      dim_t len_EM_F=p.row_NN*p.numEqu;      dim_t len_EM_F=p.row_NN*p.numEqu;
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,k,m,rtmp, rtmp0, rtmp1, rtmp00, rtmp10, rtmp01, rtmp11,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,k,m,rtmp, rtmp0, rtmp1, rtmp00, rtmp10, rtmp01, rtmp11,add_EM_F, add_EM_S)
80      {      {
81    
82         EM_S=THREAD_MEMALLOC(len_EM_S,double);         EM_S=THREAD_MEMALLOC(len_EM_S,double);
83         EM_F=THREAD_MEMALLOC(len_EM_F,double);         EM_F=THREAD_MEMALLOC(len_EM_F,double);
84         row_index=THREAD_MEMALLOC(p.row_NN,index_t);         row_index=THREAD_MEMALLOC(p.row_NN,index_t);
# Line 92  void  Finley_Assemble_PDE_System2_2D(Ass Line 99  void  Finley_Assemble_PDE_System2_2D(Ass
99                     /**************************************************************/                     /**************************************************************/
100                     /*   process A: */                     /*   process A: */
101                     /**************************************************************/                     /**************************************************************/
102                     A_p=getSampleData(A,e);                     A_p=getSampleDataRO(A,e,ABuff);
103                     if (NULL!=A_p) {                     if (NULL!=A_p) {
104                        add_EM_S=TRUE;                        add_EM_S=TRUE;
105                        if (extendedA) {                        if (extendedA) {
# Line 144  void  Finley_Assemble_PDE_System2_2D(Ass Line 151  void  Finley_Assemble_PDE_System2_2D(Ass
151                     /**************************************************************/                     /**************************************************************/
152                     /*   process B: */                     /*   process B: */
153                     /**************************************************************/                     /**************************************************************/
154                     B_p=getSampleData(B,e);                     B_p=getSampleDataRO(B,e,BBuff);
155                     if (NULL!=B_p) {                     if (NULL!=B_p) {
156                        add_EM_S=TRUE;                        add_EM_S=TRUE;
157                        if (extendedB) {                        if (extendedB) {
# Line 186  void  Finley_Assemble_PDE_System2_2D(Ass Line 193  void  Finley_Assemble_PDE_System2_2D(Ass
193                     /**************************************************************/                     /**************************************************************/
194                     /*   process C: */                     /*   process C: */
195                     /**************************************************************/                     /**************************************************************/
196                     C_p=getSampleData(C,e);                     C_p=getSampleDataRO(C,e,CBuff);
197                     if (NULL!=C_p) {                     if (NULL!=C_p) {
198                       add_EM_S=TRUE;                       add_EM_S=TRUE;
199                       if (extendedC) {                       if (extendedC) {
# Line 228  void  Finley_Assemble_PDE_System2_2D(Ass Line 235  void  Finley_Assemble_PDE_System2_2D(Ass
235                     /************************************************************* */                     /************************************************************* */
236                     /* process D */                     /* process D */
237                     /**************************************************************/                     /**************************************************************/
238                     D_p=getSampleData(D,e);                     D_p=getSampleDataRO(D,e,DBuff);
239                     if (NULL!=D_p) {                     if (NULL!=D_p) {
240                       add_EM_S=TRUE;                       add_EM_S=TRUE;
241                       if (extendedD) {                       if (extendedD) {
# Line 262  void  Finley_Assemble_PDE_System2_2D(Ass Line 269  void  Finley_Assemble_PDE_System2_2D(Ass
269                     /**************************************************************/                     /**************************************************************/
270                     /*   process X: */                     /*   process X: */
271                     /**************************************************************/                     /**************************************************************/
272                     X_p=getSampleData(X,e);                     X_p=getSampleDataRO(X,e,XBuff);
273                     if (NULL!=X_p) {                     if (NULL!=X_p) {
274                       add_EM_F=TRUE;                       add_EM_F=TRUE;
275                       if (extendedX) {                       if (extendedX) {
# Line 291  void  Finley_Assemble_PDE_System2_2D(Ass Line 298  void  Finley_Assemble_PDE_System2_2D(Ass
298                    /**************************************************************/                    /**************************************************************/
299                    /*   process Y: */                    /*   process Y: */
300                    /**************************************************************/                    /**************************************************************/
301                     Y_p=getSampleData(Y,e);                     Y_p=getSampleDataRO(Y,e,YBuff);
302                     if (NULL!=Y_p) {                     if (NULL!=Y_p) {
303                       add_EM_F=TRUE;                       add_EM_F=TRUE;
304                       if (extendedY) {                       if (extendedY) {
# Line 327  void  Finley_Assemble_PDE_System2_2D(Ass Line 334  void  Finley_Assemble_PDE_System2_2D(Ass
334    
335        } /* end of pointer check */        } /* end of pointer check */
336     } /* end parallel region */     } /* end parallel region */
337       freeSampleBuffer(ABuff);
338       freeSampleBuffer(BBuff);
339       freeSampleBuffer(CBuff);
340       freeSampleBuffer(DBuff);
341       freeSampleBuffer(XBuff);
342       freeSampleBuffer(YBuff);
343  }  }
344  /*  /*
345   * $Log$   * $Log$

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

  ViewVC Help
Powered by ViewVC 1.1.26