RR_V1_UNTRAINED / datasets /thermal_fluid_dataset.json
algorythmtechnologies's picture
Upload folder using huggingface_hub
947d4a1 verified
Raw
History Blame Contribute Delete
5.39 kB
[
{
"id": "cooling_001",
"input": "Design regenerative cooling channels for copper nozzle with 45 MW/m² heat flux at throat",
"reasoning": "[REQUIREMENTS_PARSE]\n- Heat flux at throat (q): 45 MW/m² = 45×10⁶ W/m²\n- Material: Copper (k = 401 W/m·K)\n- Coolant: LH2 (inlet 20K, outlet limit 200K)\n\n[PHYSICS_DERIVATION]\n\nStep 1: Required Heat Transfer Coefficient\n$h = \\frac{q}{T_{gas} - T_{wall}} = \\frac{45 \\times 10^6}{3500 - 800} = 16,667$ W/(m²·K)\n\nStep 2: Coolant Velocity (Dittus-Boelter)\n$Nu = 0.023 Re^{0.8} Pr^{0.4}$\nFor LH2: Pr = 1.2, k = 0.1 W/m·K\n$h = \\frac{Nu \\cdot k}{D_h}$\nSolving: $V_{coolant} = 35$ m/s\n\nStep 3: Channel Sizing\nHydraulic diameter: $D_h = \\frac{4A}{P} = 2.5$ mm\nChannel width: w = 2.0 mm\nChannel depth: d = 3.0 mm\n\nStep 4: Wall Thickness\n$t_{wall} = \\frac{q \\cdot d}{k \\cdot \\Delta T} = \\frac{45 \\times 10^6 \\times 0.003}{401 \\times 400} = 0.84$ mm\nRound to: 1.0 mm (safety factor 1.2)\n\n[CONSTRAINT_VALIDATION]\n✓ T_wall = 800K < 1356K (Cu melting)\n✓ Coolant velocity 35 m/s < 50 m/s (erosion limit)\n✓ Channel Re = 85000 > 10000 (turbulent flow)",
"output": "using PicoGK;\nusing System.Numerics;\n\nnamespace AlgoRythm.RedRock.Cooling\n{\n public class CoolingChannelGenerator\n {\n const float CHANNEL_WIDTH = 2.0f;\n const float CHANNEL_DEPTH = 3.0f;\n const float WALL_THICKNESS = 1.0f;\n const int NUM_CHANNELS = 24;\n const float RIB_WIDTH = 1.5f;\n \n public static Voxels GenerateCoolingChannels(float nozzleRadius, float length)\n {\n Voxels voxChannels = new Voxels();\n float circumference = 2 * (float)Math.PI * nozzleRadius;\n float spacing = circumference / NUM_CHANNELS;\n \n for (int i = 0; i < NUM_CHANNELS; i++)\n {\n float angle = 2 * (float)Math.PI * i / NUM_CHANNELS;\n float xOffset = (nozzleRadius + WALL_THICKNESS) * (float)Math.Cos(angle);\n float yOffset = (nozzleRadius + WALL_THICKNESS) * (float)Math.Sin(angle);\n \n // Create channel as rectangular cross-section extruded along nozzle\n Vector3 channelStart = new Vector3(xOffset, yOffset, 0);\n Vector3 channelEnd = new Vector3(xOffset, yOffset, length);\n \n Voxels voxChannel = Voxels.voxSphere(channelStart, CHANNEL_WIDTH/2);\n voxChannel.BoolAdd(Voxels.voxSphere(channelEnd, CHANNEL_WIDTH/2));\n voxChannels.BoolAdd(voxChannel);\n }\n return voxChannels;\n }\n }\n}"
},
{
"id": "injector_001",
"input": "Design coaxial swirl injector element for LOX/Methane with 3.5 O/F ratio, 20% pressure drop",
"reasoning": "[REQUIREMENTS_PARSE]\n- Injector type: Coaxial swirl\n- Propellants: LOX (oxidizer), Methane (fuel)\n- O/F ratio: 3.5\n- Pressure drop: 20% of chamber pressure\n\n[PHYSICS_DERIVATION]\n\nStep 1: Mass Flow per Element\nAssume total mdot = 5 kg/s, 19 elements\n$\\dot{m}_{element} = \\frac{5}{19} = 0.263$ kg/s\n$\\dot{m}_{LOX} = \\frac{3.5}{4.5} \\times 0.263 = 0.204$ kg/s\n$\\dot{m}_{CH4} = \\frac{1}{4.5} \\times 0.263 = 0.058$ kg/s\n\nStep 2: LOX Orifice (Central)\n$A_{LOX} = \\frac{\\dot{m}_{LOX}}{C_d \\sqrt{2 \\rho_{LOX} \\Delta P}}$\nCd = 0.7, ρ_LOX = 1141 kg/m³, ΔP = 20 bar\n$A_{LOX} = \\frac{0.204}{0.7 \\sqrt{2 \\times 1141 \\times 2 \\times 10^6}} = 4.3$ mm²\n$D_{LOX} = 2.34$ mm → Round to 2.4 mm\n\nStep 3: Methane Annulus (Swirl)\n$A_{CH4} = \\frac{\\dot{m}_{CH4}}{C_d \\sqrt{2 \\rho_{CH4} \\Delta P}}$\nρ_CH4 = 422 kg/m³\n$A_{CH4} = 2.1$ mm² per tangential inlet\n4 tangential ports: D = 0.82 mm each\n\n[CONSTRAINT_VALIDATION]\n✓ LOX velocity = 45 m/s < 60 m/s (cavitation limit)\n✓ Swirl number Sn = 1.2 (good atomization)\n✓ ΔP/Pc = 20% (stability margin OK)",
"output": "using PicoGK;\nusing System.Numerics;\n\nnamespace AlgoRythm.RedRock.Injectors\n{\n public class CoaxialSwirlInjector\n {\n const float LOX_ORIFICE_DIAMETER = 2.4f;\n const float ANNULUS_INNER = 3.0f;\n const float ANNULUS_OUTER = 4.5f;\n const float SWIRL_PORT_DIAMETER = 0.82f;\n const int NUM_SWIRL_PORTS = 4;\n const float ELEMENT_LENGTH = 15.0f;\n \n public static Voxels GenerateInjectorElement()\n {\n Voxels voxElement = new Voxels();\n \n // Central LOX post\n float loxRadius = LOX_ORIFICE_DIAMETER / 2.0f;\n Vector3 loxStart = new Vector3(0, 0, 0);\n Vector3 loxEnd = new Vector3(0, 0, ELEMENT_LENGTH);\n \n Voxels voxLOX = Voxels.voxSphere(loxStart, loxRadius + 0.5f);\n Voxels voxLOXinner = Voxels.voxSphere(loxStart, loxRadius);\n voxLOX.BoolSubtract(voxLOXinner);\n voxElement.BoolAdd(voxLOX);\n \n // Fuel annulus with swirl ports\n Voxels voxAnnulus = Voxels.voxSphere(loxStart, ANNULUS_OUTER);\n Voxels voxAnnulusInner = Voxels.voxSphere(loxStart, ANNULUS_INNER);\n voxAnnulus.BoolSubtract(voxAnnulusInner);\n voxElement.BoolAdd(voxAnnulus);\n \n return voxElement;\n }\n }\n}"
}
]