30 const std::string &
name,
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,
229 const unsigned int state,
246 virtual System &
system()
override;
247 virtual const System &
system()
const override;
virtual const NumericVector< Number > & getVector(TagID tag_id) const override
virtual void needSolutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time)
Registers that the solution state state is needed.
virtual const NumericVector< Number > *const & currentSolution() const =0
The solution vector that is currently being operated on.
virtual const Number & duDotDu(unsigned int var_num=0) const override
DisplacedSystem(DisplacedSystem &&)=delete
virtual NumericVector< Number > & residualCopy() override
Return the residual copy from the NonlinearSystem.
bool hasVector(const std::string &tag_name) const
Check if the named vector exists in the system.
const NumericVector< Number > * solutionUDotDotOld() const 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()
virtual void zeroVariables(std::vector< std::string > &vars_to_be_zeroed) override
Zero out the solution for the list of variables passed in.
NumericVector< Number > & solution()
virtual void disassociateVectorFromTag(NumericVector< Number > &vec, TagID tag) override
Disassociate a given vector from a given tag.
virtual void initSolutionState()
Initializes the solution state.
virtual void disassociateDefaultVectorTags()
Disassociate the vectors associated with the default vector tags of this system.
NumericVector< Number > * solutionPreviousNewton() override
virtual bool hasMatrix(TagID tag_id) const override
Check if the tagged matrix exists in the system.
virtual void associateVectorToTag(NumericVector< Number > &vec, TagID tag)
Associate a vector for a given tag.
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 bool hasVector(TagID tag_id) const override
Check if the tagged vector exists in the system.
virtual void associateMatrixToTag(libMesh::SparseMatrix< Number > &matrix, TagID tag) override
Associate a matrix to a tag.
virtual bool hasMatrix(TagID tag) const
Check if the tagged matrix exists in the system.
virtual Number & duDotDotDu() override
virtual libMesh::SparseMatrix< Number > & getMatrix(TagID tag) override
Get a raw SparseMatrix.
virtual NumericVector< Number > * solutionUDotDotOld()
virtual void associateMatrixToTag(libMesh::SparseMatrix< Number > &matrix, TagID tag)
Associate a matrix to a tag.
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, etc).
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
Base class for a system (of equations)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const Number & duDotDotDu() const override
virtual void disassociateMatrixFromTag(libMesh::SparseMatrix< Number > &matrix, TagID tag)
Disassociate a matrix from a tag.
NumericVector< Number > * solutionUDotOld() 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).
virtual void initSolutionState() override
Initializes the solution state.
virtual void associateVectorToTag(NumericVector< Number > &vec, TagID tag) override
Associate a vector for a given tag.
virtual const std::string & name() const
NumericVector< Number > & solutionInternal() const override
Internal getter for solution owned by libMesh.
virtual NumericVector< Number > & serializedSolution()
Returns a reference to a serialized version of the solution vector for this subproblem.
virtual void disassociateVectorFromTag(TagID tag) override
Disassociate any vector that is associated with a given tag.
virtual Number & duDotDotDu()
virtual const Number & duDotDu(unsigned int var_num=0) const
NumericVector< Number > * solutionUDot() override
virtual void disassociateDefaultVectorTags() override
Disassociate the vectors associated with the default vector tags of this system.
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.
SystemBase & _undisplaced_system
virtual NumericVector< Number > * solutionUDot()
VarKindType
Framework-wide stuff.
virtual TagID timeVectorTag() const override
Ideally, we should not need this API.
virtual NumericVector< Number > * solutionUDotOld()
NumericVector< Number > * solutionUDotDot() override
virtual TagID timeVectorTag() const
Ideally, we should not need this API.
virtual void needSolutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time) override
Registers that the solution state state is needed.
virtual TagID nonTimeVectorTag() const
virtual void disassociateVectorFromTag(NumericVector< Number > &vec, TagID tag)
Disassociate a given vector from a given tag.
virtual void addDotVectors()
Add u_dot, u_dotdot, u_dot_old and u_dotdot_old vectors if requested by the time integrator.
virtual void addVariableToZeroOnResidual(std::string var_name) override
Adds this variable to the list of variables to be zeroed during each residual evaluation.
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, etc).
virtual std::set< TagID > defaultVectorTags() const override
Get the default vector tags associated with this system.
virtual TagID systemMatrixTag() const override
Return the Matrix Tag ID for System.
virtual System & system() override
Get the reference to the libMesh system.
virtual TagID systemMatrixTag() const
Return the Matrix Tag ID for System.
const NumericVector< Number > * solutionUDot() const override
virtual TagID residualVectorTag() const
virtual std::set< TagID > defaultMatrixTags() const
Get the default matrix tags associted with this system.
virtual TagID residualVectorTag() const override
const NumericVector< Number > *const & currentSolution() const override
The solution vector that is currently being operated on.
DisplacedSystem & operator=(DisplacedSystem &&)=delete
virtual libMesh::System & sys()
virtual void addVariableToZeroOnJacobian(std::string var_name) override
Adds this variable to the list of variables to be zeroed during each jacobian evaluation.
NumericVector< Number > * solutionUDotDotOld() override
virtual void addDotVectors() override
Add u_dot, u_dotdot, u_dot_old and u_dotdot_old vectors if requested by the time integrator.
Class for containing MooseEnum item information.
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.
const NumericVector< Number > * solutionUDotOld() const override
virtual void disassociateMatrixFromTag(libMesh::SparseMatrix< Number > &matrix, TagID tag) override
Disassociate a matrix from a tag.
virtual std::set< TagID > defaultVectorTags() const
Get the default vector tags associated with this system.
virtual NumericVector< Number > & residualGhosted() override
virtual ~DisplacedSystem()
virtual std::vector< Number > & duDotDus()
virtual void compute(ExecFlagType) override
Compute time derivatives, auxiliary variables, etc.
virtual void addVariableToZeroOnJacobian(std::string var_name)
Adds this variable to the list of variables to be zeroed during each Jacobian evaluation.
virtual NumericVector< Number > * solutionUDotDot()
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 NumericVector< Number > & residualGhosted()
virtual const libMesh::SparseMatrix< Number > & getMatrix(TagID tag) const override
Get a raw SparseMatrix.
virtual NumericVector< Number > & getVector(const std::string &name)
Get a raw NumericVector by name.
virtual NumericVector< Number > & serializedSolution() override
Returns a reference to a serialized version of the solution vector for this subproblem.
virtual void disassociateDefaultMatrixTags()
Disassociate the matrices associated with the default matrix tags of this system. ...
virtual NumericVector< Number > & getVector(TagID tag_id) override
Get a raw NumericVector by tag.
virtual void zeroVariables(std::vector< std::string > &vars_to_be_zeroed)
Zero out the solution for the list of variables passed in.
const NumericVector< Number > * solutionPreviousNewton() const override
virtual void disassociateDefaultMatrixTags() override
Disassociate the matrices associated with the default matrix tags of this system. ...
virtual std::set< TagID > defaultMatrixTags() const override
Get the default matrix tags associted with this system.
virtual void disassociateMatrixFromTag(TagID tag) override
Disassociate any matrix that is associated with a given tag.
virtual std::vector< Number > & duDotDus() override
virtual TagID nonTimeVectorTag() const override
const NumericVector< Number > * solutionUDotDot() const override