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 "SundanceOneCellTestMesher.hpp"
00033
00034 using namespace Sundance;
00035 using namespace Teuchos;
00036
00037
00038 OneTriangleMesher::OneTriangleMesher(
00039 const Point& A,
00040 const Point& B,
00041 const Point& C,
00042 const MeshType& meshType)
00043 : MeshSourceBase(meshType, 0, MPIComm::world()),
00044 A_(A), B_(B), C_(C)
00045 {}
00046
00047
00048 Mesh OneTriangleMesher::fillMesh() const
00049 {
00050 Mesh mesh = createMesh(2);
00051
00052 int a = mesh.addVertex(0, A_, 0, 0);
00053 int b = mesh.addVertex(1, B_, 0, 0);
00054 int c = mesh.addVertex(2, C_, 0, 0);
00055
00056 mesh.addElement(0, tuple(a,b,c), 0, 0);
00057
00058 mesh.freezeTopology();
00059
00060 return mesh;
00061 }
00062
00063
00064
00065 OneTetMesher::OneTetMesher(
00066 const Point& A,
00067 const Point& B,
00068 const Point& C,
00069 const Point& D,
00070 const MeshType& meshType)
00071 : MeshSourceBase(meshType, 0, MPIComm::world()),
00072 A_(A), B_(B), C_(C), D_(D)
00073 {}
00074
00075
00076 Mesh OneTetMesher::fillMesh() const
00077 {
00078 Mesh mesh = createMesh(3);
00079
00080 int a = mesh.addVertex(0, A_, 0, 0);
00081 int b = mesh.addVertex(1, B_, 0, 0);
00082 int c = mesh.addVertex(2, C_, 0, 0);
00083 int d = mesh.addVertex(3, D_, 0, 0);
00084
00085 mesh.addElement(0, tuple(a,b,c,d), 0, 0);
00086
00087 return mesh;
00088 }
00089