https://mooseframework.inl.gov
GapFluxModelConduction.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 
10 #include "GapFluxModelConduction.h"
11 #include "libmesh/utility.h"
12 #include "Function.h"
13 
15 
18 {
20  params.addClassDescription(
21  "Gap flux model for varying gap conductance using a coupled variable for temperature");
22  params.addRequiredCoupledVar("temperature", "The name of the temperature variable");
23  params.addParam<FunctionName>(
24  "gap_conductivity_function",
25  "Thermal conductivity of the gap material as a function. Multiplied "
26  "by gap_conductivity.");
27  params.addCoupledVar("gap_conductivity_function_variable",
28  "Variable to be used in the gap_conductivity_function in place of time");
29  params.addParamNamesToGroup("gap_conductivity_function gap_conductivity_function_variable",
30  "Gap conductive flux");
31  return params;
32 }
33 
35  : GapFluxModelConductionBase(parameters),
36  _primary_T(adCoupledNeighborValue("temperature")),
37  _secondary_T(adCoupledValue("temperature")),
38  _gap_conductivity_function(isParamValid("gap_conductivity_function")
39  ? &getFunction("gap_conductivity_function")
40  : nullptr),
41  _gap_conductivity_function_variable(isCoupled("gap_conductivity_function_variable")
42  ? &coupledValue("gap_conductivity_function_variable")
43  : nullptr)
44 {
45 }
46 
47 ADReal
49 {
50  Real gap_conductivity_multiplier = 1;
52  {
54  gap_conductivity_multiplier = _gap_conductivity_function->value(
56  else
57  gap_conductivity_multiplier = _gap_conductivity_function->value(_t, _q_point[_qp]);
58  }
59 
60  return computeConductionFlux(_secondary_T[_qp], _primary_T[_qp], gap_conductivity_multiplier);
61 }
const ADVariableValue & _primary_T
Primary surface temperature.
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
GapFluxModelConduction(const InputParameters &parameters)
Gap flux model for varying gap conductance.
const ADVariableValue & _secondary_T
Secondary surface temperature.
static InputParameters validParams()
ADReal computeConductionFlux(const ADReal &secondary_T, const ADReal &primary_T, const ADReal &conductivity_multiplier) const
computes the conduction flux based on the input secondary and primary temperatures as well a gap cond...
DualNumber< Real, DNDerivativeType, true > ADReal
virtual ADReal computeFlux() const override
Compute gap physics used cache information in GapFluxModelBase.
const MooseArray< Point > & _q_point
const VariableValue *const _gap_conductivity_function_variable
void addCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
unsigned int _qp
void addClassDescription(const std::string &doc_string)
registerMooseObject("HeatTransferApp", GapFluxModelConduction)
virtual Real value(Real t, const Point &p) const
Gap flux model for varying gap conductance using a coupled variable for temperature.
const Function *const _gap_conductivity_function
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)