/[escript]/trunk/ripley/src/Rectangle.cpp
ViewVC logotype

Diff of /trunk/ripley/src/Rectangle.cpp

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

revision 4374 by caltinay, Fri Apr 19 06:15:24 2013 UTC revision 4375 by caltinay, Mon Apr 22 05:35:52 2013 UTC
# Line 842  void Rectangle::assembleCoordinates(escr Line 842  void Rectangle::assembleCoordinates(escr
842  void Rectangle::assembleGradient(escript::Data& out, escript::Data& in) const  void Rectangle::assembleGradient(escript::Data& out, escript::Data& in) const
843  {  {
844      const dim_t numComp = in.getDataPointSize();      const dim_t numComp = in.getDataPointSize();
845      const double cx0 = -1./m_dx[0];      const double cx0 = .21132486540518711775/m_dx[0];
846      const double cx1 = -.78867513459481288225/m_dx[0];      const double cx1 = .78867513459481288225/m_dx[0];
847      const double cx2 = -.5/m_dx[0];      const double cx2 = 1./m_dx[0];
848      const double cx3 = -.21132486540518711775/m_dx[0];      const double cy0 = .21132486540518711775/m_dx[1];
849      const double cx4 = .21132486540518711775/m_dx[0];      const double cy1 = .78867513459481288225/m_dx[1];
850      const double cx5 = .5/m_dx[0];      const double cy2 = 1./m_dx[1];
     const double cx6 = .78867513459481288225/m_dx[0];  
     const double cx7 = 1./m_dx[0];  
     const double cy0 = -1./m_dx[1];  
     const double cy1 = -.78867513459481288225/m_dx[1];  
     const double cy2 = -.5/m_dx[1];  
     const double cy3 = -.21132486540518711775/m_dx[1];  
     const double cy4 = .21132486540518711775/m_dx[1];  
     const double cy5 = .5/m_dx[1];  
     const double cy6 = .78867513459481288225/m_dx[1];  
     const double cy7 = 1./m_dx[1];  
851    
852      if (out.getFunctionSpace().getTypeCode() == Elements) {      if (out.getFunctionSpace().getTypeCode() == Elements) {
853          out.requireWrite();          out.requireWrite();
# Line 876  void Rectangle::assembleGradient(escript Line 866  void Rectangle::assembleGradient(escript
866                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,k1+1, m_NN[0])), numComp*sizeof(double));
867                      double* o = out.getSampleDataRW(INDEX2(k0,k1,m_NE[0]));                      double* o = out.getSampleDataRW(INDEX2(k0,k1,m_NE[0]));
868                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
869                          o[INDEX3(i,0,0,numComp,2)] = f_00[i]*cx1 + f_01[i]*cx3 + f_10[i]*cx6 + f_11[i]*cx4;                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i]-f_00[i])*cx1 + (f_11[i]-f_01[i])*cx0;
870                          o[INDEX3(i,1,0,numComp,2)] = f_00[i]*cy1 + f_01[i]*cy6 + f_10[i]*cy3 + f_11[i]*cy4;                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i]-f_00[i])*cy1 + (f_11[i]-f_10[i])*cy0;
871                          o[INDEX3(i,0,1,numComp,2)] = f_00[i]*cx1 + f_01[i]*cx3 + f_10[i]*cx6 + f_11[i]*cx4;                          o[INDEX3(i,0,1,numComp,2)] = (f_10[i]-f_00[i])*cx1 + (f_11[i]-f_01[i])*cx0;
872                          o[INDEX3(i,1,1,numComp,2)] = f_00[i]*cy3 + f_01[i]*cy4 + f_10[i]*cy1 + f_11[i]*cy6;                          o[INDEX3(i,1,1,numComp,2)] = (f_01[i]-f_00[i])*cy0 + (f_11[i]-f_10[i])*cy1;
873                          o[INDEX3(i,0,2,numComp,2)] = f_00[i]*cx3 + f_01[i]*cx1 + f_10[i]*cx4 + f_11[i]*cx6;                          o[INDEX3(i,0,2,numComp,2)] = (f_10[i]-f_00[i])*cx0 + (f_11[i]-f_01[i])*cx1;
874                          o[INDEX3(i,1,2,numComp,2)] = f_00[i]*cy1 + f_01[i]*cy6 + f_10[i]*cy3 + f_11[i]*cy4;                          o[INDEX3(i,1,2,numComp,2)] = (f_01[i]-f_00[i])*cy1 + (f_11[i]-f_10[i])*cy0;
875                          o[INDEX3(i,0,3,numComp,2)] = f_00[i]*cx3 + f_01[i]*cx1 + f_10[i]*cx4 + f_11[i]*cx6;                          o[INDEX3(i,0,3,numComp,2)] = (f_10[i]-f_00[i])*cx0 + (f_11[i]-f_01[i])*cx1;
876                          o[INDEX3(i,1,3,numComp,2)] = f_00[i]*cy3 + f_01[i]*cy4 + f_10[i]*cy1 + f_11[i]*cy6;                          o[INDEX3(i,1,3,numComp,2)] = (f_01[i]-f_00[i])*cy0 + (f_11[i]-f_10[i])*cy1;
877                      } // end of component loop i                      } // end of component loop i
878                  } // end of k0 loop                  } // end of k0 loop
879              } // end of k1 loop              } // end of k1 loop
# Line 905  void Rectangle::assembleGradient(escript Line 895  void Rectangle::assembleGradient(escript
895                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,k1+1, m_NN[0])), numComp*sizeof(double));
896                      double* o = out.getSampleDataRW(INDEX2(k0,k1,m_NE[0]));                      double* o = out.getSampleDataRW(INDEX2(k0,k1,m_NE[0]));
897                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
898                          o[INDEX3(i,0,0,numComp,2)] = cx5*(f_10[i] + f_11[i]) + cx2*(f_00[i] + f_01[i]);                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i] + f_11[i] - f_00[i] - f_01[i])*cx2/2;
899                          o[INDEX3(i,1,0,numComp,2)] = cy2*(f_00[i] + f_10[i]) + cy5*(f_01[i] + f_11[i]);                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i] + f_11[i] - f_00[i] - f_10[i])*cy2/2;
900                      } // end of component loop i                      } // end of component loop i
901                  } // end of k0 loop                  } // end of k0 loop
902              } // end of k1 loop              } // end of k1 loop
# Line 928  void Rectangle::assembleGradient(escript Line 918  void Rectangle::assembleGradient(escript
918                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(1,k1+1, m_NN[0])), numComp*sizeof(double));
919                      double* o = out.getSampleDataRW(m_faceOffset[0]+k1);                      double* o = out.getSampleDataRW(m_faceOffset[0]+k1);
920                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
921                          o[INDEX3(i,0,0,numComp,2)] = f_00[i]*cx1 + f_01[i]*cx3 + f_10[i]*cx6 + f_11[i]*cx4;                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i]-f_00[i])*cx1 + (f_11[i]-f_01[i])*cx0;
922                          o[INDEX3(i,1,0,numComp,2)] = f_00[i]*cy0 + f_01[i]*cy7;                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i]-f_00[i])*cy2;
923                          o[INDEX3(i,0,1,numComp,2)] = f_00[i]*cx3 + f_01[i]*cx1 + f_10[i]*cx4 + f_11[i]*cx6;                          o[INDEX3(i,0,1,numComp,2)] = (f_10[i]-f_00[i])*cx0 + (f_11[i]-f_01[i])*cx1;
924                          o[INDEX3(i,1,1,numComp,2)] = f_00[i]*cy0 + f_01[i]*cy7;                          o[INDEX3(i,1,1,numComp,2)] = (f_01[i]-f_00[i])*cy2;
925                      } // end of component loop i                      } // end of component loop i
926                  } // end of k1 loop                  } // end of k1 loop
927              } // end of face 0              } // end of face 0
# Line 944  void Rectangle::assembleGradient(escript Line 934  void Rectangle::assembleGradient(escript
934                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(m_NN[0]-1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(m_NN[0]-1,k1+1, m_NN[0])), numComp*sizeof(double));
935                      double* o = out.getSampleDataRW(m_faceOffset[1]+k1);                      double* o = out.getSampleDataRW(m_faceOffset[1]+k1);
936                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
937                          o[INDEX3(i,0,0,numComp,2)] = f_00[i]*cx1 + f_01[i]*cx3 + f_10[i]*cx6 + f_11[i]*cx4;                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i]-f_00[i])*cx1 + (f_11[i]-f_01[i])*cx0;
938                          o[INDEX3(i,1,0,numComp,2)] = f_10[i]*cy0 + f_11[i]*cy7;                          o[INDEX3(i,1,0,numComp,2)] = (f_11[i]-f_10[i])*cy2;
939                          o[INDEX3(i,0,1,numComp,2)] = f_00[i]*cx3 + f_01[i]*cx1 + f_10[i]*cx4 + f_11[i]*cx6;                          o[INDEX3(i,0,1,numComp,2)] = (f_10[i]-f_00[i])*cx0 + (f_11[i]-f_01[i])*cx1;
940                          o[INDEX3(i,1,1,numComp,2)] = f_10[i]*cy0 + f_11[i]*cy7;                          o[INDEX3(i,1,1,numComp,2)] = (f_11[i]-f_10[i])*cy2;
941                      } // end of component loop i                      } // end of component loop i
942                  } // end of k1 loop                  } // end of k1 loop
943              } // end of face 1              } // end of face 1
# Line 960  void Rectangle::assembleGradient(escript Line 950  void Rectangle::assembleGradient(escript
950                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,1, m_NN[0])), numComp*sizeof(double));
951                      double* o = out.getSampleDataRW(m_faceOffset[2]+k0);                      double* o = out.getSampleDataRW(m_faceOffset[2]+k0);
952                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
953                          o[INDEX3(i,0,0,numComp,2)] = f_00[i]*cx0 + f_10[i]*cx7;                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i]-f_00[i])*cx2;
954                          o[INDEX3(i,1,0,numComp,2)] = f_00[i]*cy1 + f_01[i]*cy6 + f_10[i]*cy3 + f_11[i]*cy4;                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i]-f_00[i])*cy1 + (f_11[i]-f_10[i])*cy0;
955                          o[INDEX3(i,0,1,numComp,2)] = f_00[i]*cx0 + f_10[i]*cx7;                          o[INDEX3(i,0,1,numComp,2)] = (f_10[i]-f_00[i])*cx2;
956                          o[INDEX3(i,1,1,numComp,2)] = f_00[i]*cy3 + f_01[i]*cy4 + f_10[i]*cy1 + f_11[i]*cy6;                          o[INDEX3(i,1,1,numComp,2)] = (f_01[i]-f_00[i])*cy0 + (f_11[i]-f_10[i])*cy1;
957                      } // end of component loop i                      } // end of component loop i
958                  } // end of k0 loop                  } // end of k0 loop
959              } // end of face 2              } // end of face 2
# Line 976  void Rectangle::assembleGradient(escript Line 966  void Rectangle::assembleGradient(escript
966                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,m_NN[1]-1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,m_NN[1]-1, m_NN[0])), numComp*sizeof(double));
967                      double* o = out.getSampleDataRW(m_faceOffset[3]+k0);                      double* o = out.getSampleDataRW(m_faceOffset[3]+k0);
968                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
969                          o[INDEX3(i,0,0,numComp,2)] = f_01[i]*cx0 + f_11[i]*cx7;                          o[INDEX3(i,0,0,numComp,2)] = (f_11[i]-f_01[i])*cx2;
970                          o[INDEX3(i,1,0,numComp,2)] = f_00[i]*cy1 + f_01[i]*cy6 + f_10[i]*cy3 + f_11[i]*cy4;                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i]-f_00[i])*cy1 + (f_11[i]-f_10[i])*cy0;
971                          o[INDEX3(i,0,1,numComp,2)] = f_01[i]*cx0 + f_11[i]*cx7;                          o[INDEX3(i,0,1,numComp,2)] = (f_11[i]-f_01[i])*cx2;
972                          o[INDEX3(i,1,1,numComp,2)] = f_00[i]*cy3 + f_01[i]*cy4 + f_10[i]*cy1 + f_11[i]*cy6;                          o[INDEX3(i,1,1,numComp,2)] = (f_01[i]-f_00[i])*cy0 + (f_11[i]-f_10[i])*cy1;
973                      } // end of component loop i                      } // end of component loop i
974                  } // end of k0 loop                  } // end of k0 loop
975              } // end of face 3              } // end of face 3
# Line 1002  void Rectangle::assembleGradient(escript Line 992  void Rectangle::assembleGradient(escript
992                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(1,k1+1, m_NN[0])), numComp*sizeof(double));
993                      double* o = out.getSampleDataRW(m_faceOffset[0]+k1);                      double* o = out.getSampleDataRW(m_faceOffset[0]+k1);
994                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
995                          o[INDEX3(i,0,0,numComp,2)] = cx5*(f_10[i] + f_11[i]) + cx2*(f_00[i] + f_01[i]);                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i] + f_11[i] - f_00[i] - f_01[i])*cx2/2;
996                          o[INDEX3(i,1,0,numComp,2)] = f_00[i]*cy0 + f_01[i]*cy7;                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i]-f_00[i])*cy2;
997                      } // end of component loop i                      } // end of component loop i
998                  } // end of k1 loop                  } // end of k1 loop
999              } // end of face 0              } // end of face 0
# Line 1016  void Rectangle::assembleGradient(escript Line 1006  void Rectangle::assembleGradient(escript
1006                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(m_NN[0]-1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(m_NN[0]-1,k1+1, m_NN[0])), numComp*sizeof(double));
1007                      double* o = out.getSampleDataRW(m_faceOffset[1]+k1);                      double* o = out.getSampleDataRW(m_faceOffset[1]+k1);
1008                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1009                          o[INDEX3(i,0,0,numComp,2)] = cx5*(f_10[i] + f_11[i]) + cx2*(f_00[i] + f_01[i]);                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i] + f_11[i] - f_00[i] - f_01[i])*cx2/2;
1010                          o[INDEX3(i,1,0,numComp,2)] = f_10[i]*cy0 + f_11[i]*cy7;                          o[INDEX3(i,1,0,numComp,2)] = (f_11[i]-f_10[i])*cy2;
1011                      } // end of component loop i                      } // end of component loop i
1012                  } // end of k1 loop                  } // end of k1 loop
1013              } // end of face 1              } // end of face 1
# Line 1030  void Rectangle::assembleGradient(escript Line 1020  void Rectangle::assembleGradient(escript
1020                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,1, m_NN[0])), numComp*sizeof(double));
1021                      double* o = out.getSampleDataRW(m_faceOffset[2]+k0);                      double* o = out.getSampleDataRW(m_faceOffset[2]+k0);
1022                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1023                          o[INDEX3(i,0,0,numComp,2)] = f_00[i]*cx0 + f_10[i]*cx7;                          o[INDEX3(i,0,0,numComp,2)] = (f_10[i]-f_00[i])*cx2;
1024                          o[INDEX3(i,1,0,numComp,2)] = cy2*(f_00[i] + f_10[i]) + cy5*(f_01[i] + f_11[i]);                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i] + f_11[i] - f_00[i] - f_10[i])*cy2/2;
1025                      } // end of component loop i                      } // end of component loop i
1026                  } // end of k0 loop                  } // end of k0 loop
1027              } // end of face 2              } // end of face 2
# Line 1044  void Rectangle::assembleGradient(escript Line 1034  void Rectangle::assembleGradient(escript
1034                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,m_NN[1]-1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,m_NN[1]-1, m_NN[0])), numComp*sizeof(double));
1035                      double* o = out.getSampleDataRW(m_faceOffset[3]+k0);                      double* o = out.getSampleDataRW(m_faceOffset[3]+k0);
1036                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1037                          o[INDEX3(i,0,0,numComp,2)] = f_01[i]*cx0 + f_11[i]*cx7;                          o[INDEX3(i,0,0,numComp,2)] = (f_11[i]-f_01[i])*cx2;
1038                          o[INDEX3(i,1,0,numComp,2)] = cy5*(f_01[i] + f_11[i]) + cy2*(f_00[i] + f_10[i]);                          o[INDEX3(i,1,0,numComp,2)] = (f_01[i] + f_11[i] - f_00[i] - f_10[i])*cy2/2;
1039                      } // end of component loop i                      } // end of component loop i
1040                  } // end of k0 loop                  } // end of k0 loop
1041              } // end of face 3              } // end of face 3
# Line 1699  void Rectangle::interpolateNodesOnFaces( Line 1689  void Rectangle::interpolateNodesOnFaces(
1689      const dim_t numComp = in.getDataPointSize();      const dim_t numComp = in.getDataPointSize();
1690      if (reduced) {      if (reduced) {
1691          out.requireWrite();          out.requireWrite();
         const double c0 = 0.5;  
1692  #pragma omp parallel  #pragma omp parallel
1693          {          {
1694              vector<double> f_00(numComp);              vector<double> f_00(numComp);
# Line 1713  void Rectangle::interpolateNodesOnFaces( Line 1702  void Rectangle::interpolateNodesOnFaces(
1702                      memcpy(&f_01[0], in.getSampleDataRO(INDEX2(0,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_01[0], in.getSampleDataRO(INDEX2(0,k1+1, m_NN[0])), numComp*sizeof(double));
1703                      double* o = out.getSampleDataRW(m_faceOffset[0]+k1);                      double* o = out.getSampleDataRW(m_faceOffset[0]+k1);
1704                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1705                          o[INDEX2(i,numComp,0)] = c0*(f_00[i] + f_01[i]);                          o[INDEX2(i,numComp,0)] = (f_00[i] + f_01[i])/2;
1706                      } /* end of component loop i */                      } /* end of component loop i */
1707                  } /* end of k1 loop */                  } /* end of k1 loop */
1708              } /* end of face 0 */              } /* end of face 0 */
# Line 1724  void Rectangle::interpolateNodesOnFaces( Line 1713  void Rectangle::interpolateNodesOnFaces(
1713                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(m_NN[0]-1,k1+1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(m_NN[0]-1,k1+1, m_NN[0])), numComp*sizeof(double));
1714                      double* o = out.getSampleDataRW(m_faceOffset[1]+k1);                      double* o = out.getSampleDataRW(m_faceOffset[1]+k1);
1715                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1716                          o[INDEX2(i,numComp,0)] = c0*(f_10[i] + f_11[i]);                          o[INDEX2(i,numComp,0)] = (f_10[i] + f_11[i])/2;
1717                      } /* end of component loop i */                      } /* end of component loop i */
1718                  } /* end of k1 loop */                  } /* end of k1 loop */
1719              } /* end of face 1 */              } /* end of face 1 */
# Line 1735  void Rectangle::interpolateNodesOnFaces( Line 1724  void Rectangle::interpolateNodesOnFaces(
1724                      memcpy(&f_10[0], in.getSampleDataRO(INDEX2(k0+1,0, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_10[0], in.getSampleDataRO(INDEX2(k0+1,0, m_NN[0])), numComp*sizeof(double));
1725                      double* o = out.getSampleDataRW(m_faceOffset[2]+k0);                      double* o = out.getSampleDataRW(m_faceOffset[2]+k0);
1726                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1727                          o[INDEX2(i,numComp,0)] = c0*(f_00[i] + f_10[i]);                          o[INDEX2(i,numComp,0)] = (f_00[i] + f_10[i])/2;
1728                      } /* end of component loop i */                      } /* end of component loop i */
1729                  } /* end of k0 loop */                  } /* end of k0 loop */
1730              } /* end of face 2 */              } /* end of face 2 */
# Line 1746  void Rectangle::interpolateNodesOnFaces( Line 1735  void Rectangle::interpolateNodesOnFaces(
1735                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,m_NN[1]-1, m_NN[0])), numComp*sizeof(double));                      memcpy(&f_11[0], in.getSampleDataRO(INDEX2(k0+1,m_NN[1]-1, m_NN[0])), numComp*sizeof(double));
1736                      double* o = out.getSampleDataRW(m_faceOffset[3]+k0);                      double* o = out.getSampleDataRW(m_faceOffset[3]+k0);
1737                      for (index_t i=0; i < numComp; ++i) {                      for (index_t i=0; i < numComp; ++i) {
1738                          o[INDEX2(i,numComp,0)] = c0*(f_01[i] + f_11[i]);                          o[INDEX2(i,numComp,0)] = (f_01[i] + f_11[i])/2;
1739                      } /* end of component loop i */                      } /* end of component loop i */
1740                  } /* end of k0 loop */                  } /* end of k0 loop */
1741              } /* end of face 3 */              } /* end of face 3 */
# Line 1829  void Rectangle::assemblePDESingle(Paso_S Line 1818  void Rectangle::assemblePDESingle(Paso_S
1818      const double w6 = -0.041666666666666666667*m_dx[1]/m_dx[0];      const double w6 = -0.041666666666666666667*m_dx[1]/m_dx[0];
1819      const double w7 = 0.1555021169820365539*m_dx[0]/m_dx[1];      const double w7 = 0.1555021169820365539*m_dx[0]/m_dx[1];
1820      const double w8 = 0.01116454968463011277*m_dx[0]/m_dx[1];      const double w8 = 0.01116454968463011277*m_dx[0]/m_dx[1];
1821      const double w9 = -0.25000000000000000000;      const double w9 = -1./4;
1822      const double w10 = -0.16666666666666666667*m_dx[0]/m_dx[1];      const double w10 = -0.16666666666666666667*m_dx[0]/m_dx[1];
1823      const double w11 = -0.032861463941450536761*m_dx[1];      const double w11 = -0.032861463941450536761*m_dx[1];
1824      const double w12 = -0.032861463941450536761*m_dx[0];      const double w12 = -0.032861463941450536761*m_dx[0];

Legend:
Removed from v.4374  
changed lines
  Added in v.4375

  ViewVC Help
Powered by ViewVC 1.1.26