2.6. Example

The purpose of this example is to demonstrate how to solve a cantilevered pipe problem using standard engineering strength of materials formulations and using PSI’s finite element capabilities.

Problem

A 10 feet long, 10” schedule 40 cantilevered pipe is anchored at one end with a 1000 lbf force (P) acting on the other. Determine the tip deflection at the end with the force? What is the reaction force (R) at the fixed end?

Methodology

The deflections and reaction forces are derived using strength of materials formulations and calculated using the formulas in Figure 1.

Acceptance Criteria

  1. ASME B&PV B31.1 Power Piping Code 1967 Edition

Assumptions

  1. The pipe is made of Standard Steel with a Young’s Modulus of 2.9e7 psi.

  2. Shear deflection effects are negligible.

Inputs

  1. L = 10 ft - Pipe length

  2. E = 2.9e7 psi - Young’s modulus of pipe material

  3. P = 1000 lbf - Force applied at the end

Analysis

The applied end force results in:

  1. a downward deflection at the tip and zero deflection at the anchor point

  2. an upward reaction force and clockwise moment at the fixed end. See the internal force and moment diagram.

../_images/cantilever_diagram.png

Figure 1: Shear and Bending Moment Diagrams [1]

(1)\[ \Delta_{max} = Pl / 3EI\]
(2)\[ R = P\]
(3)\[ M_{max} = Pl\]

Where:

(4)\[I = (\pi/64)(d_o^4 - d_i^4)\]

Plugging into the formulas from Figure 1 and solving for the deflection (1), shear (2), and max moment (3) gives:

Mmax = 10000 foot * force_pound

Source Code

The PSI code listing below is used to solve the cantilevered beam pipe example above.

Code Listing
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#! /usr/bin

# parameters
L = 10 * 12

# create model
mdl = Model('demo')

# define properties
pipe1 = Pipe.from_file('pipe1', '10', '40')
mat1 = Material.from_file('mat1', 'A53A', 'B31.1')

# create geometry
pt10 = Point(10)
run20 = Run(20, L)

# assign supports
anc1 = Anchor('A1', 10)
anc1.apply([run20])

# define loads for operating case 1
w1 = Weight('W1', 1)
w1.apply([run20])

p1 = Pressure('P1', 1, 250)
p1.apply([run20])

# define a loadcase
l1 = LoadCase('l1', 'sus', [Weight, Pressure], [1, 1])

# code
b311 = B311('B31.1')
b311.apply([run20])

# run the analysis
mdl.analyze()

# postprocess
disp = Movements('r1', [l1])
disp.to_screen()

reac = Reactions('r2', [l1])
reac.to_screen()

stress = Stresses('r3', [l1])
stress.to_screen()

Results

Under Construction!

References

  1. AISC ASD 9th Edition

  2. ASME B&PV B31.1 Power Piping Code 1967 Edition