Modeling the Hydrostatic Pressure of a Fluid in a Deformable Container

Walter Frei April 9, 2014
Share this on Facebook Share this on Twitter Share this on Google+ Share this on LinkedIn

In a previous posting, we looked at computing and controlling the volume of a cavity filled with an incompressible fluid, which solved for the static deformation of a fluid-filled rubber seal. In that example, we did not explicitly model the fluid, but added an equation to solve for the pressure, assuming incompressibility of the fluid. Here, we will extend this approach and include the hydrostatic pressure of the fluid in the deforming container.

Squeezing a Water Balloon

Consider a rubber balloon, completely filled with water and resting on a surface within a hole, while being pushed from the top by an indenter. The deformation of the balloon is due to the weight of the fluid as well as the indenter pushing down from the top, see below. The rubber material is modeled with a hyperelastic material model. We will use the technique explained in the previous entry to keep the volume of the cavity constant as it deforms.

The deformation of the balloon is due, in part, to the weight of the fluid, which causes it to bulge outwards and into the depression. It also deforms due to the compression from above, which causes it to bulge outwards and upwards. As a consequence of this compression, the depth of the fluid inside the balloon will change. We want to solve for this change in depth without having to solve the Navier-Stokes equations for the fluid flow, since we are only interested in the static (time-invariant) solution.

Illustration depicting the change in hydrostatic pressure distribution of a water balloon
A rubber balloon filled with water is compressed at the center. As the balloon is squeezed, the location of the highest point and the depth of fluid changes, altering the hydrostatic pressure distribution.

Incorporating Hydrostatic Pressure

A container of fluid will exert a hydrostatic pressure on its walls:

p(z)=p_0+\rho g (z_0-z)

where \rho is the density of the fluid, g is the force of gravity, z_0 is the location of the top of the container, and p_0 is the pressure of the fluid at the top of the container. Since the balloon is filled with an incompressible fluid, the pressure, p_0, will increase as we squeeze it with the indenter.

We can also see, from the image above, that the depth of the fluid changes as the balloon is compressed. Furthermore, it appears as if computing the depth requires knowing the location of the top and bottom of the container. So, how do we incorporate this change in depth? Let’s find out…

As shown below, there are two components to the pressure loads applied inside the balloon. The first part of the load is computed from the Global Equation. The second pressure load is due to the hydrostatic pressure. Ideally, this second pressure load would be based upon the depth of the fluid, but this depth is a variable that we don’t know. So instead, let’s enter a hydrostatic load based only upon the z-location, which could have an arbitrary zero level.

Applying a hydrostatic load
The applied pressure load on the inside boundary of the balloon is the sum of the pressure load computed by the Global Equation and the hydrostatic pressure. The hydrostatic pressure is ramped up during the solution.

Screenshot of the Global Equation in COMSOL Multiphysics
The Global Equation constrains the volume to remain constant during deformation.

So, it appears here as if we are applying a pressure load to constrain the volume and a load that is directly proportional to the z-location, but we are not correctly computing the hydrostatic pressure, since we do not know z_0. As it turns out, however, the Global Equation does a little bit more than you might first expect.

To see this, let us slightly re-write the equation for the pressure inside the balloon:

p(z)=(p_0+\rho g z_0)-\rho g z

We can see right away that this almost exactly matches the equation we entered as the pressure load, p(z)= P_0-\rho g z, except that the pressure we are computing via the global equation is the pressure at the top of the container plus an offset due to the unknown z-location of the top. So, although we are only solving for a single additional variable, P_0, it accounts for two physical effects: the change in pressure due to the volume constraint as well as the change in the z-location of the top of the fluid.

Since this model contains both geometric and material nonlinearities and a nonlinearity due to the contact, converging to the solution can be difficult. To address this, we will use load ramping to slowly increase the effect of gravity on the model, and to gradually squeeze the balloon. A 2D-axisymmetric model is used to exploit the symmetry of the structure.

Screenshot of the Maximum Coupling Operator
The Maximum Coupling Operator is used to find the highest point inside the cavity for postprocessing.

After we solve the model, we can postprocess the magnitude of the hydrostatic pressure by using the Maximum Coupling Operator to compute the maximum z-location along the inside boundary of the balloon.

Arrow plot showing the solution where the hydrostatic pressure loads vary with depth
The solution where the arrows indicate the hydrostatic pressure load that varies with depth.

The plot above shows the hydrostatic pressure load on the inside of the balloon. The length of the arrows is given by the expression: WaterDensity*g_const*(maxop1(z)-z), where maxop1(z) gives the z-location at the top of the deformed cavity.

Concluding Remarks

In this example, we have modeled the varying depth of a fluid in a deformable container (a balloon, in this case). The Global Equation that is used to solve for the fluid pressure that keeps the volume constant also accounts for the change in the depth of the fluid as the balloon deforms.

By using this approach, we solve a fluid-structure interaction problem without explicitly having to solve the Navier-Stokes equations, thus saving significant computational resources. If you are interested in this type of modeling, or would like more details about this model, please contact us.

Post Tags

Technical Content


  1. Christoph Kübler June 6, 2014   2:24 pm

    Hi, is it possible to test this modell ?

    Best regards
    Christoph Kübler

Loading Comments...