# Building a Sandcastle > A browser sandcastle built on a real wet-granular physics engine. Capillary > bridges between grains, a measured strength-versus-liquid-content curve, > Culmann slope stability and Greenhill self-weight buckling. Runs entirely in > the tab: no account, no server, no model call, no network request of any kind. URL: https://sandcastle.skillsafe.ai/ ## What it answers The common claim is "wet sand sticks together, so the wetter the sand the stronger the castle". That is false, and so is the usual correction that there is a sharp optimum. The measured shape is: no cohesion at all below a threshold set by the grains' surface roughness, a climb spanning several decades of liquid content, and then a plateau across which extra water changes the strength by a few percent. Above the plateau the pore space fills, every air-water interface inside the pack disappears, and the cohesion goes to zero. The mechanism is that water does not make a bridge stronger. A liquid neck at a grain-grain contact pulls with 2*pi*R*gamma*cos(theta) almost regardless of how much liquid it holds. What water buys is MORE BRIDGES: every bridge in a pack shares one suction, a wide gap can only hold a bridge at a weak suction, and adding water weakens the suction and recruits gaps that were previously empty. Across the plateau the bridge count rises while the force per bridge falls, and the two nearly cancel. The castle does have a best water content, but for a different reason: the strength stops rising while the sand keeps getting heavier. ## What is inside - A Jodrey-Tory force-biased sphere packing, grown until it jams. It reaches a solid fraction and a coordination number nobody typed in. - Pendular capillary bridges in the toroidal approximation, checked against an exact Young-Laplace profile solved by RK4 shooting at matched volume, and against the same axial force evaluated at the contact line instead of the neck. - One suction for the whole pack, solved by bisection in log-suction. - Tensile strength by two routes that share nothing: a plane cut summing real bridge forces, and Rumpf's mean field. - Culmann's planar wedge minimised numerically; with cohesion switched off the same search returns the dry angle of repose. - Greenhill's buckling constant found by shooting the eigenproblem. ## Sources Every constant is tagged and sourced in /CREDITS.txt. Three of the most-cited papers in this field are paywalled; CREDITS.txt names them and nothing is quoted from them. ## Licence MIT, /LICENSE.txt. Independent implementation; not a copy of any other software.