MFEM  v4.5.2
Finite element discretization library
hexahedron.cpp
Go to the documentation of this file.
1 // Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
2 // at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3 // LICENSE and NOTICE for details. LLNL-CODE-806117.
4 //
5 // This file is part of the MFEM library. For more information and source code
6 // availability visit https://mfem.org.
7 //
8 // MFEM is free software; you can redistribute it and/or modify it under the
9 // terms of the BSD-3 license. We welcome feedback and contributions, see file
10 // CONTRIBUTING.md for details.
11 
12 
13 #include "mesh_headers.hpp"
14 
15 namespace mfem
16 {
17 
18 Hexahedron::Hexahedron(const int *ind, int attr)
19  : Element(Geometry::CUBE)
20 {
21  attribute = attr;
22  for (int i = 0; i < 8; i++)
23  {
24  indices[i] = ind[i];
25  }
26 }
27 
28 Hexahedron::Hexahedron(int ind1, int ind2, int ind3, int ind4,
29  int ind5, int ind6, int ind7, int ind8,
30  int attr) : Element(Geometry::CUBE)
31 {
32  attribute = attr;
33  indices[0] = ind1;
34  indices[1] = ind2;
35  indices[2] = ind3;
36  indices[3] = ind4;
37  indices[4] = ind5;
38  indices[5] = ind6;
39  indices[6] = ind7;
40  indices[7] = ind8;
41 }
42 
44 {
45  v.SetSize(8);
46  for (int i = 0; i < 8; i++)
47  {
48  v[i] = indices[i];
49  }
50 }
51 
53 
54 }
TriLinear3DFiniteElement HexahedronFE
Definition: hexahedron.cpp:52
virtual int * GetVertices()
Definition: hexahedron.hpp:45
int attribute
Element&#39;s attribute (specifying material property, etc).
Definition: element.hpp:33
A 3D tri-linear element on a cube with nodes at the vertices of the cube.
void SetSize(int nsize)
Change the logical size of the array, keep existing entries.
Definition: array.hpp:684
Abstract data type element.
Definition: element.hpp:28