SundanceMeshBuilder.cpp
Go to the documentation of this file.
00001 #include "SundanceMeshBuilder.hpp"
00002 #include "SundanceOut.hpp"
00003 #include "PlayaTabs.hpp"
00004 
00005 #include "SundanceExodusNetCDFMeshReader.hpp"
00006 #include "SundanceTriangleMeshReader.hpp"
00007 #include "SundancePartitionedLineMesher.hpp"
00008 #include "SundancePartitionedRectangleMesher.hpp"
00009 
00010 
00011 
00012 using namespace Sundance;
00013 using namespace Sundance;
00014 
00015 using namespace Teuchos;
00016 using namespace Sundance;
00017 
00018 
00019 
00020 Mesh MeshBuilder::createMesh(const ParameterList& params)
00021 {
00022   TEUCHOS_TEST_FOR_EXCEPTION(!params.isParameter("type"), std::runtime_error,
00023                      "field name 'type' expected but not found in MeshBuilder "
00024                      "input parameter list: " << params);
00025 
00026   std::string type = params.get<string>("type");
00027 
00028   MeshSource mesher;
00029 
00030   if (type=="Rectangle")
00031     {
00032       mesher = new PartitionedRectangleMesher(params);
00033     }
00034   else if (type=="Line")
00035     {
00036       mesher = new PartitionedLineMesher(params);
00037     }
00038   else if (type=="Exodus")
00039     {
00040       mesher = new ExodusNetCDFMeshReader(params);
00041     }
00042   else if (type=="Triangle")
00043     {
00044       mesher = new TriangleMeshReader(params);
00045     }
00046 
00047   TEUCHOS_TEST_FOR_EXCEPTION(mesher.ptr().get()==0, std::runtime_error,
00048                      "null mesh source in MeshBuilder::createMesh()");
00049 
00050   return mesher.getMesh();
00051 }

Site Contact