20#ifndef LIBMESH_EXPLICIT_SYSTEM_H
21#define LIBMESH_EXPLICIT_SYSTEM_H
24#include "libmesh/system.h"
56 const std::string &
name,
57 const unsigned int number);
89 virtual void clear ()
override;
104 bool include_liftfunc =
true,
105 bool apply_constraints =
true)
override;
111 virtual void solve ()
override;
117 virtual std::string
system_type ()
const override {
return "Explicit"; }
This is the EquationSystems class.
Manages consistently variables, degrees of freedom, and coefficient vectors for explicit systems.
virtual ~ExplicitSystem()
ExplicitSystem sys_type
The type of system.
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...
ExplicitSystem(const ExplicitSystem &)=delete
Special functions.
virtual void clear() override
Clear all the data structures associated with the system.
virtual void assemble_qoi(const QoISet &qoi_indices=QoISet()) override
Prepares qoi for quantity of interest assembly, then calls user qoi function.
NumericVector< Number > * rhs
The system matrix.
ExplicitSystem(ExplicitSystem &&)=default
virtual void solve() override
For explicit systems, just assemble the system which should directly compute A*x.
virtual std::string system_type() const override
ExplicitSystem & operator=(const ExplicitSystem &)=delete
void add_system_rhs()
Add the system right-hand-side vector to the _vectors data structure.
System Parent
The type of the parent.
Provides a uniform interface to vector storage schemes for different linear algebra libraries.
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
Manages consistently variables, degrees of freedom, and coefficient vectors.
const std::string & name() const
unsigned int number() const
The libMesh namespace provides an interface to certain functionality in the library.