https://mooseframework.inl.gov
RadiationTransferAction.h
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 #pragma once
11 
12 #include "Action.h"
13 
14 #include "MooseEnum.h"
15 
17 {
18 public:
20 
22 
23  virtual void act() override;
24 
25 protected:
27  void checkBoundaryParameterIsSubset(const std::string & param) const;
28  void addMeshGenerator();
29  void addRadiationObject() const;
30  void addViewFactorObject() const;
31  void addRadiationBCs() const;
32  void addRayStudyObject() const;
33  void addRayBCs() const;
34  void addHeatFluxAuxVariable() const;
35  void addHeatFluxAuxKernel() const;
36 
37  std::vector<std::vector<std::string>> radiationPatchNames() const;
38  std::vector<std::vector<std::string>> bcRadiationPatchNames() const;
39  std::vector<BoundaryName>
40  patchBoundaryNames(const std::vector<BoundaryName> & boundary_names) const;
41  std::vector<BoundaryName> radiationPatchBoundaryNames() const;
42  std::vector<BoundaryName> adiabaticPatchBoundaryNames() const;
43  UserObjectName viewFactorObjectName() const;
44  UserObjectName radiationObjectName() const;
45  UserObjectName rayStudyName() const;
46  std::string rayBCName() const;
47  std::string symmetryRayBCName() const;
48  MeshGeneratorName meshGeneratorName(unsigned int j) const;
49 
51  unsigned int nPatch(unsigned int j) const;
52 
54  const std::vector<BoundaryName> _boundary_names;
55 
58 
60  const bool _add_heat_flux_aux;
62  VariableName _heat_flux_variable;
64  std::vector<SubdomainName> _heat_flux_aux_block;
65 };
const std::vector< BoundaryName > _boundary_names
the boundary names participating in the radiative heat transfer
std::vector< SubdomainName > _heat_flux_aux_block
Blocks to use for heat flux aux.
const bool _add_heat_flux_aux
Whether to add heat flux aux.
UserObjectName rayStudyName() const
std::vector< BoundaryName > patchBoundaryNames(const std::vector< BoundaryName > &boundary_names) const
std::vector< std::vector< std::string > > radiationPatchNames() const
static InputParameters validParams()
MeshGeneratorName meshGeneratorName(unsigned int j) const
std::vector< std::vector< std::string > > bcRadiationPatchNames() const
UserObjectName viewFactorObjectName() const
std::vector< BoundaryName > adiabaticPatchBoundaryNames() const
void checkBoundaryParameterIsSubset(const std::string &param) const
Checks that param boundaries are in the &#39;boundary&#39; parameter.
virtual void act() override
const MooseEnum _view_factor_calculator
the type of view factor calculation being performed
unsigned int nPatch(unsigned int j) const
provides the updated number of patches for this boundary
UserObjectName radiationObjectName() const
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::string symmetryRayBCName() const
std::vector< BoundaryName > radiationPatchBoundaryNames() const
VariableName _heat_flux_variable
Heat flux aux name.
RadiationTransferAction(const InputParameters &params)