A longer fin eventually stops helping: checking tanh(mL) saturation with 10 FEM cases A developer validated fin-efficiency saturation by solving a 6 mm diameter pin fin in NovaSolver Studio's heat conduction solver across 10 FEM cases, spanning aluminum and stainless steel at lengths from 10 to 160 mm, and compared the results against the analytical fin equation. Aluminum reached 97% of its infinite-length heat flow limit at 160 mm (mL = 2.07), while stainless steel hit 100% by 80 mm (mL = 3.65), confirming that added length stops paying off once tanh(mL) approaches unity. The runs were driven through the tool's MCP tools, which an AI client can call, with mesh-convergence checks passing at a GCI of 0.08%. Make a heat sink fin longer and you add surface area, so it sheds more heat. That is only true up to a point. Further along the fin, the metal gets closer to air temperature, and the extra length does almost nothing. I solved a 6 mm diameter pin fin in NovaSolver Studio's heat conduction solver, in aluminum and stainless steel, at lengths from 10 to 160 mm, and compared all 10 cases with the fin equation. Hold the base of a thin rod at temperature T b and let it lose heat to surrounding air temperature T ∞, heat transfer coefficient h . The temperature along the rod approaches air temperature exponentially, at a rate set by where P is the perimeter, A the cross-sectional area and k the thermal conductivity. With heat also leaving the tip, the heat entering at the base is As L grows, the fraction approaches 1 and Q levels off at √ hPkA ·θ b. If you ignore the tip, the fraction is tanh mL , which is 96% of the limit at mL = 2. python import math h, D, Tb, Tinf = 50.0, 0.006, 60.0, 25.0 W/m2K, m, degC, degC P, A, th = math.pi D, math.pi D 2 / 4, Tb - Tinf for name, k in "Aluminum", 200.0 , "Stainless", 16.0 : m = math.sqrt h P / k A M = math.sqrt h P k A th heat flow of an infinitely long fin g = h / m k print f"{name}: m = {m:.1f} 1/m, limit {M:.3f} W" for L in 0.01, 0.02, 0.04, 0.08, 0.16 : q = M math.sinh m L + g math.cosh m L / math.cosh m L + g math.sinh m L print f" L = {L 1000:3.0f} mm mL = {m L:4.2f} Q = {q:.4f} W {q/M:4.0%} " Aluminum: m = 12.9 1/m, limit 2.555 W L = 10 mm mL = 0.13 Q = 0.3766 W 15% L = 20 mm mL = 0.26 Q = 0.6916 W 27% L = 40 mm mL = 0.52 Q = 1.2514 W 49% L = 80 mm mL = 1.03 Q = 1.9998 W 78% L = 160 mm mL = 2.07 Q = 2.4774 W 97% Stainless: m = 45.6 1/m, limit 0.723 W L = 10 mm mL = 0.46 Q = 0.3480 W 48% L = 20 mm mL = 0.91 Q = 0.5447 W 75% L = 40 mm mL = 1.83 Q = 0.6907 W 96% L = 80 mm mL = 3.65 Q = 0.7219 W 100% L = 160 mm mL = 7.30 Q = 0.7227 W 100% This is a 1D model that ignores temperature differences across the section. The radial Biot number hr/k is 0.00075 for aluminum and 0.0094 for stainless, small enough for that assumption to hold. | Item | Value | |---|---| | Shape | Cylinder, 6 mm diameter, length 10 / 20 / 40 / 80 / 160 mm | | Material | Aluminum k = 200 W/mK , stainless k = 16 W/mK | | Base face | Fixed at 60 °C | | Side and tip | Air at 25 °C, h = 50 W/m²K roughly fan-driven air | The setup and solve went through Studio's MCP tools, which an AI client can call. Here is an excerpt from the 80 mm aluminum case, with Studio's replies after each arrow. These runs used a local development build after v0.7.6 2026-11-08 . import geometry fin80.step thermal → Imported fin80.step as c 20261108 194155 bdcb rev 1 : 3 faces, ... f1 insulated Cylinder, area 1507.96 mm2, centroid 0.0, 0.0, 40.0 mm f2 insulated Plane normal 0.0, 0.0, 1.0 , area 28.27 mm2, centroid -0.0, -0.0, 80.0 mm f3 insulated Plane normal 0.0, 0.0, -1.0 , area 28.27 mm2, centroid -0.0, -0.0, 0.0 mm update case f3 = 60 degC / f1, f2 = convection 50 W/m2K, 25 degC / k = 200 W/mK / mesh.refine.f1 = 0.75 mm validate case → GREEN f1 Face 1 : convection h 50 W/m²K to 25 °C. f2 Face 2 : convection h 50 W/m²K to 25 °C. f3 Face 3 : 60 °C. Material: Custom, conductivity 200 W/mK. check convergence re-solves on coarse, normal and fine meshes get results → ran=yes / converged=yes / mesh convergence GCI passed Max temperature: 60.0 °C Min temperature: 46.8 °C Heat flow in: 1.998 W verify case → Mesh convergence temperature rise, GCI : finest mesh 13.204 K, Richardson extrapolation 13.213 K, GCI 0.08% tolerance 5.0% - PASS The base the face at z = 0 , the tip and the side were picked out from the face orientations and positions. mesh.refine.f1 sets the mesh size on the side face. My first run left it out, and on fins of 40 mm and longer at least one adjacent pair of mesh levels did not refine enough for the study, so Studio warned that it could not judge how reliable the answer was. I re-solved all 10 cases with the side at 0.75 mm, and every case then passed the mesh convergence check, which looks at the temperature difference inside the fin. | Material | Length | mL | Studio | Fin equation | Diff. | |---|---|---|---|---|---| | Aluminum | 10 mm | 0.13 | 0.3762 W | 0.3766 W | −0.12% | | Aluminum | 20 mm | 0.26 | 0.6908 W | 0.6916 W | −0.11% | | Aluminum | 40 mm | 0.52 | 1.250 W | 1.251 W | −0.09% | | Aluminum | 80 mm | 1.03 | 1.998 W | 2.000 W | −0.07% | | Aluminum | 160 mm | 2.07 | 2.476 W | 2.477 W | −0.05% | | Stainless | 10 mm | 0.46 | 0.3471 W | 0.3480 W | −0.27% | | Stainless | 20 mm | 0.91 | 0.5434 W | 0.5447 W | −0.24% | | Stainless | 40 mm | 1.83 | 0.6895 W | 0.6907 W | −0.18% | | Stainless | 80 mm | 3.65 | 0.7208 W | 0.7219 W | −0.15% | | Stainless | 160 mm | 7.30 | 0.7216 W | 0.7227 W | −0.15% | In all 10 cases, the heat entering at the base matched the equation to within 0.3%. Stainless reaches 95% of its limit at 40 mm. Stretching it four times longer, to 160 mm, only raises the heat flow from 0.6895 W to 0.7216 W, a 5% gain. Aluminum is at 97% of its limit at 160 mm, and going from 80 mm to 160 mm adds 24%. This is the temperature along the axis of the 80 mm fin. Stainless is at 30.8 °C just 40 mm from the base, where its excess over air has shrunk to about one sixth of the base value. Further out, that excess keeps shrinking and so does the heat lost per unit length. Aluminum is still at 46.8 °C at the tip, so the whole fin is working. How long a fin is worth making comes down roughly to mL. Past mL = 2, added length costs material and weight while adding little heat flow. Under these conditions, that is about 155 mm for aluminum and about 44 mm for stainless. NovaSolver Studio is free and open source GPL-3.0 . It solves structural, thermal and flow problems in one app and can be driven from MCP clients such as Claude Desktop.