Go to the documentation of this file.
23 #include "libmesh/explicit_system.h"
24 #include "libmesh/numeric_vector.h"
33 const std::string & name_in,
34 const unsigned int number_in) :
35 Parent (es, name_in, number_in),
70 bool include_liftfunc,
71 bool apply_constraints)
Manages consistently variables, degrees of freedom, and coefficient vectors.
virtual void zero()=0
Set all entries to zero.
virtual void solve() override
For explicit systems, just assemble the system which should directly compute A*x.
NumericVector< Number > * rhs
The system matrix.
bool has_index(std::size_t) const
Return whether or not this index is in the set to be calculated.
The libMesh namespace provides an interface to certain functionality in the library.
unsigned int n_vectors() const
void add_system_rhs()
Add the system right-hand-side vector to the _vectors data structure.
virtual void assemble()
Prepares matrix and _dof_map for matrix assembly.
ExplicitSystem(EquationSystems &es, const std::string &name, const unsigned int number)
Constructor.
unsigned int n_qois() const
Number of currently active quantities of interest.
NumericVector< Number > & add_adjoint_rhs(unsigned int i=0)
The IntRange templated class is intended to make it easy to loop over integers which are indices of a...
std::vector< Number > qoi
Values of the quantities of interest.
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
virtual void assemble_qoi(const QoISet &qoi_indices=QoISet()) override
Prepares qoi for quantity of interest assembly, then calls user qoi function.
virtual void assemble_qoi(const QoISet &qoi_indices=QoISet())
Calls user qoi function.
This is the EquationSystems class.
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 clear() override
Clear all the data structures associated with the system.
virtual void clear()
Clear all the data structures associated with the system.
NumericVector< Number > & add_vector(const std::string &vec_name, const bool projections=true, const ParallelType type=PARALLEL)
Adds the additional vector vec_name to this system.
virtual void update()
Update the local values to reflect the solution on neighboring processors.
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...