30 const std::string &
name,
103 virtual NumericVector<Number> &
getVector(
const std::string &
name)
override;
104 virtual const NumericVector<Number> &
getVector(
const std::string &
name)
const override;
151 virtual const Number &
duDotDu(
unsigned int var_num = 0)
const override;
179 std::vector<dof_id_type> & ,
180 std::vector<dof_id_type> & )
override
205 virtual void zeroVariables(std::vector<std::string> & vars_to_be_zeroed)
override
222 const unsigned int state,
224 virtual const NumericVector<Number> &
229 const unsigned int state,
247 virtual System &
system()
override;
248 virtual const System &
system()
const override;
268inline NumericVector<Number> &
275inline const NumericVector<Number> &
virtual bool hasSolutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time) const override
Whether or not the system has the solution state (0 = current, 1 = old, 2 = older,...
virtual std::vector< Number > & duDotDus() override
virtual void augmentSendList(std::vector< dof_id_type > &send_list) override
Will modify the send_list to add all of the extra ghosted dofs for this system.
virtual void disassociateDefaultMatrixTags() override
Disassociate the matrices associated with the default matrix tags of this system.
DisplacedSystem & operator=(DisplacedSystem &&)=delete
virtual void disassociateMatrixFromTag(libMesh::SparseMatrix< Number > &matrix, TagID tag) override
Disassociate a matrix from a tag.
NumericVector< Number > & solutionInternal() const override
Internal getter for solution owned by libMesh.
virtual const libMesh::SparseMatrix< Number > & getMatrix(TagID tag) const override
Get a raw SparseMatrix.
const NumericVector< Number > * solutionPreviousNewton() const override
virtual bool hasVector(TagID tag_id) const override
Check if the tagged vector exists in the system.
virtual bool hasMatrix(TagID tag_id) const override
Check if the tagged matrix exists in the system.
NumericVector< Number > * solutionUDotDotOld() override
virtual void associateVectorToTag(NumericVector< Number > &vec, TagID tag) override
Associate a vector for a given tag.
const NumericVector< Number > * solutionUDotDot() const override
SystemBase & _undisplaced_system
virtual void zeroVariables(std::vector< std::string > &vars_to_be_zeroed) override
Zero out the solution for the list of variables passed in.
virtual void addDotVectors() override
Add u_dot, u_dotdot, u_dot_old and u_dotdot_old vectors if requested by the time integrator.
virtual void initSolutionState() override
Initializes the solution state.
virtual void disassociateVectorFromTag(TagID tag) override
Disassociate any vector that is associated with a given tag.
virtual NumericVector< Number > & residualGhosted() override
virtual TagID nonTimeVectorTag() const override
virtual const Number & duDotDotDu() const override
virtual void compute(ExecFlagType) override
Compute time derivatives, auxiliary variables, etc.
virtual void addVariableToZeroOnResidual(std::string var_name) override
Adds this variable to the list of variables to be zeroed during each residual evaluation.
virtual std::set< TagID > defaultMatrixTags() const override
Get the default matrix tags associted with this system.
virtual void disassociateVectorFromTag(NumericVector< Number > &vec, TagID tag) override
Disassociate a given vector from a given tag.
const NumericVector< Number > *const & currentSolution() const override
The solution vector that is currently being operated on.
virtual void associateMatrixToTag(libMesh::SparseMatrix< Number > &matrix, TagID tag) override
Associate a matrix to a tag.
virtual std::set< TagID > defaultVectorTags() const override
Get the default vector tags associated with this system.
virtual void addVariableToZeroOnJacobian(std::string var_name) override
Adds this variable to the list of variables to be zeroed during each jacobian evaluation.
virtual const Number & duDotDu(unsigned int var_num=0) const override
NumericVector< Number > * solutionUDotOld() override
virtual System & system() override
Get the reference to the libMesh system.
NumericVector< Number > * solutionUDotDot() override
virtual NumericVector< Number > & solutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time) override
Get a state of the solution (0 = current, 1 = old, 2 = older, etc).
NumericVector< Number > * solutionUDot() override
virtual const NumericVector< Number > & getVector(TagID tag_id) const override
const NumericVector< Number > * solutionUDotOld() const override
const NumericVector< Number > * solutionUDot() const override
virtual TagID residualVectorTag() const override
virtual libMesh::SparseMatrix< Number > & getMatrix(TagID tag) override
Get a raw SparseMatrix.
virtual ~DisplacedSystem()
virtual libMesh::System & sys()
virtual void disassociateMatrixFromTag(TagID tag) override
Disassociate any matrix that is associated with a given tag.
virtual void needSolutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time, libMesh::ParallelType parallel_type=GHOSTED) override
Registers that the solution state state is needed.
const NumericVector< Number > * solutionUDotDotOld() const override
virtual Number & duDotDotDu() override
virtual NumericVector< Number > & serializedSolution() override
Returns a reference to a serialized version of the solution vector for this subproblem.
virtual NumericVector< Number > & getVector(TagID tag_id) override
Get a raw NumericVector by tag.
virtual TagID systemMatrixTag() const override
Return the Matrix Tag ID for System.
virtual void disassociateDefaultVectorTags() override
Disassociate the vectors associated with the default vector tags of this system.
DisplacedSystem(DisplacedSystem &&)=delete
NumericVector< Number > * solutionPreviousNewton() override
virtual void augmentSparsity(libMesh::SparsityPattern::Graph &, std::vector< dof_id_type > &, std::vector< dof_id_type > &) override
This is an empty function since the displaced system doesn't have a matrix! All sparsity pattern modi...
virtual NumericVector< Number > & residualCopy() override
Return the residual copy from the NonlinearSystem.
virtual TagID timeVectorTag() const override
Ideally, we should not need this API.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Class for containing MooseEnum item information.
Base class for a system (of equations)
virtual NumericVector< Number > & residualCopy()
virtual void addVariableToZeroOnJacobian(std::string var_name)
Adds this variable to the list of variables to be zeroed during each Jacobian evaluation.
virtual void zeroVariables(std::vector< std::string > &vars_to_be_zeroed)
Zero out the solution for the list of variables passed in.
virtual const NumericVector< Number > *const & currentSolution() const =0
The solution vector that is currently being operated on.
virtual void addVariableToZeroOnResidual(std::string var_name)
Adds this variable to the list of variables to be zeroed during each residual evaluation.
virtual libMesh::SparseMatrix< Number > & getMatrix(TagID tag)
Get a raw SparseMatrix.
virtual std::set< TagID > defaultMatrixTags() const
Get the default matrix tags associted with this system.
bool hasVector(const std::string &tag_name) const
Check if the named vector exists in the system.
virtual NumericVector< Number > * solutionUDot()
virtual void augmentSendList(std::vector< dof_id_type > &send_list)
Will modify the send_list to add all of the extra ghosted dofs for this system.
virtual TagID residualVectorTag() const
virtual void addDotVectors()
Add u_dot, u_dotdot, u_dot_old and u_dotdot_old vectors if requested by the time integrator.
virtual NumericVector< Number > & getVector(const std::string &name)
Get a raw NumericVector by name.
virtual void needSolutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time, libMesh::ParallelType parallel_type=GHOSTED)
Registers that the solution state state is needed.
virtual void disassociateMatrixFromTag(libMesh::SparseMatrix< Number > &matrix, TagID tag)
Disassociate a matrix from a tag.
virtual NumericVector< Number > & residualGhosted()
virtual void initSolutionState()
Initializes the solution state.
virtual void associateVectorToTag(NumericVector< Number > &vec, TagID tag)
Associate a vector for a given tag.
virtual void disassociateDefaultVectorTags()
Disassociate the vectors associated with the default vector tags of this system.
virtual NumericVector< Number > * solutionUDotOld()
virtual void disassociateVectorFromTag(NumericVector< Number > &vec, TagID tag)
Disassociate a given vector from a given tag.
virtual const Number & duDotDu(unsigned int var_num=0) const
virtual void associateMatrixToTag(libMesh::SparseMatrix< Number > &matrix, TagID tag)
Associate a matrix to a tag.
virtual const std::string & name() const
virtual bool hasMatrix(TagID tag) const
Check if the tagged matrix exists in the system.
virtual TagID timeVectorTag() const
Ideally, we should not need this API.
virtual NumericVector< Number > & solutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time)
Get a state of the solution (0 = current, 1 = old, 2 = older, etc).
virtual std::vector< Number > & duDotDus()
virtual void disassociateDefaultMatrixTags()
Disassociate the matrices associated with the default matrix tags of this system.
virtual TagID systemMatrixTag() const
Return the Matrix Tag ID for System.
virtual bool hasSolutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time) const
Whether or not the system has the solution state (0 = current, 1 = old, 2 = older,...
NumericVector< Number > & solution()
virtual NumericVector< Number > * solutionUDotDotOld()
virtual Number & duDotDotDu()
virtual std::set< TagID > defaultVectorTags() const
Get the default vector tags associated with this system.
virtual NumericVector< Number > * solutionUDotDot()
virtual TagID nonTimeVectorTag() const
virtual NumericVector< Number > & serializedSolution()
Returns a reference to a serialized version of the solution vector for this subproblem.
VarKindType
Framework-wide stuff.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...