It's finally Spring Time! Applying a Non-Uniform Hydraulic Pressure using FEMAP.
- John Parsons
- May 17
- 4 min read
Updated: May 18
It's finally stopped snowing in upstate New York; that means it's officially springtime.
I think we can all agree the best type of pool is the one that is owned by your kindly neighbor.
Let's examine the cable tension load in a high end on / above ground wooden swimming pool using FEMAP / NxNastran.

Crestwood On-Ground Pool www.crestwoodpools.com
High end, on / above ground wooden swimming pools rely on stainless steel cables to hold back the hydraulic pressure generated by the water within the pool.
Let's look at an 18 foot / 5.486 meter diameter pool that is filled with a 3.6 feet / ~1 meter of water.
As this pool is round we can take advantage of the symmetry of the pool and only look at a single board on the circumstance of the pool. The geometry for this model can be downloaded directly from this article.

Notice that the geometry has been split so that we can apply constraints and connect the cables to the solid board.
We can mesh the solid Cedar board in this model using solid linear elements, that have an Modulus of Elasticity of 884,730 psi and a Poisson's Ratio of 0.35
The cables are mesh as Rod Elements that have an Modulus of Elasticity of 2.3E7 psi and a Poisson's Ratio of 0.3.

To constrain our cross section of the pool we have:
1) Applied a X-Axis Symmetric constraint along the length of the board.
2) Applied a Z-Axis constraint to the inner edge of the board.
3) Created a new Coordinate system (Coordinate System 2) that is rotated +1.45 degrees from the global coordinate system, this new coordinate system aligns with the start of the three cables. The start or each cable is constrained in the X-Axis of Coordinate System 2.
4) Created a new Coordinate system (Coordinate System 3) that is rotated -1.45 degrees from the global coordinate system, this new coordinate system aligns with the end of the three cables. The end or each cable is constrained in the X-Axis of Coordinate System 3.

To connect our Rod Elements to our Solid Linear Elements we have added Rigid Body Elements (RBE2) using the Mesh>Connect>Closest Link command. Please note the nodes on the Rod Element were precisely located adjacent to the nodes of the Solid Linear Elements. These RBE2 Elements will be connected in all degrees of freedom except the Rz, this will allow the Rod Elements to freely expand and contract.

Now lets get to the true purpose of this article, how you fill this pool up with water, and it's significantly cheaper than paying your local municipality.
Lets make a new Coordinate System named "Fluid Loading" and place it at the water line on the pool. We can use the Load on Surface Command to apply a Pressure load on all of the surfaces below the water line. For this Pressure load we will select the Variable in the Method box. This will bring up the "Advanced Load Method" dialog box.
The variable for this Equation is based load will be "!x", this represents the distance from the origin of the Fluid Loading coordinate system in the X-Axis. We will multiply "!x" by 0.036127 the density of water in lb/in^3. Please be careful with units, this model is in inches so the units work out well, but this will not always be the case. Lastly set your Definition Coordinate System to be the newly created "Fluid Loading Coordinate System.

With a variable pressure load such as this it's best to double check to ensure it has been applied properly to the model. You can create a contour plot of the pressure load using the Model>Output>From_Load Command.

It looks like our Hydraulic Pressure load was applied correctly and our constraints appear to be grounded, so let's solve our model using the NxNastran solver.
This linear model solves in under 6 seconds.
Let's view our results.
The pool wall displaces less than 1/4 inch radially with the water load applied.
The peak Tension in the bottom most cable is 2054.2 lbf.
The Maximum Principal Stress in the Cedar board is only 370 psi.

The 1/4 inch cable that we selected for this pool is rated for a tensile load of 6,400 lbs, this cable looks like a good selection for the hydraulic pressure generated as a result of the water in the pool.
For those that are curious, I set up a similar FE-model using ANSYS. In this FE-model the board was modeled with shell elements and the connection between the cable and board was modeled with frictionless contact. The ANSYS software identified the peak tension in the bottom most cable as 2061.5 lbf, resulting in a difference of less than 0.36% from the results obtained using FEMAP / NxNastran.

Let's review what we learned.
1) The weather in upstate NY is rarely good and owning a pool may not be a great investment.
2) Applying a Hydraulic Pressure is pretty simple in FEMAP using equation based loading. (Please know there are other ways to apply non-uniform pressure loads such as Data tables and Data maps within FEMAP, we will cover this in the future.)
3) Taking advantage of symmetry and using constraints wisely can create a grounded and very efficient FE-model.
Thank you for taking the time to read this article, please let me know if you have any additional questions or have ideas for new articles in the future.
John Parsons
Analyst
MESim LLC
Comments