21 #include "libmesh/explicit_system.h" 22 #include "libmesh/numeric_vector.h" 31 const std::string & name_in,
32 const unsigned int number_in) :
33 Parent (es, name_in, number_in),
68 bool include_liftfunc,
69 bool apply_constraints)
This is the EquationSystems class.
virtual void clear()
Clear all the data structures associated with the system.
virtual void solve() override
For explicit systems, just assemble the system which should directly compute A*x. ...
virtual ~ExplicitSystem()
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
unsigned int n_qois() const
Number of currently active quantities of interest.
virtual void assemble_qoi_derivative(const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true)
Calls user qoi derivative function.
virtual void assemble()
Prepares matrix and _dof_map for matrix assembly.
NumericVector< Number > * rhs
The system matrix.
NumericVector< Number > & add_vector(std::string_view vec_name, const bool projections=true, const ParallelType type=PARALLEL)
Adds the additional vector vec_name to this system.
void add_system_rhs()
Add the system right-hand-side vector to the _vectors data structure.
The libMesh namespace provides an interface to certain functionality in the library.
virtual void zero()=0
Set all entries to zero.
bool has_index(std::size_t) const
Return whether or not this index is in the set to be calculated.
unsigned int n_vectors() const
Manages consistently variables, degrees of freedom, and coefficient vectors.
ExplicitSystem(EquationSystems &es, const std::string &name, const unsigned int number)
Constructor.
NumericVector< Number > & add_adjoint_rhs(unsigned int i=0)
virtual void clear() override
Clear all the data structures associated with the system.
virtual void update()
Update the local values to reflect the solution on neighboring processors.
virtual void assemble_qoi(const QoISet &qoi_indices=QoISet()) override
Prepares qoi for quantity of interest assembly, then calls user qoi function.
IntRange< T > make_range(T beg, T end)
The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of...
virtual void assemble_qoi_derivative(const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true) override
Prepares adjoint_rhs for quantity of interest derivative assembly, then calls user qoi derivative fun...
void set_qoi(unsigned int qoi_index, Number qoi_value)
virtual void assemble_qoi(const QoISet &qoi_indices=QoISet())
Calls user qoi function.