https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GapConductance.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 "Material.h"
13
18{
19public:
27
29
31
32 static Real gapLength(const GAP_GEOMETRY & gap_geom,
33 const Real radius,
34 const Real r1,
35 const Real r2,
36 const Real max_gap);
37
41 static Real gapRect(const Real distance, const Real max_gap);
45 static Real gapCyl(const Real radius, const Real r1, const Real r2, const Real max_denom);
49 static Real gapSphere(const Real radius, const Real r1, const Real r2, const Real max_denom);
50
51 static Real gapAttenuation(Real adjusted_length, Real min_gap, unsigned int min_gap_order);
52
53 static void setGapGeometryParameters(const InputParameters & params,
54 const Moose::CoordinateSystemType coord_sys,
55 unsigned int axisymmetric_radial_coord,
56 GAP_GEOMETRY & gap_geometry_type,
57 Point & p1,
58 Point & p2);
59
61 static void computeGapRadii(const GAP_GEOMETRY gap_geometry_type,
62 const Point & current_point,
63 const Point & p1,
64 const Point & p2,
65 const Real & gap_distance,
66 const Point & current_normal,
67 Real & r1,
68 Real & r2,
69 Real & radius);
70
71 virtual void initialSetup() override;
72
74 static Real gapLength(
75 const GAP_GEOMETRY & gap_geom, Real radius, Real r1, Real r2, Real min_gap, Real max_gap)
76 {
77 return std::max(min_gap, gapLength(gap_geom, radius, r1, r2, max_gap));
78 }
79
80protected:
81 virtual void computeQpProperties() override;
82
86 virtual void computeQpConductance();
87
88 virtual Real h_conduction();
89 virtual Real h_radiation();
90 virtual Real dh_conduction();
91 virtual Real dh_radiation();
92 virtual Real gapK();
93
94 virtual void computeGapValues();
95
96 const std::string _appended_property_name;
97
99
101
103
107 Real _r1;
108 Real _r2;
109
111
117
121
126
127 const Real _min_gap;
128 const unsigned int _min_gap_order;
129 const Real _max_gap;
130
133 const NumericVector<Number> * const * _serialized_solution;
134 DofMap * _dof_map;
135 const bool _warnings;
136
137 Point & _p1;
138 Point & _p2;
139};
140
141template <>
142inline void
143dataStore(std::ostream & stream, GapConductance::GAP_GEOMETRY & v, void * ctx)
144{
145 auto stored = static_cast<int>(v);
146 dataStore(stream, stored, ctx);
147}
148
149template <>
150inline void
151dataLoad(std::istream & stream, GapConductance::GAP_GEOMETRY & v, void * ctx)
152{
153 int loaded;
154 dataLoad(stream, loaded, ctx);
155 v = static_cast<GapConductance::GAP_GEOMETRY>(loaded);
156}
void dataStore(std::ostream &stream, GapConductance::GAP_GEOMETRY &v, void *ctx)
void dataLoad(std::istream &stream, GapConductance::GAP_GEOMETRY &v, void *ctx)
const double v
Generic gap heat transfer model, with h_gap = h_conduction + h_contact + h_radiation.
static Real gapRect(const Real distance, const Real max_gap)
Compute gap distance for plate geometry.
const NumericVector< Number > *const * _serialized_solution
static void computeGapRadii(const GAP_GEOMETRY gap_geometry_type, const Point &current_point, const Point &p1, const Point &p2, const Real &gap_distance, const Point &current_normal, Real &r1, Real &r2, Real &radius)
Compute current gap radii for surface integration of gas conductance.
static void setGapGeometryParameters(const InputParameters &params, const Moose::CoordinateSystemType coord_sys, unsigned int axisymmetric_radial_coord, GAP_GEOMETRY &gap_geometry_type, Point &p1, Point &p2)
virtual Real h_conduction()
const VariableValue & _temp
MaterialProperty< Real > & _gap_thermal_conductivity
const Real _stefan_boltzmann
virtual void computeQpProperties() override
virtual void computeGapValues()
GAP_GEOMETRY & _gap_geometry_type
const bool _warnings
virtual Real dh_radiation()
const VariableValue & _gap_temp_value
static InputParameters actionParameters()
const Real _min_gap
MaterialProperty< Real > & _gap_conductance
static Real gapSphere(const Real radius, const Real r1, const Real r2, const Real max_denom)
Compute gap distance for sphere geometry.
const Real _emissivity_secondary
static InputParameters validParams()
const VariableValue & _gap_distance_value
static Real gapLength(const GAP_GEOMETRY &gap_geom, const Real radius, const Real r1, const Real r2, const Real max_gap)
virtual void computeQpConductance()
Override this to compute the conductance at _qp.
static Real gapCyl(const Real radius, const Real r1, const Real r2, const Real max_denom)
Compute gap distance for cylinder geometry.
virtual Real h_radiation()
static Real gapAttenuation(Real adjusted_length, Real min_gap, unsigned int min_gap_order)
const Real _emissivity_primary
const unsigned int _min_gap_order
const std::string _appended_property_name
virtual void initialSetup() override
MooseVariable * _temp_var
virtual Real gapK()
MaterialProperty< Real > & _gap_conductance_dT
const Real _gap_conductivity
virtual Real dh_conduction()
const VariableValue *const _gap_conductivity_function_variable
static Real gapLength(const GAP_GEOMETRY &gap_geom, Real radius, Real r1, Real r2, Real min_gap, Real max_gap)
Legacy method that clamps at min_gap.
const Function *const _gap_conductivity_function
const Real _max_gap
PenetrationLocator * _penetration_locator
const InputParameters & parameters() const
VariableValueTempl< false > VariableValue
CoordinateSystemType
const Real radius