Table of Contents

Namespace Hi.Physics

Classes

AmpPhase

Represents amplitude and phase information for wave-like phenomena.

CoatingMaterial

Represents a coating material used in cutting tools.

CoolantHeatCondition

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. The parameterless defaults are the StandardWaterSolubleCoolant values, so an equipment that never changes its condition is modelled with water-soluble flood coolant (1000 W/(m²·K) at 25 °C) whenever the NC program turns coolant on — a dry-cutting machine has to pick StandardForcedAir explicitly.

CutterMaterial

Represents a cutter material with physical and thermal properties.

MaterialThermalConstantCheck

The check of the three thermal constants of a material that the milling thermal chain reads — the conductivity HeatConductivity_WdmK, the density Density_gdcm3 and the specific heat HeatCapacity_JdgK. Three warnings. A constant that is NaN is not given — a material file without the element reads it so, and no default stands in (HasThermalConstants): the thermal model skips the material as it skips one that is missing (no thermal step for the tool; for the workpiece material, for every tool), and the warning names it. A constant that is 0, negative or infinite is used as given: the interface temperature of a contact weighs the cutter and the workpiece by their thermal effusivity √(k·ρ·c) and the thermal FEM reads k and ρ·c, so such a constant can turn the cutter temperatures into NaN or pin the interface to one side, and a unit slip of a factor 1000 scales that side's effusivity by about 31.6. Nothing downstream validates a given value: a material is used as given and this check only says so (see ReportThermalConstantIssues(IStructureMaterial, string, IProgress<IMessage>, object)). A fourth warning, for a cutter material, names the hardness and wear-coefficient curves its file lacks (ReportWearCurvesNotGiven(CutterMaterial, string, IProgress<IMessage>, object), Material-WearCurves–NotGiven): the native thermal session does not model its cutter.

The wordings live here, one literal id and one literal template per emit, because the engine-message gate reads both off the call: the physics runner hands in its sinks at a tool change, at the session begin and at the start of a play (the step-anchored one for a tool's materials, the session's shell for the workpiece's), the step-physics recompute its own progress, the web API a MessageCollector when a material is loaded. The caller's context (which tool, which file) rides in the detail payload, since the templates are shared and carry only values.

The range is the dense solids' the thermal model is built for: it catches a density in kg/m³ or g/mm³ and a specific heat in J/(kg·K), and a conductivity in W/(mm·K) only for a material under 100 W/(m·K) — above that (aluminium, copper, most carbides) the slip lands where polymers are, 0.1 to 0.5 W/(m·K), and passes. A foam, a wood or a cork falls under the conductivity bound by nature and is named; the template says so.

MillingTemperatureUtil

Utility class for calculating and managing temperatures during milling operations.

SeqPhysicsState

The state the sequential physics stage carries from one step to the next – the temperatures of the cutter body, the cutter surface, the workpiece surface and the chip, the cutter's flute and shank temperature nodes, the spindle temperature and the two spindle energies, the three accumulated wear values and the two carries the thermal step reads back – with what the step's own thermal step wrote beside it (the instant crater wear, the thermal-stress flag). Each step's state is copied from the previous step's (SeqPhysicsState(SeqPhysicsState)) and advanced by the thermal step (BuildCuttingTemperatureAndWear(SeqPhysicsState, MachineMotionStep, MachineMotionStep, double, SpindleCapability, IMachiningTool, Workpiece, int, Substraction, LayerMillingEngagement, MillingForceBrief, CoolantHeatCondition, CoolantMode, bool, MillingToolPhysicsPack, Action<string>)), the spindle temperature (BuildSpindleTemperatureAndRatio(MachineMotionStep, MillingForceBrief, double, SpindleCapability, SpindleSpeedCache, double)) and the spindle meter energy: a state, not a summary of the step (most of the record is what the next step starts from), which is why the type is a State and not a Brief like MillingForceBrief. Named SeqPhysicsBrief until 2026-10-27; a session script may keep the old name (ScriptRenameBridge), and MachiningStep.TryGetSeqPhysicsBrief still answers. Persisted as one record (WriteBin(BinaryWriter), SeqPhysicsState(BinaryReader)).

StructureMaterial

Represents a material with physical and thermal properties used in structural analysis.

TemperatureUtil

Utility class for temperature conversions.

TemperatureVsHardness

Represents the relationship between temperature and hardness for materials.

ThermalLayer1D

Represents a one-dimensional thermal layer for heat transfer calculations.

TimeSeriesUtil

Utility class for time series data operations.

TimeValue

Represents a value associated with a specific point in time.

WorkpieceMaterial

Represents the physical and mechanical properties of a workpiece material.

Interfaces

IGetThermalLayerList

Interface for objects that can provide a list of thermal layers.

IStructureMaterial

Interface for structure materials with thermal properties.

ISurfaceMaterial

Interface for materials that can be used on surfaces.

ITimecoded

Interface for objects that provide time information.

Enums

ThermalStepOutcome

What BuildCuttingTemperatureAndWear(SeqPhysicsState, MachineMotionStep, MachineMotionStep, double, SpindleCapability, IMachiningTool, Workpiece, int, Substraction, LayerMillingEngagement, MillingForceBrief, CoolantHeatCondition, CoolantMode, bool, MillingToolPhysicsPack, Action<string>) did with the thermal step, as data: the state has no message channel, so the caller that owns one says what needs saying at its own site – the play says ModelUnavailable once per tool, until a runtime reset, as Physics-Thermal–ModelUnavailable (MachiningActRunner.ReportThermalModelUnavailable), the step-physics recompute says its own StepPhysics-Recompute–ThermalSkipped ahead of its chain – and the quiet outcomes were named where they arose (the tool change, the session begin). The loop's warning callback carries the tooth-cycle cap alone. Until 2026-10-15 the state announced the unavailable model itself through that callback, once per tool and process, and the play labelled it with the cap's id.