https://mooseframework.inl.gov
PNSFVSolidHeatTransferPhysics.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 "HeatConductionFV.h"
13 #include "NS.h"
14 
19 {
20 public:
22 
24 
25 protected:
26 private:
27  virtual void addSolverVariables() override;
28  virtual void addFVKernels() override;
29  virtual void addMaterials() override;
30 
31  // Note that we inherit:
32  // - addInitialConditions from HeatConductionPhysicsBase
33  // - addPreconditioning from HeatConductionPhysicsBase
34  // - addFVBCs from HeatConductionFV
35 
36  virtual InputParameters getAdditionalRMParams() const override;
37 
45 
49 
52 
54  const NonlinearVariableName _solid_temperature_name;
56  const NonlinearVariableName _fluid_temperature_name;
58  const MooseFunctorName _porosity_name;
60  const MooseFunctorName _density_name;
62  const MooseFunctorName _specific_heat_name;
64  std::vector<std::vector<SubdomainName>> _thermal_conductivity_blocks;
66  std::vector<MooseFunctorName> _thermal_conductivity_name;
67 
69  std::vector<std::vector<SubdomainName>> _ambient_convection_blocks;
71  std::vector<MooseFunctorName> _ambient_convection_alpha;
73  std::vector<MooseFunctorName> _ambient_temperature;
74 };
void checkFluidAndSolidHeatTransferPhysicsParameters() const
Battery of additional checks on parameters.
std::vector< MooseFunctorName > _thermal_conductivity_name
Name of the thermal conductivity functor for each block-group.
std::vector< MooseFunctorName > _ambient_convection_alpha
Name of the ambient convection heat transfer coefficients for each block-group.
bool processThermalConductivity()
Process thermal conductivity (multiple functor input options are available).
Creates all the objects needed to solve the porous media solid energy equation.
const MooseFunctorName _specific_heat_name
Name of the specific heat functor (usually material property)
const NonlinearVariableName _solid_temperature_name
Solid temperature name.
std::vector< std::vector< SubdomainName > > _thermal_conductivity_blocks
Vector of subdomain groups where we want to have different thermal conduction.
std::vector< MooseFunctorName > _ambient_temperature
Name of the solid domain temperature for each block-group.
void addPINSSolidEnergyTimeKernels()
Functions adding kernels for the solid energy equation.
const NonlinearVariableName _fluid_temperature_name
Fluid temperature name.
const MooseFunctorName _porosity_name
Name of the porosity functor (usually material property)
const InputParameters & parameters() const
const MooseFunctorName _density_name
Name of the density functor (usually material property)
PNSFVSolidHeatTransferPhysics(const InputParameters &parameters)
virtual InputParameters getAdditionalRMParams() const override
Creates all the objects needed to solve the heat conduction equations with a finite volume discretiza...
std::vector< std::vector< SubdomainName > > _ambient_convection_blocks
Vector of subdomain groups where we want to have different ambient convection.