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 68 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}

◆ PatchMap() [2/2]

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

Definition at line 76 of file SubStructuredGraph.cpp.

77{
78 m_patchId = Array<OneD, int>(nvals);
79 m_dofId = Array<OneD, int>(nvals);
80 m_bndPatch = Array<OneD, unsigned int>(nvals);
81 m_sign = Array<OneD, NekDouble>(nvals);
82}
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 84 of file SubStructuredGraph.cpp.

85{
86}

Member Function Documentation

◆ GetDofId()

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

Definition at line 88 of file SubStructuredGraph.h.

89 {
90 return m_dofId;
91 }

References m_dofId.

◆ GetNewLevelMap()

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

Definition at line 93 of file SubStructuredGraph.h.

94 {
95 return m_newLevelMap;
96 }

References m_newLevelMap.

◆ GetPatchId()

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

Definition at line 83 of file SubStructuredGraph.h.

84 {
85 return m_patchId;
86 }

References m_patchId.

◆ GetSign()

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

Definition at line 103 of file SubStructuredGraph.h.

104 {
105 return m_sign;
106 }

References m_sign.

◆ IsBndDof()

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

Definition at line 98 of file SubStructuredGraph.h.

99 {
100 return m_bndPatch;
101 }

References m_bndPatch.

◆ SetNewLevelMap()

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

Definition at line 97 of file SubStructuredGraph.cpp.

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

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 88 of file SubStructuredGraph.cpp.

90{
91 m_patchId[n] = patchId;
92 m_dofId[n] = dofId;
93 m_bndPatch[n] = bndPatch;
94 m_sign[n] = sign;
95}
#define sign(a, b)
return the sign(b)*a
Definition: Polylib.cpp:49

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 112 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 110 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 111 of file SubStructuredGraph.h.

Referenced by GetNewLevelMap(), and SetNewLevelMap().

◆ m_patchId

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

Definition at line 109 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 113 of file SubStructuredGraph.h.

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