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

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

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

revision 3766 by caltinay, Thu Jan 12 08:17:49 2012 UTC revision 3769 by caltinay, Tue Jan 17 04:09:55 2012 UTC
# Line 100  pair<int,int> RipleyDomain::getDataShape Line 100  pair<int,int> RipleyDomain::getDataShape
100      const int ptsPerSample = (m_numDim==2 ? 4 : 8);      const int ptsPerSample = (m_numDim==2 ? 4 : 8);
101      switch (fsType) {      switch (fsType) {
102          case Nodes:          case Nodes:
             return pair<int,int>(1, getNumNodes());  
103          case ReducedNodes: //FIXME: reduced          case ReducedNodes: //FIXME: reduced
104              if (getCoarseMesh())              return pair<int,int>(1, getNumNodes());
                 return getCoarseMesh()->getDataShape(Nodes);  
             break;  
105          case DegreesOfFreedom:          case DegreesOfFreedom:
106          case ReducedDegreesOfFreedom: //FIXME: reduced          case ReducedDegreesOfFreedom: //FIXME: reduced
107              return pair<int,int>(1, getNumDOF());              return pair<int,int>(1, getNumDOF());
# Line 764  void RipleyDomain::addPDEToSystem( Line 761  void RipleyDomain::addPDEToSystem(
761          throw RipleyException("addPDEToSystem(): Number of equations and number of solutions don't match");          throw RipleyException("addPDEToSystem(): Number of equations and number of solutions don't match");
762      //TODO: more system matrix checks      //TODO: more system matrix checks
763    
764      if (numEq==1)      if (numEq==1) {
765          if (reducedOrder)          if (reducedOrder) {
766              assemblePDESingleReduced(S, rhs, A, B, C, D, X, Y, d, y);              assemblePDESingleReduced(S, rhs, A, B, C, D, X, Y);
767          else              assemblePDEBoundarySingleReduced(S, rhs, d, y);
768              assemblePDESingle(S, rhs, A, B, C, D, X, Y, d, y);          } else {
769      else              assemblePDESingle(S, rhs, A, B, C, D, X, Y);
770          if (reducedOrder)              assemblePDEBoundarySingle(S, rhs, d, y);
771              assemblePDESystemReduced(S, rhs, A, B, C, D, X, Y, d, y);          }
772          else      } else {
773              assemblePDESystem(S, rhs, A, B, C, D, X, Y, d, y);          if (reducedOrder) {
774                assemblePDESystemReduced(S, rhs, A, B, C, D, X, Y);
775                assemblePDEBoundarySystemReduced(S, rhs, d, y);
776            } else {
777                assemblePDESystem(S, rhs, A, B, C, D, X, Y);
778                assemblePDEBoundarySystem(S, rhs, d, y);
779            }
780        }
781  }  }
782    
783  void RipleyDomain::addPDEToRHS(escript::Data& rhs, const escript::Data& X,  void RipleyDomain::addPDEToRHS(escript::Data& rhs, const escript::Data& X,
# Line 790  void RipleyDomain::addPDEToRHS(escript:: Line 794  void RipleyDomain::addPDEToRHS(escript::
794              return;              return;
795      }      }
796    
797      if (rhs.getDataPointSize() == 1)      if (rhs.getDataPointSize() == 1) {
798          assemblePDESingle(NULL, rhs, escript::Data(), escript::Data(), escript::Data(), escript::Data(), X, Y, escript::Data(), y);          assemblePDESingle(NULL, rhs, escript::Data(), escript::Data(), escript::Data(), escript::Data(), X, Y);
799      else          assemblePDEBoundarySingle(NULL, rhs, escript::Data(), y);
800          assemblePDESystem(NULL, rhs, escript::Data(), escript::Data(), escript::Data(), escript::Data(), X, Y, escript::Data(), y);      } else {
801            assemblePDESystem(NULL, rhs, escript::Data(), escript::Data(), escript::Data(), escript::Data(), X, Y);
802            assemblePDEBoundarySystem(NULL, rhs, escript::Data(), y);
803        }
804  }  }
805    
806  void RipleyDomain::setNewX(const escript::Data& arg)  void RipleyDomain::setNewX(const escript::Data& arg)
# Line 1177  dim_t RipleyDomain::getNumDOF() const Line 1184  dim_t RipleyDomain::getNumDOF() const
1184      throw RipleyException("getNumDOF() not implemented");      throw RipleyException("getNumDOF() not implemented");
1185  }  }
1186    
 escript::Domain_ptr RipleyDomain::getCoarseMesh() const  
 {  
     throw RipleyException("getCoarseMesh() not implemented");  
 }  
   
