thermal_system¶
- thermal_system … end_thermal_system¶
thermal system simple debug ... <Detailed Thermal System Commands> component_type ... latent_heat ... phase_change ... specific_heat_capacity ... specific_heat_capacity_high_temp ... end_component_type initial_temperature ... heat_sink ... <Simple Thermal System Commands> heating_time ... recharge_rate ... end_thermal_system
Overview¶
The thermal_system model allows one to specify a simple thermal system with a dynamic heat transfer. The system is modeled such that all components are at the same temperature. One can model either an entire heat-exchange system by defining various components with specified thermal properties, or one can define a “simple” thermal system with the recharge_rate and heating_time inputs.
Commands¶
- debug <boolean-value>¶
Specify whether debug messages are written to std::out.
Detailed Thermal System Commands¶
Component Type Commands¶
Note
Currently heat-related units are not defined in WSF, so these inputs are specified as numbers without units. These must be in standard “mks” format (joules, kg, and degrees K).
- component_type <string-value>¶
Specify the name of the component (e.g., Tugsten, Lead, etc.) The types for “water” and “aluminum” are pre-defined and do not need to be specified in component_type blocks; all others require this specification.
- latent_heat <real-value>¶
For a thermal component, provide the specific latent heat for the component, in J/kg (do not specify the units), that the component must absorb or release in its phase change.
- phase_change <temperature-value>¶
For a thermal component, specify the temperature at which the phase change (e.g., solid->liquid) occurs.
- specific_heat_capacity <real-value>¶
For a thermal component, provide the specific heat capacity for the component, in J/kg/degree Kelvin (do not specify the units). This is the heat capacity at temperatures below the enthalpy / state change.
- specific_heat_capacity_high_temp <real-value>¶
For a thermal component, provide the specific heat capacity for the component, in J/kg/degree Kelvin (do not specify the units). This is the heat capacity at temperatures above the enthalpy / state change.
- component <string-value> <mass-value>¶
Specify the name of the component, using existing types as defined in a component_type block, and the mass of the component. Provide one input for each type of material. One can also use the pre-existing types of “water” and “aluminum.”
Note
Water is defined to have a specific heat capacity, as ice, of 2050 J/kg/C, a specific heat capacity, as water, of 4181 J/kg/C, a latent heat of 333550 J/kg, and a phase change temperature of 273.15 K. Aluminum has a specific heat capacity of 897 J/kg/C. Aluminum is assumed always solid.
- heat_sink <power-value>¶
This is the power taken out of the system for cooling. You must specify a value in order for cooling to occur.
- initial_temperature <temperature-value>¶
The initial temperature of the system before any heat transfer occurs.
Default (the target_temperature value)
- target_temperature <temperature-value>¶
The target temperature for cooling; the temperature will not go below this value.
Example::
// Thermal system definition
thermal_system
// Any new types defined in a component_type block.
// The specific heat capacity must be specified.
component_type antifreeze
specific_heat_capacity 1000 //J/kg/degree(K)
specific_heat_capacity_high_temp 2000
enthalpy 300000 //J/kg
phase_change_ -20 C
end_component_type
// Define components using existing types ("water" and "aluminum")
// are the only pre-defined types.
component antifreeze 40 lb
component aluminum 200 lb
initial_temperature -21 C
// The target temperature is the goal temperature for cooling.
// The temperature will not go below this value.
target_temperature -21 C
// This is the power taken out of the system for cooling.
// You must specify a value in order for cooling to occur.
heat_sink 10000 W
end_thermal_system
Simple Thermal System Commands¶
When detailed specification of a thermal system is unavailable, use of the simple thermal system provides the concept of an initial total heating time and a recharge rate for cooling (if heat is no longer applied to the system, the total heating time is regained in time heating_time / recharge_rate).
- heating_time <time-value>¶
This is the total time available for applying heat to the thermal system. In a high-energy laser this is the same as the total firing time available.
- recharge_rate <real-value>¶
This is the rate at which the system cools, once heat is removed from the system. It is a unitless value (seconds of firing time regained per second of simulation time).
Example::
// Thermal system definition
thermal_system
// Using the "simple" thermal system.
simple // Use simple thermal system.
heating_time 60.0 s // same as total firing time
recharge_rate 0.5 // sec of firing time regained per second of clock time (dimensionless).
//debug enabled
end_thermal_system