code wiki / (root) / nx_ice_scale.nx

nx_ice_scale.nx

buildroot/runtime/nx_ice_scale.nx

13904 B299 linesdepth 2pulls 2 transitivereach 1 importersview sourcekind librarytopic ice
docsdependenciesstructsconstsfunctions

about

nx_ice_scale.nx -- PERSONAL TO INDUSTRIAL: what changes when you make more, and the direction that surprises people. ===== THE FINDING THIS ORGAN EXISTS TO CARRY ====================== **SCALING UP IMPROVES ICE CRYSTAL SIZE. The artisan premium story is backwards on this axis, and the mechanism is not subtle.** A batch freezer holds the mix in the barrel for five to fifteen minutes against a barrel wall only a little colder than the draw temperature. A continuous freezer pushes it through in about thirty seconds against a wall at -26 to -28 C. Nucleation rate rises steeply with undercooling and growth time is what lets crystals coarsen, so the industrial machine produces MORE and SMALLER crystals, and the small-batch machine produces fewer and larger ones. Cold extrusion pushes this further, drawing to -15 to -18 C with crystals and air cells two to three times smaller again. So the quality-versus-scale trade that a formulator expects does not exist here. It runs the other way, and a business plan that promises a superior product BECAUSE it is made in small batches is promising the opposite of what the freezer does. ===== WHERE THE SMALL PRODUCER ACTUALLY COMPETES ================== Not at the freezer. At the COLD CHAIN. nx_ice_recrystal established that ripening is driven by temperature FLUCTUATION rather than mean temperature, and nx_ice_stabiliser established that stabilisers act during STORAGE and not during freezing. Both point the same way: what happens after the product leaves the barrel dominates what happened inside it. A producer selling within days, through a freezer that is never opened to a warm room, holds an advantage that no continuous freezer can take back -- and a national brand shipping through open-faced retail cabinets that reach -9 C is carrying damage the plant cannot prevent. That is the real axis, and it is the opposite of the one the marketing uses. ===== WHAT IS DERIVED AND WHAT IS SUPPLIED ======================== **The thermodynamics is DERIVED.** Freezing energy per kilogram follows from the latent heat of fusion, the water fraction, the frozen fraction and

dependencies 1 imports · 1 importers

nx_syscalls.nx nx_ice_scale.nx nx_ice_scale_gate.nx

imports: nx_syscalls.nx

imported by: nx_ice_scale_gate.nx

structs

none

consts

63const ISC_MAGIC_1200: i64 = 1200
64const ISC_MAGIC_18000: i64 = 18000
65const ISC_MAGIC_22000: i64 = 22000
66const ISC_MAGIC_27000: i64 = 27000
67const ISC_MAGIC_5000: i64 = 5000
68const ISC_MAGIC_6000: i64 = 6000
69const ISC_MAGIC_5500: i64 = 5500
70const ISC_MAGIC_16000: i64 = 16000
71const ISC_MAGIC_35000: i64 = 35000
72const ISC_MAGIC_40000: i64 = 40000
73const ISC_MAGIC_3600: i64 = 3600
74const ISC_MAGIC_1000000: i64 = 1000000
76const ISC_INVALID: i64 = 0 - 1
77const ISC_UNKNOWN: i64 = 0 - 2
81const ISC_BATCH_HOME: i64 = 0
82const ISC_BATCH_COMMERCIAL: i64 = 1
83const ISC_CONTINUOUS: i64 = 2
84const ISC_COLD_EXTRUSION: i64 = 3
89const ISC_LATENT_FUSION_J: i64 = 334000
92const ISC_CP_UNFROZEN_J: i64 = 3300
93const ISC_CP_FROZEN_J: i64 = 2000
95const ISC_J_PER_WH: i64 = 3600
99const ISC_RETAIL_CABINET_MC: i64 = 0 - 9000

functions

104func isc_residence_s(class: i64) -> i64
114func isc_barrel_wall_mc(class: i64) -> i64
called by 1: isc_undercooling_mc
123func isc_draw_mc(class: i64) -> i64
called by 1: isc_undercooling_mc
132func isc_undercooling_mc(class: i64) -> i64
called by 1: t1 calls 2: isc_barrel_wall_mcisc_draw_mc
146func isc_crystal_at_draw_q1(class: i64) -> i64
called by 1: t2
155func isc_batch_makes_larger_crystals(batch: i64, continuous: i64) -> i64
called by 1: t3
164func isc_scaling_improves_crystal_size() -> i64 { return 1 }
called by 1: t3
165func isc_small_batch_is_finer() -> i64 { return 0 }
called by 1: t3
168func isc_hardening_air_mc(class: i64) -> i64
176func isc_hardening_minutes(class: i64) -> i64
called by 1: t4
189func isc_has_true_hardening(class: i64) -> i64
called by 1: t4
197func isc_throughput_l_per_h(class: i64, barrel_l: i64) -> i64
called by 3: t5t9t12 calls 1: isc_residence_s
213func isc_freeze_energy_j_per_kg(t_in_mc: i64, t_fp_mc: i64, t_final_mc: i64, water_permil: i64, frozen_permil: i64) -> i64
230func isc_latent_share_permil(t_in_mc: i64, t_fp_mc: i64, t_final_mc: i64, water_permil: i64, frozen_permil: i64) -> i64
called by 1: t6 calls 1: isc_freeze_energy_j_per_kg
241func isc_electrical_wh_per_kg(thermal_j: i64, cop_q2: i64) -> i64
called by 4: t7t8t9t12
252func isc_cogs_per_l_cents(ingredient_c: i64, energy_c: i64, labour_c: i64, packaging_c: i64) -> i64
called by 1: t10
263func isc_energy_cost_per_l_cents_q2(wh_per_kg: i64, mix_density_q3: i64, tariff_c_per_kwh: i64) -> i64
called by 2: t8t9
276func isc_labour_per_l_cents_q2(operator_c_per_h: i64, operators: i64, throughput_l_per_h: i64) -> i64
called by 2: t9t12
283func isc_cost_is_indicative() -> i64 { return 1 }
called by 1: t10
284func isc_holds_any_verified_price() -> i64 { return 0 }
called by 1: t10
290func isc_retail_cabinet_is_abuse(storage_target_mc: i64) -> i64
called by 1: t11
298func isc_short_chain_beats_plant_freezer() -> i64 { return 1 }
called by 1: t11
299func isc_quality_advantage_is_at_the_freezer() -> i64 { return 0 }
called by 1: t11