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 LibUtilities::CommSharedPtr &comm, 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 57 of file AssemblyMap.h.
Nektar::MultiRegions::AssemblyMap::AssemblyMap | ( | ) |
Default constructor.
Initialises an empty mapping.
Definition at line 81 of file AssemblyMap.cpp.
Nektar::MultiRegions::AssemblyMap::AssemblyMap | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const LibUtilities::CommSharedPtr & | comm, | ||
const std::string | variable = "DefaultVar" |
||
) |
Constructor with a communicator.
Definition at line 90 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 174 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 794 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 800 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 1239 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 1215 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 1209 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 1203 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 1326 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 496 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 979 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 984 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 989 of file AssemblyMap.cpp.
References m_bndCondCoeffsToLocalTraceMap.
Definition at line 1000 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 994 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 1289 of file AssemblyMap.cpp.
References m_bndSystemBandWidth.
Referenced by Nektar::MultiRegions::AssemblyMapDG::v_GetFullSystemBandWidth().
LibUtilities::CommSharedPtr Nektar::MultiRegions::AssemblyMap::GetComm | ( | ) |
Definition at line 926 of file AssemblyMap.cpp.
References v_GetExtraDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetFullSystemBandWidth | ( | ) | const |
Definition at line 886 of file AssemblyMap.cpp.
References v_GetFullSystemBandWidth().
GlobalSysSolnType Nektar::MultiRegions::AssemblyMap::GetGlobalSysSolnType | ( | ) | const |
Returns the method of solving global systems.
Definition at line 1331 of file AssemblyMap.cpp.
References m_solnType.
Referenced by AssemblyMap().
Definition at line 957 of file AssemblyMap.cpp.
References m_globalToUniversalBndMap.
Referenced by AssemblyMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalBndMapUnique | ( | ) |
Definition at line 962 of file AssemblyMap.cpp.
References m_globalToUniversalBndMapUnique.
Referenced by AssemblyMap().
Definition at line 748 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMap | ( | const int | i | ) | const |
Definition at line 733 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | ) |
Definition at line 753 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | const int | i | ) | const |
Definition at line 738 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
size_t Nektar::MultiRegions::AssemblyMap::GetHash | ( | ) | const |
NekDouble Nektar::MultiRegions::AssemblyMap::GetIterativeTolerance | ( | ) | const |
Definition at line 1341 of file AssemblyMap.cpp.
References m_iterativeTolerance.
std::string Nektar::MultiRegions::AssemblyMap::GetLinSysIterSolver | ( | ) | const |
Definition at line 1356 of file AssemblyMap.cpp.
References m_linSysIterSolver.
Retrieve the global indices of the local boundary modes.
Definition at line 942 of file AssemblyMap.cpp.
References m_localToGlobalBndMap.
int Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalBndMap | ( | const int | i | ) | const |
Retrieve the global index of a given local boundary mode.
Definition at line 937 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 952 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 967 of file AssemblyMap.cpp.
References m_localToGlobalBndSign, and m_signChange.
Referenced by AssemblyMap().
Definition at line 743 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
int Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalMap | ( | const int | i | ) | const |
Definition at line 728 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
Definition at line 763 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
NekDouble Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalSign | ( | const int | i | ) | const |
Definition at line 758 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
|
inline |
Definition at line 313 of file AssemblyMap.h.
References m_lowestStaticCondLevel.
int Nektar::MultiRegions::AssemblyMap::GetMaxIterations | ( | ) | const |
Definition at line 1346 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 1316 of file AssemblyMap.cpp.
References m_nextLevelLocalToGlobalMap.
int Nektar::MultiRegions::AssemblyMap::GetNumDirEdges | ( | ) | const |
Definition at line 906 of file AssemblyMap.cpp.
References v_GetNumDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumDirFaces | ( | ) | const |
Definition at line 911 of file AssemblyMap.cpp.
References v_GetNumDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalBndCoeffs | ( | ) | const |
Returns the total number of global boundary coefficients.
Definition at line 1020 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 1030 of file AssemblyMap.cpp.
References m_numGlobalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalDirBndCoeffs | ( | ) | const |
Returns the number of global Dirichlet boundary coefficients.
Definition at line 1005 of file AssemblyMap.cpp.
References m_numGlobalDirBndCoeffs.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetNumLocalBndCoeffs | ( | ) | const |
Returns the total number of local boundary coefficients.
Definition at line 1015 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 1305 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 1025 of file AssemblyMap.cpp.
References m_numLocalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumLocalDirBndCoeffs | ( | ) | const |
Returns the number of local Dirichlet boundary coefficients.
Definition at line 1010 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 1311 of file AssemblyMap.cpp.
References m_numLocalIntCoeffsPerPatch.
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdgeModes | ( | ) | const |
Definition at line 896 of file AssemblyMap.cpp.
References v_GetNumNonDirEdgeModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdges | ( | ) | const |
Definition at line 916 of file AssemblyMap.cpp.
References v_GetNumNonDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaceModes | ( | ) | const |
Definition at line 901 of file AssemblyMap.cpp.
References v_GetNumNonDirFaceModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaces | ( | ) | const |
Definition at line 921 of file AssemblyMap.cpp.
References v_GetNumNonDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirVertexModes | ( | ) | const |
Definition at line 891 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 1299 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 1321 of file AssemblyMap.cpp.
References m_patchMapFromPrevLevel.
PreconditionerType Nektar::MultiRegions::AssemblyMap::GetPreconType | ( | ) | const |
Definition at line 1336 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 947 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 1035 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 1294 of file AssemblyMap.cpp.
References m_staticCondLevel.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetSuccessiveRHS | ( | ) | const |
Definition at line 1351 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 782 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 788 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 1078 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 1052 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 1046 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 1040 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 1361 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 931 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 1130 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 1098 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 1179 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 1191 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 768 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 775 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 1155 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 1167 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 862 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 842 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 822 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 1373 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 1284 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 806 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 816 of file AssemblyMap.cpp.
References v_UniversalAssemble().
Definition at line 811 of file AssemblyMap.cpp.
References v_UniversalAssemble().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | Array< OneD, NekDouble > & | pGlobal | ) | const |
Definition at line 1262 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 1273 of file AssemblyMap.cpp.
References UniversalAssembleBnd(), and Vmath::Vcopy().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | NekVector< NekDouble > & | pGlobal | ) | const |
Definition at line 1268 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), and UniversalAssembleBnd().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 618 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 625 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 702 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 654 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 560 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 539 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 567 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 546 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 553 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 532 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 581 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 574 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 678 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirEdges().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 684 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirFaces().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 666 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdgeModes().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 690 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdges().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 672 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaceModes().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 696 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaces().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 660 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 604 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 611 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 709 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 588 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 596 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 632 of file AssemblyMap.cpp.
Referenced by UniversalAssemble().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 646 of file AssemblyMap.cpp.
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapDG, and Nektar::MultiRegions::AssemblyMapCG.
Definition at line 639 of file AssemblyMap.cpp.
Integer map of bnd cond coeffs to local coefficients.
Definition at line 385 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and GetBndCondCoeffsToLocalCoeffsMap().
|
protected |
Integer map of sign of bnd cond coeffs to local coefficients.
Definition at line 387 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 389 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 391 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetBndCondIDToGlobalTraceID().
|
protected |
Definition at line 418 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 400 of file AssemblyMap.h.
Referenced by CalculateBndSystemBandWidth(), and GetBndSystemBandWidth().
|
protected |
Communicator.
Definition at line 335 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 420 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and UniversalAbsMaxBnd().
Integer map of process coeffs to universal space.
Definition at line 393 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 395 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 417 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 338 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 409 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetIterativeTolerance().
|
protected |
Iterative solver: Conjugate Gradient, GMRES.
Definition at line 415 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetLinSysIterSolver().
Integer map of local coeffs to global Boundary Dofs.
Definition at line 377 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 379 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 381 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 383 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 437 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 406 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 435 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 343 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 371 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 347 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 341 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 428 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 360 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 345 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 430 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 426 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 447 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 403 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetPreconType().
|
protected |
Session object.
Definition at line 332 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 374 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 398 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 424 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 412 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetSuccessiveRHS().
|
protected |
Flag indicating if the system is singular or not.
Definition at line 349 of file AssemblyMap.h.
Referenced by Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), and GetSingularSystem().