https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FVSideSetHeatTransferKernel.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
11
13
16{
18 params.addClassDescription("Models heat transfer across an internal sideset for the finite "
19 "volume method using an interface conductance.");
20
21 params.addRequiredParam<MooseFunctorName>(
22 "conductance",
23 "Thermal conductance across the interface. This is equivalent to k / thickness or "
24 "1 / thermal_resistance. The conductance functor is evaluated on the variable1/subdomain1 "
25 "side of the interface.");
26
27 return params;
28}
29
31 : FVInterfaceKernel(parameters), _conductance(getFunctor<ADReal>("conductance"))
32{
33}
34
37{
38 const auto state = determineState();
39
40 const auto T1 = var1().getElemValue(&elem1(), state);
41 const auto T2 = var2().getElemValue(&elem2(), state);
42 const auto conductance = _conductance(faceArg1(_conductance), state);
43
44 return conductance * (T1 - T2);
45}
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("HeatTransferApp", FVSideSetHeatTransferKernel)
const Elem & elem2() const
const Elem & elem1() const
static InputParameters validParams()
Moose::FaceArg faceArg1(Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
const MooseVariableFV< Real > & var1() const
const MooseVariableFV< Real > & var2() const
FV interface kernel for modeling heat transfer across an internal sideset using an interface conducta...
const Moose::Functor< ADReal > & _conductance
Thermal conductance across the interface.
FVSideSetHeatTransferKernel(const InputParameters &parameters)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
ADReal getElemValue(const Elem *elem, const StateArg &state) const
Moose::StateArg determineState() const