SpECTRE
v2025.03.17
|
Build the explicit matrix representation of the linear operator and optionally invert it directly to solve the problem. More...
#include <BuildMatrix.hpp>
Build the explicit matrix representation of the linear operator and optionally invert it directly to solve the problem.
This is useful for debugging and analysis only, not to actually solve the elliptic problem (that should happen iteratively).
Add the actions
to the action list to build the matrix. The ApplyOperatorActions
template parameter are the actions that apply the linear operator to the OperandTag
. Also add the amr_projectors
to the list of AMR projectors and the register_actions
IterationIdTag | Used to keep track of the iteration over all matrix columns. Should be the same that's used to identify iterations in the ApplyOperatorActions . |
FieldsTag | The solution will be stored here (if direct solve is enabled). |
FixedSourcesTag | The source b in the problem Ax = b . Only used if direct solve is enabled. |
OperandTag | Will be set to unit vectors, with the '1' moving through all points over the course of the iteration. |
OperatorAppliedToOperandTag | Where the ApplyOperatorActions store the result of applying the linear operator to the OperandTag . |
CoordsTag | The tag of the coordinates observed alongside the matrix for volume data visualization. |
ArraySectionIdTag | Can identify a subset of elements that this algorithm should run over, e.g. in a multigrid setting. |