Table of Contents

Class CoolantHeatCondition

Namespace
Hi.Physics
Assembly
HiMech.dll

Represents the heat condition parameters for coolant in machining operations. Provides effective convection-coefficient lookups keyed by CoolantMode — Flood uses the configured baseline CoolantConvectionCoefficient_Wdm2K; Mist scales it by MistFloodConvectionRatio; Off falls back to OffConvectionCoefficient_Wdm2K (natural/forced air). Named standard presets (StandardForcedAir, StandardWaterSolubleCoolant, StandardOilBasedCoolant) bundle all coefficients so end users can pick a cooling type by name instead of entering convection coefficients; MatchStandardPreset() maps a configured instance back to the preset it equals.

public class CoolantHeatCondition : IMakeXmlSource, INameNote, IPreferredFileName
Inheritance
CoolantHeatCondition
Implements
Inherited Members
Extension Methods

Constructors

CoolantHeatCondition()

Initializes a new instance of the CoolantHeatCondition class.

public CoolantHeatCondition()

CoolantHeatCondition(XElement)

Initializes a new instance of the CoolantHeatCondition class from XML data.

public CoolantHeatCondition(XElement src)

Parameters

src XElement

The XML element containing coolant heat condition data.

Fields

CustomName

Reserved Name marking an explicitly customized condition; see MatchStandardPreset().

public const string CustomName = "Custom"

Field Value

string

Properties

CoolantConvectionCoefficient_Wdm2K

Gets or sets the coolant heat transfer coefficient (flood baseline) in Watts per square meter per Kelvin.

public double CoolantConvectionCoefficient_Wdm2K { get; set; }

Property Value

double

Remarks

Common value: forced air: 10~500; coolant: 1e3~1e4 (ref by “Effects of coolant on temperature distribution in metal machining”, 1988) coolant: 1e3 (ref by “Modeling heat transfer in die milling”, 2014)

CoolantConvectionCoefficient_Wdmm2K

Gets or sets the coolant heat transfer coefficient (flood baseline) in Watts per square millimeter per Kelvin.

public double CoolantConvectionCoefficient_Wdmm2K { get; set; }

Property Value

double

CoolantTemperature_C

Gets or sets the coolant temperature in Celsius.

public double CoolantTemperature_C { get; set; }

Property Value

double

CoolantTemperature_K

Gets or sets the coolant temperature in Kelvin.

public double CoolantTemperature_K { get; set; }

Property Value

double

MistFloodConvectionRatio

Convection-coefficient ratio of mist coolant (MQL) relative to flood coolant. Applied multiplicatively to CoolantConvectionCoefficient_Wdm2K when the current CoolantMode is Mist.

public double MistFloodConvectionRatio { get; set; }

Property Value

double

Remarks

Default 0.5. Industry handbooks place MQL at roughly half the heat removal of flood coolant — UNIST MQL Handbook: “actual heat removal is generally about half of that removed by a flood coolant”. Empirical milling / turning measurements on AISI 1045 steel give ΔT_flood ≈ 230 °C vs ΔT_mist ≈ 170 °C relative to dry (Mist ≈ 0.74 of flood), while tool-life / surface-finish studies on aluminium and titanium range 0.4–0.8. The single-number 0.5 default is the conservative midpoint; projects that characterise their own MQL system should override via XML.

Name

Gets or sets the name of the coolant condition. Standard presets carry their preset name (e.g. “StandardWaterSolubleCoolant”); set to CustomName to mark the condition as explicitly customized (which makes MatchStandardPreset() return null even when the coefficients happen to equal a preset). null/empty on legacy projects that predate naming.

public string Name { get; set; }

Property Value

string

Note

Gets or sets additional notes about the coolant condition.

public string Note { get; set; }

Property Value

string

OffConvectionCoefficient_Wdm2K

Gets or sets the convection coefficient when coolant is off (ambient air / forced blow-off), in Watts per square meter per Kelvin.

public double OffConvectionCoefficient_Wdm2K { get; set; }

Property Value

double

Remarks

