Loading [MathJax]/extensions/tex2jax.js
Cardinal
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
NekBoundaryCoupling.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{
31public:
37 int processor_id(const int elem_id) const { return process[elem_id]; }
38
39 // process-local element IDS on the boundary of interest (for all ranks)
40 std::vector<int> element;
41
42 // element-local face IDs on the boundary of interest (for all ranks)
43 std::vector<int> face;
44
45 // problem-global boundary ID for each element (for all ranks)
46 std::vector<int> boundary_id;
47
48 // process owning each face (for all faces)
49 std::vector<int> process;
50
51 // number of faces owned by each process
52 std::vector<int> counts;
53
54 // number of MOOSE mirror faces owned by each process
55 std::vector<int> mirror_counts;
56
57 // number of coupling elements owned by this process
58 int n_faces = 0;
59
60 // total number of coupling elements
62
63 // offset into the element, face, and process arrays where this rank's data begins
64 int offset = 0;
65};
Definition NekBoundaryCoupling.h:30
int n_faces
Definition NekBoundaryCoupling.h:58
std::vector< int > element
Definition NekBoundaryCoupling.h:40
std::vector< int > face
Definition NekBoundaryCoupling.h:43
int processor_id(const int elem_id) const
Definition NekBoundaryCoupling.h:37
std::vector< int > counts
Definition NekBoundaryCoupling.h:52
int total_n_faces
Definition NekBoundaryCoupling.h:61
std::vector< int > process
Definition NekBoundaryCoupling.h:49
std::vector< int > mirror_counts
Definition NekBoundaryCoupling.h:55
int offset
Definition NekBoundaryCoupling.h:64
std::vector< int > boundary_id
Definition NekBoundaryCoupling.h:46