libMesh
Loading...
Searching...
No Matches
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
16using namespace libMesh;
17
19{
20public:
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
virtual void init_context(DiffContext &context)
Prepares the result of a build_context() call for use.
Definition L-qoi.C:13
virtual std::unique_ptr< DifferentiableQoI > clone()
Copy of this object.
Definition L-qoi.h:35
LaplaceQoI()=default
virtual ~LaplaceQoI()=default
virtual void element_qoi_derivative(DiffContext &context, const QoISet &qois)
Does any work that needs to be done on elem in a quantity of interest derivative assembly loop,...
Definition L-qoi.C:70
virtual void element_qoi(DiffContext &context, const QoISet &qois)
Does any work that needs to be done on elem in a quantity of interest assembly loop,...
Definition L-qoi.C:29
virtual void init_qoi_count(System &sys)
Initialize system qoi.
Definition L-qoi.C:7
virtual void postprocess()
Definition L-qoi.h:29
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.