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, 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 return mesh;
00059 }
00060
00061
00062
00063 OneTetMesher::OneTetMesher(
00064 const Point& A,
00065 const Point& B,
00066 const Point& C,
00067 const Point& D,
00068 const MeshType& meshType)
00069 : MeshSourceBase(meshType, MPIComm::world()),
00070 A_(A), B_(B), C_(C), D_(D)
00071 {}
00072
00073
00074 Mesh OneTetMesher::fillMesh() const
00075 {
00076 Mesh mesh = createMesh(3);
00077
00078 int a = mesh.addVertex(0, A_, 0, 0);
00079 int b = mesh.addVertex(1, B_, 0, 0);
00080 int c = mesh.addVertex(2, C_, 0, 0);
00081 int d = mesh.addVertex(3, D_, 0, 0);
00082
00083 mesh.addElement(0, tuple(a,b,c,d), 0, 0);
00084
00085 return mesh;
00086 }
00087