libMesh
Loading...
Searching...
No Matches
examples
adjoints
adjoints_ex3
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
15
class
CoupledSystemQoI
:
public
DifferentiableQoI
16
{
17
public
:
18
CoupledSystemQoI
() =
default
;
19
CoupledSystemQoI
(
const
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
39
protected
:
40
unsigned
int
u_var
,
p_var
;
41
};
42
43
#endif
// H_QOI_H
CoupledSystemQoI
Definition
H-qoi.h:16
CoupledSystemQoI::side_qoi
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::CoupledSystemQoI
CoupledSystemQoI(const CoupledSystemQoI &)=default
CoupledSystemQoI::p_var
unsigned int p_var
Definition
H-qoi.h:40
CoupledSystemQoI::clone
virtual std::unique_ptr< DifferentiableQoI > clone()
Copy of this object.
Definition
H-qoi.h:33
CoupledSystemQoI::CoupledSystemQoI
CoupledSystemQoI()=default
CoupledSystemQoI::postprocess
virtual void postprocess()
Definition
H-qoi.h:25
CoupledSystemQoI::init_qoi_count
virtual void init_qoi_count(System &sys)
Initialize system qoi.
Definition
H-qoi.C:10
CoupledSystemQoI::side_qoi_derivative
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
CoupledSystemQoI::u_var
unsigned int u_var
Definition
H-qoi.h:40
CoupledSystemQoI::init_context
virtual void init_context(DiffContext &)
Prepares the result of a build_context() call for use.
Definition
H-qoi.C:16
CoupledSystemQoI::~CoupledSystemQoI
virtual ~CoupledSystemQoI()=default
libMesh::DiffContext
This class provides all data required for a physics package (e.g.
Definition
diff_context.h:56
libMesh::DifferentiableQoI
This class provides a specific system class.
Definition
diff_qoi.h:53
libMesh::QoISet
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
Definition
qoi_set.h:46
libMesh::System
Manages consistently variables, degrees of freedom, and coefficient vectors.
Definition
system.h:100
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
Generated on Fri Aug 21 2026 13:32:26 for libMesh by
1.9.8