23 "phase",
getPhaseEnum(),
"'fluid' or 'solid' phase to which this BC is applied.");
30 "whether to use local (at the boundary) or global (domain-averaged) " 34 params.
addParam<PostprocessorName>(
"average_porosity",
35 "postprocessor that provides domain-averaged porosity");
37 "average_k_fluid",
"postprocessor that provides domain-averaged fluid thermal conductivity");
39 "average_kappa",
"postprocessor that provides domain-averaged fluid thermal dispersion");
41 "average_k_solid",
"postprocessor that provides domain-averaged solid thermal conductivity");
43 "average_kappa_solid",
44 "postprocessor that provides domain-averaged solid effective thermal " 47 "for fluid and solid energy equations");
53 _value(getParam<
Real>(
"value")),
58 _average_eps(_locality ==
NS::settings::
global &&
60 ? &getPostprocessorValue(
"average_porosity")
62 _average_k_f(_locality ==
NS::settings::
global && _split_type !=
NS::splitting::
porosity 63 ? &getPostprocessorValue(
"average_k_fluid")
65 _average_k_s(_locality ==
NS::settings::
global &&
67 ? &getPostprocessorValue(
"average_k_solid")
69 _average_kappa_s(_locality ==
NS::settings::
global &&
71 ? &getPostprocessorValue(
"average_kappa_solid")
73 _average_kappa(_locality ==
NS::settings::
global &&
75 ? &getPostprocessorValue(
"average_kappa")
82 ? &getADMaterialProperty<
Real>(
NS::
k)
87 _kappa(_locality ==
NS::settings::
local &&
91 _kappa_s(_locality ==
NS::settings::
local &&
121 fraction =
d >
tol ? (*_k_f)[
_qp] /
d : 0.5;
138 kappa = (*_kappa)[
_qp].norm() / std::sqrt(3.0);
163 ADReal d = (*_average_eps) * (*_average_kappa) + (*_average_kappa_s);
164 fraction =
d >
tol ? (*_average_eps) * (*_average_kappa) /
d : 0.5;
171 return (1.0 - fraction) * -
_value;
173 return fraction * -
_value;
const PostprocessorValue * _average_k_s
Domain-average solid thermal conductivity.
static const std::string kappa_s
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
static InputParameters validParams()
static InputParameters validParams()
const PostprocessorValue * _average_k_f
Domain-average fluid thermal conductivity.
NSFVHeatFluxBC(const InputParameters ¶meters)
DualNumber< Real, DNDerivativeType, true > ADReal
virtual ADReal computeQpResidual() override
const PostprocessorValue * _average_eps
Domain-average porosity.
static const std::string k_s
const NS::splitting::SplittingEnum _split_type
What parameters are used to split the heat flux, i.e.
static const std::string porosity
const NS::phase::PhaseEnum _phase
Which phase this boundary condition is applied to, i.e. 'fluid' or 'solid'.
This boundary condition sets a constant heat flux with a splitting between the fluid and solid phases...
registerADMooseObject("NavierStokesApp", NSFVHeatFluxBC)
MooseEnum getLocalityEnum()
const NS::settings::LocalityEnum _locality
Where the values used in computing the splitting are pulled from, i.e.
static const std::string kappa
const ADMaterialProperty< RealVectorValue > * _kappa
Fluid effective thermal conductivity.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const Real k_epsilon
MooseEnum getSplittingEnum()
const Real & _value
Value of the heat flux.
static const std::string k
const VariableValue & _eps
Porosity.