https://mooseframework.inl.gov
Public Member Functions | Protected Attributes | List of all members
Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator Class Reference

\[ (k(u) (u-u_\infty), v) \]

More...

#include <NLBoundaryConvectiveHeatFluxIntegrator.h>

Inheritance diagram for Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator:
[legend]

Public Member Functions

 NLBoundaryConvectiveHeatFluxIntegrator (mfem::Coefficient &k, mfem::Coefficient &dk_du, mfem::Coefficient &duinf_du, mfem::Coefficient &gf_offset, mfem::Coefficient &gf)
 Construct the nonlinear convective heat flux residual and Jacobian action. More...
 
virtual void AssembleElementVector (const mfem::FiniteElement &el, mfem::ElementTransformation &Tr, const mfem::Vector &elfun, mfem::Vector &elvect) override
 
virtual void AssembleElementGrad (const mfem::FiniteElement &el, mfem::ElementTransformation &Tr, const mfem::Vector &elfun, mfem::DenseMatrix &elmat) override
 

Protected Attributes

mfem::SumCoefficient _shifted_gf_coef
 Coefficient for the shifted state, u - u_inf. More...
 
mfem::ProductCoefficient _k_uinf_coef
 Coefficient for the inwards flux contribution, k(u) * u_inf. More...
 
mfem::ProductCoefficient _net_flux_du_coef
 Coefficient for the dk/du contribution, dk/du * (u - u_inf). More...
 
mfem::ProductCoefficient _k_duinf_du_coef
 Coefficient for the d u_inf / du contribution, k(u) * d u_inf / du. More...
 
mfem::ProductCoefficient _duinf_du_flux_coef
 Negated coefficient for the d u_inf / du Jacobian term, -k(u) * d u_inf / du. More...
 
mfem::BoundaryLFIntegrator _inwards_flux
 Boundary load integrator for the inwards flux term. More...
 
mfem::BoundaryMassIntegrator _outwards_flux
 Boundary mass integrator for the outwards flux term. More...
 
mfem::BoundaryMassIntegrator _jacobian_k_component
 Jacobian contribution from the h(T) term. More...
 
mfem::BoundaryMassIntegrator _jacobian_dk_du_component
 Jacobian contribution from the dh/dT term. More...
 
mfem::BoundaryMassIntegrator _jacobian_duinf_du_component
 Jacobian contribution from the dT_inf/dT term. More...
 
mfem::SumIntegrator _jacobian_action {0}
 Sum of the boundary mass integrators forming the Jacobian action. More...
 

Detailed Description

\[ (k(u) (u-u_\infty), v) \]

Definition at line 26 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Constructor & Destructor Documentation

◆ NLBoundaryConvectiveHeatFluxIntegrator()

Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::NLBoundaryConvectiveHeatFluxIntegrator ( mfem::Coefficient &  k,
mfem::Coefficient &  dk_du,
mfem::Coefficient &  duinf_du,
mfem::Coefficient &  gf_offset,
mfem::Coefficient &  gf 
)

Construct the nonlinear convective heat flux residual and Jacobian action.

Definition at line 16 of file NLBoundaryConvectiveHeatFluxIntegrator.C.

22  : _shifted_gf_coef(gf, gf_offset, 1.0, -1.0), // u-u_inf
23  _k_uinf_coef(k, gf_offset), // k(u)*u_inf
24  _net_flux_du_coef(dk_du, _shifted_gf_coef), // dk/du*(u-u_inf)
25  _k_duinf_du_coef(k, duinf_du), // k(u) * du_inf/du
26  _duinf_du_flux_coef(-1.0, _k_duinf_du_coef), // -k(u) * du_inf/du
28  _outwards_flux(k),
32 {
36 }
mfem::BoundaryMassIntegrator _jacobian_dk_du_component
Jacobian contribution from the dh/dT term.
mfem::SumCoefficient _shifted_gf_coef
Coefficient for the shifted state, u - u_inf.
mfem::ProductCoefficient _net_flux_du_coef
Coefficient for the dk/du contribution, dk/du * (u - u_inf).
mfem::ProductCoefficient _k_duinf_du_coef
Coefficient for the d u_inf / du contribution, k(u) * d u_inf / du.
mfem::ProductCoefficient _duinf_du_flux_coef
Negated coefficient for the d u_inf / du Jacobian term, -k(u) * d u_inf / du.
mfem::BoundaryMassIntegrator _jacobian_duinf_du_component
Jacobian contribution from the dT_inf/dT term.
mfem::BoundaryLFIntegrator _inwards_flux
Boundary load integrator for the inwards flux term.
mfem::ProductCoefficient _k_uinf_coef
Coefficient for the inwards flux contribution, k(u) * u_inf.
mfem::SumIntegrator _jacobian_action
Sum of the boundary mass integrators forming the Jacobian action.
mfem::BoundaryMassIntegrator _outwards_flux
Boundary mass integrator for the outwards flux term.
mfem::BoundaryMassIntegrator _jacobian_k_component
Jacobian contribution from the h(T) term.

