Difference between revisions of "Thermal Calculations"

From OSUPDOCS
Jump to navigation Jump to search
Line 74: Line 74:
== Thermal Ramp ==
== Thermal Ramp ==


One way to run simulations with initial thermal stresses is set the temperature to all particles at the start of the calculations to a temperature that differs from the [[Stress Free Temperature]]. Such 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 by using a thermal ramp. In scripted input files, the command is
One way to run simulations with initial thermal stresses is set the temperature to all particles at the start of the calculations to a temperature that differs from the [[Stress Free Temperature]]. Such 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 by using a thermal ramp. In scripted input files, the commands are:


  ThermalRamp #1,<#2>,<#3>
  ThermalRamp (diff),<#2>
RampStart (start time)


In <tt>XML</tt> input files, the command, which must be in the <tt><Thermal></tt> block is
In <tt>XML</tt> input files, the command, which must be in the <tt><Thermal></tt> block is:


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 <code>time</code> attribute allows the simulation to ramp the temperature difference from zero to the difference supplied in the <code>&lt;Isothermal&gt;</code> value of any time span. Enter the total time (in ms) to reach the final temperature difference. The optional <code>start</code> attribute allows the ramp to start at any time (in ms); if not supplied, the ramp will start at time zero.
<Isothermal time="(time)" start="(start time)">(diff)</Isothermal>


where
* <tt>(diff)</tt> is the final temperature difference to apply to all particles in degrees C (or K) after the ramp is completed.</li>
* The optional <tt>(time)</tt> is 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 of a finite time determined by wave speed of the materials in the model.
* The optional <tt>(start time)</tt> is the time (in ms) to start the thermal ramp; the default is to start at time zero.


<p>The <code>ThermalRamp</code> command lets you apply uniform temperature difference to all particles and to ramp up the temperature difference over any time intervel. Its format is:</p>
Thermal ramps can be used for residual stress calculations. Because they create uniform temperature changes they do not lead to any conduction. Thus a ramp can be used without doing conduction calculations or it can be used in combination with conduction calculations and other [[#Thermal Boundary Conditions|thermal boundary conditions]].
<pre>ThermalRamp #1,&lt;#2&gt;,&lt;#3&gt;
</pre>
<p>where</p>
 
<ul>
 
<li>#1 is the temperature difference to apply to all particles in degrees C (or K).</li>
 
<li>#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.</li>
 
<li>#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.
</li>
 
</ul>
 
 
==== Notes ====
 
<ol>
 
<li>You can use the <a href="rampstart.html">RampStart</a> command to set the time that the thermal ramp starts.
</li>
 
<li>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>.</li>
 
<li>The <code>ThermalRamp</code> command is only allowed for <a href="analysis.html">MPM analyses</a>.</li>
 
</ol>


== Thermodynamics Modes in MPM ==
== Thermodynamics Modes in MPM ==

Revision as of 08:10, 10 September 2013

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 [[MPM Input Files#MPM Header}<MPMHeader>]] block is

<StressFreeTemp>(temp)</StressFreeTemp>

where (temp) is the stress free temperature in degrees. The default value is 0. Note that some Material Models and Traction Laws depend on the stress free temperature on an absolute temperature scale and therefore calculations that use those models should always set this temperature in degree Kelvin.

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.

Scripted Input Commands

In scripted input files, the command is
Conduction (isOn),<(option1)>,<(option2)>...

where

  • (isOn) is "Yes" or "No" to include or to not include thermal conductivity calculations in the MPM analysis.

The optional parameters (option1), (option2), etc. can activate various physical mechanisms as heat sources that may cause temperature rises and may change the thermodynamics of the analysis. The options are

  • Adiabatic (used to be 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 crack thickness to define its thickness. This option has no affect unless (isOn) is "Yes." (i.e., the temperature rises results from a heat source term in the conduction equations).

Note that Adiabatic and Isothermal are complementary options, which means only one should be used. If both are omitted, the default setting is Isothermal.

XML Input Commands

In XML input files, conduction is activated with a <Thermal> block:

<Thermal>
  <Conduction/>
  <EnergyCoupling/>
  <CrackTipHeating/>
  <Isothermal time="5" start="2">-200</Isothermal>
</Thermal>

where

<Conduction>
This tag specifies activates condition calculations. Its omission turns conduction off. When diffusion is activated, you can set <a href="definematl.html">material conductivity, heat
<EnergyCoupling/>
The presence of this tag is equivalent to the Adiabatic option while its omission is equivalent to the Isothermal option (see above).
<CrackTipHeating/>
The presence of this tag is equivalent to the Crack Tips option (see above).
<Isothermal>
This command must be in the Thermal section, but it is not related to conduction; it sets up a Thermal Ramp (see next section).

Thermal Ramp

One way to run simulations with initial thermal stresses is set the temperature to all particles at the start of the calculations to a temperature that differs from the Stress Free Temperature. Such 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 by using a thermal ramp. In scripted input files, the commands are:

ThermalRamp (diff),<#2>
RampStart (start time)

In XML input files, the command, which must be in the <Thermal> block is:

<Isothermal time="(time)" start="(start time)">(diff)</Isothermal>

where

  • (diff) is the final temperature difference to apply to all particles in degrees C (or K) after the ramp is completed.
  • The optional (time) is 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 of a finite time determined by wave speed of the materials in the model.
  • The optional (start time) is the time (in ms) to start the thermal ramp; the default is to start at time zero.

Thermal ramps can be used for residual stress calculations. Because they create uniform temperature changes they do not lead to any conduction. Thus a ramp can be used without doing conduction calculations or it can be used in combination with conduction calculations and other thermal boundary conditions.

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.

AdiabaticIsothermal
SystemConductiondqdSdQdT dqdSdQdT
IsolatedNo 0100≠0 ≠0≠0≠00
IsolatedYes ≠010≥0≠0 ≠03≠03 ≠0303
NonisolatedNo ≠0≠0 ≠0≠04 ≠0≠0 ≠0≠04
NonisolatedYes
  1. 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.
  2. The dq will be due to conduction only and entropy will increase because conduction is irreversible.
  3. 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.
  4. 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.