#include <NekHeatFluxIntegral.h>
Public Member Functions | |
NekHeatFluxIntegral (const InputParameters ¶meters) | |
virtual Real | getValue () const override |
virtual void | initialize () override |
virtual void | execute () override |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Attributes | |
const nek_mesh::NekMeshEnum | _pp_mesh |
Which NekRS mesh to act on. | |
const std::vector< int > & | _boundary |
boundary IDs of the nekRS mesh over which to find the extreme value | |
const NekRSProblemBase * | _nek_problem |
The NekRSProblemBase required by all objects which inherit from NekBase. | |
const NekRSMesh * | _nek_mesh |
Underlying NekRSMesh, if present. | |
Compute the integral of the heat flux over a boundary in the nekRS mesh, \(\int_\Gamma -k\nabla T\cdot\hat{n} d\Gamma\), where \(T\) is the temperature, \(k\) is the thermal conductivity, \(\hat{n}\) is the unit normal, and \(\Gamma\) is the boundary.
Note that this calculation is done directly on the mesh that nekRS solves on, not the mesh created for solution transfer in NekRSMesh.
This heat flux calculation directly integrates the heat flux in nekRS - we therefore do not expect this value to match the imposed heat flux at the start of the nekRS time step (i.e. that we interpolated) because those heat fluxes are separated in time.
Also very important to note is that the heat flux measured on a boundary that has GLL points also on a Dirichlet boundary will never match the requested imposed heat flux because Dirichlet boundary conditions win (note that this is slightly different from 'Neumann BCs are only weakly imposed').
NekHeatFluxIntegral::NekHeatFluxIntegral | ( | const InputParameters & | parameters | ) |
|
inlineoverridevirtualinherited |
|
overridevirtual |
|
inlineoverridevirtualinherited |
|
static |
|
protectedinherited |
boundary IDs of the nekRS mesh over which to find the extreme value
|
protectedinherited |
The NekRSProblemBase required by all objects which inherit from NekBase.
|
protectedinherited |
Which NekRS mesh to act on.