David Schmidt, an assistant professor at the University of Massachusetts Amherst, provides the following explanation:

Maybe it happened to you this morning: you entered the shower and the curtain moved in to engulf you. I have recently discovered a new explanation for this common phenomenon, thanks to modern fluid-simulation technology.

As an assistant professor in the mechanical and industrial engineering department, I research ways to accurately simulate sprays. Typically we use these spray simulations to help design better diesel and aircraft engines. The same analysis, however, is equally applicable to a bathroom shower. The shower is, after all, just a large spray.

Until now, explanations for the shower curtain's movements were theoretical. It was one person's opinion versus another's, with most ideas drawing on the Bernoulli effect or on so-called buoyancy effects. The Bernoulli effect is the principle that explains how an airplane's wings produce lift. It says that as a fluid accelerates, the pressure drops. But the Bernoulli effect is based on a balance between pressure forces and acceleration, and does not allow for the presence of droplets. Nor, according to my calculations, is it responsible for the curtain deflection.

The buoyancy theory supposes that the hot shower causes the temperature of the air in the shower to rise, reducing its density. In that case, the pressure on the shower side of the curtain will be lower than the pressure on the outside at the same height from the floor, causing the curtain to move toward the lower pressure. The problem with this explanation is that the curtain will suck inward toward a cold shower, too.

A modern way to study fluid-flow problems is to use computers to solve the basic equations of fluid motion. These equations are based on conservation of mass and momentum. Because of the limitations of finite computer power and current mathematics, however, the solution process can be difficult and time-consuming. Also, spray simulations are a particularly difficult challenge because they involve two different phases of water: liquid and gas.

To attack the shower curtain problem, I used software designed by Fluent Inc., a New Hampshire-based software company that contracted my consulting firm, Convergent Thinking LLC, to add advanced spray models to their software. The simulation took advantage of the fruits of this project. I was able to include the effects of the drops breaking up. Even more important, the new spray models captured the distortion of the droplets, which tends to increase their aerodynamic drag. This drag is the force between the air and the water that imparts motion to the air and slows the droplets.

To do the calculation, I drafted a model of a typical shower and divided the shower area into 50,000 minuscule cells. The tub, the showerhead, the curtain rod and the room outside of the shower were all included. I ran the modified Fluent software for two weeks on my home computer in the evening and on weekends (when my wife wasn't using the computer). The simulation revealed 30 seconds of actual shower time.

When the simulation was complete, it showed that the spray drove a vortex. The center of this vortex, much like the center of a cyclone, is a low-pressure region. This low-pressure region is what pulls the shower curtain in. The vortex rotates around an axis that is perpendicular to the shower curtain. It is a bit like a sideways dust devil. But unlike a dust devil, this vortex doesn't die out because it is driven continuously by the shower. 

The forces generated by this airflow are pretty weak. They are only sufficient to pull light, thin curtains inward. That explains why people with heavy plastic curtains typically don't have this problem. Also, if someone has poor water pressure or a poorly atomizing showerhead, they may not see the curtain suck in.

What is the best way to keep the curtain from sucking in? Because the force is pretty weak, the easiest thing to do is to sew weights in the bottom. Or, if you have a metal tub, magnets can hold the curtain in place.