/[escript]/trunk/finley/src/CPPAdapter/MeshAdapterFactory.cpp
ViewVC logotype

Diff of /trunk/finley/src/CPPAdapter/MeshAdapterFactory.cpp

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

revision 1061 by gross, Fri Mar 23 11:01:53 2007 UTC revision 1062 by gross, Mon Mar 26 06:17:53 2007 UTC
# Line 42  namespace finley { Line 42  namespace finley {
42      strcpy(fName,fileName.c_str());      strcpy(fName,fileName.c_str());
43    
44  #ifndef PASO_MPI  #ifndef PASO_MPI
45      fMesh=Finley_Mesh_read(fName,integrationOrder);      fMesh=Finley_Mesh_read(fName,integrationOrder, reducedIntegrationOrder, (optimizeLabeling ? TRUE : FALSE));
46  #else  #else
47      {      {
48        stringstream temp;        stringstream temp;
# Line 74  namespace finley { Line 74  namespace finley {
74      strcpy(fName,fileName.c_str());      strcpy(fName,fileName.c_str());
75    
76  #ifndef PASO_MPI  #ifndef PASO_MPI
77      fMesh=Finley_Mesh_readGmsh(fName, numDim, integrationOrder, reducedIntegrationOrder, optimizeLabeling);      fMesh=Finley_Mesh_readGmsh(fName, numDim, integrationOrder, reducedIntegrationOrder, (optimizeLabeling ? TRUE : FALSE));
78  #else  #else
79      {      {
80        stringstream temp;        stringstream temp;
# Line 117  namespace finley { Line 117  namespace finley {
117      Finley_Mesh* fMesh=NULL;      Finley_Mesh* fMesh=NULL;
118    
119      if (order==1) {      if (order==1) {
120        fMesh=Finley_RectangularMesh_Hex8(numElements,length,periodic,integrationOrder,        fMesh=Finley_RectangularMesh_Hex8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
121                      useElementsOnFace) ;                      useElementsOnFace) ;
122      }      }
123          else if (order==2) {          else if (order==2) {
124        fMesh=Finley_RectangularMesh_Hex20(numElements,length,periodic,integrationOrder,        fMesh=Finley_RectangularMesh_Hex20(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
125                       useElementsOnFace) ;                       useElementsOnFace) ;
126      } else {      } else {
127        stringstream temp;        stringstream temp;
# Line 147  namespace finley { Line 147  namespace finley {
147    
148      Finley_Mesh* fMesh=0;      Finley_Mesh* fMesh=0;
149      if (order==1) {      if (order==1) {
150        fMesh=Finley_RectangularMesh_Rec4(numElements, length,periodic,integrationOrder,        fMesh=Finley_RectangularMesh_Rec4(numElements, length,periodic,integrationOrder,reducedIntegrationOrder,
151                      useElementsOnFace);                      useElementsOnFace);
152      }      }
153      else if (order==2) {      else if (order==2) {
154        fMesh=Finley_RectangularMesh_Rec8(numElements,length,periodic,integrationOrder,        fMesh=Finley_RectangularMesh_Rec8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
155                      useElementsOnFace);                      useElementsOnFace);
156      }      }
157      else {      else {
# Line 175  namespace finley { Line 175  namespace finley {
175      int periodic[]={periodic0};      int periodic[]={periodic0};
176      Finley_Mesh* fMesh;      Finley_Mesh* fMesh;
177      if (order==1) {      if (order==1) {
178        fMesh=Finley_RectangularMesh_Line2(numElements, length,periodic,integrationOrder,        fMesh=Finley_RectangularMesh_Line2(numElements, length,periodic,integrationOrder,reducedIntegrationOrder,
179                       useElementsOnFace);                       useElementsOnFace);
180      }      }
181      else if (order==2) {      else if (order==2) {
182        fMesh=Finley_RectangularMesh_Line3(numElements,length,periodic,integrationOrder,        fMesh=Finley_RectangularMesh_Line3(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
183                       useElementsOnFace);                       useElementsOnFace);
184      }      }
185      else {      else {
# Line 193  namespace finley { Line 193  namespace finley {
193      AbstractContinuousDomain* temp=new MeshAdapter(fMesh);      AbstractContinuousDomain* temp=new MeshAdapter(fMesh);
194      return temp;      return temp;
195    }    }
196    
197    AbstractContinuousDomain* meshMerge(const boost::python::list& meshList)    AbstractContinuousDomain* meshMerge(const boost::python::list& meshList)
198    {    {
199      Finley_Mesh* fMesh=0;      Finley_Mesh* fMesh=0;
# Line 225  namespace finley { Line 226  namespace finley {
226      return temp;      return temp;
227    }    }
228    AbstractContinuousDomain*  glueFaces(const boost::python::list& meshList,    AbstractContinuousDomain*  glueFaces(const boost::python::list& meshList,
229              double safety_factor,                          double safety_factor,
230              double tolerance,              double tolerance,
231                          bool optimizeLabeling)                          bool optimizeLabeling)
232    {    {
# Line 238  namespace finley { Line 239  namespace finley {
239      // glue the faces:      // glue the faces:
240      const MeshAdapter* merged_finley_meshes=static_cast<const MeshAdapter*>(merged_meshes);      const MeshAdapter* merged_finley_meshes=static_cast<const MeshAdapter*>(merged_meshes);
241      fMesh=merged_finley_meshes->getFinley_Mesh();      fMesh=merged_finley_meshes->getFinley_Mesh();
242      Finley_Mesh_glueFaces(fMesh,safety_factor,tolerance);      Finley_Mesh_glueFaces(fMesh,safety_factor,tolerance,(optimizeLabeling ? TRUE : FALSE));
243    
244      //      //
245      // Convert any finley errors into a C++ exception      // Convert any finley errors into a C++ exception
# Line 272  namespace finley { Line 273  namespace finley {
273      // join the faces:      // join the faces:
274      const MeshAdapter* merged_finley_meshes=static_cast<const MeshAdapter*>(merged_meshes);      const MeshAdapter* merged_finley_meshes=static_cast<const MeshAdapter*>(merged_meshes);
275      fMesh=merged_finley_meshes->getFinley_Mesh();      fMesh=merged_finley_meshes->getFinley_Mesh();
276      Finley_Mesh_joinFaces(fMesh,safety_factor,tolerance);      Finley_Mesh_joinFaces(fMesh,safety_factor,tolerance, (optimizeLabeling ? TRUE : FALSE));
277      //      //
278      // Convert any finley errors into a C++ exception      // Convert any finley errors into a C++ exception
279      checkFinleyError();      checkFinleyError();
# Line 291  namespace finley { Line 292  namespace finley {
292  #endif  #endif
293    }    }
294    
295  }  // end of namespace    // end of namespace
296    
297    }

Legend:
Removed from v.1061  
changed lines
  Added in v.1062

  ViewVC Help
Powered by ViewVC 1.1.26