libMesh
L-qoi.h
Go to the documentation of this file.
1 
2 #ifndef L_QOI_H
3 #define L_QOI_H
4 
5 #include "libmesh/libmesh_common.h"
6 #include "libmesh/elem.h"
7 #include "libmesh/fe_base.h"
8 #include "libmesh/fem_context.h"
9 #include "libmesh/point.h"
10 #include "libmesh/quadrature.h"
11 #include "libmesh/diff_qoi.h"
12 
13 #include <memory>
14 
15 // Bring in everything from the libMesh namespace
16 using namespace libMesh;
17 
19 {
20 public:
21  LaplaceQoI() = default;
22  virtual ~LaplaceQoI() = default;
23 
24  virtual void init_qoi_count(System & sys);
25 
26  // Context initialization
27  virtual void init_context (DiffContext & context);
28 
29  virtual void postprocess() {}
30 
31  virtual void element_qoi_derivative(DiffContext & context, const QoISet & qois);
32 
33  virtual void element_qoi (DiffContext & context, const QoISet & qois);
34 
35  virtual std::unique_ptr<DifferentiableQoI> clone()
36  {
37  return std::make_unique<LaplaceQoI>(*this);
38  }
39 
40 };
41 #endif // L_QOI_H
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
The libMesh namespace provides an interface to certain functionality in the library.
virtual void postprocess()
Definition: L-qoi.h:29
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
virtual std::unique_ptr< DifferentiableQoI > clone()
Copy of this object.
Definition: L-qoi.h:35