00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 #include "SundanceHNMesher2D.hpp"
00033 
00034 using namespace Sundance;
00035 using namespace Teuchos;
00036 
00037 REFINE_MESH_ESTIMATE( DummyNoRefineClass , { return false; } , {return 0;} )
00038 MESH_DOMAIN( DummyAllMeshDomain , {return true;})
00039 
00040 const RefinementClass HNMesher2D::dummyRefineClass_ = (new DummyNoRefineClass());
00041 
00042 const MeshDomainDef HNMesher2D::dummyMeshDomain_ = (new DummyAllMeshDomain());
00043 
00044 HNMesher2D::HNMesher2D(const ParameterList& params)
00045 : MeshSourceBase(params),
00046   _position_x(params.get<double>("position_x")),
00047   _position_y(params.get<double>("position_y")),
00048   _offset_x(params.get<double>("offset_x")),
00049   _offset_y(params.get<double>("offset_y")),
00050   _resolution_x(params.get<int>("resolution_x")),
00051   _resolution_y(params.get<int>("resolution_y")),
00052   refineClass_(HNMesher2D::dummyRefineClass_),
00053   meshDomain_(HNMesher2D::dummyMeshDomain_)
00054 {
00055   
00056 }
00057 
00058 Mesh HNMesher2D::fillMesh() const
00059 {
00060   
00061   HNMesh2D *hnodegrid;
00062   Mesh mesh = createMesh(2);
00063   
00064   hnodegrid = (HNMesh2D*) mesh.ptr().get();
00065   hnodegrid->createMesh( _position_x , _position_y , _offset_x , _offset_y , _resolution_x , _resolution_y ,
00066                       refineClass_ , meshDomain_);
00067   return (mesh);
00068 }
00069