Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:boundaries:flux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:elements:boundaries:flux [2024/12/06 16:52] – [Heat Source/Flux] vanhulledoc:user:elements:boundaries:flux [2024/12/09 11:40] (current) – [Tm[2]ConvectionHeatFlux[2|3]DElement] vanhulle
Line 4: Line 4:
 ''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''. ''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''.
  
- {{:doc:user:elements:boundaries:heat_localcoord.png?400|}}+{{ doc:user:elements:boundaries:heat_localcoord.png?400 |Coordonnées locales du la source de chaleur}}
  
 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). 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).
Line 34: Line 34:
 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. 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 Heat Flux Distribution (=default) ==+== Constant Distribution (=default) ==
 Heat flux at each Gauss point is equal to ''HEATEL_VALUE'' [W/m$^2$]. Heat flux at each Gauss point is equal to ''HEATEL_VALUE'' [W/m$^2$].
   prp.put(HEATEL_TYPE, HEATEL_CONSTANT)   prp.put(HEATEL_TYPE, HEATEL_CONSTANT)
  
-== Rectangular Heat Flux Distribution ==+== Rectangular Distribution ==
 Heat flux at each Gauss point is equal to a uniform distribution of the total heat $Q_{src}$ within a rectangular surface centered on the local heat flux coordinates Heat flux at each Gauss point is equal to a uniform distribution of the total heat $Q_{src}$ within a rectangular surface centered on the local heat flux coordinates
 $$ $$
Line 46: Line 46:
   prp.put(HEATEL_TYPE, HEATEL_RECTANGULAR)   prp.put(HEATEL_TYPE, HEATEL_RECTANGULAR)
  
-== Ellipsoid Heat Flux Distribution ==+== Ellipsoid Distribution ==
 Heat flux at each Gauss point is equal to an ellipsoid Gaussian distribution function of the total heat $Q_{src}$ centered on the local heat flux coordinates [Goldak //et. al.// 1986] Heat flux at each Gauss point is equal to an ellipsoid Gaussian distribution function of the total heat $Q_{src}$ centered on the local heat flux coordinates [Goldak //et. al.// 1986]
 $$ $$
Line 54: Line 54:
   prp.put(HEATEL_TYPE, HEATEL_ELLIPSOID)   prp.put(HEATEL_TYPE, HEATEL_ELLIPSOID)
  
-== Double Ellipsoid Heat Flux Distribution ==+== 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] 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]
 $$ $$
Line 82: Line 82:
 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. 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) ==+== Constant Distribution (=default) ==
 Heat source at each Gauss point is equal to ''HEATEL_VALUE'' [W/m$^3$]. Heat source at each Gauss point is equal to ''HEATEL_VALUE'' [W/m$^3$].
   prp.put(HEATEL_TYPE, HEATEL_CONSTANT)   prp.put(HEATEL_TYPE, HEATEL_CONSTANT)
  
-== Rectangular Heat Flux Distribution ==+== Rectangular Distribution ==
 Heat source at each Gauss point is equal to a uniform distribution of the total heat $Q_{src}$ within a box volume centered on the local heat flux coordinates Heat source at each Gauss point is equal to a uniform distribution of the total heat $Q_{src}$ within a box volume centered on the local heat flux coordinates
 $$ $$
Line 94: Line 94:
   prp.put(HEATEL_TYPE, HEATEL_RECTANGULAR)   prp.put(HEATEL_TYPE, HEATEL_RECTANGULAR)
  
-== Ellipsoid Heat Flux Distribution ==+== Ellipsoid Distribution ==
 Heat source at each Gauss point is equal to an ellipsoid Gaussian distribution function of the total heat $Q_{src}$ centered on the local heat flux coordinates [Goldak //et. al.// 1986] Heat source at each Gauss point is equal to an ellipsoid Gaussian distribution function of the total heat $Q_{src}$ centered on the local heat flux coordinates [Goldak //et. al.// 1986]
 $$ $$
Line 102: Line 102:
   prp.put(HEATEL_TYPE, HEATEL_ELLIPSOID)   prp.put(HEATEL_TYPE, HEATEL_ELLIPSOID)
  
-== Double Ellipsoid Heat Flux Distribution ==+== 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] 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]
 $$ $$
Line 126: Line 126:
  
 ==== Tm[2]ConvectionHeatFlux[2|3]DElement ==== ==== Tm[2]ConvectionHeatFlux[2|3]DElement ====
-<note important> Only for Metafor version > 3544 </note>+<note important> **Metafor version >= 3545** </note>
 === Description === === 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).+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 particularly suited to model moving hot gas torches.
  
