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 |
bool | IsAbsoluteTolerance () 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... | |
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 55 of file AssemblyMap.h.
Nektar::MultiRegions::AssemblyMap::AssemblyMap | ( | ) |
Default constructor.
Initialises an empty mapping.
Definition at line 79 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 88 of file AssemblyMap.cpp.
References m_isAbsoluteTolerance, m_linSysIterSolver, 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 168 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 789 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 795 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 1244 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 1220 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 1214 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 1208 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 1335 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 488 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 974 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 979 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 984 of file AssemblyMap.cpp.
References m_bndCondCoeffsToLocalTraceMap.
Definition at line 995 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 989 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 1298 of file AssemblyMap.cpp.
References m_bndSystemBandWidth.
Referenced by Nektar::MultiRegions::AssemblyMapDG::v_GetFullSystemBandWidth().
LibUtilities::CommSharedPtr Nektar::MultiRegions::AssemblyMap::GetComm | ( | ) |
Definition at line 921 of file AssemblyMap.cpp.
References v_GetExtraDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetFullSystemBandWidth | ( | ) | const |
Definition at line 881 of file AssemblyMap.cpp.
References v_GetFullSystemBandWidth().
GlobalSysSolnType Nektar::MultiRegions::AssemblyMap::GetGlobalSysSolnType | ( | ) | const |
Returns the method of solving global systems.
Definition at line 1340 of file AssemblyMap.cpp.
References m_solnType.
Referenced by AssemblyMap().
Definition at line 952 of file AssemblyMap.cpp.
References m_globalToUniversalBndMap.
Referenced by AssemblyMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalBndMapUnique | ( | ) |
Definition at line 957 of file AssemblyMap.cpp.
References m_globalToUniversalBndMapUnique.
Referenced by AssemblyMap().
Definition at line 743 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMap | ( | const int | i | ) | const |
Definition at line 728 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMap().
const Array< OneD, const int > & Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | ) |
Definition at line 748 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
int Nektar::MultiRegions::AssemblyMap::GetGlobalToUniversalMapUnique | ( | const int | i | ) | const |
Definition at line 733 of file AssemblyMap.cpp.
References v_GetGlobalToUniversalMapUnique().
size_t Nektar::MultiRegions::AssemblyMap::GetHash | ( | ) | const |
std::string Nektar::MultiRegions::AssemblyMap::GetLinSysIterSolver | ( | ) | const |
Definition at line 1360 of file AssemblyMap.cpp.
References m_linSysIterSolver.
Retrieve the global indices of the local boundary modes.
Definition at line 937 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 932 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 947 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 962 of file AssemblyMap.cpp.
References m_localToGlobalBndSign, and m_signChange.
Referenced by AssemblyMap().
Definition at line 738 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
int Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalMap | ( | const int | i | ) | const |
Definition at line 723 of file AssemblyMap.cpp.
References v_GetLocalToGlobalMap().
Definition at line 758 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
NekDouble Nektar::MultiRegions::AssemblyMap::GetLocalToGlobalSign | ( | const int | i | ) | const |
Definition at line 753 of file AssemblyMap.cpp.
References v_GetLocalToGlobalSign().
|
inline |
Definition at line 311 of file AssemblyMap.h.
References m_lowestStaticCondLevel.
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 1325 of file AssemblyMap.cpp.
References m_nextLevelLocalToGlobalMap.
int Nektar::MultiRegions::AssemblyMap::GetNumDirEdges | ( | ) | const |
Definition at line 901 of file AssemblyMap.cpp.
References v_GetNumDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumDirFaces | ( | ) | const |
Definition at line 906 of file AssemblyMap.cpp.
References v_GetNumDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalBndCoeffs | ( | ) | const |
Returns the total number of global boundary coefficients.
Definition at line 1015 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 1025 of file AssemblyMap.cpp.
References m_numGlobalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumGlobalDirBndCoeffs | ( | ) | const |
Returns the number of global Dirichlet boundary coefficients.
Definition at line 1000 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 1010 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 1313 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 1020 of file AssemblyMap.cpp.
References m_numLocalCoeffs.
int Nektar::MultiRegions::AssemblyMap::GetNumLocalDirBndCoeffs | ( | ) | const |
Returns the number of local Dirichlet boundary coefficients.
Definition at line 1005 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 1319 of file AssemblyMap.cpp.
References m_numLocalIntCoeffsPerPatch.
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdgeModes | ( | ) | const |
Definition at line 891 of file AssemblyMap.cpp.
References v_GetNumNonDirEdgeModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirEdges | ( | ) | const |
Definition at line 911 of file AssemblyMap.cpp.
References v_GetNumNonDirEdges().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaceModes | ( | ) | const |
Definition at line 896 of file AssemblyMap.cpp.
References v_GetNumNonDirFaceModes().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirFaces | ( | ) | const |
Definition at line 916 of file AssemblyMap.cpp.
References v_GetNumNonDirFaces().
int Nektar::MultiRegions::AssemblyMap::GetNumNonDirVertexModes | ( | ) | const |
Definition at line 886 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 1308 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 1330 of file AssemblyMap.cpp.
References m_patchMapFromPrevLevel.
std::string Nektar::MultiRegions::AssemblyMap::GetPreconType | ( | ) | const |
Definition at line 1345 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 942 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 1030 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 1303 of file AssemblyMap.cpp.
References m_staticCondLevel.
Referenced by AssemblyMap().
int Nektar::MultiRegions::AssemblyMap::GetSuccessiveRHS | ( | ) | const |
Definition at line 1355 of file AssemblyMap.cpp.
References m_successiveRHS.
std::string Nektar::MultiRegions::AssemblyMap::GetVariable | ( | ) |
Retrieves the variable string.
Definition at line 713 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 777 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 783 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 1073 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 1047 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 1041 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 1035 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 1365 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 1350 of file AssemblyMap.cpp.
References m_isAbsoluteTolerance.
std::shared_ptr< AssemblyMap > Nektar::MultiRegions::AssemblyMap::LinearSpaceMap | ( | const ExpList & | locexp, |
GlobalSysSolnType | solnType | ||
) |
Definition at line 926 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 1135 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 1103 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 1184 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 1196 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 763 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 770 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 1160 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 1172 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 857 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 837 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 817 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 1377 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 1293 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 801 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 811 of file AssemblyMap.cpp.
References v_UniversalAssemble().
Definition at line 806 of file AssemblyMap.cpp.
References v_UniversalAssemble().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | Array< OneD, NekDouble > & | pGlobal | ) | const |
Definition at line 1267 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 1278 of file AssemblyMap.cpp.
References UniversalAssembleBnd(), and Vmath::Vcopy().
void Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd | ( | NekVector< NekDouble > & | pGlobal | ) | const |
Definition at line 1273 of file AssemblyMap.cpp.
References Nektar::NekVector< DataType >::GetPtr(), and UniversalAssembleBnd().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 608 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by Assemble().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 615 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 692 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 644 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 550 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 530 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 557 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 536 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 543 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 524 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 571 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 564 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 668 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirEdges().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 674 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumDirFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 656 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdgeModes().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 680 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirEdges().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 662 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaceModes().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 686 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumNonDirFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 650 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 594 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GlobalToLocal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 601 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Generate a linear space mapping from existing mapping.
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 699 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 578 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LocalToGlobal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 586 of file AssemblyMap.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 622 of file AssemblyMap.cpp.
Referenced by UniversalAssemble().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG.
Definition at line 636 of file AssemblyMap.cpp.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::AssemblyMapCG, and Nektar::MultiRegions::AssemblyMapDG.
Definition at line 629 of file AssemblyMap.cpp.
Integer map of bnd cond coeffs to local coefficients.
Definition at line 386 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 388 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 390 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 392 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetBndCondIDToGlobalTraceID().
|
protected |
Definition at line 417 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 401 of file AssemblyMap.h.
Referenced by CalculateBndSystemBandWidth(), and GetBndSystemBandWidth().
|
protected |
Communicator.
Definition at line 333 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 419 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), and UniversalAbsMaxBnd().
Integer map of process coeffs to universal space.
Definition at line 394 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 396 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 416 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 339 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), and GetHash().
|
protected |
Definition at line 408 of file AssemblyMap.h.
Referenced by AssemblyMap(), and IsAbsoluteTolerance().
|
protected |
Tolerance for iterative solver.
Definition at line 407 of file AssemblyMap.h.
|
protected |
Iterative solver: Conjugate Gradient, GMRES.
Definition at line 414 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetLinSysIterSolver().
Integer map of local coeffs to global Boundary Dofs.
Definition at line 378 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 380 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 382 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 384 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 436 of file AssemblyMap.h.
Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), and GetLowestStaticCondLevel().
|
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 434 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 344 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 372 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 348 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 342 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 427 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 361 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 346 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 429 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 425 of file AssemblyMap.h.
Referenced by AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CalculateBndSystemBandWidth(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and GetNumPatches().
|
private |
Mapping information for previous level in MultiLevel Solver.
Definition at line 511 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 404 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetPreconType().
|
protected |
Session object.
Definition at line 330 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 375 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 399 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 423 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 411 of file AssemblyMap.h.
Referenced by AssemblyMap(), and GetSuccessiveRHS().
|
protected |
Flag indicating if the system is singular or not.
Definition at line 350 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 336 of file AssemblyMap.h.
Referenced by GetVariable().