/[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 2548 by jfenwick, Mon Jul 20 06:20:06 2009 UTC revision 2722 by gross, Fri Oct 16 06:45:01 2009 UTC
# Line 506  namespace finley { Line 506  namespace finley {
506                                       int numDim,                                       int numDim,
507                                       int integrationOrder,                                       int integrationOrder,
508                                       int reducedIntegrationOrder,                                       int reducedIntegrationOrder,
509                                       int optimize)                                       int optimize,
510                                 int useMacroElements)
511    {    {
512      //      //
513      // create a copy of the filename to overcome the non-constness of call      // create a copy of the filename to overcome the non-constness of call
# Line 523  namespace finley { Line 524  namespace finley {
524      strcpy(fName,fileName.c_str());      strcpy(fName,fileName.c_str());
525      double blocktimer_start = blocktimer_time();      double blocktimer_start = blocktimer_time();
526    
527      fMesh=Finley_Mesh_readGmsh(fName, numDim, integrationOrder, reducedIntegrationOrder, (optimize ? TRUE : FALSE));      fMesh=Finley_Mesh_readGmsh(fName, numDim, integrationOrder, reducedIntegrationOrder, (optimize ? TRUE : FALSE), (useMacroElements ? TRUE : FALSE));
528      checkFinleyError();      checkFinleyError();
529      AbstractContinuousDomain* temp=new MeshAdapter(fMesh);      AbstractContinuousDomain* temp=new MeshAdapter(fMesh);
530            
# Line 554  namespace finley { Line 555  namespace finley {
555      Finley_Mesh* fMesh=NULL;      Finley_Mesh* fMesh=NULL;
556    
557      if (order==1) {      if (order==1) {
558        fMesh=Finley_RectangularMesh_Hex8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,             fMesh=Finley_RectangularMesh_Hex8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
559                      useElementsOnFace,useFullElementOrder,(optimize ? TRUE : FALSE)) ;                      useElementsOnFace,useFullElementOrder,(optimize ? TRUE : FALSE)) ;
560      }      } else if (order==2) {
561          else if (order==2) {             fMesh=Finley_RectangularMesh_Hex20(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
562        fMesh=Finley_RectangularMesh_Hex20(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,                            useElementsOnFace,useFullElementOrder,FALSE, (optimize ? TRUE : FALSE)) ;
563                       useElementsOnFace,useFullElementOrder,(optimize ? TRUE : FALSE)) ;      } else if (order==-1) {
564               fMesh=Finley_RectangularMesh_Hex20(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
565                              useElementsOnFace,useFullElementOrder,TRUE,(optimize ? TRUE : FALSE)) ;
566      } else {      } else {
567        stringstream temp;        stringstream temp;
568        temp << "Illegal interpolation order: " << order;        temp << "Illegal interpolation order: " << order;
# Line 588  namespace finley { Line 591  namespace finley {
591    
592      Finley_Mesh* fMesh=0;      Finley_Mesh* fMesh=0;
593      if (order==1) {      if (order==1) {
594        fMesh=Finley_RectangularMesh_Rec4(numElements, length,periodic,integrationOrder,reducedIntegrationOrder,              fMesh=Finley_RectangularMesh_Rec4(numElements, length,periodic,integrationOrder,reducedIntegrationOrder,
595                      useElementsOnFace,useFullElementOrder,(optimize ? TRUE : FALSE));                      useElementsOnFace,useFullElementOrder,(optimize ? TRUE : FALSE));
596      }      } else if (order==2) {
597      else if (order==2) {              fMesh=Finley_RectangularMesh_Rec8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
598        fMesh=Finley_RectangularMesh_Rec8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,                            useElementsOnFace,useFullElementOrder,FALSE,(optimize ? TRUE : FALSE));
599                      useElementsOnFace,useFullElementOrder,(optimize ? TRUE : FALSE));      } else if (order==-1) {
600      }              fMesh=Finley_RectangularMesh_Rec8(numElements,length,periodic,integrationOrder,reducedIntegrationOrder,
601      else {                            useElementsOnFace,useFullElementOrder,TRUE,(optimize ? TRUE : FALSE));
602        } else {
603        stringstream temp;        stringstream temp;
604        temp << "Illegal interpolation order: " << order;        temp << "Illegal interpolation order: " << order;
605        setFinleyError(VALUE_ERROR,temp.str().c_str());        setFinleyError(VALUE_ERROR,temp.str().c_str());

Legend:
Removed from v.2548  
changed lines
  Added in v.2722

  ViewVC Help
Powered by ViewVC 1.1.26