5.10. psi.loadcase

Each loadcase consists of one or many different types of loads applied to the piping system at once. For instance, the sustained case for a system without springs consists of the weight(W) case along with a pressure case(P1). Both these loads are first applied to the underlying finite element model and the solution is generated for that particular case. This is a primary load case since it is composed of primary loads.

A load combination case consists of one or more primary load cases combined using a specific combination method. The solution vectors from the primary load cases are added, subtracted, etc., in order to produce these kind of secondary load cases.

A loadcase may consist of primary loads such as Weight, Thermal, etc., or it may be a be a combination of two or more secondary (ie. result cases) combined together.

The displacement, support reactions and internal force results for the loadcase are stored internally in the load case object. Note that properties with units for different values are stored separately and combined on the fly.

5.10.1. LoadCase

class psi.loadcase.LoadCase(name, stype='sus', loadtypes=[], opercases=[])

A set of primary load cases consisting of different types of loads and the operating case the load belongs to.


Create a deadweight loadcase.

>>> w1 = Weight('w1', 1)
>>> p1 = Pressure('p1', 1)
>>> lc1 = LoadCase('lc1', 'sus', [Weight, Pressure], [1, 1])


The weight and pressure load have been defined for operating case 1.


The loads for a given case must be unique. In other words, the same load cannot be specified twice. An equality check is performed based on the load type, name and operating case it belongs to.


__init__(name, stype='sus', loadtypes=[], opercases=[])

Initialize self. See help(type(self)) for accurate signature.


property movements

Return the nodal displacement results array.

property reactions

Return the nodal reaction results array.

property forces

Return the force reaction results array.

5.10.2. LoadComb

class psi.loadcase.LoadComb(name, stype='ope', method='algebraic', loadcases=[], factors=[])

Combine primary loadcases using different combination methods.


Combinations pull stored data from loadcases on the fly and do the necessary combination operations.


A loadcase and a loadcomb are derived from the same basecase and so they have the same namespace when it comes to name.


__init__(name, stype='ope', method='algebraic', loadcases=[], factors=[])

Create a loadcomb instance.

  • name (str) – Unique name for load combination object.

  • stype (str) –

    Type of code stress. Defaults to sustained stress.

    • HGR - Hanger load case

    • HYD - Hydro load case

    • SUS - Sustained stress case

    • EXP - Thermal expansion stress.case

    • OCC - Occasional stress case

    • OPE - Operating stress case

    • FAT - Fatigue stress case

  • method (str) –

    Result combination method.

    • Algebriac - Disp/force results added vectorially. Stresses are derived from the vectorially added force results.

    • Scalar - Disp/force results added vectorially similar to the algebraic method. Stresses are added together.

    • SRSS - Square root of the sum squared. Direction independant.

    • Abs - Absolute summation.

    • Signmax - Signed max.

    • Signmin - Signed min.

  • loadcases (list of loadcases.) – List of load cases.

  • factors (list of numbers.) –

    A list of factors corresponding to each loadcase.


    If a factor is not given, a default value of 1 is used. Also, the number of factors must match the number of loadcases.


property movements

Return the combined nodal displacement array.

property reactions

Return the combined nodal reaction array.

property forces

Return the combined nodal forces array.

5.10.3. LoadCaseContainer

class psi.loadcase.LoadCaseContainer