libMesh
Loading...
Searching...
No Matches
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
13using namespace libMesh;
14
16{
17public:
18 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
39protected:
40 unsigned int u_var, p_var;
41};
42
43#endif // H_QOI_H
virtual void side_qoi(DiffContext &context, const QoISet &qois)
Does any work that needs to be done on side of elem in a quantity of interest assembly loop,...
Definition H-qoi.C:110
CoupledSystemQoI(const CoupledSystemQoI &)=default
unsigned int p_var
Definition H-qoi.h:40
virtual std::unique_ptr< DifferentiableQoI > clone()
Copy of this object.
Definition H-qoi.h:33
CoupledSystemQoI()=default
virtual void postprocess()
Definition H-qoi.h:25
virtual void init_qoi_count(System &sys)
Initialize system qoi.
Definition H-qoi.C:10
virtual void side_qoi_derivative(DiffContext &context, const QoISet &qois)
Does any work that needs to be done on side of elem in a quantity of interest derivative assembly loo...
Definition H-qoi.C:49
unsigned int u_var
Definition H-qoi.h:40
virtual void init_context(DiffContext &)
Prepares the result of a build_context() call for use.
Definition H-qoi.C:16
virtual ~CoupledSystemQoI()=default
This class provides all data required for a physics package (e.g.
This class provides a specific system class.
Definition diff_qoi.h:53
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
Definition qoi_set.h:46
Manages consistently variables, degrees of freedom, and coefficient vectors.
Definition system.h:100
The libMesh namespace provides an interface to certain functionality in the library.