Thermal Calculations
Thermal calculations include stress and strains induced by temperature differential and conduction induced by thermal gradients and boundary conditions.
Introduction
OSParticulas and NairnMPM can do coupled elasticity-thermal conductivity calculations, provide thermal boundary conditions, convert various material processes into heat, and/or or can apply a constant temperature difference to all particles. In the presence of these temperature changes and heat input or output, the calculations will find thermal stresses and tracks heat flow for valid thermodynamics or, when needed, for tracking thermodynamic quantities. This section is for MPM only; see a separate thermal sections when doing FEA calculations with NairnFEA.
Stress Free Temperature
Thermal strains and stresses are always calculated relative to the stress free temperature, which is set in the StressFreeTemp command. In scripted input files, the command is:
StressFreeTemp (temp)
In XML input files, the command, which must be in the <MPMHeader> block is
<StressFreeTemp>(temp)</StressFreeTemp>
where (temp) is the stress free temperature in degrees Kelvin. The default value is 0.
<a href="mpmheader.html#stressfreetemp">MPM header block</a> (it is set to zero by default, but some materials need it to be set to actual, absolute temperature).
Conduction
The Conduction command activates thermal conductivity calculations and also activates various optionals involving heat flow in the simulations or other mechanisms that cause temperature changes. These settings can change and select the thermodynamics mode of the simulation. In scripted files, the command is
Conduction #1,<#2>,<#3>,...
where
- #1 is "Yes" or "No" to include or to not include thermal conductivity calculations in the MPM analysis.
The optional parameters #2 etc. can activate various physical mechanisms as heat sources that may cause temperature rises and may change the <a href="#thermo">thermodynamics</a> of the analysis. The options are
"Adiabatic"
(used to"Mechanical energy"
, which is still allowed) to be locally adiabatic, which means any dissipated energy in a material results in a heat source that causes a temperature rise. This option can be used with conduction on or off. If conduction is off, the particle temperature will rise and will remain on the particle. When conduction is on, the heat may transfer to neighboring particles meaning with time, the particle will not be locally adiabatic. The entire problem, however, will be globally adiabatic unless there are thermal boundary conditions."Isothermal"
to be locally isothermal, which means the material response will never cause a temperature rise. Implicitly all dissipated energy is expelled to the exterior. The problem will be globally isothermal unless there are thermal boundary conditions."Crack tips"
to have cracks convert total energy released into heat at the crack tips. For crack-tip heating to work correctly, you have to set the <a href="crackthickness.html">crack thickness</a> to define its thickness. This option has no affect unless #1 is "Yes." (i.e., the temperature rises results for heat source term in the conduction equations).
In XML input files, conduction is activated in a <Thermal> block:
<Thermal> <Conduction/> <CrackTipHeating/> <EnergyCoupling/> <Isothermal time="5" start="2">-200</Isothermal> </Thermal>
where
- <Conduction/>
- This tag specifies that the calculation should do coupled thermal conduction analysis. When diffusion is activated, you can set <a href="definematl.html">material conductivity, heat capacity, and thermal expansion constants</a>, initial <a href="definempm.html#sec2">particle temperatures</a>, and impose <a href="dispbc.html#temp">temperature</a> or <a href="mpmloads.html#hflux">heat flux</a> boundary conditions.
- <CrackTipHeating/>
- This tag will cause energy released by crack growth to be released as a heat source into a conduction analysis. This command has no affect unless the
<Conduction/>
tag is present which means the analysis will be doing coupled thermal conduction calculations. When using this command, you must be sure to s<a href="cracks.html">et the crack thickness</a> to the appropriate value. Currently 100% of the fracture energy is converted to heat (there may be an option in the future to control the fraction of energy released as heat). - <EnergyCoupling/>
- This tag will cause energy dissipated by a <a href="definematl.html">material's</a> constitutive low to be converted to a heat source that will increase temperature. In other words, the particles will be locally adiabatic. This option can be used with or without conduction. When there is no conduction, all temperature rise will remain on the particle.
If this option is omitted, the simulation will be locally isothermal, which means the material response will not cause any change in temperature. Implicitly all heat is expelled from the body. The changes in heat energy depend on the type of material. Refer to each <a href="definematl.html">material</a> for more details. - <Isothermal>
- See Isothermal Ramp.
Thermal Ramp
This tag specifies the constant temperature difference to apply to each particle. It is expressed as the difference between the stress free temperature and the isothermal temperature in degrees Celsius. The optional time
attribute allows the simulation to ramp the temperature difference from zero to the difference supplied in the <Isothermal>
value of any time span. Enter the total time (in ms) to reach the final temperature difference. The optional start
attribute allows the ramp to start at any time (in ms); if not supplied, the ramp will start at time zero.
Note that rather than ramping up an isothermal temperature change, it is also possible to instantaneous supply a temperature to all particles at the start of the calculations. An instantaneous temperature can be applied either by using an Isothermal
command with the ramp time less than zero (or omitted) or by specifying particle temperature with a temp
attribute when <a href="definempm.html">creating material points</a>. An instantaneous temperature change is analogous to impact loading and may cause stress and strain oscillations. It is usually better to ramp up particle temperature difference.
The ThermalRamp
command lets you apply uniform temperature difference to all particles and to ramp up the temperature difference over any time intervel. Its format is:
ThermalRamp #1,<#2>,<#3>
where
- #1 is the temperature difference to apply to all particles in degrees C (or K).
- #2 allows the simulation to ramp the temperature difference from zero to the difference supplied in #1. Enter the total time (in ms) to reach the final temperature difference. Enter a time less than zero to apply the entire temperature difference on the first time step. The default is less than zero or to ramp in one step. It is usually better to ramp the temperature difference.
- #3 allows you to specify a stress free or reference temperature. This parameter can alternatively be specified in a separate <a href="stressfreetemp.html">StressFreeTemp Command</a>. The default value is 0.
Notes
- You can use the <a href="rampstart.html">RampStart</a> command to set the time that the thermal ramp starts.
- Thermal ramps can be used for residual stress calculations. Because they create uniform temperature they do not lead to any <a href="conduction.html">conduction</a>. Thus a ramp can be used without doing conduction calculations or it can be used in combination with conduction calculations and other <a href="temperature.html">temperature boundary conditions</a>.
- The
ThermalRamp
command is only allowed for <a href="analysis.html">MPM analyses</a>.
Thermodynamics Modes in MPM
By using settings in the <Thermal> section along with optional <a href="dispbc.html#temp">thermal boundary conditions</a>, NairnMPM can do calculations involving heat. In such calculations, it is important to be aware of the thermodynamics of the deformation. The following grid explains the various NairnMPM modes involving heat and describes the behavior of some thermodynamics quantities. In the table dq is cumulative heat flow on a single particle, dQ is heat flow for all particles, dS is total entropy change, and dT is change in average temperature. An "Isolated" system means there are no boundary conditions that can heat or change temperature of particles; a "Nonisolated" has thermal boundary conditions. The "Adiabatic" column is when <EnergyCoupling/>
is used; the "Isothermal" is when it is not used.
Adiabatic | Isothermal | ||||||||
---|---|---|---|---|---|---|---|---|---|
System | Conduction | dq | dS | dQ | dT | dq | dS | dQ | dT |
Isolated | No | 01 | 0 | 0 | ≠0 | ≠0 | ≠0 | ≠0 | 0 |
Isolated | Yes | ≠01 | 0 | ≥0 | ≠0 | ≠03 | ≠03 | ≠03 | 03 |
Nonisolated | No | ≠0 | ≠0 | ≠0 | ≠04 | ≠0 | ≠0 | ≠0 | ≠04 |
Nonisolated | Yes |
- If any particles start with a temperature that is different then the stress free temperature, the first time step will add dq = CV (dTi −dTi) to the particle heat energy. The above conditions will hold thereafter, but a constant will be added to dS and dQ.
- The dq will be due to conduction only and entropy will increase because conduction is irreversible.
- This mode is identical to system isolated with no conduction if the initial temperature of all particles is equal to the stress-free temperature. Thus, such a simulation should turn off conduction for efficiency because it is not needed.
- When conduction is "No", the only possible thermal boundary condition is a thermal ramp that applies uniform temperature change to all particles. If there is no thermal ramp, then the system is isolated and refer to first mode instead.