:orphan: .. **************************************************************************** .. CUI .. .. The Advanced Framework for Simulation, Integration, and Modeling (AFSIM) .. .. The use, dissemination or disclosure of data in this file is subject to .. limitation or restriction. See accompanying README and LICENSE for details. .. **************************************************************************** thermal_system -------------- .. command:: thermal_system ... end_thermal_system :block: .. parsed-literal:: thermal system simple_ debug_ ... ` `_ component_type_ ... latent_heat_ ... phase_change_ ... specific_heat_capacity_ ... specific_heat_capacity_high_temp_ ... end_component_type initial_temperature_ ... heat_sink_ ... ` `_ 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. .. _thermal_system.commands: Commands ======== .. command:: simple Specify a `simple `_ thermal system. **Default** (Not set); specify a detailed thermal system. .. command:: debug 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). .. command:: component_type 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. .. command:: latent_heat 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. .. command:: phase_change For a thermal component, specify the temperature at which the phase change (e.g., solid->liquid) occurs. .. command:: specific_heat_capacity 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. .. command:: specific_heat_capacity_high_temp 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. .. command:: component 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. .. command:: heat_sink This is the power taken out of the system for cooling. You must specify a value in order for cooling to occur. .. command:: initial_temperature The initial temperature of the system before any heat transfer occurs. **Default** (the target_temperature value) .. command:: target_temperature 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). .. command:: heating_time 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. .. command:: recharge_rate 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