00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <Hexahedron.hpp>
00021 #include <ConformTransformation.hpp>
00022
00023 Hexahedron::Hexahedron(Vertex& x0,
00024 Vertex& x1,
00025 Vertex& x2,
00026 Vertex& x3,
00027 Vertex& x4,
00028 Vertex& x5,
00029 Vertex& x6,
00030 Vertex& x7,
00031 const size_t& ref)
00032 : Cell(Hexahedron::NumberOfVertices, ref)
00033 {
00034 __vertices[0] = &x0;
00035 __vertices[1] = &x1;
00036 __vertices[2] = &x2;
00037 __vertices[3] = &x3;
00038 __vertices[4] = &x4;
00039 __vertices[5] = &x5;
00040 __vertices[6] = &x6;
00041 __vertices[7] = &x7;
00042
00043 ConformTransformationQ1Hexahedron T(*this);
00044 ConformTransformationQ1HexahedronJacobian J(T);
00045
00046 __volume = J.jacobianDet();
00047 }
00048
00049
00050 const size_t
00051 Hexahedron::
00052 faces[Hexahedron::NumberOfFaces][Hexahedron::FaceType::NumberOfVertices]
00053 = {{0,1,2,3},{0,4,5,1},{1,5,6,2},{2,6,7,3},{0,3,7,4},{4,7,6,5}};
00054
00055 const size_t
00056 Hexahedron::
00057 edges[Hexahedron::NumberOfEdges][Edge::NumberOfVertices]
00058 = {{0,1},{1,2},{2,3},{3,0},{0,4},{1,5},{2,6},{3,7},{4,5},{5,6},{6,7},{7,4}};