Cardinal
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
NekHeatFluxIntegral Class Reference

#include <NekHeatFluxIntegral.h>

Inheritance diagram for NekHeatFluxIntegral:
[legend]

Public Member Functions

 NekHeatFluxIntegral (const InputParameters &parameters)
 
virtual Real getValue () const override
 
virtual void initialize () override
 
virtual void execute () override
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

const std::vector< int > & _boundary
 boundary IDs of the nekRS mesh over which to find the extreme value More...
 
const MooseMesh & _mesh
 Base mesh this postprocessor acts on. More...
 
const NekRSMesh_nek_mesh
 Underlying NekRSMesh, if present. More...
 
const NekRSProblemBase_nek_problem
 Underlying problem. More...
 
const nek_mesh::NekMeshEnum _pp_mesh
 Which NekRS mesh to act on. More...
 

Detailed Description

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').

Constructor & Destructor Documentation

◆ NekHeatFluxIntegral()

NekHeatFluxIntegral::NekHeatFluxIntegral ( const InputParameters &  parameters)

Member Function Documentation

◆ execute()

virtual void NekPostprocessor::execute ( )
inlineoverridevirtualinherited

Reimplemented in NekMeshInfoPostprocessor.

◆ getValue()

virtual Real NekHeatFluxIntegral::getValue ( ) const
overridevirtual

◆ initialize()

virtual void NekPostprocessor::initialize ( )
inlineoverridevirtualinherited

Reimplemented in NekMeshInfoPostprocessor.

◆ validParams()

static InputParameters NekHeatFluxIntegral::validParams ( )
static

Member Data Documentation

◆ _boundary

const std::vector<int>& NekSidePostprocessor::_boundary
protectedinherited

boundary IDs of the nekRS mesh over which to find the extreme value

◆ _mesh

const MooseMesh& NekPostprocessor::_mesh
protectedinherited

Base mesh this postprocessor acts on.

◆ _nek_mesh

const NekRSMesh* NekPostprocessor::_nek_mesh
protectedinherited

Underlying NekRSMesh, if present.

◆ _nek_problem

const NekRSProblemBase* NekPostprocessor::_nek_problem
protectedinherited

Underlying problem.

◆ _pp_mesh

const nek_mesh::NekMeshEnum NekPostprocessor::_pp_mesh
protectedinherited

Which NekRS mesh to act on.


The documentation for this class was generated from the following file: