https://mooseframework.inl.gov
RadiativeP1DiffusionCoefficientMaterial.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 
14 
15 template <bool is_ad>
18 {
20  params.addClassDescription("Computes the P1 diffusion coefficient from the opacity and effective "
21  "scattering cross section.");
22  params.addRequiredParam<MooseFunctorName>("opacity", "Opacity.");
23  params.addParam<MooseFunctorName>("sigma_scat_eff", 0.0, "Effective P1 scatterig cross section.");
24  params.addRequiredParam<std::string>("P1_diff_coef_name",
25  "Name given to the P1 diffusion coefficient.");
26  return params;
27 }
28 
29 template <bool is_ad>
31  const InputParameters & parameters)
32  : FunctorMaterial(parameters),
33  _opacity(getFunctor<GenericReal<is_ad>>("opacity")),
34  _sigma_scat_eff(getFunctor<GenericReal<is_ad>>("sigma_scat_eff"))
35 {
36  addFunctorProperty<GenericReal<is_ad>>(
37  getParam<std::string>("P1_diff_coef_name"),
38  [this](const auto & r, const auto & t) -> GenericReal<is_ad>
39  {
40  const auto kappa = _opacity(r, t);
41  const auto sigma_scat = _sigma_scat_eff(r, t);
42  return 1.0 / (3.0 * kappa + sigma_scat);
43  });
44 }
45 
Computes a convection heat flux from a solid surface to a fluid.
Moose::GenericType< Real, is_ad > GenericReal
static InputParameters validParams()
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
const Moose::Functor< GenericReal< is_ad > > & _opacity
Opacity.
void addRequiredParam(const std::string &name, const std::string &doc_string)
registerMooseObject("HeatTransferApp", RadiativeP1DiffusionCoefficientMaterial)
const Moose::Functor< GenericReal< is_ad > > & _sigma_scat_eff
Effective Scattering Cross Section.
static const std::string kappa
Definition: NS.h:116
RadiativeP1DiffusionCoefficientMaterialTempl(const InputParameters &parameters)
void addClassDescription(const std::string &doc_string)