Difference between revisions of "Thermal Calculations"
Line 149: | Line 149: | ||
The possible thermal boundary conditions are: | The possible thermal boundary conditions are: | ||
* You can set [[Setting Velocity, Temperature, and Concentration#Temperature Conditions | * You can set [[Setting Velocity, Temperature, and Concentration#Temperature Conditions|temperature on the grid]]. | ||
* [[Rigid Material | * [[Rigid Material|Rigid particles]] can provide moving temperature boundary conditions | ||
* You can set a heat flux on particle surfaces | * You can set a heat flux on particle surfaces | ||
* A thermal ramp and ramp of the temperature of all particles | * A thermal ramp and ramp of the temperature of all particles |
Revision as of 16:20, 30 December 2013
Thermal calculations in MPM include stresses and strains induced by temperature differentials and conduction induced by thermal gradients and boundary conditions.
Introduction
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 separate help on thermal calculations 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. 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 degrees 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 "Yes" 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).
- "Friction" to convert work of frictional sliding between materials in multimaterial mode into heat.
- "Crack Friction" to convert work of frictional sliding between crack surfaces into heat.
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/> <CrackContactHeating/> <ContactHeating/> <Isothermal time="5" start="2">-200</Isothermal> </Thermal>
where
- <Conduction>
- This tag activates condition calculations. Its omission turns conduction off. When conducton is activated, you should set all needed thermal material properties.
- <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).
- <CrackContactHeating/>
- The presence of this tag is equivalent to the "Crack Friction" option (see above).
- <ContactHeating/>
- The presence of this tag is equivalent to the "Friction" option (see above).
- <Isothermal>
- This command 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. To avoid these dynamic effects, it is better to ramp up particle temperature difference by using a thermal ramp. In scripted input files, the commands are:
ThermalRamp (diff),<(time)> 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 to ramp in one step. It is usually better to ramp the temperature difference over 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 for conduction calculations along with optional thermal boundary conditions, NairnMPM can simulate various thermodynamics conditions, and it important to be aware of the thermodynamics that is being models. The two particle modes are "Adiabatic" and "Isothermal" (set using a conduction option). These modes control how each particle handles localized energy flow. The full thermodynamics, however, also depends on interactions between particles and with the exterior. These options are:
- Conduction: when conduction is one, heat can flow between particles; when it is off no heat flows between particles.
- Thermal Boundary Conditions: an "Isolated" system means there are no thermal boundary conditions that can heat or change temperature of particles; a "Nonisolated" system has thermal boundary conditions
The following grid explains all combinations of these settings 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.
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 | ≥02 | ≠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.
Thermal Boundary Conditions
The possible thermal boundary conditions are:
- You can set temperature on the grid.
- Rigid particles can provide moving temperature boundary conditions
- You can set a heat flux on particle surfaces
- A thermal ramp and ramp of the temperature of all particles
Thermal Material Properties
The results of thermal calculations will depend on the thermal properties of the materials in the model, which should all be set when doing such calculations. The relevant thermal properties are thermal expansion coefficients, thermal conductivity, and heat capacity. See the material definitions for how to set these properties. A few material models and hardening laws also depend on thermal transitions, such as a melting point, and on the stress free temperature.