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... | |
std::string | GetVariable () |
Retrieves the variable string. 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... | |
std::string | GetPreconType () const |
NekDouble | GetIterativeTolerance () const |
bool | IsAbsoluteTolerance () 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) |
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... | |
Protected Attributes | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session object. More... | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. More... | |
std::string | m_variable |
Variable string identifier. 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... | |
std::string | 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... | |
bool | m_isAbsoluteTolerance |
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 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 82 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 91 of file AssemblyMap.cpp.
References Nektar::NekConstants::kNekIterativeTol, m_isAbsoluteTolerance, 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 195 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 820 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 826 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 1275 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 1251 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 1245 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 1239 of file AssemblyMap.cpp.
References AssembleBnd(), 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 1362 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 517 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 1005 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 1010 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 1015 of file AssemblyMap.cpp.
References m_bndCondCoeffsToLocalTraceMap.
Definition at line 1026 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 1020 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 1325 of file AssemblyMap.cpp.
References m_bndSystemBandWidth.
Referenced by Nektar::MultiRegions::AssemblyMapDG::v_GetFullSystemBandWidth().
LibUtilities::CommSharedPtr Nektar::MultiRegions::AssemblyMap::GetComm | ( | ) |
Definition at line 952 of file AssemblyMap.cpp.
References v_GetExtraDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetFullSystemBandWidth | ( | ) | const |
Definition at line 912 of file AssemblyMap.cpp.
References v_GetFullSystemBandWidth().
GlobalSysSolnType Nektar::MultiRegions::AssemblyMap::GetGlobalSysSolnType | ( | ) | const |
Returns the method of solving global systems.
Definition at line 1367 of file AssemblyMap.cpp.
References m_solnType.
Referenced by AssemblyMap().
Definition at line 983 of file AssemblyMap.cpp.
References m_globalToUniversalBndMap.
Referenced by AssemblyMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalBndMapUnique | ( | ) |
Definition at line 988 of file AssemblyMap.cpp.
References m_globalToUniversalBndMapUnique.
Referenced by AssemblyMap().
Definition at line 774 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMap | ( | const int | i | ) | const |
Definition at line 759 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | ) |
Definition at line 779 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | const int | i | ) | const |
Definition at line 764 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
size_t Nektar::MultiRegions::AssemblyMap::GetHash | ( | ) | const |
NekDouble Nektar::MultiRegions::AssemblyMap::GetIterativeTolerance | ( | ) | const |
Definition at line 1377 of file AssemblyMap.cpp.
References m_iterativeTolerance.
std::string Nektar::MultiRegions::AssemblyMap::GetLinSysIterSolver | ( | ) | const |
Definition at line 1397 of file AssemblyMap.cpp.
References m_linSysIterSolver.
Retrieve the global indices of the local boundary modes.
Definition at line 968 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 963 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 978 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 993 of file AssemblyMap.cpp.
References m_localToGlobalBndSign, and m_signChange.
Referenced by AssemblyMap().
Definition at line 769 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
int Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalMap | ( | const int | i | ) | const |
Definition at line 754 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
Definition at line 789 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
NekDouble Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalSign | ( | const int | i | ) | const |
Definition at line 784 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
|
inline |
Definition at line 317 of file AssemblyMap.h.
References m_lowestStaticCondLevel.
int Nektar::MultiRegions::AssemblyMap::GetMaxIterations | ( | ) | const |
Definition at line 1387 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 1352 of file AssemblyMap.cpp.
References m_nextLevelLocalToGlobalMap.
int Nektar::MultiRegions::AssemblyMap::GetNumDirEdges | ( | ) | const |
Definition at line 932 of file AssemblyMap.cpp.
References v_GetNumDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumDirFaces | ( | ) | const |
Definition at line 937 of file AssemblyMap.cpp.
References v_GetNumDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalBndCoeffs | ( | ) | const |
Returns the total number of global boundary coefficients.
Definition at line 1046 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 1056 of file AssemblyMap.cpp.
References m_numGlobalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalDirBndCoeffs | ( | ) | const |
Returns the number of global Dirichlet boundary coefficients.
Definition at line 1031 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 1041 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 1341 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 1051 of file AssemblyMap.cpp.
References m_numLocalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumLocalDirBndCoeffs | ( | ) | const |
Returns the number of local Dirichlet boundary coefficients.
Definition at line 1036 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 1347 of file AssemblyMap.cpp.
References m_numLocalIntCoeffsPerPatch.
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdgeModes | ( | ) | const |
Definition at line 922 of file AssemblyMap.cpp.
References v_GetNumNonDirEdgeModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdges | ( | ) | const |
Definition at line 942 of file AssemblyMap.cpp.
References v_GetNumNonDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaceModes | ( | ) | const |
Definition at line 927 of file AssemblyMap.cpp.
References v_GetNumNonDirFaceModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaces | ( | ) | const |
Definition at line 947 of file AssemblyMap.cpp.
References v_GetNumNonDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirVertexModes | ( | ) | const |
Definition at line 917 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 1335 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 1357 of file AssemblyMap.cpp.
References m_patchMapFromPrevLevel.
std::string Nektar::MultiRegions::AssemblyMap::GetPreconType | ( | ) | const |
Definition at line 1372 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 973 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 1061 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 1330 of file AssemblyMap.cpp.
References m_staticCondLevel.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetSuccessiveRHS | ( | ) | const |
Definition at line 1392 of file AssemblyMap.cpp.
References m_successiveRHS.
std::string Nektar::MultiRegions::AssemblyMap::GetVariable | ( | ) |
Retrieves the variable string.
Definition at line 744 of file AssemblyMap.cpp.
References m_variable.
void Nektar::MultiRegions::AssemblyMap::GlobalToLocal | ( | const Array< OneD, const NekDouble > & | global, |
Array< OneD, NekDouble > & | loc | ||
) | const |
Definition at line 808 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 814 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 1104 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 1078 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 1072 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 1066 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), GlobalToLocalBnd(), and CG_Iterations::loc.
Referenced by GlobalToLocalBnd(), and Nektar::MultiRegions::AssemblyMapDG::v_GlobalToLocal().
|
protected |
Definition at line 1402 of file AssemblyMap.cpp.
References ASSERTL1, Vmath::Gathr(), CG_Iterations::loc, m_localToGlobalBndMap, m_numGlobalBndCoeffs, and m_numLocalBndCoeffs.
Referenced by AssemblyMap().
bool Nektar::MultiRegions::AssemblyMap::IsAbsoluteTolerance | ( | ) | const |
Definition at line 1382 of file AssemblyMap.cpp.
References m_isAbsoluteTolerance.
std::shared_ptr< AssemblyMap > Nektar::MultiRegions::AssemblyMap::LinearSpaceMap | ( | const ExpList & | locexp, |
GlobalSysSolnType | solnType | ||
) |
Definition at line 957 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 1166 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 1134 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 1215 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 1227 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 794 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 801 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 1191 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 1203 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 888 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 868 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 848 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 1414 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 1320 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 832 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 842 of file AssemblyMap.cpp.
References v_UniversalAssemble().
Definition at line 837 of file AssemblyMap.cpp.
References v_UniversalAssemble().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | Array< OneD, NekDouble > & | pGlobal | ) | const |
Definition at line 1298 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 1309 of file AssemblyMap.cpp.
References UniversalAssembleBnd(), and Vmath::Vcopy().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | NekVector< NekDouble > & | pGlobal | ) | const |
Definition at line 1304 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), and UniversalAssembleBnd().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 639 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
Referenced by Assemble().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 646 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 723 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetExtraDirEdges().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 675 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetFullSystemBandWidth().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 581 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetGlobalToUniversalMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 560 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 588 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetGlobalToUniversalMapUnique().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 567 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 574 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocalToGlobalMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 553 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 602 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocalToGlobalSign().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 595 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 699 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirEdges().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 705 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 687 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdgeModes().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 711 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdges().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 693 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaceModes().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 717 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 681 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirVertexModes().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 625 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
Referenced by GlobalToLocal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 632 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
protectedvirtual |
Generate a linear space mapping from existing mapping.
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 730 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LinearSpaceMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 609 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
Referenced by LocalToGlobal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 617 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, CG_Iterations::loc, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 653 of file AssemblyMap.cpp.
Referenced by UniversalAssemble().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 667 of file AssemblyMap.cpp.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 660 of file AssemblyMap.cpp.
Integer map of bnd cond coeffs to local coefficients.
Definition at line 392 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 394 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 396 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 398 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetBndCondIDToGlobalTraceID().
|
protected |
Definition at line 426 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 407 of file AssemblyMap.h.
Referenced by CalculateBndSystemBandWidth(), and GetBndSystemBandWidth().
|
protected |
Communicator.
Definition at line 339 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 428 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and UniversalAbsMaxBnd().
Integer map of process coeffs to universal space.
Definition at line 400 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 402 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 425 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 345 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), and GetHash().
|
protected |
Definition at line 417 of file AssemblyMap.h.
Referenced by AssemblyMap(), and IsAbsoluteTolerance().
|
protected |
Tolerance for iterative solver.
Definition at line 416 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetIterativeTolerance().
|
protected |
Iterative solver: Conjugate Gradient, GMRES.
Definition at line 423 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetLinSysIterSolver().
Integer map of local coeffs to global Boundary Dofs.
Definition at line 384 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 386 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 388 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 390 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 445 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 413 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 443 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 350 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 378 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 354 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 348 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 436 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 367 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 352 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 438 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 434 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 520 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 410 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetPreconType().
|
protected |
Session object.
Definition at line 336 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 381 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 405 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 432 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 420 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetSuccessiveRHS().
|
protected |
Flag indicating if the system is singular or not.
Definition at line 356 of file AssemblyMap.h.
Referenced by Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), and GetSingularSystem().
|
protected |
Variable string identifier.
Definition at line 342 of file AssemblyMap.h.
Referenced by GetVariable().