Member Function Documentation

◆ AssembleElementGrad()

void Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::AssembleElementGrad ( const mfem::FiniteElement &  el,
mfem::ElementTransformation &  Tr,
const mfem::Vector &  elfun,
mfem::DenseMatrix &  elmat 
)
overridevirtual

Definition at line 51 of file NLBoundaryConvectiveHeatFluxIntegrator.C.

55 {
56  // (k (1 - du_inf/du) + dk_du (u-u_inf)) phi, v);
57  _jacobian_action.AssembleElementGrad(el, Tr, elfun, elmat);
58 }
mfem::SumIntegrator _jacobian_action
Sum of the boundary mass integrators forming the Jacobian action.

◆ AssembleElementVector()

void Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::AssembleElementVector ( const mfem::FiniteElement &  el,
mfem::ElementTransformation &  Tr,
const mfem::Vector &  elfun,
mfem::Vector &  elvect 
)
overridevirtual

Definition at line 39 of file NLBoundaryConvectiveHeatFluxIntegrator.C.

43 {
44  mfem::Vector ext_flux_elvect; // vector to store flux coming from outside of domain
45  _outwards_flux.AssembleElementVector(el, Tr, elfun, elvect); // (k(u)*u, v)
46  _inwards_flux.AssembleRHSElementVect(el, Tr, ext_flux_elvect); // (k(u)*u_inf, v)
47  elvect -= ext_flux_elvect; // (k(u)*(u-u_inf),v)
48 }
mfem::BoundaryLFIntegrator _inwards_flux
Boundary load integrator for the inwards flux term.
mfem::BoundaryMassIntegrator _outwards_flux
Boundary mass integrator for the outwards flux term.

Member Data Documentation

◆ _duinf_du_flux_coef

mfem::ProductCoefficient Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_duinf_du_flux_coef
protected

Negated coefficient for the d u_inf / du Jacobian term, -k(u) * d u_inf / du.

Definition at line 55 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

◆ _inwards_flux

mfem::BoundaryLFIntegrator Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_inwards_flux
protected

Boundary load integrator for the inwards flux term.

Definition at line 57 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Referenced by AssembleElementVector().

◆ _jacobian_action

mfem::SumIntegrator Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_jacobian_action {0}
protected

Sum of the boundary mass integrators forming the Jacobian action.

Definition at line 67 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Referenced by AssembleElementGrad(), and NLBoundaryConvectiveHeatFluxIntegrator().

◆ _jacobian_dk_du_component

mfem::BoundaryMassIntegrator Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_jacobian_dk_du_component
protected

Jacobian contribution from the dh/dT term.

Definition at line 63 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Referenced by NLBoundaryConvectiveHeatFluxIntegrator().

◆ _jacobian_duinf_du_component

mfem::BoundaryMassIntegrator Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_jacobian_duinf_du_component
protected

Jacobian contribution from the dT_inf/dT term.

Definition at line 65 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Referenced by NLBoundaryConvectiveHeatFluxIntegrator().

◆ _jacobian_k_component

mfem::BoundaryMassIntegrator Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_jacobian_k_component
protected

Jacobian contribution from the h(T) term.

Definition at line 61 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Referenced by NLBoundaryConvectiveHeatFluxIntegrator().

◆ _k_duinf_du_coef

mfem::ProductCoefficient Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_k_duinf_du_coef
protected

Coefficient for the d u_inf / du contribution, k(u) * d u_inf / du.

Definition at line 53 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

◆ _k_uinf_coef

mfem::ProductCoefficient Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_k_uinf_coef
protected

Coefficient for the inwards flux contribution, k(u) * u_inf.

Definition at line 49 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

◆ _net_flux_du_coef

mfem::ProductCoefficient Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_net_flux_du_coef
protected

Coefficient for the dk/du contribution, dk/du * (u - u_inf).

Definition at line 51 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

◆ _outwards_flux

mfem::BoundaryMassIntegrator Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_outwards_flux
protected

Boundary mass integrator for the outwards flux term.

Definition at line 59 of file NLBoundaryConvectiveHeatFluxIntegrator.h.

Referenced by AssembleElementVector().

◆ _shifted_gf_coef

mfem::SumCoefficient Moose::MFEM::NLBoundaryConvectiveHeatFluxIntegrator::_shifted_gf_coef
protected

Coefficient for the shifted state, u - u_inf.

Definition at line 47 of file NLBoundaryConvectiveHeatFluxIntegrator.h.


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