Simulation – Nalu Top-level Interface¶
-
class
Simulation
¶
Realms¶
Realm is a Nalu abstraction of a set of equations that are solved on a
computational domain, reresented by an Exodus-II mesh. A simulation can contain
multiple Realms and that can interact via sierra::nalu::Transfer
instance. InputOutputRealm
is a special type of Realm
that exists solely to provide data (input) or extract a subset of data from
another Realm
.
-
class
Realm
¶ Representation of a computational domain and physics equations solved on this domain.
Subclassed by sierra::nalu::InputOutputRealm
Public Functions
-
void
check_job
(bool get_node_count)¶ check job for fitting in memory
Public Members
-
stk::mesh::PartVector
bcPartVec_
¶ Vector holding side sets that have been registered with the boundary conditions in the input file.
The member is intended to for use in Realm::enforce_bc_on_exposed_faces to check for “exposed surfaces” that might have not been assigned BCs in the input file.
-
void
-
class
Realms
¶
Linear Solver Interface¶
-
class
LinearSystem
Subclassed by sierra::nalu::TpetraLinearSystem
Public Functions
-
virtual void
buildDirichletNodeGraph
(const stk::mesh::PartVector&) Process nodes that belong to Dirichlet-type BC.
-
virtual void
buildDirichletNodeGraph
(const std::vector<stk::mesh::Entity>&) Process nodes as belonging to a Dirichlet-type row.
See the documentation/implementation of sierra::nalu::FixPressureAtNodeAlgorithm for an example of this use case.
-
virtual void
resetRows
(std::vector<stk::mesh::Entity> nodeList, const unsigned beginPos, const unsigned endPos) = 0 Reset LHS and RHS for the given set of nodes to 0.
- Parameters
nodeList
: A list of STK node entities whose rows are zeroed outbeginPos
: Starting index (usually 0)endPos
: Terminating index (1 for scalar quantities; nDim for vectors)
-
virtual void
-
class
LinearSolver
An abstract representation of a linear solver in Nalu.
Defines the basic API supported by the linear solvers for use within Nalu. See concrete implementations such as sierra::nalu::TpetraLinearSolver for more details.
Subclassed by sierra::nalu::TpetraLinearSolver
Public Functions
-
virtual PetraType
getType
() = 0 Type of solver instance as defined in sierra::nalu::PetraType.
-
virtual void
destroyLinearSolver
() = 0 Utility method to cleanup solvers during simulation.
-
bool &
recomputePreconditioner
() Flag indicating whether the preconditioner is recomputed on each invocation.
-
bool &
reusePreconditioner
() Flag indicating whether the preconditioner is reused on each invocation.
-
void
zero_timer_precond
() Reset the preconditioner timer to 0.0 for future accumulation.
-
double
get_timer_precond
() Get the preconditioner timer for the last invocation.
-
bool &
activeMueLu
() Flag indicating whether the user has activated MueLU.
-
LinearSolverConfig *
getConfig
() Get the solver configuration specified in the input file.
Public Members
-
std::string
name_
User-friendly identifier for this particular solver instance.
-
virtual PetraType
-
class
TpetraLinearSystem
: public sierra::nalu::LinearSystem Public Functions
-
virtual void
resetRows
(const std::vector<stk::mesh::Entity> nodeList, const unsigned beginPos, const unsigned endPos) Reset LHS and RHS for the given set of nodes to 0.
- Parameters
nodeList
: A list of STK node entities whose rows are zeroed outbeginPos
: Starting index (usually 0)endPos
: Terminating index (1 for scalar quantities; nDim for vectors)
-
virtual void