libMesh
H-qoi.h
Go to the documentation of this file.
1 #ifndef H_QOI_H
2 #define H_QOI_H
3 
4 #include "libmesh/libmesh_common.h"
5 #include "libmesh/elem.h"
6 #include "libmesh/fe_base.h"
7 #include "libmesh/fem_context.h"
8 #include "libmesh/point.h"
9 #include "libmesh/quadrature.h"
10 #include "libmesh/diff_qoi.h"
11 
12 // Bring in everything from the libMesh namespace
13 using namespace libMesh;
14 
16 {
17 public:
18  CoupledSystemQoI() = default;
19  CoupledSystemQoI(const CoupledSystemQoI &) = default;
20  virtual ~CoupledSystemQoI() = default;
21 
22  virtual void init_qoi_count(System & sys);
23  virtual void init_context(DiffContext &);
24 
25  virtual void postprocess(){}
26 
27  virtual void side_qoi_derivative(DiffContext & context,
28  const QoISet & qois);
29 
30  virtual void side_qoi(DiffContext & context,
31  const QoISet & qois);
32 
33  virtual std::unique_ptr<DifferentiableQoI> clone()
34  {
35  // Calls defaulted copy constructor for this class
36  return std::make_unique<CoupledSystemQoI>(*this);
37  }
38 
39 protected:
40  unsigned int u_var, p_var;
41 };
42 
43 #endif // H_QOI_H
virtual std::unique_ptr< DifferentiableQoI > clone()
Copy of this object.
Definition: H-qoi.h:33
This class provides all data required for a physics package (e.g.
Definition: diff_context.h:55
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
Definition: qoi_set.h:45
virtual void postprocess()
Definition: H-qoi.h:25
unsigned int u_var
Definition: H-qoi.h:40
The libMesh namespace provides an interface to certain functionality in the library.
Manages consistently variables, degrees of freedom, and coefficient vectors.
Definition: system.h:96
This class provides a specific system class.
Definition: diff_qoi.h:52