00001 #ifndef _GLOBALS__
00002 #define _GLOBALS__
00003
00004
00005
00006 #include <fe/fe_values.h>
00007 #include <lac/vector.h>
00008 #include <assert.h>
00009 #include <vector>
00010 #include <string>
00011 #include <iostream>
00012 #include <base/point.h>
00013 #include <grid/tria.h>
00014 #include <lac/full_matrix.h>
00015 #include <lac/full_matrix.h>
00016 #include <lac/block_sparse_matrix.h>
00017 #include <limits.h>
00018 #define DIM 3
00019 #define TOLERANCE 1E-08
00020
00021
00022 using namespace dealii;
00023
00024 using std::string;
00025 using std::cout;
00026 #define INDEX_MAX UINT_MAX
00027 typedef unsigned Index;
00028 typedef Point<2> Point2D;
00029 typedef Point<1> Point1D;
00030 typedef Point<3> Point3D;
00031 typedef std::vector<bool> VecBool;
00032 typedef std::map<unsigned,double> MapIntDouble;
00033 typedef Triangulation<DIM>::active_cell_iterator Cell;
00034 typedef Triangulation<2>::active_cell_iterator Cell2D;
00035 typedef std::vector<std::string> ArrayString;
00036 typedef Triangulation<1>::active_cell_iterator Cell1D;
00037 typedef Triangulation<DIM>::active_face_iterator Face;
00038 typedef DoFHandler<DIM>::active_cell_iterator DoFCell;
00039 typedef DoFHandler<DIM>::active_face_iterator DoFFace;
00040 typedef std::vector<int> VecInt;
00041 typedef std::vector<Index> VecIndex;
00042 typedef BlockVector<double> BlockVecDouble;
00043 typedef Vector<double> DealVecDouble;
00044 typedef BlockSparseMatrix<double> BlockMatrix;
00045 typedef std::vector<char> VecTag;
00046 typedef std::vector<std::string> StringList;
00047 enum Axis {X,Y,Z};
00048 enum CellDirection3D {LEFT_CELL,RIGHT_CELL,FRONT_CELL,BACK_CELL,BOTTOM_CELL,UP_CELL};
00049 enum VertexDirection3D{VERTEX_000,VERTEX_100,VERTEX_010,VERTEX_110,VERTEX_001,VERTEX_101,VERTEX_011,VERTEX_111};
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 enum FaceDirection3D{LEFT_FACE=0,RIGHT_FACE=1,FRONT_FACE=2,BACK_FACE=3,BOTTOM_FACE=4,UP_FACE=5};
00066
00067 enum VertexDirection2D {BL_VERTEX=0,BR_VERTEX=1,UL_VERTEX=2,UR_VERTEX=3,INVALID_VERTEX=4};
00068
00069
00070 enum SolverType{CG_ITERATIVE,DIRECT};
00071
00072
00073
00074 #define EQUAL(X,Y) (fabs(X-Y) < 1e-08)
00075
00076
00077 #endif