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
SeqPhysicsBriefuntil 2026-10-27; a session script may keep the old name (ScriptRenameBridge), andMachiningStep.TryGetSeqPhysicsBriefstill 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 ownStepPhysics-Recompute–ThermalSkippedahead 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.