Nektar++
|
Base class for constructing local to global mapping of degrees of freedom. More...
#include <AssemblyMap.h>
Public Member Functions | |
AssemblyMap () | |
Default constructor. More... | |
AssemblyMap (const LibUtilities::SessionReaderSharedPtr &pSession, const std::string variable="DefaultVar") | |
Constructor with a communicator. More... | |
AssemblyMap (AssemblyMap *oldLevelMap, const BottomUpSubStructuredGraphSharedPtr &multiLevelGraph) | |
Constructor for next level in multi-level static condensation. More... | |
virtual | ~AssemblyMap () |
Destructor. More... | |
LibUtilities::CommSharedPtr | GetComm () |
Retrieves the communicator. More... | |
size_t | GetHash () const |
Retrieves the hash of this map. More... | |
int | GetLocalToGlobalMap (const int i) const |
int | GetGlobalToUniversalMap (const int i) const |
int | GetGlobalToUniversalMapUnique (const int i) const |
const Array< OneD, const int > & | GetLocalToGlobalMap () |
const Array< OneD, const int > & | GetGlobalToUniversalMap () |
const Array< OneD, const int > & | GetGlobalToUniversalMapUnique () |
NekDouble | GetLocalToGlobalSign (const int i) const |
const Array< OneD, NekDouble > & | GetLocalToGlobalSign () const |
void | LocalToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global, bool useComm=true) const |
void | LocalToGlobal (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global, bool useComm=true) const |
void | GlobalToLocal (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &loc) const |
void | GlobalToLocal (const NekVector< NekDouble > &global, NekVector< NekDouble > &loc) const |
void | Assemble (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global) const |
void | Assemble (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global) const |
void | UniversalAssemble (Array< OneD, NekDouble > &pGlobal) const |
void | UniversalAssemble (NekVector< NekDouble > &pGlobal) const |
void | UniversalAssemble (Array< OneD, NekDouble > &pGlobal, int offset) const |
void | UniversalAbsMaxBnd (Array< OneD, NekDouble > &bndvals) |
int | GetLocalToGlobalBndMap (const int i) const |
Retrieve the global index of a given local boundary mode. More... | |
const Array< OneD, const int > & | GetLocalToGlobalBndMap () |
Retrieve the global indices of the local boundary modes. More... | |
const Array< OneD, const int > & | GetGlobalToUniversalBndMap () |
const Array< OneD, const int > & | GetGlobalToUniversalBndMapUnique () |
bool | GetSignChange () |
Returns true if using a modal expansion requiring a change of sign of some modes. More... | |
NekDouble | GetLocalToGlobalBndSign (const int i) const |
Retrieve the sign change of a given local boundary mode. More... | |
Array< OneD, const NekDouble > | GetLocalToGlobalBndSign () const |
Retrieve the sign change for all local boundary modes. More... | |
const Array< OneD, const int > & | GetBndCondCoeffsToLocalCoeffsMap () |
Retrieves the local indices corresponding to the boundary expansion modes. More... | |
const Array< OneD, NekDouble > & | GetBndCondCoeffsToLocalCoeffsSign () |
Returns the modal sign associated with a given boundary expansion mode. More... | |
const Array< OneD, const int > & | GetBndCondCoeffsToLocalTraceMap () |
Retrieves the local indices corresponding to the boundary expansion modes to global trace. More... | |
int | GetBndCondIDToGlobalTraceID (const int i) |
Returns the global index of the boundary trace giving the index on the boundary expansion. More... | |
const Array< OneD, const int > & | GetBndCondIDToGlobalTraceID () |
int | GetNumGlobalDirBndCoeffs () const |
Returns the number of global Dirichlet boundary coefficients. More... | |
int | GetNumLocalDirBndCoeffs () const |
Returns the number of local Dirichlet boundary coefficients. More... | |
int | GetNumGlobalBndCoeffs () const |
Returns the total number of global boundary coefficients. More... | |
int | GetNumLocalBndCoeffs () const |
Returns the total number of local boundary coefficients. More... | |
int | GetNumLocalCoeffs () const |
Returns the total number of local coefficients. More... | |
int | GetNumGlobalCoeffs () const |
Returns the total number of global coefficients. More... | |
bool | GetSingularSystem () const |
Retrieves if the system is singular (true) or not (false) More... | |
void | GlobalToLocalBnd (const NekVector< NekDouble > &global, NekVector< NekDouble > &loc, int offset) const |
void | GlobalToLocalBnd (const NekVector< NekDouble > &global, NekVector< NekDouble > &loc) const |
void | GlobalToLocalBnd (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &loc, int offset) const |
void | GlobalToLocalBnd (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &loc) const |
void | LocalBndToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global, int offset, bool UseComm=true) const |
void | LocalBndToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global, bool UseComm=true) const |
void | LocalToLocalBnd (const Array< OneD, const NekDouble > &local, Array< OneD, NekDouble > &locbnd) const |
void | LocalToLocalInt (const Array< OneD, const NekDouble > &local, Array< OneD, NekDouble > &locint) const |
void | LocalBndToLocal (const Array< OneD, const NekDouble > &locbnd, Array< OneD, NekDouble > &local) const |
void | LocalIntToLocal (const Array< OneD, const NekDouble > &locbnd, Array< OneD, NekDouble > &local) const |
void | AssembleBnd (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global, int offset) const |
void | AssembleBnd (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global) const |
void | AssembleBnd (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global, int offset) const |
void | AssembleBnd (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global) const |
void | UniversalAssembleBnd (Array< OneD, NekDouble > &pGlobal) const |
void | UniversalAssembleBnd (NekVector< NekDouble > &pGlobal) const |
void | UniversalAssembleBnd (Array< OneD, NekDouble > &pGlobal, int offset) const |
int | GetFullSystemBandWidth () const |
int | GetNumNonDirVertexModes () const |
int | GetNumNonDirEdgeModes () const |
int | GetNumNonDirFaceModes () const |
int | GetNumDirEdges () const |
int | GetNumDirFaces () const |
int | GetNumNonDirEdges () const |
int | GetNumNonDirFaces () const |
void | PrintStats (std::ostream &out, std::string variable, bool printHeader=true) const |
const Array< OneD, const int > & | GetExtraDirEdges () |
std::shared_ptr< AssemblyMap > | LinearSpaceMap (const ExpList &locexp, GlobalSysSolnType solnType) |
int | GetBndSystemBandWidth () const |
Returns the bandwidth of the boundary system. More... | |
int | GetStaticCondLevel () const |
Returns the level of static condensation for this map. More... | |
int | GetNumPatches () const |
Returns the number of patches in this static condensation level. More... | |
const Array< OneD, const unsigned int > & | GetNumLocalBndCoeffsPerPatch () |
Returns the number of local boundary coefficients in each patch. More... | |
const Array< OneD, const unsigned int > & | GetNumLocalIntCoeffsPerPatch () |
Returns the number of local interior coefficients in each patch. More... | |
const AssemblyMapSharedPtr | GetNextLevelLocalToGlobalMap () const |
Returns the local to global mapping for the next level in the multi-level static condensation. More... | |
void | SetNextLevelLocalToGlobalMap (AssemblyMapSharedPtr pNextLevelLocalToGlobalMap) |
const PatchMapSharedPtr & | GetPatchMapFromPrevLevel (void) const |
Returns the patch map from the previous level of the multi-level static condensation. More... | |
bool | AtLastLevel () const |
Returns true if this is the last level in the multi-level static condensation. More... | |
GlobalSysSolnType | GetGlobalSysSolnType () const |
Returns the method of solving global systems. More... | |
PreconditionerType | GetPreconType () const |
NekDouble | GetIterativeTolerance () const |
int | GetMaxIterations () const |
int | GetSuccessiveRHS () const |
std::string | GetLinSysIterSolver () const |
int | GetLowestStaticCondLevel () const |
void | PatchLocalToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global) const |
void | PatchGlobalToLocal (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &loc) const |
void | PatchAssemble (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global) const |
Protected Member Functions | |
void | CalculateBndSystemBandWidth () |
Calculates the bandwidth of the boundary system. More... | |
void | GlobalToLocalBndWithoutSign (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &loc) |
Protected Attributes | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session object. More... | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. More... | |
size_t | m_hash |
Hash for map. More... | |
int | m_numLocalBndCoeffs |
Number of local boundary coefficients. More... | |
int | m_numGlobalBndCoeffs |
Total number of global boundary coefficients. More... | |
int | m_numLocalDirBndCoeffs |
Number of Local Dirichlet Boundary Coefficients. More... | |
int | m_numGlobalDirBndCoeffs |
Number of Global Dirichlet Boundary Coefficients. More... | |
bool | m_systemSingular |
Flag indicating if the system is singular or not. More... | |
int | m_numLocalCoeffs |
Total number of local coefficients. More... | |
int | m_numGlobalCoeffs |
Total number of global coefficients. More... | |
bool | m_signChange |
Flag indicating if modes require sign reversal. More... | |
Array< OneD, int > | m_localToGlobalBndMap |
Integer map of local coeffs to global Boundary Dofs. More... | |
Array< OneD, NekDouble > | m_localToGlobalBndSign |
Integer sign of local boundary coeffs to global space. More... | |
Array< OneD, int > | m_localToLocalBndMap |
Integer map of local boundary coeffs to local boundary system numbering. More... | |
Array< OneD, int > | m_localToLocalIntMap |
Integer map of local boundary coeffs to local interior system numbering. More... | |
Array< OneD, int > | m_bndCondCoeffsToLocalCoeffsMap |
Integer map of bnd cond coeffs to local coefficients. More... | |
Array< OneD, NekDouble > | m_bndCondCoeffsToLocalCoeffsSign |
Integer map of sign of bnd cond coeffs to local coefficients. More... | |
Array< OneD, int > | m_bndCondCoeffsToLocalTraceMap |
Integer map of bnd cond coeff to local trace coeff. More... | |
Array< OneD, int > | m_bndCondIDToGlobalTraceID |
Integer map of bnd cond trace number to global trace number. More... | |
Array< OneD, int > | m_globalToUniversalBndMap |
Integer map of process coeffs to universal space. More... | |
Array< OneD, int > | m_globalToUniversalBndMapUnique |
Integer map of unique process coeffs to universal space (signed) More... | |
GlobalSysSolnType | m_solnType |
The solution type of the global system. More... | |
int | m_bndSystemBandWidth |
The bandwith of the global bnd system. More... | |
PreconditionerType | m_preconType |
Type type of preconditioner to use in iterative solver. More... | |
int | m_maxIterations |
Maximum iterations for iterative solver. More... | |
NekDouble | m_iterativeTolerance |
Tolerance for iterative solver. More... | |
int | m_successiveRHS |
sucessive RHS for iterative solver More... | |
std::string | m_linSysIterSolver |
Iterative solver: Conjugate Gradient, GMRES. More... | |
Gs::gs_data * | m_gsh |
Gs::gs_data * | m_bndGsh |
Gs::gs_data * | m_dirBndGsh |
gs gather communication to impose Dirhichlet BCs. More... | |
int | m_staticCondLevel |
The level of recursion in the case of multi-level static condensation. More... | |
int | m_numPatches |
The number of patches (~elements) in the current level. More... | |
Array< OneD, unsigned int > | m_numLocalBndCoeffsPerPatch |
The number of bnd dofs per patch. More... | |
Array< OneD, unsigned int > | m_numLocalIntCoeffsPerPatch |
The number of int dofs per patch. More... | |
AssemblyMapSharedPtr | m_nextLevelLocalToGlobalMap |
Map from the patches of the previous level to the patches of the current level. More... | |
int | m_lowestStaticCondLevel |
Lowest static condensation level. More... | |
Private Member Functions | |
virtual int | v_GetLocalToGlobalMap (const int i) const |
virtual int | v_GetGlobalToUniversalMap (const int i) const |
virtual int | v_GetGlobalToUniversalMapUnique (const int i) const |
virtual const Array< OneD, const int > & | v_GetLocalToGlobalMap () |
virtual const Array< OneD, const int > & | v_GetGlobalToUniversalMap () |
virtual const Array< OneD, const int > & | v_GetGlobalToUniversalMapUnique () |
virtual NekDouble | v_GetLocalToGlobalSign (const int i) const |
virtual const Array< OneD, NekDouble > & | v_GetLocalToGlobalSign () const |
virtual void | v_LocalToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global, bool useComm) const |
virtual void | v_LocalToGlobal (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global, bool useComm) const |
virtual void | v_GlobalToLocal (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &loc) const |
virtual void | v_GlobalToLocal (const NekVector< NekDouble > &global, NekVector< NekDouble > &loc) const |
virtual void | v_Assemble (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global) const |
virtual void | v_Assemble (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global) const |
virtual void | v_UniversalAssemble (Array< OneD, NekDouble > &pGlobal) const |
virtual void | v_UniversalAssemble (NekVector< NekDouble > &pGlobal) const |
virtual void | v_UniversalAssemble (Array< OneD, NekDouble > &pGlobal, int offset) const |
virtual int | v_GetFullSystemBandWidth () const |
virtual int | v_GetNumNonDirVertexModes () const |
virtual int | v_GetNumNonDirEdgeModes () const |
virtual int | v_GetNumNonDirFaceModes () const |
virtual int | v_GetNumDirEdges () const |
virtual int | v_GetNumDirFaces () const |
virtual int | v_GetNumNonDirEdges () const |
virtual int | v_GetNumNonDirFaces () const |
virtual const Array< OneD, const int > & | v_GetExtraDirEdges () |
virtual std::shared_ptr< AssemblyMap > | v_LinearSpaceMap (const ExpList &locexp, GlobalSysSolnType solnType) |
Generate a linear space mapping from existing mapping. More... | |
Private Attributes | |
PatchMapSharedPtr | m_patchMapFromPrevLevel |
Mapping information for previous level in MultiLevel Solver. More... | |
Base class for constructing local to global mapping of degrees of freedom.
This class acts as a base class for constructing mappings between local, global and boundary degrees of freedom. It holds the storage for the maps and provides the accessors needed to retrieve them.
There are two derived classes: AssemblyMapCG and AssemblyMapDG. These perform the actual construction of the maps within their specific contexts.
Definition at line 58 of file AssemblyMap.h.
Nektar::MultiRegions::AssemblyMap::AssemblyMap | ( | ) |
Default constructor.
Initialises an empty mapping.
Definition at line 80 of file AssemblyMap.cpp.
Nektar::MultiRegions::AssemblyMap::AssemblyMap | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::string | variable = "DefaultVar" |
||
) |
Constructor with a communicator.
Definition at line 97 of file AssemblyMap.cpp.
References Nektar::NekConstants::kNekIterativeTol, m_iterativeTolerance, m_linSysIterSolver, m_maxIterations, m_preconType, m_solnType, and m_successiveRHS.
Nektar::MultiRegions::AssemblyMap::AssemblyMap | ( | AssemblyMap * | oldLevelMap, |
const BottomUpSubStructuredGraphSharedPtr & | multiLevelGraph | ||
) |
Constructor for next level in multi-level static condensation.
Create a new level of mapping using the information in multiLevelGraph and performing the following steps:
Definition at line 197 of file AssemblyMap.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, ASSERTL1, CalculateBndSystemBandWidth(), Nektar::MultiRegions::eDirectMultiLevelStaticCond, Nektar::MultiRegions::eIterativeMultiLevelStaticCond, Nektar::MultiRegions::ePETScMultiLevelStaticCond, Nektar::MultiRegions::eXxtMultiLevelStaticCond, GetGlobalSysSolnType(), GetGlobalToUniversalBndMap(), GetGlobalToUniversalBndMapUnique(), GetLocalToGlobalBndMap(), GetLocalToGlobalBndSign(), GetNumGlobalBndCoeffs(), GetNumGlobalDirBndCoeffs(), GetNumLocalBndCoeffs(), GetNumLocalBndCoeffsPerPatch(), GetNumLocalDirBndCoeffs(), GetNumPatches(), GetSignChange(), GetStaticCondLevel(), GlobalToLocalBndWithoutSign(), m_globalToUniversalBndMap, m_globalToUniversalBndMapUnique, m_localToGlobalBndMap, m_localToGlobalBndSign, m_localToLocalBndMap, m_localToLocalIntMap, m_nextLevelLocalToGlobalMap, m_numGlobalBndCoeffs, m_numGlobalCoeffs, m_numGlobalDirBndCoeffs, m_numLocalBndCoeffs, m_numLocalBndCoeffsPerPatch, m_numLocalCoeffs, m_numLocalDirBndCoeffs, m_numLocalIntCoeffsPerPatch, m_numPatches, m_patchMapFromPrevLevel, m_signChange, m_solnType, m_staticCondLevel, Nektar::MultiRegions::RoundNekDoubleToInt(), and sign.
|
virtual |
void Nektar::MultiRegions::AssemblyMap::Assemble | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global | ||
) | const |
Definition at line 848 of file AssemblyMap.cpp.
References CG_Iterations::loc, and v_Assemble().
Referenced by Nektar::MultiRegions::AssemblyMapCG::v_Assemble().
void Nektar::MultiRegions::AssemblyMap::Assemble | ( | const NekVector< NekDouble > & | loc, |
NekVector< NekDouble > & | global | ||
) | const |
Definition at line 855 of file AssemblyMap.cpp.
References CG_Iterations::loc, and v_Assemble().
void Nektar::MultiRegions::AssemblyMap::AssembleBnd | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global | ||
) | const |
Definition at line 1301 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Assmb(), CG_Iterations::loc, m_localToGlobalBndMap, m_localToGlobalBndSign, m_numGlobalBndCoeffs, m_numLocalBndCoeffs, m_signChange, UniversalAssembleBnd(), and Vmath::Zero().
void Nektar::MultiRegions::AssemblyMap::AssembleBnd | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global, | ||
int | offset | ||
) | const |
Definition at line 1280 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Assmb(), CG_Iterations::loc, m_localToGlobalBndMap, m_localToGlobalBndSign, m_numGlobalBndCoeffs, m_numLocalBndCoeffs, m_signChange, UniversalAssembleBnd(), and Vmath::Vcopy().
void Nektar::MultiRegions::AssemblyMap::AssembleBnd | ( | const NekVector< NekDouble > & | loc, |
NekVector< NekDouble > & | global | ||
) | const |
Definition at line 1272 of file AssemblyMap.cpp.
References AssembleBnd(), Nektar::NekVector< DataType >::GetPtr(), and CG_Iterations::loc.
void Nektar::MultiRegions::AssemblyMap::AssembleBnd | ( | const NekVector< NekDouble > & | loc, |
NekVector< NekDouble > & | global, | ||
int | offset | ||
) | const |
Definition at line 1264 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), and CG_Iterations::loc.
Referenced by AssembleBnd(), and Nektar::MultiRegions::AssemblyMapDG::v_Assemble().
bool Nektar::MultiRegions::AssemblyMap::AtLastLevel | ( | ) | const |
Returns true if this is the last level in the multi-level static condensation.
Definition at line 1392 of file AssemblyMap.cpp.
References m_nextLevelLocalToGlobalMap.
|
protected |
Calculates the bandwidth of the boundary system.
The bandwidth calculated corresponds to what is referred to as half-bandwidth. If the elements of the matrix are designated as a_ij, it corresponds to the maximum value of |i-j| for non-zero a_ij. As a result, the value also corresponds to the number of sub- or super-diagonals.
The bandwith can be calculated elementally as it corresponds to the maximal elemental bandwith (i.e. the maximal difference in global DOF index for every element).
We here calculate the bandwith of the global boundary system (as used for static condensation).
Definition at line 510 of file AssemblyMap.cpp.
References m_bndSystemBandWidth, m_localToGlobalBndMap, m_numGlobalDirBndCoeffs, m_numLocalBndCoeffs, m_numLocalBndCoeffsPerPatch, and m_numPatches.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetBndCondCoeffsToLocalCoeffsMap | ( | ) |
Retrieves the local indices corresponding to the boundary expansion modes.
Definition at line 1049 of file AssemblyMap.cpp.
References m_bndCondCoeffsToLocalCoeffsMap.
const Array< OneD, NekDouble > & Nektar::MultiRegions::AssemblyMap::GetBndCondCoeffsToLocalCoeffsSign | ( | ) |
Returns the modal sign associated with a given boundary expansion mode.
Definition at line 1054 of file AssemblyMap.cpp.
References m_bndCondCoeffsToLocalCoeffsSign.
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetBndCondCoeffsToLocalTraceMap | ( | ) |
Retrieves the local indices corresponding to the boundary expansion modes to global trace.
Definition at line 1060 of file AssemblyMap.cpp.
References m_bndCondCoeffsToLocalTraceMap.
Definition at line 1074 of file AssemblyMap.cpp.
References m_bndCondIDToGlobalTraceID.
int Nektar::MultiRegions::AssemblyMap::GetBndCondIDToGlobalTraceID | ( | const int | i | ) |
Returns the global index of the boundary trace giving the index on the boundary expansion.
Definition at line 1066 of file AssemblyMap.cpp.
References ASSERTL1, and m_bndCondIDToGlobalTraceID.
int Nektar::MultiRegions::AssemblyMap::GetBndSystemBandWidth | ( | ) | const |
Returns the bandwidth of the boundary system.
Definition at line 1351 of file AssemblyMap.cpp.
References m_bndSystemBandWidth.
Referenced by Nektar::MultiRegions::AssemblyMapDG::v_GetFullSystemBandWidth().
LibUtilities::CommSharedPtr Nektar::MultiRegions::AssemblyMap::GetComm | ( | ) |
Definition at line 992 of file AssemblyMap.cpp.
References v_GetExtraDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetFullSystemBandWidth | ( | ) | const |
Definition at line 952 of file AssemblyMap.cpp.
References v_GetFullSystemBandWidth().
GlobalSysSolnType Nektar::MultiRegions::AssemblyMap::GetGlobalSysSolnType | ( | ) | const |
Returns the method of solving global systems.
Definition at line 1398 of file AssemblyMap.cpp.
References m_solnType.
Referenced by AssemblyMap().
Definition at line 1025 of file AssemblyMap.cpp.
References m_globalToUniversalBndMap.
Referenced by AssemblyMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalBndMapUnique | ( | ) |
Definition at line 1030 of file AssemblyMap.cpp.
References m_globalToUniversalBndMapUnique.
Referenced by AssemblyMap().
Definition at line 797 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMap | ( | const int | i | ) | const |
Definition at line 782 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | ) |
Definition at line 802 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | const int | i | ) | const |
Definition at line 787 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
size_t Nektar::MultiRegions::AssemblyMap::GetHash | ( | ) | const |
NekDouble Nektar::MultiRegions::AssemblyMap::GetIterativeTolerance | ( | ) | const |
Definition at line 1408 of file AssemblyMap.cpp.
References m_iterativeTolerance.
std::string Nektar::MultiRegions::AssemblyMap::GetLinSysIterSolver | ( | ) | const |
Definition at line 1423 of file AssemblyMap.cpp.
References m_linSysIterSolver.
Retrieve the global indices of the local boundary modes.
Definition at line 1008 of file AssemblyMap.cpp.
References m_localToGlobalBndMap.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalBndMap | ( | const int | i | ) | const |
Retrieve the global index of a given local boundary mode.
Definition at line 1002 of file AssemblyMap.cpp.
References m_localToGlobalBndMap.
Referenced by AssemblyMap().
Array< OneD, const NekDouble > Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalBndSign | ( | void | ) | const |
Retrieve the sign change for all local boundary modes.
Definition at line 1020 of file AssemblyMap.cpp.
References m_localToGlobalBndSign.
Referenced by Nektar::MultiRegions::AssemblyMapDG::v_GetLocalToGlobalSign().
NekDouble Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalBndSign | ( | const int | i | ) | const |
Retrieve the sign change of a given local boundary mode.
Definition at line 1035 of file AssemblyMap.cpp.
References m_localToGlobalBndSign, and m_signChange.
Referenced by AssemblyMap().
Definition at line 792 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
int Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalMap | ( | const int | i | ) | const |
Definition at line 777 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
Definition at line 812 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
NekDouble Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalSign | ( | const int | i | ) | const |
Definition at line 807 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
|
inline |
Definition at line 311 of file AssemblyMap.h.
References m_lowestStaticCondLevel.
int Nektar::MultiRegions::AssemblyMap::GetMaxIterations | ( | ) | const |
Definition at line 1413 of file AssemblyMap.cpp.
References m_maxIterations.
const AssemblyMapSharedPtr Nektar::MultiRegions::AssemblyMap::GetNextLevelLocalToGlobalMap | ( | ) | const |
Returns the local to global mapping for the next level in the multi-level static condensation.
Definition at line 1380 of file AssemblyMap.cpp.
References m_nextLevelLocalToGlobalMap.
int Nektar::MultiRegions::AssemblyMap::GetNumDirEdges | ( | ) | const |
Definition at line 972 of file AssemblyMap.cpp.
References v_GetNumDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumDirFaces | ( | ) | const |
Definition at line 977 of file AssemblyMap.cpp.
References v_GetNumDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalBndCoeffs | ( | ) | const |
Returns the total number of global boundary coefficients.
Definition at line 1096 of file AssemblyMap.cpp.
References m_numGlobalBndCoeffs.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalCoeffs | ( | ) | const |
Returns the total number of global coefficients.
Definition at line 1106 of file AssemblyMap.cpp.
References m_numGlobalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalDirBndCoeffs | ( | ) | const |
Returns the number of global Dirichlet boundary coefficients.
Definition at line 1080 of file AssemblyMap.cpp.
References m_numGlobalDirBndCoeffs.
Referenced by AssemblyMap(), and Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerHDG().
int Nektar::MultiRegions::AssemblyMap::GetNumLocalBndCoeffs | ( | ) | const |
Returns the total number of local boundary coefficients.
Definition at line 1091 of file AssemblyMap.cpp.
References m_numLocalBndCoeffs.
Referenced by AssemblyMap().
const Array< OneD, const unsigned int > & Nektar::MultiRegions::AssemblyMap::GetNumLocalBndCoeffsPerPatch | ( | ) |
Returns the number of local boundary coefficients in each patch.
Definition at line 1367 of file AssemblyMap.cpp.
References m_numLocalBndCoeffsPerPatch.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetNumLocalCoeffs | ( | ) | const |
Returns the total number of local coefficients.
Definition at line 1101 of file AssemblyMap.cpp.
References m_numLocalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumLocalDirBndCoeffs | ( | ) | const |
Returns the number of local Dirichlet boundary coefficients.
Definition at line 1086 of file AssemblyMap.cpp.
References m_numLocalDirBndCoeffs.
Referenced by AssemblyMap().
const Array< OneD, const unsigned int > & Nektar::MultiRegions::AssemblyMap::GetNumLocalIntCoeffsPerPatch | ( | ) |
Returns the number of local interior coefficients in each patch.
Definition at line 1374 of file AssemblyMap.cpp.
References m_numLocalIntCoeffsPerPatch.
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdgeModes | ( | ) | const |
Definition at line 962 of file AssemblyMap.cpp.
References v_GetNumNonDirEdgeModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdges | ( | ) | const |
Definition at line 982 of file AssemblyMap.cpp.
References v_GetNumNonDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaceModes | ( | ) | const |
Definition at line 967 of file AssemblyMap.cpp.
References v_GetNumNonDirFaceModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaces | ( | ) | const |
Definition at line 987 of file AssemblyMap.cpp.
References v_GetNumNonDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirVertexModes | ( | ) | const |
Definition at line 957 of file AssemblyMap.cpp.
References v_GetNumNonDirVertexModes().
int Nektar::MultiRegions::AssemblyMap::GetNumPatches | ( | ) | const |
Returns the number of patches in this static condensation level.
Definition at line 1361 of file AssemblyMap.cpp.
References m_numPatches.
Referenced by AssemblyMap().
const PatchMapSharedPtr & Nektar::MultiRegions::AssemblyMap::GetPatchMapFromPrevLevel | ( | void | ) | const |
Returns the patch map from the previous level of the multi-level static condensation.
Definition at line 1386 of file AssemblyMap.cpp.
References m_patchMapFromPrevLevel.
PreconditionerType Nektar::MultiRegions::AssemblyMap::GetPreconType | ( | ) | const |
Definition at line 1403 of file AssemblyMap.cpp.
References m_preconType.
bool Nektar::MultiRegions::AssemblyMap::GetSignChange | ( | ) |
Returns true if using a modal expansion requiring a change of sign of some modes.
Definition at line 1013 of file AssemblyMap.cpp.
References m_signChange.
Referenced by AssemblyMap().
bool Nektar::MultiRegions::AssemblyMap::GetSingularSystem | ( | ) | const |
Retrieves if the system is singular (true) or not (false)
Definition at line 1111 of file AssemblyMap.cpp.
References m_systemSingular.
int Nektar::MultiRegions::AssemblyMap::GetStaticCondLevel | ( | ) | const |
Returns the level of static condensation for this map.
Definition at line 1356 of file AssemblyMap.cpp.
References m_staticCondLevel.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetSuccessiveRHS | ( | ) | const |
Definition at line 1418 of file AssemblyMap.cpp.
References m_successiveRHS.
void Nektar::MultiRegions::AssemblyMap::GlobalToLocal | ( | const Array< OneD, const NekDouble > & | global, |
Array< OneD, NekDouble > & | loc | ||
) | const |
Definition at line 834 of file AssemblyMap.cpp.
References CG_Iterations::loc, and v_GlobalToLocal().
Referenced by Nektar::MultiRegions::AssemblyMapCG::v_GlobalToLocal().
void Nektar::MultiRegions::AssemblyMap::GlobalToLocal | ( | const NekVector< NekDouble > & | global, |
NekVector< NekDouble > & | loc | ||
) | const |
Definition at line 841 of file AssemblyMap.cpp.
References CG_Iterations::loc, and v_GlobalToLocal().
void Nektar::MultiRegions::AssemblyMap::GlobalToLocalBnd | ( | const Array< OneD, const NekDouble > & | global, |
Array< OneD, NekDouble > & | loc | ||
) | const |
Definition at line 1155 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Gathr(), CG_Iterations::loc, m_localToGlobalBndMap, m_localToGlobalBndSign, m_numGlobalBndCoeffs, m_numLocalBndCoeffs, and m_signChange.
void Nektar::MultiRegions::AssemblyMap::GlobalToLocalBnd | ( | const Array< OneD, const NekDouble > & | global, |
Array< OneD, NekDouble > & | loc, | ||
int | offset | ||
) | const |
Definition at line 1133 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Gathr(), CG_Iterations::loc, m_localToGlobalBndMap, m_localToGlobalBndSign, m_numGlobalBndCoeffs, m_numLocalBndCoeffs, m_signChange, and Vmath::Vcopy().
void Nektar::MultiRegions::AssemblyMap::GlobalToLocalBnd | ( | const NekVector< NekDouble > & | global, |
NekVector< NekDouble > & | loc | ||
) | const |
Definition at line 1125 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), GlobalToLocalBnd(), and CG_Iterations::loc.
void Nektar::MultiRegions::AssemblyMap::GlobalToLocalBnd | ( | const NekVector< NekDouble > & | global, |
NekVector< NekDouble > & | loc, | ||
int | offset | ||
) | const |
Definition at line 1116 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), and CG_Iterations::loc.
Referenced by GlobalToLocalBnd(), and Nektar::MultiRegions::AssemblyMapDG::v_GlobalToLocal().
|
protected |
Definition at line 1428 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Gathr(), CG_Iterations::loc, m_localToGlobalBndMap, m_numGlobalBndCoeffs, and m_numLocalBndCoeffs.
Referenced by AssemblyMap().
std::shared_ptr< AssemblyMap > Nektar::MultiRegions::AssemblyMap::LinearSpaceMap | ( | const ExpList & | locexp, |
GlobalSysSolnType | solnType | ||
) |
Definition at line 997 of file AssemblyMap.cpp.
References v_LinearSpaceMap().
void Nektar::MultiRegions::AssemblyMap::LocalBndToGlobal | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global, | ||
bool | UseComm = true |
||
) | const |
Definition at line 1200 of file AssemblyMap.cpp.
References ASSERTL1, Gs::Gather(), Gs::gs_max, CG_Iterations::loc, m_bndGsh, m_localToGlobalBndMap, m_localToGlobalBndSign, m_numGlobalBndCoeffs, m_numLocalBndCoeffs, m_signChange, and Vmath::Scatr().
void Nektar::MultiRegions::AssemblyMap::LocalBndToGlobal | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global, | ||
int | offset, | ||
bool | UseComm = true |
||
) | const |
Definition at line 1172 of file AssemblyMap.cpp.
References ASSERTL1, Gs::Gather(), Gs::gs_max, CG_Iterations::loc, m_bndGsh, m_localToGlobalBndMap, m_localToGlobalBndSign, m_numGlobalBndCoeffs, m_numLocalBndCoeffs, m_signChange, Vmath::Scatr(), and Vmath::Vcopy().
Referenced by Nektar::MultiRegions::AssemblyMapDG::v_LocalToGlobal().
void Nektar::MultiRegions::AssemblyMap::LocalBndToLocal | ( | const Array< OneD, const NekDouble > & | locbnd, |
Array< OneD, NekDouble > & | local | ||
) | const |
Definition at line 1243 of file AssemblyMap.cpp.
References ASSERTL1, m_localToLocalBndMap, m_numLocalBndCoeffs, m_numLocalCoeffs, and Vmath::Scatr().
void Nektar::MultiRegions::AssemblyMap::LocalIntToLocal | ( | const Array< OneD, const NekDouble > & | locbnd, |
Array< OneD, NekDouble > & | local | ||
) | const |
Definition at line 1253 of file AssemblyMap.cpp.
References ASSERTL1, m_localToLocalIntMap, m_numLocalBndCoeffs, m_numLocalCoeffs, and Vmath::Scatr().
void Nektar::MultiRegions::AssemblyMap::LocalToGlobal | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global, | ||
bool | useComm = true |
||
) | const |
Definition at line 818 of file AssemblyMap.cpp.
References CG_Iterations::loc, and v_LocalToGlobal().
Referenced by Nektar::MultiRegions::AssemblyMapCG::v_LocalToGlobal().
void Nektar::MultiRegions::AssemblyMap::LocalToGlobal | ( | const NekVector< NekDouble > & | loc, |
NekVector< NekDouble > & | global, | ||
bool | useComm = true |
||
) | const |
Definition at line 826 of file AssemblyMap.cpp.
References CG_Iterations::loc, and v_LocalToGlobal().
void Nektar::MultiRegions::AssemblyMap::LocalToLocalBnd | ( | const Array< OneD, const NekDouble > & | local, |
Array< OneD, NekDouble > & | locbnd | ||
) | const |
Definition at line 1222 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Gathr(), m_localToLocalBndMap, m_numLocalBndCoeffs, and m_numLocalCoeffs.
void Nektar::MultiRegions::AssemblyMap::LocalToLocalInt | ( | const Array< OneD, const NekDouble > & | local, |
Array< OneD, NekDouble > & | locint | ||
) | const |
Definition at line 1232 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Gathr(), m_localToLocalIntMap, m_numLocalBndCoeffs, and m_numLocalCoeffs.
void Nektar::MultiRegions::AssemblyMap::PatchAssemble | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global | ||
) | const |
Definition at line 926 of file AssemblyMap.cpp.
References Vmath::Assmb(), CG_Iterations::loc, m_numLocalCoeffs, m_patchMapFromPrevLevel, sign, and Vmath::Zero().
void Nektar::MultiRegions::AssemblyMap::PatchGlobalToLocal | ( | const Array< OneD, const NekDouble > & | global, |
Array< OneD, NekDouble > & | loc | ||
) | const |
Definition at line 905 of file AssemblyMap.cpp.
References Vmath::Gathr(), CG_Iterations::loc, m_patchMapFromPrevLevel, and sign.
void Nektar::MultiRegions::AssemblyMap::PatchLocalToGlobal | ( | const Array< OneD, const NekDouble > & | loc, |
Array< OneD, NekDouble > & | global | ||
) | const |
Definition at line 881 of file AssemblyMap.cpp.
References CG_Iterations::loc, m_patchMapFromPrevLevel, Vmath::Scatr(), and sign.
void Nektar::MultiRegions::AssemblyMap::PrintStats | ( | std::ostream & | out, |
std::string | variable, | ||
bool | printHeader = true |
||
) | const |
Definition at line 1438 of file AssemblyMap.cpp.
References Vmath::Assmb(), CellMLToNektar.pycml::level, m_globalToUniversalBndMapUnique, m_localToGlobalBndMap, m_nextLevelLocalToGlobalMap, m_numGlobalBndCoeffs, m_numGlobalCoeffs, m_numGlobalDirBndCoeffs, m_numLocalBndCoeffs, m_numLocalCoeffs, m_numLocalDirBndCoeffs, m_session, Nektar::LibUtilities::ReduceMax, Nektar::LibUtilities::ReduceMin, Nektar::LibUtilities::ReduceSum, tinysimd::sqrt(), and UniversalAssembleBnd().
void Nektar::MultiRegions::AssemblyMap::SetNextLevelLocalToGlobalMap | ( | AssemblyMapSharedPtr | pNextLevelLocalToGlobalMap | ) |
Definition at line 1346 of file AssemblyMap.cpp.
References Gs::Gather(), Gs::gs_amax, and m_dirBndGsh.
void Nektar::MultiRegions::AssemblyMap::UniversalAssemble | ( | Array< OneD, NekDouble > & | pGlobal | ) | const |
Definition at line 862 of file AssemblyMap.cpp.
References v_UniversalAssemble().
Referenced by Nektar::MultiRegions::AssemblyMapCG::v_Assemble(), Nektar::MultiRegions::AssemblyMapCG::v_UniversalAssemble(), and Nektar::MultiRegions::AssemblyMapDG::v_UniversalAssemble().
void Nektar::MultiRegions::AssemblyMap::UniversalAssemble | ( | Array< OneD, NekDouble > & | pGlobal, |
int | offset | ||
) | const |
Definition at line 874 of file AssemblyMap.cpp.
References v_UniversalAssemble().
Definition at line 868 of file AssemblyMap.cpp.
References v_UniversalAssemble().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | Array< OneD, NekDouble > & | pGlobal | ) | const |
Definition at line 1322 of file AssemblyMap.cpp.
References ASSERTL1, Gs::Gather(), Gs::gs_add, m_bndGsh, and m_numGlobalBndCoeffs.
Referenced by AssembleBnd(), PrintStats(), and UniversalAssembleBnd().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | Array< OneD, NekDouble > & | pGlobal, |
int | offset | ||
) | const |
Definition at line 1336 of file AssemblyMap.cpp.
References UniversalAssembleBnd(), and Vmath::Vcopy().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | NekVector< NekDouble > & | pGlobal | ) | const |
Definition at line 1330 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), and UniversalAssembleBnd().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 650 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
Referenced by Assemble().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 659 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 749 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetExtraDirEdges().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 693 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetFullSystemBandWidth().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 579 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetGlobalToUniversalMap().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 555 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 587 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetGlobalToUniversalMapUnique().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 563 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 571 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocalToGlobalMap().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 547 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 603 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocalToGlobalSign().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 595 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 721 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirEdges().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 728 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirFaces().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 707 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdgeModes().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 735 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdges().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 714 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaceModes().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 742 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaces().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 700 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirVertexModes().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 632 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
Referenced by GlobalToLocal().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 641 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
privatevirtual |
Generate a linear space mapping from existing mapping.
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 757 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LinearSpaceMap().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 611 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
Referenced by LocalToGlobal().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 621 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 668 of file AssemblyMap.cpp.
Referenced by UniversalAssemble().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 684 of file AssemblyMap.cpp.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 676 of file AssemblyMap.cpp.
Integer map of bnd cond coeffs to local coefficients.
Definition at line 382 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and GetBndCondCoeffsToLocalCoeffsMap().
Integer map of sign of bnd cond coeffs to local coefficients.
Definition at line 384 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and GetBndCondCoeffsToLocalCoeffsSign().
Integer map of bnd cond coeff to local trace coeff.
Definition at line 386 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), and GetBndCondCoeffsToLocalTraceMap().
Integer map of bnd cond trace number to global trace number.
Definition at line 388 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetBndCondIDToGlobalTraceID().
|
protected |
Definition at line 415 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), LocalBndToGlobal(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), UniversalAssembleBnd(), and Nektar::MultiRegions::AssemblyMapCG::~AssemblyMapCG().
|
protected |
The bandwith of the global bnd system.
Definition at line 397 of file AssemblyMap.h.
Referenced by CalculateBndSystemBandWidth(), and GetBndSystemBandWidth().
|
protected |
Communicator.
Definition at line 332 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), GetComm(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
|
protected |
gs gather communication to impose Dirhichlet BCs.
Definition at line 417 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and UniversalAbsMaxBnd().
Integer map of process coeffs to universal space.
Definition at line 390 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), GetGlobalToUniversalBndMap(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), and Nektar::MultiRegions::AssemblyMapDG::v_GetGlobalToUniversalMap().
Integer map of unique process coeffs to universal space (signed)
Definition at line 392 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), GetGlobalToUniversalBndMapUnique(), PrintStats(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), and Nektar::MultiRegions::AssemblyMapDG::v_GetGlobalToUniversalMapUnique().
|
protected |
Definition at line 414 of file AssemblyMap.h.
Referenced by Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), Nektar::MultiRegions::AssemblyMapCG::v_LocalToGlobal(), Nektar::MultiRegions::AssemblyMapCG::v_UniversalAssemble(), Nektar::MultiRegions::AssemblyMapDG::v_UniversalAssemble(), and Nektar::MultiRegions::AssemblyMapCG::~AssemblyMapCG().
|
protected |
Hash for map.
Definition at line 335 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), and GetHash().
|
protected |
Tolerance for iterative solver.
Definition at line 406 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetIterativeTolerance().
|
protected |
Iterative solver: Conjugate Gradient, GMRES.
Definition at line 412 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetLinSysIterSolver().
Integer map of local coeffs to global Boundary Dofs.
Definition at line 374 of file AssemblyMap.h.
Referenced by AssembleBnd(), AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CalculateBndSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetLocalToGlobalBndMap(), GlobalToLocalBnd(), GlobalToLocalBndWithoutSign(), LocalBndToGlobal(), PrintStats(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), and Nektar::MultiRegions::AssemblyMapDG::v_GetLocalToGlobalMap().
Integer sign of local boundary coeffs to global space.
Definition at line 376 of file AssemblyMap.h.
Referenced by AssembleBnd(), AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetLocalToGlobalBndSign(), GlobalToLocalBnd(), and LocalBndToGlobal().
Integer map of local boundary coeffs to local boundary system numbering.
Definition at line 378 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), LocalBndToLocal(), and LocalToLocalBnd().
Integer map of local boundary coeffs to local interior system numbering.
Definition at line 380 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), LocalIntToLocal(), and LocalToLocalInt().
|
protected |
Lowest static condensation level.
Definition at line 434 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), and GetLowestStaticCondLevel().
|
protected |
Maximum iterations for iterative solver.
Definition at line 403 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetMaxIterations().
|
protected |
Map from the patches of the previous level to the patches of the current level.
The local to global mapping of the next level of recursion
Definition at line 432 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), AtLastLevel(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetNextLevelLocalToGlobalMap(), and PrintStats().
|
protected |
Total number of global boundary coefficients.
Definition at line 340 of file AssemblyMap.h.
Referenced by AssembleBnd(), AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetNumGlobalBndCoeffs(), GlobalToLocalBnd(), GlobalToLocalBndWithoutSign(), LocalBndToGlobal(), PrintStats(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), and UniversalAssembleBnd().
|
protected |
Total number of global coefficients.
This corresponds to the number of total number of coefficients
Definition at line 368 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetNumGlobalCoeffs(), PrintStats(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::v_Assemble(), Nektar::MultiRegions::AssemblyMapCG::v_GlobalToLocal(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
|
protected |
Number of Global Dirichlet Boundary Coefficients.
Definition at line 344 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CalculateBndSystemBandWidth(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetNumGlobalDirBndCoeffs(), PrintStats(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
|
protected |
Number of local boundary coefficients.
Definition at line 338 of file AssemblyMap.h.
Referenced by AssembleBnd(), AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CalculateBndSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), GetNumLocalBndCoeffs(), GlobalToLocalBnd(), GlobalToLocalBndWithoutSign(), LocalBndToGlobal(), LocalBndToLocal(), LocalIntToLocal(), LocalToLocalBnd(), LocalToLocalInt(), and PrintStats().
The number of bnd dofs per patch.
Definition at line 425 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CalculateBndSystemBandWidth(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetNumLocalBndCoeffsPerPatch().
|
protected |
Total number of local coefficients.
This corresponds to the number of total number of coefficients
Definition at line 357 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetNumLocalCoeffs(), LocalBndToLocal(), LocalIntToLocal(), LocalToLocalBnd(), LocalToLocalInt(), PatchAssemble(), PrintStats(), Nektar::MultiRegions::AssemblyMapCG::v_Assemble(), Nektar::MultiRegions::AssemblyMapCG::v_GlobalToLocal(), and Nektar::MultiRegions::AssemblyMapCG::v_LocalToGlobal().
|
protected |
Number of Local Dirichlet Boundary Coefficients.
Definition at line 342 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), GetNumLocalDirBndCoeffs(), and PrintStats().
The number of int dofs per patch.
Definition at line 427 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetNumLocalIntCoeffsPerPatch().
|
protected |
The number of patches (~elements) in the current level.
Definition at line 423 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CalculateBndSystemBandWidth(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetNumPatches().
|
private |
Mapping information for previous level in MultiLevel Solver.
Definition at line 445 of file AssemblyMap.h.
Referenced by AssemblyMap(), GetPatchMapFromPrevLevel(), PatchAssemble(), PatchGlobalToLocal(), and PatchLocalToGlobal().
|
protected |
Type type of preconditioner to use in iterative solver.
Definition at line 400 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetPreconType().
|
protected |
Session object.
Definition at line 329 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), PrintStats(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
|
protected |
Flag indicating if modes require sign reversal.
Definition at line 371 of file AssemblyMap.h.
Referenced by AssembleBnd(), AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), GetLocalToGlobalBndSign(), GetSignChange(), GlobalToLocalBnd(), LocalBndToGlobal(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::v_Assemble(), Nektar::MultiRegions::AssemblyMapCG::v_GetLocalToGlobalSign(), Nektar::MultiRegions::AssemblyMapCG::v_GlobalToLocal(), and Nektar::MultiRegions::AssemblyMapCG::v_LocalToGlobal().
|
protected |
The solution type of the global system.
Definition at line 395 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), and GetGlobalSysSolnType().
|
protected |
The level of recursion in the case of multi-level static condensation.
Definition at line 421 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetStaticCondLevel().
|
protected |
sucessive RHS for iterative solver
Definition at line 409 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetSuccessiveRHS().
|
protected |
Flag indicating if the system is singular or not.
Definition at line 346 of file AssemblyMap.h.
Referenced by Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), and GetSingularSystem().