This is an old revision of the document!
−Table of Contents
Heat Source/Flux
Heat source elements and heat flux boundary elements can be applied using special finite elements. As any finite element, their definition require an ElementProperty
object and an Interaction
(HeatInteraction
) object. There are no Material
objects associated to these elements.
ElementProperty
contains the type of element and all necessary information to compute the value of the heat flux/source at each Gauss point with a spatial distribution function. This spatial heat distribution function is expressed in a set of local coordinates {x′, y′, z′}, which is handled by the HeatInteraction
.
Using this set of local coordinates allows to easily define a moving/rotating heat source/flux, which is particularly useful for some applications (e.g. additive manufacturing).
Materials
Since flux interactions are boundary conditions interactions, no materials must be associated to the element.
Element
Therefore, the first step consist in defining an ElementProperties
, as
prp = ElementProperties(typeEl) prp.put(param1, value1) prp.depend(param1, fct1, Lock1)) #optional ...
where
typeEl | desired element (for example Tm[2]HeatFlux[2|3]DElement ) |
param1 | name of the property associated to the element (for example HEATEL_VALUE ) |
value1 | value of the corresponding property |
fct1 | function which characterizes the dependency of the property (optional: no fct if no dependency) |
Lock1 | Lock which defines the dependency variable of the property (compulsory if there is a dependency) |
Tm[2]HeatFlux[2|3]DElement
Description
Thermal heat flux element in 2/3D, first or second order (thermal field of second order), that can be created on “boundary” geometries (i.e. curves in 2D and sides in 3D).
There are currently 4 different heat flux distributions types that are implemented for this element. These can be selected by using the HEATEL_TYPE
parameter when defining the element properties.
Constant Distribution (=default)
Heat flux at each Gauss point is equal to HEATEL_VALUE
[W/m2].
prp.put(HEATEL_TYPE, HEATEL_CONSTANT)
Rectangular Distribution
Heat flux at each Gauss point is equal to a uniform distribution of the total heat Qsrc within a rectangular surface centered on the local heat flux coordinates q=Qsrc4ab if x′∈[−a, a], y′∈[−b, b], where a and b are the half lengths of the rectangle in the x′ and y′ local coordinate directions respectively.
prp.put(HEATEL_TYPE, HEATEL_RECTANGULAR)
Ellipsoid Distribution
Heat flux at each Gauss point is equal to an ellipsoid Gaussian distribution function of the total heat Qsrc centered on the local heat flux coordinates [Goldak et. al. 1986] q=Qsrc6√3abπ32 e−3(x′a)2 e−3(y′b)2 where a and b are the semi-axes lengths of the ellipsoid in the x′ and y′ directions respectively.
prp.put(HEATEL_TYPE, HEATEL_ELLIPSOID)
Double Ellipsoid Distribution
Modification of the ellipsoid Gaussian distribution function to account for a different distribution at the front (x′>=0) and at the rear (x′<0) of the heat flux [Goldak et. al. 1986] qf=fQsrc6√3abπ32 e−3(x′a)2 e−3(y′b)2, x′>=0 qr=(1−f)Qsrc6√3arbπ32 e−3(x′ar)2 e−3(y′b)2,x′<0 where a and ar are the front and rear semi-axes lengths in the x′ directions, b is the semi-axis length in the y′ direction, and f=baa+ar is the balancing factor.
prp.put(HEATEL_TYPE, HEATEL_DOUBLE_ELLIPSOID)
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Type of surface distribution | HEATEL_TYPE | - |
Total applied heat Qsrc[W] (heat per area for HEATEL_CONSTANT ) | HEATEL_VALUE | TO/TM |
Semi-axis Length (a) | HEATEL_A | - |
Semi-axis Length (b) | HEATEL_B | - |
Semi-axis Length (ar) | HEATEL_AR | - |
Number of integration points | NIP | - |
Material Stiffness (STIFF_ANALYTIC - STIFF_NUMERIC) only if element Stiffness == STIFF_ANALYTIC | MATERIALSTIFFMETHOD | - |
Tm[2]HeatSource[2|3]DElement
Description
Thermal heat source element in 2/3D, first or second order (thermal field of second order), that can be created on “volume” geometries (i.e. sides in 2D and volumes in 3D).
There are currently 4 different types of heat source distributions that are implemented for this element. These can be selected by using the HEATEL_TYPE
parameter when defining the element properties.
Constant Heat Source Distribution (=default)
Heat source at each Gauss point is equal to HEATEL_VALUE
[W/m3].
prp.put(HEATEL_TYPE, HEATEL_CONSTANT)
Rectangular Distribution
Heat source at each Gauss point is equal to a uniform distribution of the total heat Qsrc within a box volume centered on the local heat flux coordinates q=Qsrc8abc if x′∈[−a, a], y′∈[−b, b], z′∈[−c, c], where a, b and c are the half lengths of the rectangle in the x′, y′ and z′ local coordinate directions respectively.
prp.put(HEATEL_TYPE, HEATEL_RECTANGULAR)
Ellipsoid Distribution
Heat source at each Gauss point is equal to an ellipsoid Gaussian distribution function of the total heat Qsrc centered on the local heat flux coordinates [Goldak et. al. 1986] q=Qsrc12√3abcπ32 e−3(x′a)2 e−3(y′b)2 e−3(z′c)2 where a, b and c are the semi-axes lengths of the ellipsoid in the x′, y′ and z′ directions respectively.
prp.put(HEATEL_TYPE, HEATEL_ELLIPSOID)
Double Ellipsoid Distribution
Modification of the ellipsoid Gaussian distribution function to account for a different distribution at the front (x′>=0) and at the rear (x′<0) of the heat flux [Goldak et. al. 1986] qf=fQsrc12√3abπ32 e−3(x′a)2 e−3(y′b)2 e−3(z′c)2, x′>=0 qr=(1−f)Qsrc12√3arbπ32 e−3(x′ar)2 e−3(y′b)2 e−3(z′c)2,x′<0 where a and ar are the front and rear semi-axes lengths in the x′ directions, b and c are the semi-axes lengths in the y′ and z′ direction, and f=baa+ar is the balancing factor.
prp.put(HEATEL_TYPE, HEATEL_DOUBLE_ELLIPSOID)
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Type of volume distribution | HEATEL_TYPE | - |
Total applied heat Qsrc[W] (heat per volume q[W/m3] for HEATEL_CONSTANT ) | HEATEL_VALUE | TO/TM |
Semi-axis Length (a) | HEATEL_A | - |
Semi-axis Length (b) | HEATEL_B | - |
Semi-axis Length (c) | HEATEL_C | - |
Semi-axis Length (ar) | HEATEL_AR | - |
Number of integration points | NIP | - |
Material Stiffness (STIFF_ANALYTIC - STIFF_NUMERIC) only if element Stiffness == STIFF_ANALYTIC | MATERIALSTIFFMETHOD | - |
Tm[2]ConvectionHeatFlux[2|3]DElement
Description
Thermal convection heat flux element in 2/3D, first or second order (thermal field of second order), that can be created on “boundary” geometries (i.e. curves in 2D and sides in 3D).
These elements are similar to Tm[2]HeatFlux[2|3]DElement
except that heat flux is computed as a convection boundary
q=h(x′,y′)∗(Ts−Tf),
with the surface temperature Ts and fluid temperature Tf (TEMP_FLUIDE
). The convection coefficient h is a space-dependent quantity (in the local coordinates) which writes
h(x′,y′)=A∗f(x′,y′),
where A is the amplitude of the convection coefficient (CONV_COEF
) and f∈[0, 1] is a spatial distribution function which can be selected using the HEATEL_TYPE
parameter.
Rectangular Distribution
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Type of surface distribution | HEATEL_TYPE | - |
Distribution along x′>=0 (only for HEATEL_TYPE = CONVHEATEL_COMBINE ) | CONVHEATEL_TYPE_XF | - |
Distribution along x′<0 (only for HEATEL_TYPE = CONVHEATEL_COMBINE ) | CONVHEATEL_TYPE_XR | - |
Distribution along y′ (only for HEATEL_TYPE = CONVHEATEL_COMBINE ) | CONVHEATEL_TYPE_Y | - |
Fluid temperature Tf | TEMP_FLUIDE | TO/TM |
Amplitude of the convection coefficient A | CONV_COEF | TO/TM |
Concentration factor (kx) | CONVHEATEL_KX | - |
Concentration factor (ky) | CONVHEATEL_KY | - |
Concentration factor (kxr) | CONVHEATEL_KXR | - |
Number of integration points | NIP | - |
Material Stiffness (STIFF_ANALYTIC - STIFF_NUMERIC) only if element Stiffness == STIFF_ANALYTIC | MATERIALSTIFFMETHOD | - |
Interaction
The interaction is defined as:
load = HeatInteraction(no) load.push(gObject1) load.push(gObject2) ... load.setAxes(Ox, Oz) load.useRescale(bool) load.addProperty(prp) interactionset.add(load)
where
no | number of the Interaction |
gObject1 , gObject2 | mesh geometric entity where the boundary conditions are applied |
prp | Properties of boundary condition elements to generate |
Ox , Oz | Curve entities that define the local coordinates x′ and z′ for the heat distribution function (not necessary for HEATEL_CONSTANT )Prescribed Displacements and/or Prescribed Rotations can be applied on these curves to obtain a moving heat source |
useRescale(bool) | Rescaling of the heat flux = False (default): do nothing = True: allows the rescaling of all heat source at each beginning of time-step to obtain the exact value of total applied HEATEL_VALUE HEATEL_CONSTANT and Tm[2]ConvectionHeatFlux[2|3]DElement |