5.6. psi.sections

5.6.1. Pipe

class psi.sections.Pipe(name, od, thk, corra=None, milltol=None)

Methods

__init__(name, od, thk, corra=None, milltol=None)

Create a pipe object.

Parameters
  • name (str) – Unique name for pipe instance.

  • od (float) – Actual outer diameter of pipe, not to be confused with the nomimal od. Note that for 14 inch pipe and above, the actual and nominal diameters are the same.

  • thk (float) – Pipe wall thickness, ie. the nominal thickness.

  • corro (float) –

    Corrosion allowance (CA).

    For systems that transport corrosive substances, the pipe wall may errode over the course of time. Typically, this type of corrosion is added on when the minimum design thickness is determined for pressure retention. Systems that experience significant corrosion are far more prone to fatigue related failures. A typical value for CA is 0.062 inches for piping.

  • milltol (float) –

    Mill tolerance.

    When a mandrel is pushed through a hot billet to create the “hole” in a seamless pipe, a variation in thickness may occur if the mandrel is off-course. This tolerance, which is (+/-) 12.5% is typically accounted for in the min wall calculation per the applicable piping code so the user need not put in a value unless otherwise required. It does not apply to welded pipes which need to consider the weld joint efficiency factor since steel plates are easier to manufacture with high accuracy.

    The specified mill tolerance is typically used to calculate the hoop stress of the pipe depending on the code and has not bearing on the stiffeness calculation of the element.

    Similarly to the corrosion allowable, the milltol is accounted for when the minimum pipe wall calculations are performed. Therefore, by default both the CA and milltol values are set to None.

Example

Create a 10” schedule 40 pipe and activate the section.

>>> p1 = Pipe("p1", 10.75, 0.365)
classmethod from_file(name, nps, sch, corra=None, milltol=None, fname=None, default_units='english')

Create a pipe object from a csv data file.

Parameters
  • name (str) – Unique name for pipe object.

  • nps (str) – Nominal pipe size.

  • sch (str) – Pipe schedule designation.

  • corro (float) – Corrosion allowance.

  • milltol (float) – Mill tolerance. Enter the percent value such as 12.5.

  • fname (str) – Full path to the csv data file used to do the lookup.

  • default_units (str) – The units used for the data. Must be one of the units defined in the psi.UNITS_DIRECTORY path.

Example

Create a 10” schedule 40 pipe and activate the section.

>>> p1 = Pipe.from_file("p1", "10", "40")

Attributes

thke

The effective wall thickness used for stress calcultions when the corrosion allowance and mill tolerance are taken into consideration. Both the pressure and bending stresses are affected, if the code calls for it. For example B31.1 does not require for the reduced effective thickness be used for stress calculation.

Only used for code stress calculations and as a result will generate higher stresses. The reduced wall is not used for pipe weight or stiffness calculations, since a lighter and more flexible wall will result in lower loads and ultimately give less conservative stress values. In other words, the actual thickness is used for the moment of inertia and area of pipe formulations.

Depending on the code, the mill tolerance may be included for hoop stress calculation only to ensure the proper min wall was specified by the designer.

nps

The nominal pipe diameter is used to determine the bend radius for a pipe bend.

Note that the actual and nominal diameter are the same number for 14 inch pipe and large.

id_

The pipe inner diameter, not to be confused with the object id.

area

Cross sectional area of the pipe.

izz

Area moment of inertia about the local z-z axis. The horizontal bending axis.

iyy

Area moment of inertia about the local y-y axis. The vertical bending axis.

ixx

Polar moment of inertia about the longitudinal local x-axis

is_thin_wall

Check to see if the pipe is thin wall.

Per the applicable code, the pipe pressure will influence the stiffness of a thin wall pipe. This is usually taken into account by modifying the flexibility factor of the element matrix by a pressure factor.

If the od to thk ratio of a pipe is greater than 100 then the code computed sifs and flexibility factors no longer apply. This is usually true of large diameter duct piping, for which local effects have a significant influence on the overall behavior of the pipe and results.

is_heavy_wall

Check to determine if the pipe is heavy wall.

Pipes with a diameter to thickness ratio less than 10 are considered having heavy walls.

is_large_bore

Pipe sizes larger than 2” are considered large bore.

d2t

The D/t ratio of the section.

If a pipe has a D/t ratio of larger than 100 it behaves more like a shell than a beam.

Code based SIF and flexibility factors do not apply for D/t ratios above 100 due to limitations in the testing performed by Markl and company.

5.6.2. SectionContainer

class psi.sections.SectionContainer

Methods

apply(inst, elements=None)

Apply a section to elements.

Parameters
  • inst (Section) – An instance of a section.

  • elements (List of Elements) –

    A list of elements.

    Note

    If elements is None, the active set of elements is used.

Example

Create a 10” schedule 40 pipe and assign it to all active elements.

>>> p1 = Pipe.from_file("p1", "10", "40")
>>> sections.apply(p1)