00001 #ifndef SIMPLEMESHES_H
00002 #define SIMPLEMESHES_H
00003
00004 #include "SundanceDefs.h"
00005
00006 #include "Mesh.h"
00007 #include "Cell.h"
00008 #include "AffineLineCellFactory.h"
00009 #include "AffineTriangleCellFactory.h"
00010 #include "PointCellFactory.h"
00011 #include "CellFactory.h"
00012
00013
00014
00015 namespace Sundance
00016 {
00017
00018 using namespace TSF;
00019 using std::string;
00020
00021 using std::ostream;
00022
00023
00024
00025
00026
00027
00028 Mesh serialLineMesh(double a, double b, int n);
00029
00030
00031
00032
00033 Mesh lineMesh(double a, double b, int n);
00034
00035
00036
00037
00038
00039 Mesh rectMesh(double ax, double bx, int nx,
00040 double ay, double by, int ny,
00041 bool alternateDirections = true);
00042
00043
00044
00045
00046
00047 Mesh quadRectMesh(double ax, double bx, int nx,
00048 double ay, double by, int ny);
00049
00050
00051
00052
00053
00054 Mesh lineMesh(const MPIComm& comm, double a, double b, int n);
00055
00056
00057
00058
00059
00060 int lineProcessorResolver(const Cell& c, const MPIComm& comm);
00061
00062
00063
00064
00065 int rectProcessorResolver(const Cell& c, const MPIComm& comm);
00066
00067
00068
00069 }
00070 #endif
00071
00072
00073