https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
15template <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
29template <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
Moose::GenericType< Real, is_ad > GenericReal
registerMooseObject("HeatTransferApp", RadiativeP1DiffusionCoefficientMaterial)
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
Computes a convection heat flux from a solid surface to a fluid.
RadiativeP1DiffusionCoefficientMaterialTempl(const InputParameters &parameters)
const Moose::Functor< GenericReal< is_ad > > & _opacity
Opacity.
const Moose::Functor< GenericReal< is_ad > > & _sigma_scat_eff
Effective Scattering Cross Section.