Nektar++
Public Member Functions | Protected Attributes | List of all members
Nektar::MultiRegions::PatchMap Class Reference

#include <SubStructuredGraph.h>

Public Member Functions

 PatchMap (void)
 
 PatchMap (const int vals)
 
 ~PatchMap (void)
 
void SetPatchMap (const int n, const int patchId, const int dofId, const unsigned int bndPatch, const NekDouble sign)
 
void SetNewLevelMap (Array< OneD, const unsigned int > numLocalBndCondPerPatch, Array< OneD, const unsigned int > numLocalIntCondPerPatch)
 
Array< OneD, const int > GetPatchId () const
 
Array< OneD, const int > GetDofId () const
 
Array< OneD, const int > GetNewLevelMap () const
 
Array< OneD, const unsigned int > IsBndDof () const
 
Array< OneD, const NekDoubleGetSign () const
 

Protected Attributes

Array< OneD, int > m_patchId
 
Array< OneD, int > m_dofId
 
Array< OneD, int > m_newLevelMap
 
Array< OneD, unsigned int > m_bndPatch
 
Array< OneD, NekDoublem_sign
 

Detailed Description

Definition at line 70 of file SubStructuredGraph.h.

Constructor & Destructor Documentation

◆ PatchMap() [1/2]

Nektar::MultiRegions::PatchMap::PatchMap ( void  )

Definition at line 72 of file SubStructuredGraph.cpp.

73  {
74 
75  }

◆ PatchMap() [2/2]

Nektar::MultiRegions::PatchMap::PatchMap ( const int  vals)

Definition at line 77 of file SubStructuredGraph.cpp.

78  {
79  m_patchId = Array<OneD, int> (nvals);
80  m_dofId = Array<OneD, int> (nvals);
81  m_bndPatch = Array<OneD, unsigned int>(nvals);
82  m_sign = Array<OneD, NekDouble> (nvals);
83  }
Array< OneD, unsigned int > m_bndPatch
Array< OneD, NekDouble > m_sign

References m_bndPatch, m_dofId, m_patchId, and m_sign.

◆ ~PatchMap()

Nektar::MultiRegions::PatchMap::~PatchMap ( void  )

Definition at line 85 of file SubStructuredGraph.cpp.

86  {
87 
88  }

Member Function Documentation

◆ GetDofId()

Array<OneD, const int> Nektar::MultiRegions::PatchMap::GetDofId ( ) const
inline

Definition at line 92 of file SubStructuredGraph.h.

93  {
94  return m_dofId;
95  }

References m_dofId.

◆ GetNewLevelMap()

Array<OneD, const int> Nektar::MultiRegions::PatchMap::GetNewLevelMap ( ) const
inline

Definition at line 97 of file SubStructuredGraph.h.

98  {
99  return m_newLevelMap;
100  }

References m_newLevelMap.

◆ GetPatchId()

Array<OneD, const int> Nektar::MultiRegions::PatchMap::GetPatchId ( ) const
inline

Definition at line 87 of file SubStructuredGraph.h.

88  {
89  return m_patchId;
90  }

References m_patchId.

◆ GetSign()

Array<OneD, const NekDouble> Nektar::MultiRegions::PatchMap::GetSign ( ) const
inline

Definition at line 107 of file SubStructuredGraph.h.

108  {
109  return m_sign;
110  }

References m_sign.

◆ IsBndDof()

Array<OneD, const unsigned int> Nektar::MultiRegions::PatchMap::IsBndDof ( ) const
inline

Definition at line 102 of file SubStructuredGraph.h.

103  {
104  return m_bndPatch;
105  }

References m_bndPatch.

◆ SetNewLevelMap()

void Nektar::MultiRegions::PatchMap::SetNewLevelMap ( Array< OneD, const unsigned int >  numLocalBndCondPerPatch,
Array< OneD, const unsigned int >  numLocalIntCondPerPatch 
)

Definition at line 103 of file SubStructuredGraph.cpp.

105  {
106  int npatch = numLocalBndCondPerPatch.size();
107 
108  Array<OneD, int> bndoffset(npatch+1);
109  Array<OneD, int> intoffset(npatch+1);
110 
111  bndoffset[0] = intoffset[0] = 0;
112  for(int i = 1; i <= npatch; ++i)
113  {
114  bndoffset[i] = bndoffset[i-1] + numLocalBndCondPerPatch[i-1];
115  intoffset[i] = intoffset[i-1] + numLocalIntCondPerPatch[i-1];
116  }
117 
118  m_newLevelMap = Array<OneD, int>(m_dofId.size());
119 
120  for(int i = 0; i < m_dofId.size(); ++i)
121  {
122  if(m_bndPatch[i] == true)
123  {
124  m_newLevelMap[i] = bndoffset[m_patchId[i]] + m_dofId[i];
125  }
126  else
127  {
128  m_newLevelMap[i] = bndoffset[npatch] + intoffset[m_patchId[i]] + m_dofId[i];
129  }
130  }
131  }

References m_bndPatch, m_dofId, m_newLevelMap, and m_patchId.

◆ SetPatchMap()

void Nektar::MultiRegions::PatchMap::SetPatchMap ( const int  n,
const int  patchId,
const int  dofId,
const unsigned int  bndPatch,
const NekDouble  sign 
)

Definition at line 90 of file SubStructuredGraph.cpp.

96  {
97  m_patchId [n] = patchId;
98  m_dofId [n] = dofId;
99  m_bndPatch[n] = bndPatch;
100  m_sign [n] = sign;
101  }
#define sign(a, b)
return the sign(b)*a
Definition: Polylib.cpp:15

References m_bndPatch, m_dofId, m_patchId, m_sign, and sign.

Member Data Documentation

◆ m_bndPatch

Array<OneD, unsigned int> Nektar::MultiRegions::PatchMap::m_bndPatch
protected

Definition at line 116 of file SubStructuredGraph.h.

Referenced by IsBndDof(), PatchMap(), SetNewLevelMap(), and SetPatchMap().

◆ m_dofId

Array<OneD, int> Nektar::MultiRegions::PatchMap::m_dofId
protected

Definition at line 114 of file SubStructuredGraph.h.

Referenced by GetDofId(), PatchMap(), SetNewLevelMap(), and SetPatchMap().

◆ m_newLevelMap

Array<OneD, int> Nektar::MultiRegions::PatchMap::m_newLevelMap
protected

Definition at line 115 of file SubStructuredGraph.h.

Referenced by GetNewLevelMap(), and SetNewLevelMap().

◆ m_patchId

Array<OneD, int> Nektar::MultiRegions::PatchMap::m_patchId
protected

Definition at line 113 of file SubStructuredGraph.h.

Referenced by GetPatchId(), PatchMap(), SetNewLevelMap(), and SetPatchMap().

◆ m_sign

Array<OneD, NekDouble> Nektar::MultiRegions::PatchMap::m_sign
protected

Definition at line 117 of file SubStructuredGraph.h.

Referenced by GetSign(), PatchMap(), and SetPatchMap().