Dev.to · 5 min read

A 1 mm hole doubles the stress in a spinning disk: checking the textbook result with FEM

A 1 mm hole doubles the stress in a spinning disk: checking the textbook result with FEM

Spin a solid disk and the highest stress sits at the centre. Drill a hole there, even a tiny one, and the stress at the edge of the hole is about twice that. It does not shrink toward the solid-disk value as the hole gets smaller. I checked this in NovaSolver Studio's structural solver with a CD-sized polycarbonate disk (120 mm across, 1.2 mm thick) spinning at 10,000 rpm. I solved a solid disk and five centre holes from 1 mm to 15 mm radius, and compared all six with the rotating-disk formulas. The formulas For a thin disk of outer radius R, density ρ and Poisson's ratio ν spinning at angular speed ω, the plane-stress solution gives the hoop (circumferential) stress. For a solid disk the peak is at the centre: σθ​(0)=83+ν​ρω2R2 With a central hole of radius a, the hoop stress at radius r is σθ​(r)=83+ν​ρω2(a2+R2+r2a2R2​−3+ν1+3ν​r2) and its peak, at the edge of the hole (r = a), is σθ​(a)=43+ν​ρω2(R2+3+ν1−ν​a2) Let a go to zero and this becomes (3+ν)/4 · ρω²R², exactly twice the solid-disk centre value. A pinhole does not bring you back to the solid disk. It is the same factor of 2 you get for a small hole in a plate under equal biaxial tension, which is what the centre of a spinning disk is. import math E, nu, rho = 2.4e9, 0.37, 1200.0 # polycarbonate, assumed values R, rpm = 0.060, 10000 w = rpm * 2 * math.pi / 60 solid = (3 + nu) / 8 * rho * w**2 * R**2 print(f"solid disk, centre: {solid/1e6:.3f} MPa") for a_mm in (1, 2, 4, 7.5, 15): a = a_mm / 1000 edge = (3 + nu) / 4 * rho * w**2 * (R**2 + (1 - nu) / (3 + nu) * a**2) print(f"hole radius {a_mm:4} mm: {edge/1e6:.3f} MPa ({edge/solid:.2f} x solid)") # solid disk, centre: 1.996 MPa # hole radius 1 mm: 3.991 MPa (2.00 x solid) # hole radius 2 mm: 3.992 MPa (2.00 x solid) # hole radius 4 mm: 3.995 MPa (2.00 x solid) # hole radius 7.5 mm: 4.003 MPa (2.01 x solid) # hole radius 15 mm: 4.038 MPa (2.02 x solid) For geometrically similar disks, all of these scale with ω²R². Double the speed and every stress here goes up four times. The setup Item Value Shape Disk, outer radius 60 mm, thickness 1.2 mm; solid, or a centre hole of radius 1 / 2 / 4 / 7.5 / 15 mm (7.5 mm is the CD hole) Material Polycarbonate, assumed E = 2.4 GPa, ν = 0.37, ρ = 1200 kg/m³ Load Rotation about the disk axis at 10,000 rpm Model One quarter of one half-thickness, with symmetry on the three cut planes Nothing holds the disk. The three symmetry planes are enough to stop it moving as a rigid body, and the centrifugal load does the rest. Solving it over MCP The setup and solve went through Studio's MCP tools, which an AI client can call. Here is an excerpt from the 7.5 mm hole case, with Studio's replies after each arrow, translated from the Japanese session. These runs used a local development build after v0.7.6 (2026-11-10). import_geometry disk_a7p5.step (structural) → Imported disk_a7p5.step as c_20261110_102900_a5d2 (rev 1): 6 faces, ... f1 [free] Cylinder, area 56.55 mm2, centroid [38.2, 38.2, 0.3] mm f2 [free] Plane normal [0.0, 0.0, 1.0], area 2783.25 mm2, centroid [25.82, 25.82, 0.6] mm f3 [free] Plane normal [-1.0, 0.0, 0.0], area 31.5 mm2, centroid [-0.0, 33.75, 0.3] mm f4 [free] Plane normal [0.0, 0.0, -1.0], area 2783.25 mm2, centroid [25.82, 25.82, 0.0] mm f5 [free] Plane normal [-0.0, -1.0, 0.0], area 31.5 mm2, centroid [33.75, 0.0, 0.3] mm f6 [free] Cylinder, area 7.07 mm2, centroid [4.77, 4.77, 0.3] mm update_case f3, f4, f5 = symmetry / E 2.4 GPa, nu 0.37, rho 1200 kg/m3 rotation 10000 rpm about z through [0, 0, 0] / mesh.refine.f6 = 0.9375 mm check_convergence (re-solves on coarse, normal and fine meshes) get_results → ran=yes / converged=yes / mesh convergence (GCI) passed Max von Mises stress: 4.004 MPa verify_case → Mesh convergence (max displacement, GCI): finest mesh 0.020604 mm, Richardson extrapolation 0.020604 mm, GCI 1.7e-05% (tolerance 5.0%) -> PASS probe_results points along the y ≈ 0 line at z = 0.3 mm, from 0.001 mm inside the hole edge to r = 60 mm The symmetry planes (f3 = the x = 0 cut, f5 = the y = 0 cut, f4 = the mid-plane) and the hole (f6, the small cylinder) were picked out from the face types, orientations and positions. On the y ≈ 0 line the hoop direction is y, so the hoop stress is the probe's syy. The model covers z = 0 to 0.6 mm (half the thickness, with z = 0 as the mid-plane of the disk), and the profile points sit at z = 0.3 mm. The "hole edge" values below are sampled 0.001 mm inside the hole surface. In the formulas the stress does not vary through the thickness, and the Studio values at z = 0, 0.3 and 0.6 mm differ by less than 0.1%. mesh.refine.f6 sets the mesh size on the hole face, here one eighth of the hole radius, so the steep rise near the hole is resolved. With that setting, the 2 mm and 15 mm cases barely changed in element count between two of the three mesh levels, and Studio warned that it could not judge how reliable the answer was. I re-solved those two with one tenth of the hole radius, and all six cases then passed the mesh convergence check. Results Case Studio (sampled) Formula Diff. vs solid disk Solid, centre 1.996 MPa 1.996 MPa

This is a summary aggregated from Dev.to. Read the complete article on the original site:

Read full article at Dev.to

More AI & Machine Learning News