1187  dim_t RipleyDomain::insertNeighbourNodes(IndexVector& index, index_t node) const  dim_t RipleyDomain::insertNeighbourNodes(IndexVector& index, index_t node) const
1188  {  {
1189      throw RipleyException("insertNeighbourNodes() not implemented");      throw RipleyException("insertNeighbourNodes() not implemented");
# Line 1204  void RipleyDomain::assembleIntegrate(vec Line 1206  void RipleyDomain::assembleIntegrate(vec
1206    
1207  void RipleyDomain::assemblePDESingle(Paso_SystemMatrix* mat, escript::Data& rhs,  void RipleyDomain::assemblePDESingle(Paso_SystemMatrix* mat, escript::Data& rhs,
1208          const escript::Data& A, const escript::Data& B, const escript::Data& C,          const escript::Data& A, const escript::Data& B, const escript::Data& C,
1209          const escript::Data& D, const escript::Data& X, const escript::Data& Y,          const escript::Data& D, const escript::Data& X, const escript::Data& Y) const
         const escript::Data& d, const escript::Data& y) const  
1210  {  {
1211      throw RipleyException("assemblePDESingle() not implemented");      throw RipleyException("assemblePDESingle() not implemented");
1212  }  }
1213    
1214    void RipleyDomain::assemblePDEBoundarySingle(Paso_SystemMatrix* mat,
1215          escript::Data& rhs, const escript::Data& d, const escript::Data& y) const
1216    {
1217        throw RipleyException("assemblePDEBoundarySingle() not implemented");
1218    }
1219    
1220  void RipleyDomain::assemblePDESingleReduced(Paso_SystemMatrix* mat,  void RipleyDomain::assemblePDESingleReduced(Paso_SystemMatrix* mat,
1221          escript::Data& rhs, const escript::Data& A, const escript::Data& B,          escript::Data& rhs, const escript::Data& A, const escript::Data& B,
1222          const escript::Data& C, const escript::Data& D, const escript::Data& X,          const escript::Data& C, const escript::Data& D, const escript::Data& X,
1223          const escript::Data& Y, const escript::Data& d, const escript::Data& y) const          const escript::Data& Y) const
1224  {  {
1225      throw RipleyException("assemblePDESingleReduced() not implemented");      throw RipleyException("assemblePDESingleReduced() not implemented");
1226  }  }
1227    
1228    void RipleyDomain::assemblePDEBoundarySingleReduced(Paso_SystemMatrix* mat,
1229          escript::Data& rhs, const escript::Data& d, const escript::Data& y) const
1230    {
1231        throw RipleyException("assemblePDEBoundarySingleReduced() not implemented");
1232    }
1233    
1234  void RipleyDomain::assemblePDESystem(Paso_SystemMatrix* mat, escript::Data& rhs,  void RipleyDomain::assemblePDESystem(Paso_SystemMatrix* mat, escript::Data& rhs,
1235          const escript::Data& A, const escript::Data& B, const escript::Data& C,          const escript::Data& A, const escript::Data& B, const escript::Data& C,
1236          const escript::Data& D, const escript::Data& X, const escript::Data& Y,          const escript::Data& D, const escript::Data& X, const escript::Data& Y) const
         const escript::Data& d, const escript::Data& y) const  
1237  {  {
1238      throw RipleyException("assemblePDESystem() not implemented");      throw RipleyException("assemblePDESystem() not implemented");
1239  }  }
1240    
1241    void RipleyDomain::assemblePDEBoundarySystem(Paso_SystemMatrix* mat,
1242          escript::Data& rhs, const escript::Data& d, const escript::Data& y) const
1243    {
1244        throw RipleyException("assemblePDEBoundarySystem() not implemented");
1245    }
1246    
1247  void RipleyDomain::assemblePDESystemReduced(Paso_SystemMatrix* mat,  void RipleyDomain::assemblePDESystemReduced(Paso_SystemMatrix* mat,
1248          escript::Data& rhs, const escript::Data& A, const escript::Data& B,          escript::Data& rhs, const escript::Data& A, const escript::Data& B,
1249          const escript::Data& C, const escript::Data& D, const escript::Data& X,          const escript::Data& C, const escript::Data& D, const escript::Data& X,
1250          const escript::Data& Y, const escript::Data& d, const escript::Data& y) const          const escript::Data& Y) const
1251  {  {
1252      throw RipleyException("assemblePDESystemReduced() not implemented");      throw RipleyException("assemblePDESystemReduced() not implemented");
1253  }  }
1254    
1255    void RipleyDomain::assemblePDEBoundarySystemReduced(Paso_SystemMatrix* mat,
1256          escript::Data& rhs, const escript::Data& d, const escript::Data& y) const
1257    {
1258        throw RipleyException("assemblePDEBoundarySystemReduced() not implemented");
1259    }
1260    
1261  void RipleyDomain::interpolateNodesOnElements(escript::Data& out, escript::Data& in, bool reduced) const  void RipleyDomain::interpolateNodesOnElements(escript::Data& out, escript::Data& in, bool reduced) const
1262  {  {
1263      throw RipleyException("interpolateNodesOnElements() not implemented");      throw RipleyException("interpolateNodesOnElements() not implemented");

Legend:
Removed from v.3766  
changed lines
  Added in v.3769

  ViewVC Help
Powered by ViewVC 1.1.26