https://mooseframework.inl.gov
HSCoupler2D3DUserObject.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 "SideUserObject.h"
13 
15 class MeshAlignment2D3D;
16 
21 {
22 public:
24 
26 
27  virtual void initialize() override;
28  virtual void execute() override;
29  virtual void threadJoin(const UserObject & uo) override;
30  virtual void finalize() override;
31 
37  const std::vector<ADReal> & getHeatFlux(dof_id_type elem_id) const;
38 
39 protected:
46  ADReal evaluateTemperatureFunction(const Function & fn, const ADReal & T) const;
47 
50 
52  const Real & _r_2d;
53 
59  const bool _include_radiation;
66 
69 
72 
74  std::map<dof_id_type, std::vector<ADReal>> _elem_id_to_heat_flux;
75 };
HSCoupler2D3DUserObject(const InputParameters &parameters)
virtual void execute() override
const Function & _emissivity_3d_fn
Emissivity of the 3D heat structure boundary as a function of temperature.
const bool _include_radiation
Include radiation?
const Function & _gap_thickness_fn
Gap thickness as a function of temperature.
MeshAlignment2D3D & _mesh_alignment
Mesh alignment object.
const Function & _htc_gap_fn
Gap heat transfer coefficient as a function of temperature.
const ADVariableValue & _T_3d
Coupled heated perimeter variable.
Stores variable values at each quadrature point on a side by element ID.
const Function & _k_gap_fn
Gap thermal conductivity as a function of temperature.
virtual void finalize() override
const std::vector< ADReal > & getHeatFlux(dof_id_type elem_id) const
Gets the heat fluxes for each quadrature point for a given element ID.
virtual void initialize() override
Computes heat fluxes for HSCoupler2D3D.
ADReal evaluateTemperatureFunction(const Function &fn, const ADReal &T) const
Evaluates a function of temperature.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real & _r_2d
Radius of the 2D heat structure boundary.
const StoreVariableByElemIDSideUserObject & _temperature_2d_uo
User object containing the temperature values on the 2D boundary.
const InputParameters & parameters() const
std::map< dof_id_type, std::vector< ADReal > > _elem_id_to_heat_flux
Map of the element ID to the heat flux.
virtual void threadJoin(const UserObject &uo) override
const Function & _emissivity_2d_fn
Emissivity of the 2D heat structure boundary as a function of temperature.
Builds mapping between a 2D boundary and a 3D boundary.
uint8_t dof_id_type
static InputParameters validParams()