Natural convection in still air is ~5–25 W/(m²·K); forced air (shop blow-off / chip conveyor draft) falls in 10–500 W/(m²·K). Default 50 W/(m²·K) represents a mild forced-air environment typical of a running machine enclosure.

PreferredFileName

Gets or sets the preferred file name for this object when generating or saving files.

public string PreferredFileName { get; set; }

Property Value

string

StandardForcedAir

Forced-air / dry cutting: air blast only, no liquid coolant. Even when the NC program turns coolant on (M07/M08), the machine only blows air, so the flood baseline is an air-blast coefficient.

public static CoolantHeatCondition StandardForcedAir { get; }

Property Value

CoolantHeatCondition

Remarks

Coefficients are engineering estimates from the ranges documented on CoolantConvectionCoefficient_Wdm2K and OffConvectionCoefficient_Wdm2K (forced air 10–500 W/(m²·K)); override via XML when characterised data is available.

StandardOilBasedCoolant

Oil-based (neat oil) cutting fluid: better lubrication, noticeably lower heat removal than water-based emulsion.

public static CoolantHeatCondition StandardOilBasedCoolant { get; }

Property Value

CoolantHeatCondition

Remarks

Flood baseline 300 W/(m²·K) sits in the documented straight-oil range (roughly 100–500 W/(m²·K)); override via XML when characterised data is available.

StandardPresets

The named standard presets, in menu order. Each access returns fresh instances (same as Al6061T6), so callers may mutate the result freely.

public static IReadOnlyList<CoolantHeatCondition> StandardPresets { get; }

Property Value

IReadOnlyList<CoolantHeatCondition>

StandardWaterSolubleCoolant

Water-soluble (water-based emulsion) cutting fluid — the common flood coolant. Matches this class's field defaults, so an unconfigured condition reads as this preset.

public static CoolantHeatCondition StandardWaterSolubleCoolant { get; }

Property Value

CoolantHeatCondition

Remarks

Flood baseline 1000 W/(m²·K) is the literature-backed default (see CoolantConvectionCoefficient_Wdm2K; water-based emulsion spans roughly 1000–3000).

XName

Name for XML IO.

public static string XName { get; }

Property Value

string

Methods

ApplyPreset(CoolantHeatCondition)

Copies all values (name, note, temperature and the three convection values) from preset into this instance, in place — existing references (e.g. a live MachiningEquipment.CoolantHeatCondition) keep observing the updated condition.

public void ApplyPreset(CoolantHeatCondition preset)

Parameters

preset CoolantHeatCondition

FindStandardPreset(string)

Finds the standard preset with the given Name, or null when the name is not a standard preset name (including CustomName and null).

public static CoolantHeatCondition FindStandardPreset(string name)

Parameters

name string

Returns

CoolantHeatCondition

GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode)

Gets the effective convection coefficient for the given coolant mode in Watts per square meter per Kelvin.

public double GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode mode)

Parameters

mode CoolantMode

Returns

double

GetEffectiveConvectionCoefficient_Wdmm2K(CoolantMode)

Mode-dependent convection coefficient in Watts per square millimetre per Kelvin (direct input to the FEM layer). See GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode).

public double GetEffectiveConvectionCoefficient_Wdmm2K(CoolantMode mode)

Parameters

mode CoolantMode

Returns

double

MakeXmlSource(string, string, bool)

Creates an XML representation of the object. This method may also generate additional resources such as related files.

public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)

Parameters

baseDirectory string

The base directory for resolving relative paths

relFile string

The relative file path for the XML source

exhibitionOnly bool

if true, the extended file creation is suppressed.

Returns

XElement

An XML element representing the object's state

Remarks

For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file.

MatchStandardPreset()

Returns the standard preset whose three convection values (CoolantConvectionCoefficient_Wdm2K, MistFloodConvectionRatio, OffConvectionCoefficient_Wdm2K) exactly equal this instance's, or null when none matches or Name is CustomName. CoolantTemperature_C is intentionally excluded — temperature is an independent setting that a user may tune without leaving the preset.

public CoolantHeatCondition MatchStandardPreset()

Returns

CoolantHeatCondition

Reg(XFactory)

Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent.

public static void Reg(XFactory factory = null)

Parameters

factory XFactory