Nektar++
|
Constructs mappings for the C0 scalar continuous Galerkin formulation. More...
#include <AssemblyMapCG2D.h>
Public Member Functions | |
AssemblyMapCG2D (const LibUtilities::SessionReaderSharedPtr &pSession, const std::string variable="DefaultVar") | |
Default constructor. | |
AssemblyMapCG2D (const LibUtilities::SessionReaderSharedPtr &pSession, const int numLocalCoeffs, const ExpList &locExp, const Array< OneD, const ExpListSharedPtr > &bndCondExp, const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > &bndConditions, const PeriodicMap &periodicVertsId, const PeriodicMap &periodicEdgesId, const bool checkIfSystemSingular, const std::string variable="DefaultVar") | |
Constructor for the 2D expansion mappings with boundary conditions. | |
AssemblyMapCG2D (const LibUtilities::SessionReaderSharedPtr &pSession, const int numLocalCoeffs, const ExpList &locExp, const std::string variable="DefaultVar") | |
General constructor for expansions of all dimensions without boundary conditions. | |
virtual | ~AssemblyMapCG2D () |
Destructor. | |
int | SetUp2DGraphC0ContMap (const ExpList &locExp, const Array< OneD, const MultiRegions::ExpListSharedPtr > &bndCondExp, const Array< OneD, Array< OneD, const SpatialDomains::BoundaryConditionShPtr > > &bndConditions, const PeriodicMap &periodicVertsId, const PeriodicMap &periodicEdgesId, Array< OneD, map< int, int > > &Dofs, Array< OneD, map< int, int > > &ReorderedGraphVertId, int &firstNonDirGraphVertID, int &nExtraDirichlet, BottomUpSubStructuredGraphSharedPtr &bottomUpGraph, set< int > &extraDirVerts, const bool checkIfSystemSingular=false, int mdswitch=1, bool doInteriorMap=false) |
Public Member Functions inherited from Nektar::MultiRegions::AssemblyMapCG | |
AssemblyMapCG (const LibUtilities::SessionReaderSharedPtr &pSession, const std::string variable="DefaultVar") | |
Default constructor. | |
AssemblyMapCG (const LibUtilities::SessionReaderSharedPtr &pSession, const int numLocalCoeffs, const ExpList &locExp) | |
General constructor for expansions of all dimensions without boundary conditions. | |
virtual | ~AssemblyMapCG () |
Destructor. | |
map< int, vector< ExtraDirDof > > & | GetExtraDirDofs () |
Public Member Functions inherited from Nektar::MultiRegions::AssemblyMap | |
AssemblyMap () | |
Default constructor. | |
AssemblyMap (const LibUtilities::SessionReaderSharedPtr &pSession, const std::string variable="DefaultVar") | |
Constructor with a communicator. | |
AssemblyMap (AssemblyMap *oldLevelMap, const BottomUpSubStructuredGraphSharedPtr &multiLevelGraph) | |
Constructor for next level in multi-level static condensation. | |
virtual | ~AssemblyMap () |
Destructor. | |
LibUtilities::CommSharedPtr | GetComm () |
Retrieves the communicator. | |
size_t | GetHash () const |
Retrieves the hash of this map. | |
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) const |
void | LocalToGlobal (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global) 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 |
int | GetLocalToGlobalBndMap (const int i) const |
Retrieve the global index of a given local boundary mode. | |
const Array< OneD, const int > & | GetLocalToGlobalBndMap () |
Retrieve the global indices of the local boundary modes. | |
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. | |
NekDouble | GetLocalToGlobalBndSign (const int i) const |
Retrieve the sign change of a given local boundary mode. | |
Array< OneD, const NekDouble > | GetLocalToGlobalBndSign () const |
Retrieve the sign change for all local boundary modes. | |
int | GetBndCondCoeffsToGlobalCoeffsMap (const int i) |
Retrieves the global index corresponding to a boundary expansion mode. | |
const Array< OneD, const int > & | GetBndCondCoeffsToGlobalCoeffsMap () |
Retrieves the global indices corresponding to the boundary expansion modes. | |
NekDouble | GetBndCondCoeffsToGlobalCoeffsSign (const int i) |
Returns the modal sign associated with a given boundary expansion mode. | |
int | GetBndCondTraceToGlobalTraceMap (const int i) |
Returns the global index of the boundary trace giving the index on the boundary expansion. | |
const Array< OneD, const int > & | GetBndCondTraceToGlobalTraceMap () |
int | GetNumGlobalDirBndCoeffs () const |
Returns the number of global Dirichlet boundary coefficients. | |
int | GetNumLocalDirBndCoeffs () const |
Returns the number of local Dirichlet boundary coefficients. | |
int | GetNumGlobalBndCoeffs () const |
Returns the total number of global boundary coefficients. | |
int | GetNumLocalBndCoeffs () const |
Returns the total number of local boundary coefficients. | |
int | GetNumLocalCoeffs () const |
Returns the total number of local coefficients. | |
int | GetNumGlobalCoeffs () const |
Returns the total number of global coefficients. | |
bool | GetSingularSystem () const |
Retrieves if the system is singular (true) or not (false) | |
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 NekVector< NekDouble > &loc, NekVector< NekDouble > &global, int offset) const |
void | LocalBndToGlobal (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global) const |
void | LocalBndToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global, int offset) const |
void | LocalBndToGlobal (const Array< OneD, const NekDouble > &loc, Array< OneD, NekDouble > &global) 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) const |
const Array< OneD, const int > & | GetExtraDirEdges () |
boost::shared_ptr< AssemblyMap > | LinearSpaceMap (const ExpList &locexp, GlobalSysSolnType solnType) |
int | GetBndSystemBandWidth () const |
Returns the bandwidth of the boundary system. | |
int | GetStaticCondLevel () const |
Returns the level of static condensation for this map. | |
int | GetNumPatches () const |
Returns the number of patches in this static condensation level. | |
const Array< OneD, const unsigned int > & | GetNumLocalBndCoeffsPerPatch () |
Returns the number of local boundary coefficients in each patch. | |
const Array< OneD, const unsigned int > & | GetNumLocalIntCoeffsPerPatch () |
Returns the number of local interior coefficients in each patch. | |
const AssemblyMapSharedPtr | GetNextLevelLocalToGlobalMap () const |
Returns the local to global mapping for the next level in the multi-level static condensation. | |
void | SetNextLevelLocalToGlobalMap (AssemblyMapSharedPtr pNextLevelLocalToGlobalMap) |
const PatchMapSharedPtr & | GetPatchMapFromPrevLevel (void) const |
Returns the patch map from the previous level of the multi-level static condensation. | |
bool | AtLastLevel () const |
Returns true if this is the last level in the multi-level static condensation. | |
GlobalSysSolnType | GetGlobalSysSolnType () const |
Returns the method of solving global systems. | |
PreconditionerType | GetPreconType () const |
NekDouble | GetIterativeTolerance () const |
int | GetSuccessiveRHS () const |
int | GetLowestStaticCondLevel () const |
Private Member Functions | |
void | SetUp2DExpansionC0ContMap (const int numLocalCoeffs, const ExpList &locExp, const Array< OneD, const MultiRegions::ExpListSharedPtr > &bndCondExp=NullExpListSharedPtrArray, const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > &bndConditions=SpatialDomains::NullBoundaryConditionShPtrArray, const PeriodicMap &periodicVertsId=NullPeriodicMap, const PeriodicMap &periodicEdgesId=NullPeriodicMap, const bool checkIfSystemSingular=false) |
Construct mappings for a two-dimensional scalar expansion. |
Additional Inherited Members | |
Protected Member Functions inherited from Nektar::MultiRegions::AssemblyMapCG | |
void | SetUpUniversalC0ContMap (const ExpList &locExp, const PeriodicMap &perVerts=NullPeriodicMap, const PeriodicMap &perEdges=NullPeriodicMap, const PeriodicMap &perFaces=NullPeriodicMap) |
void | CalculateFullSystemBandWidth () |
Calculate the bandwith of the full matrix system. | |
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) const |
virtual void | v_LocalToGlobal (const NekVector< NekDouble > &loc, NekVector< NekDouble > &global) 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 AssemblyMapSharedPtr | v_LinearSpaceMap (const ExpList &locexp, GlobalSysSolnType solnType) |
Construct an AssemblyMapCG object which corresponds to the linear space of the current object. | |
Protected Attributes inherited from Nektar::MultiRegions::AssemblyMapCG | |
Array< OneD, int > | m_localToGlobalMap |
Integer map of local coeffs to global space. | |
Array< OneD, NekDouble > | m_localToGlobalSign |
Integer sign of local coeffs to global space. | |
int | m_fullSystemBandWidth |
Bandwith of the full matrix system (no static condensation). | |
Array< OneD, int > | m_globalToUniversalMap |
Integer map of process coeffs to universal space. | |
Array< OneD, int > | m_globalToUniversalMapUnique |
Integer map of unique process coeffs to universal space (signed) | |
int | m_numNonDirVertexModes |
Number of non Dirichlet vertex modes. | |
int | m_numNonDirEdgeModes |
Number of non Dirichlet edge modes. | |
int | m_numNonDirFaceModes |
Number of non Dirichlet face modes. | |
int | m_numDirEdges |
Number of Dirichlet edges. | |
int | m_numDirFaces |
Number of Dirichlet faces. | |
int | m_numNonDirEdges |
Number of Dirichlet edges. | |
int | m_numNonDirFaces |
Number of Dirichlet faces. | |
Array< OneD, int > | m_extraDirEdges |
Extra dirichlet edges in parallel. | |
int | m_maxStaticCondLevel |
Maximum static condensation level. | |
map< int, vector< ExtraDirDof > > | m_extraDirDofs |
Map indicating degrees of freedom which are Dirichlet but whose value is stored on another processor. |
Constructs mappings for the C0 scalar continuous Galerkin formulation.
Mappings are created for three possible global solution types:
These mappings are used by GlobalLinSys to generate the global system.
Definition at line 55 of file AssemblyMapCG2D.h.
Nektar::MultiRegions::AssemblyMapCG2D::AssemblyMapCG2D | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const std::string | variable = "DefaultVar" |
||
) |
Default constructor.
Definition at line 70 of file AssemblyMapCG2D.cpp.
Nektar::MultiRegions::AssemblyMapCG2D::AssemblyMapCG2D | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const int | numLocalCoeffs, | ||
const ExpList & | locExp, | ||
const Array< OneD, const ExpListSharedPtr > & | bndCondExp, | ||
const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & | bndConditions, | ||
const PeriodicMap & | periodicVertsId, | ||
const PeriodicMap & | periodicEdgesId, | ||
const bool | checkIfSystemSingular, | ||
const std::string | variable = "DefaultVar" |
||
) |
Constructor for the 2D expansion mappings with boundary conditions.
Definition at line 83 of file AssemblyMapCG2D.cpp.
References Nektar::MultiRegions::AssemblyMap::CalculateBndSystemBandWidth(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), and SetUp2DExpansionC0ContMap().
Nektar::MultiRegions::AssemblyMapCG2D::AssemblyMapCG2D | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const int | numLocalCoeffs, | ||
const ExpList & | locExp, | ||
const std::string | variable = "DefaultVar" |
||
) |
General constructor for expansions of all dimensions without boundary conditions.
Definition at line 112 of file AssemblyMapCG2D.cpp.
References Nektar::MultiRegions::AssemblyMap::CalculateBndSystemBandWidth(), Nektar::MultiRegions::AssemblyMapCG::CalculateFullSystemBandWidth(), and SetUp2DExpansionC0ContMap().
|
virtual |
|
private |
Construct mappings for a two-dimensional scalar expansion.
Construction of the local->global map is achieved in several stages. A mesh vertex and mesh edge renumbering is constructed in #vertReorderedGraphVertId and #edgeReorderedGraphVertId through a call ot SetUp2DGraphC0ContMap.
The local numbering is then deduced in the following steps:
STEP 1: Wrap boundary conditions in an array (since routine is set up for multiple fields) and call the graph re-ordering subroutine to obtain the reordered values
STEP 2: Count out the number of Dirichlet vertices and edges first
STEP 3: Set up an array which contains the offset information of the different graph vertices.
This basically means to identify to how many global degrees of freedom the individual graph vertices correspond. Obviously, the graph vertices corresponding to the mesh-vertices account for a single global DOF. However, the graph vertices corresponding to the element edges correspond to N-2 global DOF where N is equal to the number of boundary modes on this edge.
STEP 4: Now, all ingredients are ready to set up the actual local to global mapping.
The remainder of the map consists of the element-interior degrees of freedom. This leads to the block-diagonal submatrix as each element-interior mode is globally orthogonal to modes in all other elements.
STEP 5: The boundary condition mapping is generated from the same vertex renumbering.
Definition at line 142 of file AssemblyMapCG2D.cpp.
References Nektar::StdRegions::eBackwards, Nektar::MultiRegions::eDirectMultiLevelStaticCond, Nektar::SpatialDomains::eDirichlet, Nektar::StdRegions::eForwards, Nektar::MultiRegions::eIterativeMultiLevelStaticCond, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, Nektar::MultiRegions::eXxtMultiLevelStaticCond, Nektar::MultiRegions::ExpList::GetCoeff_Offset(), Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs(), Nektar::MultiRegions::ExpList::GetExp(), Nektar::StdRegions::StdExpansion::GetNcoeffs(), Nektar::MultiRegions::ExpList::GetOffset_Elmt_Id(), Nektar::StdRegions::StdExpansion::GetVertexMap(), Nektar::iterator, Nektar::MultiRegions::AssemblyMap::m_bndCondCoeffsToGlobalCoeffsMap, Nektar::MultiRegions::AssemblyMap::m_bndCondCoeffsToGlobalCoeffsSign, Nektar::MultiRegions::AssemblyMap::m_comm, Nektar::MultiRegions::AssemblyMapCG::m_extraDirDofs, Nektar::MultiRegions::AssemblyMap::m_hash, Nektar::MultiRegions::AssemblyMap::m_localToGlobalBndMap, Nektar::MultiRegions::AssemblyMap::m_localToGlobalBndSign, Nektar::MultiRegions::AssemblyMapCG::m_localToGlobalMap, Nektar::MultiRegions::AssemblyMapCG::m_localToGlobalSign, Nektar::MultiRegions::AssemblyMapCG::m_maxStaticCondLevel, Nektar::MultiRegions::AssemblyMap::m_nextLevelLocalToGlobalMap, Nektar::MultiRegions::AssemblyMap::m_numGlobalBndCoeffs, Nektar::MultiRegions::AssemblyMap::m_numGlobalCoeffs, Nektar::MultiRegions::AssemblyMap::m_numGlobalDirBndCoeffs, Nektar::MultiRegions::AssemblyMap::m_numLocalBndCoeffs, Nektar::MultiRegions::AssemblyMap::m_numLocalBndCoeffsPerPatch, Nektar::MultiRegions::AssemblyMap::m_numLocalCoeffs, Nektar::MultiRegions::AssemblyMap::m_numLocalDirBndCoeffs, Nektar::MultiRegions::AssemblyMap::m_numLocalIntCoeffsPerPatch, Nektar::MultiRegions::AssemblyMap::m_numPatches, Nektar::MultiRegions::AssemblyMap::m_signChange, Nektar::MultiRegions::AssemblyMap::m_solnType, Nektar::MultiRegions::AssemblyMap::m_staticCondLevel, Nektar::MultiRegions::AssemblyMap::m_systemSingular, Nektar::NullNekDouble1DArray, Nektar::LibUtilities::ReduceSum, SetUp2DGraphC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd(), and Vmath::Vmax().
Referenced by AssemblyMapCG2D().
int Nektar::MultiRegions::AssemblyMapCG2D::SetUp2DGraphC0ContMap | ( | const ExpList & | locExp, |
const Array< OneD, const MultiRegions::ExpListSharedPtr > & | bndCondExp, | ||
const Array< OneD, Array< OneD, const SpatialDomains::BoundaryConditionShPtr > > & | bndConditions, | ||
const PeriodicMap & | periodicVertsId, | ||
const PeriodicMap & | periodicEdgesId, | ||
Array< OneD, map< int, int > > & | Dofs, | ||
Array< OneD, map< int, int > > & | ReorderedGraphVertId, | ||
int & | firstNonDirGraphVertID, | ||
int & | nExtraDirichlet, | ||
BottomUpSubStructuredGraphSharedPtr & | bottomUpGraph, | ||
set< int > & | extraDirVerts, | ||
const bool | checkIfSystemSingular = false , |
||
int | mdswitch = 1 , |
||
bool | doInteriorMap = false |
||
) |
Construct optimal ordering a two-dimensional expansion given a vector of boundary condition information
The only unique identifiers of the vertices and edges of the mesh are the vertex id and the mesh id (stored in their corresponding Geometry object). However, setting up a global numbering based on these id's will not lead to a suitable or optimal numbering. Mainly because:
The vertices and egdes therefore need to be rearranged which is perofrmed in in the following way: The vertices and edges of the mesh are considered as vertices of a graph (in a computer science terminology, equivalently, they can also be considered as boundary degrees of freedom, whereby all boundary modes of a single edge are considered as a single DOF). We then will use different algorithms to reorder the graph-vertices.
In the following we use a boost graph object to store this graph the first template parameter (=OutEdgeList) is chosen to be of type std::set. Similarly we also use a std::set to hold the adjacency information. A similar edge might exist multiple times and so to prevent the definition of parallel edges, we use std::set (=boost::setS) rather than std::vector (=boost::vecS).
Two different containers are used to store the graph vertex id's of the different mesh vertices and edges. They are implemented as a STL map such that the graph vertex id can later be retrieved by the unique mesh vertex or edge id's which serve as the key of the map.
Therefore, the algorithm proceeds as follows:
STEP 1: Order the Dirichlet vertices and edges first
STEP 1.4: Check for singular system and add pinning Dirichlet vertex
STEP 1.5: Exchange Dirichlet mesh vertices between processes and check for singular problems.
STEP 2: Now order all other vertices and edges in the graph and create a temporary numbering of domain-interior vertices and edges.
STEP 3: Reorder graph for optimisation.
STEP 4: Fill the #vertReorderedGraphVertId and #edgeReorderedGraphVertId with the optimal ordering from boost.
Definition at line 577 of file AssemblyMapCG2D.cpp.
References Nektar::StdRegions::StdExpansion::as(), ASSERTL0, ASSERTL1, Nektar::MultiRegions::CuthillMckeeReordering(), Nektar::MultiRegions::eDirectFullMatrix, Nektar::MultiRegions::eDirectMultiLevelStaticCond, Nektar::MultiRegions::eDirectStaticCond, Nektar::SpatialDomains::eDirichlet, Nektar::MultiRegions::eIterativeFull, Nektar::MultiRegions::eIterativeMultiLevelStaticCond, Nektar::MultiRegions::eIterativeStaticCond, Nektar::SpatialDomains::eNeumann, Nektar::MultiRegions::ePETScFullMatrix, Nektar::MultiRegions::ePETScMultiLevelStaticCond, Nektar::MultiRegions::ePETScStaticCond, Nektar::MultiRegions::eXxtFullMatrix, Nektar::MultiRegions::eXxtMultiLevelStaticCond, Nektar::MultiRegions::eXxtStaticCond, Gs::Gather(), Nektar::MultiRegions::ExpList::GetExp(), Nektar::LocalRegions::Expansion1D::GetGeom1D(), Nektar::MultiRegions::ExpList::GetOffset_Elmt_Id(), Nektar::MultiRegions::GlobalSysSolnTypeMap, Gs::gs_add, Vmath::Imax(), Gs::Init(), Nektar::iterator, Nektar::MultiRegions::AssemblyMap::m_comm, Nektar::MultiRegions::AssemblyMap::m_lowestStaticCondLevel, Nektar::MultiRegions::AssemblyMap::m_numLocalBndCoeffs, Nektar::MultiRegions::AssemblyMapCG::m_numNonDirEdges, Nektar::MultiRegions::AssemblyMapCG::m_numNonDirVertexModes, Nektar::MultiRegions::AssemblyMap::m_session, Nektar::MultiRegions::AssemblyMap::m_solnType, Nektar::MultiRegions::MultiLevelBisectionReordering(), Nektar::MultiRegions::NoReordering(), Nektar::LibUtilities::ReduceMax, Nektar::LibUtilities::ReduceMin, Nektar::LibUtilities::ReduceSum, and Vmath::Vsum().
Referenced by Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), and SetUp2DExpansionC0ContMap().