Cardinal
NekVolumeCoupling.h
Go to the documentation of this file.
1 /********************************************************************/
2 /* SOFTWARE COPYRIGHT NOTIFICATION */
3 /* Cardinal */
4 /* */
5 /* (c) 2021 UChicago Argonne, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by UChicago Argonne, LLC */
9 /* Under Contract No. DE-AC02-06CH11357 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* Prepared by Battelle Energy Alliance, LLC */
13 /* Under Contract No. DE-AC07-05ID14517 */
14 /* With the U. S. Department of Energy */
15 /* */
16 /* See LICENSE for full restrictions */
17 /********************************************************************/
18 
19 #pragma once
20 
21 #include "CardinalUtils.h"
22 
30 {
31 public:
37  int processor_id(const int elem_id) const { return process[elem_id]; }
38 
39  // process-local element IDS (for all elements)
40  std::vector<int> element;
41 
42  // process owning each element (for all elements)
43  std::vector<int> process;
44 
45  // sideset IDs corresponding to the faces of each element (for all elements)
46  std::vector<int> boundary;
47 
48  // number of elements owned by each process
49  std::vector<int> counts;
50 
51  // number of MOOSE mirror elements owned by each process
52  std::vector<int> mirror_counts;
53 
54  // number of faces on a boundary of interest for each element
55  std::vector<int> n_faces_on_boundary;
56 
57  // number of coupling elements owned by this process
58  int n_elems = 0;
59 
60  // total number of coupling elements
61  int total_n_elems = 0;
62 };
NekVolumeCoupling::mirror_counts
std::vector< int > mirror_counts
Definition: NekVolumeCoupling.h:52
NekVolumeCoupling::total_n_elems
int total_n_elems
Definition: NekVolumeCoupling.h:61
NekVolumeCoupling::process
std::vector< int > process
Definition: NekVolumeCoupling.h:43
NekVolumeCoupling::processor_id
int processor_id(const int elem_id) const
Definition: NekVolumeCoupling.h:37
NekVolumeCoupling::boundary
std::vector< int > boundary
Definition: NekVolumeCoupling.h:46
CardinalUtils.h
NekVolumeCoupling::element
std::vector< int > element
Definition: NekVolumeCoupling.h:40
NekVolumeCoupling::counts
std::vector< int > counts
Definition: NekVolumeCoupling.h:49
NekVolumeCoupling
Definition: NekVolumeCoupling.h:29
NekVolumeCoupling::n_elems
int n_elems
Definition: NekVolumeCoupling.h:58
NekVolumeCoupling::n_faces_on_boundary
std::vector< int > n_faces_on_boundary
Definition: NekVolumeCoupling.h:55