MFEM  v4.1.0 Finite element discretization library
stable3d.hpp
Go to the documentation of this file.
1 // Copyright (c) 2010-2020, Lawrence Livermore National Security, LLC. Produced
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 #ifndef MFEM_STABLE3D
13 #define MFEM_STABLE3D
14
15 #include "mem_alloc.hpp"
16 #include "../general/globals.hpp"
17
18 namespace mfem
19 {
20
22 {
23 public:
26 };
27
28 /// Symmetric 3D Table
29 class STable3D
30 {
31 private:
32  int Size, NElem;
33  STable3DNode **Rows;
34
35 #ifdef MFEM_USE_MEMALLOC
37 #endif
38
39 public:
40  explicit STable3D (int nr);
41
42  int Push (int r, int c, int f);
43
44  int operator() (int r, int c, int f) const;
45
46  int Index (int r, int c, int f) const;
47
48  int Push4 (int r, int c, int f, int t);
49
50  int operator() (int r, int c, int f, int t) const;
51
52  int NumberOfElements() { return NElem; }
53
54  void Print(std::ostream &out = mfem::out) const;
55
56  ~STable3D ();
57 };
58
59 }
60
61 #endif
int Push(int r, int c, int f)
Definition: stable3d.cpp:64
int Index(int r, int c, int f) const
Definition: stable3d.cpp:117
int operator()(int r, int c, int f) const
Definition: stable3d.cpp:97
Symmetric 3D Table.
Definition: stable3d.hpp:29
STable3D(int nr)
Definition: stable3d.cpp:21
void Print(std::ostream &out=mfem::out) const
Definition: stable3d.cpp:205
int Push4(int r, int c, int f, int t)
Definition: stable3d.cpp:135
STable3DNode * Prev
Definition: stable3d.hpp:24
OutStream out(std::cout)
Global stream used by the library for standard output. Initially it uses the same std::streambuf as s...
Definition: globals.hpp:66
int NumberOfElements()
Definition: stable3d.hpp:52