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:
19  virtual ~CoupledSystemQoI(){}
20 
21  virtual void init_qoi(std::vector<Number> & sys_qoi);
22  virtual void postprocess(){}
23 
24  virtual void side_qoi_derivative(DiffContext & context,
25  const QoISet & qois);
26 
27  virtual void side_qoi(DiffContext & context,
28  const QoISet & qois);
29 
31  {
32  DifferentiableQoI * my_clone = new CoupledSystemQoI;
33  *my_clone = *this;
34  return UniquePtr<DifferentiableQoI>(my_clone);
35  }
36 };
37 
38 #endif // H_QOI_H
virtual ~CoupledSystemQoI()
Definition: H-qoi.h:19
This class provides all data required for a physics package (e.g.
Definition: diff_context.h:54
CoupledSystemQoI()
Definition: H-qoi.h:18
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:22
virtual UniquePtr< DifferentiableQoI > clone()
Copy of this object.
Definition: H-qoi.h:30
The libMesh namespace provides an interface to certain functionality in the library.
std::unique_ptr< T > UniquePtr
Definition: auto_ptr.h:46
This class provides a specific system class.
Definition: diff_qoi.h:49