GEOSX
|
The DoFManager is responsible for allocating global dofs, constructing sparsity patterns, and generally simplifying the interaction between PhysicsSolvers and linear algebra operations. More...
#include <DofManager.hpp>
Classes | |
struct | CouplingDescription |
struct | FieldDescription |
struct | SubComponent |
Describes a selection of components from a DoF field. More... | |
Public Types | |
enum | Location { Location::Elem, Location::Face, Location::Edge, Location::Node } |
Enumeration of geometric objects for support location. Note that this enum is nearly identical to Connectivity, but we keep both for code readability in function calls. More... | |
enum | Connector { Connector::Elem, Connector::Face, Connector::Edge, Connector::Node, Connector::None, Connector::Stencil } |
Enumeration of geometric objects for connectivity type. Note that this enum is nearly identical to Location, but we keep both for code readability in function calls. More... | |
Public Member Functions | |
DofManager (string name) | |
Constructor. More... | |
DofManager (DofManager const &)=delete | |
Deleted copy constructor. | |
DofManager (DofManager &&)=default | |
Move constructor. | |
DofManager & | operator= (DofManager const &)=delete |
Deleted copy assignment. More... | |
DofManager & | operator= (DofManager &&)=delete |
Deleted move assignment. More... | |
~DofManager ()=default | |
Destructor. | |
void | clear () |
void | setMesh (DomainPartition &domain, localIndex const meshLevelIndex=0, localIndex const meshBodyIndex=0) |
Assign a mesh. More... | |
void | addField (string const &fieldName, Location const location) |
Just an interface to allow only three parameters. More... | |
void | addField (string const &fieldName, Location const location, localIndex const components) |
Just another interface to allow four parameters (no regions, default is everywhere). More... | |
void | addField (string const &fieldName, Location const location, arrayView1d< string const > const ®ions) |
Just another interface to allow four parameters (no components, default is 1). More... | |
void | addField (string const &fieldName, Location const location, localIndex const components, arrayView1d< string const > const ®ions) |
The user can add a field with a support location, connectivity type, string key, number of scalar components, and a list of element regions over which the field is active. If the region list is empty, it is assumed the field exists on all regions. More... | |
void | addCoupling (string const &rowFieldName, string const &colFieldName, Connector const connectivity) |
Just an interface to allow only three parameters. More... | |
void | addCoupling (string const &rowFieldName, string const &colFieldName, Connector const connectivity, arrayView1d< string const > const ®ions) |
Just another interface to allow four parameters (no symmetry, default is true). More... | |
void | addCoupling (string const &rowFieldName, string const &colFieldName, Connector const connectivity, bool const symmetric) |
Just another interface to allow four parameters (no regions, default is everywhere). More... | |
void | addCoupling (string const &rowFieldName, string const &colFieldName, Connector const connectivity, arrayView1d< string const > const ®ions, bool const symmetric) |
Add coupling between two fields. The connectivity argument defines how the two fields couple. If the first field has support location A, the second field has support location B, and the connecting object is C, the sparsity pattern will be defined as (AC)(CB). The final argument indicates if the coupling is symmetric, in the sense that there is a two-way coupling between the fields. Without this argument, a nonzero block will be added to the system matrix for block AB, but block BA will remain zero (one-way coupling). More... | |
void | addCoupling (string const &fieldName, FluxApproximationBase const &stencils) |
Special interface for self-connectivity through a stencil. More... | |
void | reorderByRank () |
Finish populating fields and apply appropriate dof renumbering. More... | |
bool | fieldExists (string const &name) const |
Check if string key is already being used. More... | |
string const & | getKey (string const &fieldName) const |
Return the key used to record the field in the DofManager. More... | |
globalIndex | numGlobalDofs (string const &fieldName="") const |
Return global number of dofs across all processors. If field argument is empty, return monolithic size. More... | |
localIndex | numLocalDofs (string const &fieldName="") const |
Return local number of dofs on this processor. If field argument is empty, return monolithic size. More... | |
array1d< localIndex > | numLocalDofsPerField () const |
Return an array of local number of dofs on this processor sorted by field registration order. More... | |
array1d< localIndex > | getLocalDofComponentLabels () const |
Computes an array of size equal to sum of all field local number of dofs containing unique integer labels associated to components stored in the field descriptions. More... | |
globalIndex | rankOffset (string const &fieldName="") const |
Return the sum of local dofs across all previous processors w.r.t. to the calling one for the specified field. More... | |
localIndex | numComponents (string const &fieldName="") const |
Get the number of components in a field. If field argument is empty, return the total number of components across fields. More... | |
array1d< localIndex > | numComponentsPerField () const |
Return an array of number of components per field, sorted by field registration order. More... | |
localIndex | numLocalSupport (string const &fieldName) const |
Get the local number of support points on this processor. More... | |
globalIndex | numGlobalSupport (string const &fieldName) const |
Get the local number of support points across all processors. More... | |
Location | getLocation (string const &fieldName) const |
Get the support location type of the field. More... | |
globalIndex | globalOffset (string const &fieldName) const |
Get global offset of field's block on current processor in the system matrix. More... | |
template<typename MATRIX > | |
void | setSparsityPattern (MATRIX &matrix, bool closePattern=true) const |
Populate sparsity pattern of the entire system matrix. More... | |
template<typename MATRIX > | |
void | setSparsityPattern (MATRIX &matrix, string const &rowFieldName, string const &colFieldName, bool closePattern=true) const |
Populate sparsity pattern for one block of the system matrix. More... | |
void | setSparsityPattern (SparsityPattern< globalIndex > &pattern) const |
Populate sparsity pattern of the entire system matrix. More... | |
void | setSparsityPattern (SparsityPattern< globalIndex > &pattern, string const &rowFieldName, string const &colFieldName) const |
Populate sparsity pattern for one block of the system matrix. More... | |
template<typename VECTOR > | |
void | copyVectorToField (VECTOR const &vector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Copy values from LA vectors to simulation data arrays. More... | |
void | copyVectorToField (arrayView1d< real64 const > const &localVector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Copy values from LA vectors to simulation data arrays. More... | |
template<typename VECTOR > | |
void | addVectorToField (VECTOR const &vector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Add values from LA vectors to simulation data arrays. More... | |
void | addVectorToField (arrayView1d< real64 const > const &localVector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Add values from LA vectors to simulation data arrays. More... | |
template<typename VECTOR > | |
void | copyFieldToVector (VECTOR &vector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Copy values from nodes to DOFs. More... | |
void | copyFieldToVector (arrayView1d< real64 > const &localVector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Copy values from simulation data arrays to vectors. More... | |
template<typename VECTOR > | |
void | addFieldToVector (VECTOR &vector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Add values from a simulation data array to a DOF vector. More... | |
void | addFieldToVector (arrayView1d< real64 > const &localVector, string const &srcFieldName, string const &dstFieldName, real64 const scalingFactor, localIndex const loCompIndex=0, localIndex const hiCompIndex=-1) const |
Add values from a simulation data array to a DOF vector. More... | |
std::vector< SubComponent > | filterDofs (std::vector< SubComponent > const &excluded) const |
Create a dof selection by filtering out excluded components. More... | |
template<typename MATRIX > | |
void | makeRestrictor (std::vector< SubComponent > const &selection, MPI_Comm const &comm, bool transpose, MATRIX &restrictor) const |
Create a matrix that restricts vectors and matrices to a subset of DOFs. More... | |
void | printFieldInfo (std::ostream &os=std::cout) const |
Print the summary of declared fields and coupling. More... | |
Static Public Attributes | |
static localIndex constexpr | MAX_FIELDS = 10 |
The DoFManager is responsible for allocating global dofs, constructing sparsity patterns, and generally simplifying the interaction between PhysicsSolvers and linear algebra operations.
Definition at line 42 of file DofManager.hpp.
|
strong |
Enumeration of geometric objects for connectivity type. Note that this enum is nearly identical to Location, but we keep both for code readability in function calls.
Definition at line 64 of file DofManager.hpp.
|
strong |
Enumeration of geometric objects for support location. Note that this enum is nearly identical to Connectivity, but we keep both for code readability in function calls.
Definition at line 51 of file DofManager.hpp.
|
explicit |
Constructor.
[in] | name | a unique name for this DoF manager |
void geosx::DofManager::addCoupling | ( | string const & | rowFieldName, |
string const & | colFieldName, | ||
Connector const | connectivity | ||
) |
Just an interface to allow only three parameters.
[in] | rowFieldName | string the name of the row field. |
[in] | colFieldName | string the name of the col field. |
[in] | connectivity | Connectivity through what they are connected. |
void geosx::DofManager::addCoupling | ( | string const & | rowFieldName, |
string const & | colFieldName, | ||
Connector const | connectivity, | ||
arrayView1d< string const > const & | regions | ||
) |
Just another interface to allow four parameters (no symmetry, default is true).
[in] | rowFieldName | string the name of the row field. |
[in] | colFieldName | string the name of the col field. |
[in] | connectivity | Connectivity through what they are connected. |
[in] | regions | names of regions where this coupling is defined. |
void geosx::DofManager::addCoupling | ( | string const & | rowFieldName, |
string const & | colFieldName, | ||
Connector const | connectivity, | ||
bool const | symmetric | ||
) |
Just another interface to allow four parameters (no regions, default is everywhere).
[in] | rowFieldName | string the name of the row field. |
[in] | colFieldName | string the name of the col field. |
[in] | connectivity | Connectivity through what they are connected. |
[in] | symmetric | bool is it symmetric, i.e., both row-col and col-row? |
void geosx::DofManager::addCoupling | ( | string const & | rowFieldName, |
string const & | colFieldName, | ||
Connector const | connectivity, | ||
arrayView1d< string const > const & | regions, | ||
bool const | symmetric | ||
) |
Add coupling between two fields. The connectivity argument defines how the two fields couple. If the first field has support location A, the second field has support location B, and the connecting object is C, the sparsity pattern will be defined as (AC)(CB). The final argument indicates if the coupling is symmetric, in the sense that there is a two-way coupling between the fields. Without this argument, a nonzero block will be added to the system matrix for block AB, but block BA will remain zero (one-way coupling).
[in] | rowFieldName | string the name of the row field. |
[in] | colFieldName | string the name of the col field. |
[in] | connectivity | Connectivity through what they are connected. |
[in] | regions | names of regions where this coupling is defined. |
[in] | symmetric | bool is it symmetric, i.e., both row-col and col-row? |
void geosx::DofManager::addCoupling | ( | string const & | fieldName, |
FluxApproximationBase const & | stencils | ||
) |
Special interface for self-connectivity through a stencil.
[in] | fieldName | name of the field (this is only for diagonal blocks) |
[in] | stencils | a pointer to FluxApproximation storing the stencils |
The field must be defined on element support. The set of regions is taken automatically from the field definition.
Just an interface to allow only three parameters.
[in] | fieldName | string the name of the field. |
[in] | location | Location where it is defined. |
void geosx::DofManager::addField | ( | string const & | fieldName, |
Location const | location, | ||
localIndex const | components | ||
) |
Just another interface to allow four parameters (no regions, default is everywhere).
[in] | fieldName | string the name of the field. |
[in] | location | Location where it is defined. |
[in] | components | localIndex number of components (for vector fields). |
void geosx::DofManager::addField | ( | string const & | fieldName, |
Location const | location, | ||
arrayView1d< string const > const & | regions | ||
) |
Just another interface to allow four parameters (no components, default is 1).
[in] | fieldName | string the name of the field. |
[in] | location | Location where it is defined. |
[in] | regions | names of regions where this field is defined. |
void geosx::DofManager::addField | ( | string const & | fieldName, |
Location const | location, | ||
localIndex const | components, | ||
arrayView1d< string const > const & | regions | ||
) |
The user can add a field with a support location, connectivity type, string key, number of scalar components, and a list of element regions over which the field is active. If the region list is empty, it is assumed the field exists on all regions.
The connectivity type is used to infer the sparsity pattern that connects degrees of freedom. If LC denotes a boolean connectivity graph between support locations L and connectors C, the desired sparsity pattern will be computed as LC*CL. For example, for a TPFA discretization we have dofs located at cell centers, and connected through adjacent faces. In this example, LC is the cell-to-face connectivity, and LC*CL is the desired TPFA sparsity pattern. More generally,
When the number of components is greater than one, we always assume they are tightly coupled to one another and form a dense block. The sparsity pattern LC*CL is then interpreted as the super-node pattern, containing dense sub-blocks.
[in] | fieldName | string the name of the field. |
[in] | location | Location where it is defined. |
[in] | components | localIndex number of components (for vector fields). |
[in] | regions | names of regions where this field is defined. |
void geosx::DofManager::addFieldToVector | ( | VECTOR & | vector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Add values from a simulation data array to a DOF vector.
FIELD_OP | operation to perform (see FieldSpecificationOps.hpp) |
vector | target LA vector |
srcFieldName | name of the source field (view wrapper key on the manager) |
dstFieldName | name of the destination field (as defined in DofManager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::addFieldToVector | ( | arrayView1d< real64 > const & | localVector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Add values from a simulation data array to a DOF vector.
FIELD_OP | operation to perform (see FieldSpecificationOps.hpp) |
localVector | target vector |
srcFieldName | name of the source field (view wrapper key on the manager) |
dstFieldName | name of the destination field (as defined in DofManager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::addVectorToField | ( | VECTOR const & | vector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Add values from LA vectors to simulation data arrays.
FIELD_OP | operation to perform (see FieldSpecificationOps.hpp) |
vector | source LA vector |
srcFieldName | name of the source field (as defined in DofManager) |
dstFieldName | name of the destination field (view wrapper key on the manager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::addVectorToField | ( | arrayView1d< real64 const > const & | localVector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Add values from LA vectors to simulation data arrays.
localVector | source local vector |
srcFieldName | name of the source field (as defined in DofManager) |
dstFieldName | name of the destination field (view wrapper key on the manager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::clear | ( | ) |
Remove all fields
void geosx::DofManager::copyFieldToVector | ( | VECTOR & | vector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Copy values from nodes to DOFs.
FIELD_OP | operation to perform (see FieldSpecificationOps.hpp) |
vector | target LA vector |
srcFieldName | name of the source field (view wrapper key on the manager) |
dstFieldName | name of the destination field (as defined in DofManager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::copyFieldToVector | ( | arrayView1d< real64 > const & | localVector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Copy values from simulation data arrays to vectors.
FIELD_OP | operation to perform (see FieldSpecificationOps.hpp) |
localVector | target LA vector |
srcFieldName | name of the source field (view wrapper key on the manager) |
dstFieldName | name of the destination field (as defined in DofManager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::copyVectorToField | ( | VECTOR const & | vector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Copy values from LA vectors to simulation data arrays.
FIELD_OP | operation to perform (see FieldSpecificationOps.hpp) |
vector | source LA vector |
srcFieldName | name of the source field (as defined in DofManager) |
dstFieldName | name of the destination field (view wrapper key on the manager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components void geosx::DofManager::copyVectorToField | ( | arrayView1d< real64 const > const & | localVector, |
string const & | srcFieldName, | ||
string const & | dstFieldName, | ||
real64 const | scalingFactor, | ||
localIndex const | loCompIndex = 0 , |
||
localIndex const | hiCompIndex = -1 |
||
) | const |
Copy values from LA vectors to simulation data arrays.
localVector | source local vector |
srcFieldName | name of the source field (as defined in DofManager) |
dstFieldName | name of the destination field (view wrapper key on the manager) |
scalingFactor | a factor to scale vector values by |
loCompIndex | index of starting DoF component (for partial copy) |
hiCompIndex | index past the ending DoF component (for partial copy) |
loCompIndex
, hiCompIndex
) form a half-open interval. Negative value of hiCompIndex
means use full number of field components bool geosx::DofManager::fieldExists | ( | string const & | name | ) | const |
Check if string key is already being used.
name | field key to check |
std::vector< SubComponent > geosx::DofManager::filterDofs | ( | std::vector< SubComponent > const & | excluded | ) | const |
Create a dof selection by filtering out excluded components.
excluded | a list of dof components to exclude |
Return the key used to record the field in the DofManager.
[in] | fieldName | string the name of the field. |
array1d< localIndex > geosx::DofManager::getLocalDofComponentLabels | ( | ) | const |
Computes an array of size equal to sum of all field local number of dofs containing unique integer labels associated to components stored in the field descriptions.
Get the support location type of the field.
[in] | fieldName | name of the field |
globalIndex geosx::DofManager::globalOffset | ( | string const & | fieldName | ) | const |
Get global offset of field's block on current processor in the system matrix.
[in] | fieldName | name of the field. |
void geosx::DofManager::makeRestrictor | ( | std::vector< SubComponent > const & | selection, |
MPI_Comm const & | comm, | ||
bool | transpose, | ||
MATRIX & | restrictor | ||
) | const |
Create a matrix that restricts vectors and matrices to a subset of DOFs.
MATRIX | type of matrix used for restrictor |
selection | a list of fields to select; each entry is a struct containing the name of the field and low and high selected component indices |
comm | the MPI communicator to use in the operator |
transpose | if true , the transpose (prolongation) operator will be created |
restrictor | resulting operator |
localIndex geosx::DofManager::numComponents | ( | string const & | fieldName = "" | ) | const |
Get the number of components in a field. If field argument is empty, return the total number of components across fields.
[in] | fieldName | Optional string the name of the field. |
array1d< localIndex > geosx::DofManager::numComponentsPerField | ( | ) | const |
Return an array of number of components per field, sorted by field registration order.
globalIndex geosx::DofManager::numGlobalDofs | ( | string const & | fieldName = "" | ) | const |
Return global number of dofs across all processors. If field argument is empty, return monolithic size.
[in] | fieldName | Optional string the name of the field. |
globalIndex geosx::DofManager::numGlobalSupport | ( | string const & | fieldName | ) | const |
Get the local number of support points across all processors.
[in] | fieldName | name of the field |
localIndex geosx::DofManager::numLocalDofs | ( | string const & | fieldName = "" | ) | const |
Return local number of dofs on this processor. If field argument is empty, return monolithic size.
[in] | fieldName | Optional string the name of the field. |
array1d< localIndex > geosx::DofManager::numLocalDofsPerField | ( | ) | const |
Return an array of local number of dofs on this processor sorted by field registration order.
localIndex geosx::DofManager::numLocalSupport | ( | string const & | fieldName | ) | const |
Get the local number of support points on this processor.
[in] | fieldName | the name of the field |
|
delete |
Deleted copy assignment.
|
delete |
Deleted move assignment.
void geosx::DofManager::printFieldInfo | ( | std::ostream & | os = std::cout | ) | const |
Print the summary of declared fields and coupling.
os | output stream |
globalIndex geosx::DofManager::rankOffset | ( | string const & | fieldName = "" | ) | const |
Return the sum of local dofs across all previous processors w.r.t. to the calling one for the specified field.
[in] | fieldName | Optional string the name of the field. |
void geosx::DofManager::reorderByRank | ( | ) |
Finish populating fields and apply appropriate dof renumbering.
This function must be called after all field and coupling information has been added. It adjusts DoF index arrays to account for presence of other fields (in a global monolithic fashion).
void geosx::DofManager::setMesh | ( | DomainPartition & | domain, |
localIndex const | meshLevelIndex = 0 , |
||
localIndex const | meshBodyIndex = 0 |
||
) |
Assign a mesh.
[in] | domain | DomainPartition the input domain. |
[in] | meshLevelIndex | Optional localIndex the mesh level. |
[in] | meshBodyIndex | Optional localIndex the body level. |
void geosx::DofManager::setSparsityPattern | ( | MATRIX & | matrix, |
bool | closePattern = true |
||
) | const |
Populate sparsity pattern of the entire system matrix.
[out] | matrix | the target parallel matrix |
[in] | closePattern | whether to reorderByRank the matrix upon pattern assembly |
void geosx::DofManager::setSparsityPattern | ( | MATRIX & | matrix, |
string const & | rowFieldName, | ||
string const & | colFieldName, | ||
bool | closePattern = true |
||
) | const |
Populate sparsity pattern for one block of the system matrix.
[out] | matrix | the target parallel matrix |
[in] | rowFieldName | the name of the row field. |
[in] | colFieldName | the name of the col field. |
[in] | closePattern | whether to reorderByRank the matrix upon pattern assembly |
void geosx::DofManager::setSparsityPattern | ( | SparsityPattern< globalIndex > & | pattern | ) | const |
Populate sparsity pattern of the entire system matrix.
[out] | pattern | the target sparsity pattern |
void geosx::DofManager::setSparsityPattern | ( | SparsityPattern< globalIndex > & | pattern, |
string const & | rowFieldName, | ||
string const & | colFieldName | ||
) | const |
Populate sparsity pattern for one block of the system matrix.
[out] | pattern | the target sparsity pattern |
[in] | rowFieldName | name of the row field |
[in] | colFieldName | name of the col field |
|
static |
Limit on max number of fields
Definition at line 77 of file DofManager.hpp.