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

\[ (k(u) \vec \nabla u, \vec \nabla v) \]

More...

#include <NLDiffusionIntegrator.h>

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

Public Member Functions

 NLDiffusionIntegrator (mfem::Coefficient &k, mfem::Coefficient &dk_du, const mfem::GridFunction *gf, const mfem::IntegrationRule *ir=nullptr)
 
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::DiffusionIntegrator _diffusion_integ
 
mfem::GradientGridFunctionCoefficient _grad_trial
 
mfem::ScalarVectorProductCoefficient _neg_grad_trial
 
mfem::ScalarVectorProductCoefficient _neg_dk_du_grad_trial
 
mfem::MixedScalarWeakDivergenceIntegrator _weak_div_integ
 
mfem::SumIntegrator _sum {0}
 

Detailed Description

\[ (k(u) \vec \nabla u, \vec \nabla v) \]

Definition at line 24 of file NLDiffusionIntegrator.h.

Constructor & Destructor Documentation

◆ NLDiffusionIntegrator()

Moose::MFEM::NLDiffusionIntegrator::NLDiffusionIntegrator ( mfem::Coefficient &  k,
mfem::Coefficient &  dk_du,
const mfem::GridFunction *  gf,
const mfem::IntegrationRule *  ir = nullptr 
)

Definition at line 16 of file NLDiffusionIntegrator.C.

20  : _diffusion_integ(k, ir),
21  _grad_trial(gf),
25 {
26  _sum.AddIntegrator(&_diffusion_integ);
27  _sum.AddIntegrator(&_weak_div_integ);
28 }
mfem::DiffusionIntegrator _diffusion_integ
mfem::MixedScalarWeakDivergenceIntegrator _weak_div_integ
mfem::GradientGridFunctionCoefficient _grad_trial
mfem::ScalarVectorProductCoefficient _neg_grad_trial
mfem::ScalarVectorProductCoefficient _neg_dk_du_grad_trial

Member Function Documentation

◆ AssembleElementGrad()

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

Definition at line 40 of file NLDiffusionIntegrator.C.

44 {
45  _sum.AssembleElementGrad(el, Tr, elfun, elmat);
46 }

◆ AssembleElementVector()

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

Definition at line 31 of file NLDiffusionIntegrator.C.

35 {
36  _diffusion_integ.AssembleElementVector(el, Tr, elfun, elvect);
37 }
mfem::DiffusionIntegrator _diffusion_integ

Member Data Documentation

◆ _diffusion_integ

mfem::DiffusionIntegrator Moose::MFEM::NLDiffusionIntegrator::_diffusion_integ
protected

Definition at line 42 of file NLDiffusionIntegrator.h.

Referenced by AssembleElementVector(), and NLDiffusionIntegrator().

◆ _grad_trial

mfem::GradientGridFunctionCoefficient Moose::MFEM::NLDiffusionIntegrator::_grad_trial
protected

Definition at line 43 of file NLDiffusionIntegrator.h.

◆ _neg_dk_du_grad_trial

mfem::ScalarVectorProductCoefficient Moose::MFEM::NLDiffusionIntegrator::_neg_dk_du_grad_trial
protected

Definition at line 45 of file NLDiffusionIntegrator.h.

◆ _neg_grad_trial

mfem::ScalarVectorProductCoefficient Moose::MFEM::NLDiffusionIntegrator::_neg_grad_trial
protected

Definition at line 44 of file NLDiffusionIntegrator.h.

◆ _sum

mfem::SumIntegrator Moose::MFEM::NLDiffusionIntegrator::_sum {0}
protected

Definition at line 47 of file NLDiffusionIntegrator.h.

Referenced by AssembleElementGrad(), and NLDiffusionIntegrator().

◆ _weak_div_integ

mfem::MixedScalarWeakDivergenceIntegrator Moose::MFEM::NLDiffusionIntegrator::_weak_div_integ
protected

Definition at line 46 of file NLDiffusionIntegrator.h.

Referenced by NLDiffusionIntegrator().


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