-<note>TODO Ajouter équations de flux </note>+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')~(T_s - T_f), 
 +$$ 
 +with the surface temperature $T_s$ and fluid temperature $T_f$ (''TEMP_FLUIDE''). The convection coefficient $h$ is a space-dependent quantity (in the local coordinates) which writes 
 +$$ 
 +h(x',y')=A~\mathcal{f}(x',y'), 
 +$$ 
 +where $A$ is the amplitude of the convection coefficient (''CONV_COEF'') and $\mathcal{f}\in [0,~1]$ is a spatial distribution function which can be selected using the ''HEATEL_TYPE'' parameter. 
 + 
 +== Rectangular Distribution == 
 +Convection coefficient is equal to a constant value within a rectangular surface centered in the local coordinates axes and 0 outside the surface 
 +$$ 
 +h(x',y') =\begin{cases} 
 + A~~\text{if}~~~ x'\in [-k_x,~k_x] ~~ \text{and} ~~ y'\in [-k_y,~k_y],\\ 
 + 0~~~\text{else}. 
 +\end{cases} 
 +$$ 
 +where $k_x$ and $k_y$ are the half lengths of the rectangle in the $x'$ and $y'$ directions respectively.  
 +   prp.put(HEATEL_TYPE, CONVHEATEL_RECTANGULAR) 
 + 
 +== Gaussian Distribution == 
 +Convection coefficient is distributed with a Gaussian distribution as defined by [Zacherl //et. al.// 2023] centered on the local coordinates  
 +$$ 
 +h(x',y') = A~e^{(-\left[ \frac{x'}{k_x} \right]^2 -\left[ \frac{y'}{k_y} \right]^2)}, 
 +$$ 
 +where $k_x$ and $k_y$ are concentration coefficients which define the slope of the curve in the $x'$ and $y'$ directions respectively. 
 +   prp.put(HEATEL_TYPE, CONVHEATEL_GAUSSIAN) 
 + 
 +== Modified Log-Normal  Distribution == 
 +Convection coefficient is distributed with a modified log-normal distribution as defined by [Zacherl //et. al.// 2023] centered on the local coordinates  
 +$$ 
 +h(x',y') = A~e^{(-[\text{ln}\left( \frac{|x'|}{k_x}+1 \right)]^2 -[\text{ln}\left( \frac{|y'|}{k_y}+1 \right)]^2)}, 
 +$$ 
 +where $k_x$ and $k_y$ are concentration coefficients which define the slope of the curve in the $x'$ and $y'$ directions respectively. 
 +   prp.put(HEATEL_TYPE, CONVHEATEL_LOGNORM) 
 + 
 +== Combined Distribution == 
 +Allows to choose between a Gaussian or log-normal distribution in the front ($x' \geq 0$), rear ($x'<0$) and $y'$ directions. Convection coefficient is distributed as 
 +$$ 
 +h(x',y') =\begin{cases} 
 + A~\mathcal{f}_{xf}(x',k_x)~\mathcal{f}_{y}(y',k_y) ~~~~~ x' \geq 0\\ 
 + A~\mathcal{f}_{xr}(x',k_{xr})~\mathcal{f}_{y}(y',k_y) ~~~~ x' < 0. 
 +\end{cases} 
 +$$ 
 +where distribution function $\mathcal{f}$ is either a Gaussian distribution (''CONVHEATEL_GAUSSIAN''
 +$$ 
 +\mathcal{f_i} = e^{-\left[ \frac{i}{k_i} \right]^2}, 
 +$$ 
 +or a modified log-normal distribution (''CONVHEATEL_LOGNORM''
 +$$ 
 +\mathcal{f_i} = e^{-[\text{ln}\left( \frac{|i|}{k_i}+1 \right)]^2}. 
 +$$ 
 +Difference between these 2 distribution types is highlighted below for $k_i=1$. 
 + 
 +{{ doc:user:elements:boundaries:heat_GaussLogNorm.png?400 |Distribution Gaussienne v.s. Log-Normale avec k=1}} 
 + 
 +__Example:__ \\ 
 +Modelling of an inclined hot gas torch in Automated Fiber Placement process (AFP). 
 +Convection heat flux element is modelled using a modified log-normal distribution at the rear and Gaussian distributions at the front and along $y'$. 
 +    # convection heat source (LogNorm - Gauss - Gauss) 
 +    prpHeat = ElementProperties(TmConvectionHeatFlux3DElement) 
 +    prpHeat.put(        HEATEL_TYPE,  CONVHEATEL_COMBINE) 
 +    prpHeat.put(        TEMP_FLUIDE,          p['T_HGT']) 
 +    prpHeat.put(          CONV_COEF,          p['HGT_A']) 
 +    prpHeat.put( CONVHEATEL_TYPE_XF,  CONVHEATEL_LOGNORM) #front 
 +    prpHeat.put(      CONVHEATEL_KX,         p['HGT_kf']) 
 +    prpHeat.put( CONVHEATEL_TYPE_XR, CONVHEATEL_GAUSSIAN) #rear 
 +    prpHeat.put(     CONVHEATEL_KXR,         p['HGT_kr']) 
 +    prpHeat.put(  CONVHEATEL_TYPE_Y, CONVHEATEL_GAUSSIAN) #y 
 +    prpHeat.put(      CONVHEATEL_KY,         p['HGT_ky'])
  
 === Parameters === === Parameters ===
Line 142: Line 212:
 | Amplitude of the convection coefficient $A$                              ''CONV_COEF''  |    ''TO/TM''        | | Amplitude of the convection coefficient $A$                              ''CONV_COEF''  |    ''TO/TM''        |
 | Concentration factor ($k_x$)                    |   ''CONVHEATEL_KX''              | | Concentration factor ($k_x$)                    |   ''CONVHEATEL_KX''              |
-Semi-axis Length ($k_y$)                       ''CONVHEATEL_KY''        -       | +Concentration factor ($k_y$)                       ''CONVHEATEL_KY''        -       | 
-Semi-axis Length ($k_{xr}$)                     ''CONVHEATEL_KXR''              |+Concentration factor ($k_{xr}$)                     ''CONVHEATEL_KXR''              |
 | Number of integration points                  |   ''NIP''        -       | | Number of integration points                  |   ''NIP''        -       |
 | Material Stiffness  \\ (STIFF_ANALYTIC - STIFF_NUMERIC) \\ only if element Stiffness == STIFF_ANALYTIC | ''MATERIALSTIFFMETHOD''  |      -       | | Material Stiffness  \\ (STIFF_ANALYTIC - STIFF_NUMERIC) \\ only if element Stiffness == STIFF_ANALYTIC | ''MATERIALSTIFFMETHOD''  |      -       |
doc/user/elements/boundaries/flux.1733500348.txt.gz · Last modified: 2024/12/06 16:52 by vanhulle

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki