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 // Bring in everything from the libMesh namespace
14 using namespace libMesh;
15 
17 {
18 public:
20  virtual ~LaplaceQoI(){}
21 
22  virtual void init_qoi(std::vector<Number> & sys_qoi);
23 
24  // Context initialization
25  virtual void init_context (DiffContext & context);
26 
27  virtual void postprocess() {}
28 
29  virtual void element_qoi_derivative(DiffContext & context, const QoISet & qois);
30 
31  virtual void element_qoi (DiffContext & context, const QoISet & qois);
32 
34  {
35  return UniquePtr<DifferentiableQoI> (new LaplaceQoI(*this));
36  }
37 
38 };
39 #endif // L_QOI_H
This class provides all data required for a physics package (e.g.
Definition: diff_context.h:54
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.
std::unique_ptr< T > UniquePtr
Definition: auto_ptr.h:46
virtual void postprocess()
Definition: L-qoi.h:27
virtual ~LaplaceQoI()
Definition: L-qoi.h:20
LaplaceQoI()
Definition: L-qoi.h:19
This class provides a specific system class.
Definition: diff_qoi.h:49
virtual UniquePtr< DifferentiableQoI > clone()
Copy of this object.
Definition: L-qoi.h:33