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 "SundanceHNMesher3D.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 HNMesher3D::dummyRefineClass_ = (new DummyNoRefineClass());
00041
00042 const MeshDomainDef HNMesher3D::dummyMeshDomain_ = (new DummyAllMeshDomain());
00043
00044 HNMesher3D::HNMesher3D(const ParameterList& params)
00045 : MeshSourceBase(params),
00046 _position_x(params.get<double>("position_x")),
00047 _position_y(params.get<double>("position_y")),
00048 _position_z(params.get<double>("position_z")),
00049 _offset_x(params.get<double>("offset_x")),
00050 _offset_y(params.get<double>("offset_y")),
00051 _offset_z(params.get<double>("offset_z")),
00052 _resolution_x(params.get<int>("resolution_x")),
00053 _resolution_y(params.get<int>("resolution_y")),
00054 _resolution_z(params.get<int>("resolution_z")),
00055 refineClass_(HNMesher3D::dummyRefineClass_),
00056 meshDomain_(HNMesher3D::dummyMeshDomain_)
00057 {
00058
00059 }
00060
00061 Mesh HNMesher3D::fillMesh() const
00062 {
00063
00064 HNMesh3D *hnodegrid;
00065 Mesh mesh = createMesh(3);
00066
00067 hnodegrid = (HNMesh3D*) mesh.ptr().get();
00068 hnodegrid->createMesh( _position_x , _position_y ,_position_z ,
00069 _offset_x , _offset_y , _offset_z ,
00070 _resolution_x , _resolution_y , _resolution_z ,
00071 refineClass_ , meshDomain_);
00072 return (mesh);
00073 }
00074