Handheld drop
Will this handheld survive a 1.2 m drop onto concrete with its 45 g battery?
You ask
Will it survive a 1.2 m drop onto concrete with its 45 g battery?
Wobbl runs
$ wobbl simulate handheld.py "Will it survive a 1.2 m drop onto concrete with its 45 g battery?" \ --physics drop -m pc --mass "45 g @ 0,0,6 r=26" --budget 3000 \ --no-open
Drop height 1.2 m of 1.2 m
peak von Mises
68.1 MPa
FAILS
Safety factor 0.911, landing speed 4.85 m/s
Passes the 62 MPa limit at 0.997 m
Checks, numbers and charts
FAILSFails a 1.2 m drop onto concrete slab, worst landing -x-y-z corner down: peak von Mises stress 68.1 MPa at (-41.5, -23.2, 0) mm, safety factor 0.91 against 62 MPa (target 2). An accelerometer there reads 2503 g filtered at 10 kHz; the impact itself peaks at 2499 g over 0.704 ms. Confidence is medium.
- Peak stress
- 68.1 MPa
- Safety factor
- 0.91
- Target
- 2
- Confidence
- medium
- warnmesh convergence
- passmomentum
- passenergy
- passcontact
- infocontact stress
- passunits and sanity
FAILS. Fails a 1.2 m drop onto concrete slab, worst landing -x-y-z corner down: peak von Mises stress 68.1 MPa at (-41.5, -23.2, 0) mm, safety factor 0.91 against 62 MPa (target 2). An accelerometer there reads 2503 g filtered at 10 kHz; the impact itself peaks at 2499 g over 0.704 ms. Confidence is medium. Confidence: medium. mesh convergence: peak drop stress agreed on two meshes (72.8 -> 68.1 MPa, 6.9%) but no third mesh was run (stopped by converged); two coarse meshes can agree and still both be offpeak stress: 68.1 MPasafety factor: 0.91target: 2worst landing: -x-y-z corner downpeak g: 2503 gimpact speed: 4.85 m/spulse: 0.704 ms Checks: [warn] mesh convergence: peak drop stress agreed on two meshes (72.8 -> 68.1 MPa, 6.9%) but no third mesh was run (stopped by converged); two coarse meshes can agree and still both be off [pass] momentum: the floor's impulse, 0.886 N s, against the change of momentum less gravity's impulse, 0.886 N s (4.9e-05% apart); the part leaves at -4.36 m/s, a coefficient of restitution of 0.90 [pass] energy: kinetic plus strain energy, less the work of the floor and gravity and the energy damped at the mesh's own frequency, stays within 5.3e-05% of the impact energy [pass] contact: the part sinks at most 0.048 mm into the floor, 2.6% of an element; the floor's stiffness is a penalty that keeps that small [info] contact stress: 515 MPa right where the part meets the floor, within 7.5 mm of it, is left out of the answer: it is the local crush of the contact patch, set by the mesh and the floor's idealized stiffness. Expect a scuff or a dent there [pass] units and sanity: part 116 mm across, 96 g, peak g at the center of mass 2499, pulse 0.704 ms; the run stopped because the part left the floor Assumptions: - Wobbl guessed: landing not given, so every face and corner is tried (worst). - Dropped from 1.2 m, so it lands at 4.85 m/s (no air drag), without spin, landing -x-y-z corner down. - Floor: Concrete slab, far stiffer than the part (E about 30 GPa, ACI 318-19 19.2.2.1, Ec = 4700 sqrt(f'c) for 40 MPa concrete). - Polycarbonate: E 2350 MPa, Poisson 0.37, density 1200 kg/m3, von Mises vs yield 62 MPa (Covestro Makrolon 2405 datasheet). Strength at impact rates is often higher than the datasheet's static value, so this errs on the safe side. - Linear elastic part, small strains, no friction with the floor. The first impact only: a bounce and a second landing on another corner are not followed. - Stress is averaged over the time a wave takes to cross two elements, and the accelerometer record is low pass filtered at 10 kHz, the bandwidth of a drop test accelerometer. - The contact patch itself, within two elements of the first mesh of where the part meets the floor, is reported apart: its stress is the local crush of an ideally sharp landing. - 2% of the part's mass is added at the nodes of the smallest elements so they do not hold the time step down (selective mass scaling); the momentum and energy checks include it. - Added mass: 45 g spread over 3916 nodes at 0,0,6 r=26. - Mirror symmetry of the part made these landings the same as one already run: -x face down stands for +x face down; -y face down stands for +y face down; -x-y-z corner down stands for -x+y-z corner down, +x-y-z corner down, +x+y-z corner down; -x-y+z corner down stands for -x+y+z corner down, +x-y+z corner down, +x+y+z corner down. - Predicted run time 26 min against a budget of 50 min, so the mesh was left as meshed. The whole study took 20 min Suggested fixes: - A material good for 136 MPa: The worst landing peaks at 68.1 MPa; reaching the 2 target takes a material whose von Mises vs yield strength is at least 136 MPa at a similar stiffness, or a tougher grade that yields instead of cracking. - Soften the landing: A rubber bumper or corner guard lengthens the impact and lowers both the stress and the g. Check it by running the same drop with --floor 'layer:E=5,t=3', a 3 mm elastomer skin. - Spread the load near the worst spot: A rib or a thicker wall around the peak spreads the impact. The stress has to fall by 54% to reach the target. Images: stress: images/stress.png, g: images/g.png, screen: images/screen.pngReport: report.htmlAbout this example
A sealed polycarbonate housing, 100 x 55 x 22 mm with 2.5 mm walls and rounded vertical corners, holds its battery between two ribs on the inside of its floor. The battery is a 45 g mass spread over the floor and ribs under it, and the accelerometer sits there too, on the battery mount. 1.2 m is the height most handheld drop specifications start from.
RESULTS
Wobbl gives the housing the speed it reaches after 1.2 m, 4.85 m/s, at the moment it first touches the floor, and marches its motion through the impact: lumped mass, explicit time steps of a fraction of a microsecond, and the floor pushing back on every surface node that goes below it. No landing was named, so it screens every face and corner landing on a linear tet copy of the mesh, using the housing’s mirror symmetry to skip the landings that are the same, runs the worst ones again on quadratic tets, and refines the mesh around the peak of the worst. Each run is checked by momentum (the floor’s impulse against the change of momentum) and by energy.
The run also writes output/playback.json with the solved impact frame by frame, and output/scene.wobbl, a
3D model of the housing on the floor at the instant of its peak stress. A slider sets the drop height. The
impact of a linear elastic part scales with its landing speed, so the stress, the shape, the accelerometer at the
battery mount and the verdict follow the height exactly.
Run it yourself
$ git clone https://github.com/sohan-bhat/wobbl$ cd wobbl/examples/handheld-drop && ./run.shThe part, the script and every output are in examples/handheld-drop on GitHub.