Model

Model is the class that describes the whole piping/structure geometry and loadings.

Extension *.metaL on disk. JSON format.

# Python script
from Cwantic.MetaPiping.Core import Model

metal = Model()

1. Properties

Name Type Description
Plant string Plant
Engineer string Engineer
Title string Title
Units Units System units
ZVertical bool True if Z vertical, otherwise Y vertical
CalculationCode CalculationCode Piping or Structure code
DefaultRoomTemperature float Default room temperature
DefaultOperatingDensity float Default operating density
DefaultTestDensity float Default test density
DefaultDesignCondition OperatingCondition Default design condition
ColdModulus bool True if cold modulus is used for all cases, otherwise hot modulus is used
HotAllowable bool True if allowable stress at operating temperature is used, otherwise design temperature is used
PressureStiffening bool True if pressure correction for bends
PressureElongation bool True if pressure elongation is considered for thermal expansion and test cases
SimplePressureStress bool True if simplified formula is used for pressure stress
ModalAnalysis bool True if modal extraction is performed
ModalRefCase StaticCase Young modulus used in modal extraction is evaluated at the temperature of the reference case (Hot modulus option only)
CutOffFrequency float Cut-off frequency
MassGenerationFrequency float Automatic mass point generation frequency
NbMaxModes int Maximum number of extracted mode shapes (if cut-off frequency is 0)
MassModeling int Mass modeling option (for compatibility with PIPESTRESS - field TITL/BL)
BranchModeling TeeModeling Determines how branches are modeled
BranchForcesAtSurface bool True if the branch forces and moments are taken at run surface (when allowed by the calculation code)
ThermalCyclesPerElement bool True if the equivalent number of cycles and stress reduction factor are determined at every point, otherwise the maximum stress reduction factor is used at all points
TrueTransientRange bool True if the true range of the thermal gradient stress is calculated, otherwise the range of the thermal gradient stress is determined using the sign entered in the thermal case
AlternativeKe bool If true, use Ke.meca for mechanical stresses and Ke.ther for thermal stresses as per paragraph B 3653.6 a) (RCC-M only)
Average3Sm bool If true, the average value of 3Sm for the load set pair is used in absence of mechanical loads, otherwise the lowest value of 3Sm is used (ASME only)
ResidualRunMoment ResidualRunMoment The residual run moment of tees is determined based on the sign of the moments on both sides of the run. When the loads are unsigned, this option controls how the residual moment is calculated
OutputFatigueAtAllPoints bool True if the detailed fatigue analysis is output at all points, otherwise it is only output at points where the fatigue criteria are not met
OutputEq12And13Always bool True if the value of equations 12 and 13 is always output, otherwise it is only output when equation 10 exceeds 3Sm (ASME and RCC-M only)
ExtrapolateFatigueCurves bool True if the fatigue curves are extrapolated beyond the last point
ExtrapolateCreepCurves bool True if the creep curves are extrapolated beyond the last point (RCC-MRx only)
RB3661_15 bool True if the alternative rule RB 3661.15 is used (RCC-MRx only)
ReducerModulus ReducerModulus Determines what section modulus Z and ratio D/t is used for reducers (RCC-MRx only)
RB3662_24 bool True if the alternative rule RB 3662.24 is used (RCC-MRx only)
RB3662_Relaxation bool True if relaxation is taken into account (RCC-MRx only)
SteelToConcreteRatio float Ratio of steel to concrete elastic modulus used with the rigid anchor plate method. If 0, the ratio is determined automatically
ConsistentMasses bool True if consistent mass matrices are used, otherwise lumped mass matrices are used

REM : a model must have one calculation code of type PipingCode or StructureCode.

Click here for more information about Units, OperatingCondition, TeeModeling, ResidualRunMoment and ReducerModulus

Click here for more information about CalculationCode

The class Model also provides lists of the objects contained in the piping/structure model:

Name Description
Nodes List of Node
Elements List of Element
LumpedMasses List of LumpedMass
Restraints List of Restraint
Materials List of Material
Sections List of Section
DLCSs List of DLCS (Defined Local Coordinate System)
Tees Dictionary<Node, Tee>, for piping only
UserSIFs List of UserSIF (User-defined SIF), for piping only
RestrainedNodes List of restrained nodes
Layers List of Layer
Specifications List of the specification names (string), for piping only
Joints List of Joint, for structure only
PipingCodes List of PipingCode, for piping only
DesignConditions List of OperatingCondition, for piping only
Soils List of Soil, for piping only
Links List of NodeLink, for structure only
ModalSets List of ModalSet

REM : a piping model can have multiple PipingCode for different lines but only one calculation code at a time.

Click here for more information about Node

Click here for more information about Element and Tee

Click here for more information about LumpedMass, DLCS, UserSIF, Layer, Joint, PipingCode, OperatingCondition, Soil and NodeLink

Click here for more information about Restraint

Click here for more information about Material

Click here for more information about Section

Click here for more information about ModalSet

The class Model also provides lists of load cases :

Name Description
StaticCases List of StaticCase
THFCases List of THFCase
RPrimCases List of RPrimCase
RSecCases List of RSecCase
CombiCases List of CombiCase
StressCases List of StressCase
RSpectra List of RSpectrum
ThermalCases List of ThermalCase
LoadSets List of LoadSet
ExternalCases List of ExternalCase
THFEvents List of THFEvent

Click here for more information about all Loadcase types

The class Model also provides default stiffness values (in MKS units) for restraints and spring elements :

Name Value Description
ANCH_TSTIFF 1.75e13 Translational stiffness of anchors
ANCH_RSTIFF 1.13e12 Rotational stiffness of anchors
ROTR_STIFF 1.13e12 Stiffness of rotational restraints
RSTN_STIFF 8.75e8 Stiffness of translational restraints
SNUB_STIFF 2.625e8 Stiffness of snubbers
VSUP_STIFF 8.75e8 Stiffness of variable spring hangers
VSUP_KPIN 1.75e13 Pinned stiffness of spring hangers
SPRS_TSTIFF 17.513 Translational stiffness of spring elements
SPRS_RSTIFF 0.136 Rotational stiffness of spring elements

Example of piping model (without loadings) :

Image

JSON *.metaL :

{
  "Version": 1,
  "JobNumber": 1,
  "ZVertical": true,
  "InputUnits": 0,
  "OutputUnits": 0,
  "DefaultRoomTemperature": 21.11,
  "DefaultOperatingDensity": 0.0,
  "DefaultTestDensity": 0.0,
  "ColdModulus": true,
  "HotAllowable": false,
  "PressureStiffening": false,
  "PressureElongation": false,
  "SimplePressureStress": false,
  "MassModeling": 3,
  "BranchModeling": 0,
  "BendMeshAngle": 15.0,
  "DefaultDesignCondition": {
    "Line": 15,
    "T": 21.11
  },
  "DesignConditions": [],
  "CalculationCode": {
    "Code": "8",
    "Edition": 11,
    "Target": 0
  },
  "PipingCodes": [],
  "Layers": [
    {
      "Name": "0"
    }
  ],
  "Soils": [],
  "Nodes": [
    {
      "Line": 16,
      "Name": "10",
      "Coor": "0,0,0",
      "IsCoorInput": true,
      "JointType": 2
    },
    {
      "Name": "20",
      "Coor": "0.8476,0,0",
      "JointType": 2
    },
    {
      "Name": "20-30",
      "Coor": "1,0,0"
    },
    {
      "Name": "30",
      "Coor": "1,0,0.1524",
      "JointType": 2
    },
    {
      "Name": "40",
      "Coor": "1,0,0.5",
      "JointType": 2
    },
    {
      "Line": 22,
      "Name": "60",
      "Coor": "1,0,0.65"
    },
    {
      "Name": "70",
      "Coor": "1,0.1,0.65"
    },
    {
      "Name": "50",
      "Coor": "1,0,0.8",
      "JointType": 2
    },
    {
      "Name": "80",
      "Coor": "1,0,1",
      "JointType": 2
    },
    {
      "Name": "90",
      "Coor": "1,0,1.1016",
      "JointType": 2
    },
    {
      "Name": "100",
      "Coor": "1,0,1.5",
      "JointType": 2
    }
  ],
  "Sections": [
    {
      "Line": 13,
      "Section": "PipeSection",
      "Name": "1",
      "LinearMass": 16.1,
      "Description": "4\" Sch 40-Std-40S",
      "Diameter": 0.1143,
      "Thickness": 0.0060199999999999993
    },
    {
      "Line": 14,
      "Section": "PipeSection",
      "Name": "2",
      "LinearMass": 5.44,
      "Description": "2\" Sch 40-Std-40S",
      "Diameter": 0.06032,
      "Thickness": 0.00391
    }
  ],
  "Materials": [
    {
      "Line": 2,
      "Material": "RegularMaterial",
      "Name": "100",
      "Type": 1,
      "Target": 0,
      "ThermalExpansionOption": 2,
      "RefTemperature": 21.1,
      "Density": 7850.0,
      "Poisson": 0.3,
      "MaxTemperature": 371.0,
      "Description": "SA-106 A",
      "Properties": [
        {
          "TE": 21.0,
          "EH": 202700000000.0,
          "EX": 1.152E-05,
          "SH": 94500000.0,
          "SY": 206900000.0,
          "SU": 0.0,
          "SM": 110300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 65.0,
          "EH": 200000000000.0,
          "EX": 1.188E-05,
          "SH": 94500000.0,
          "SY": 194400000.0,
          "SU": 0.0,
          "SM": 110300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 93.0,
          "EH": 198600000000.0,
          "EX": 1.206E-05,
          "SH": 94500000.0,
          "SY": 189600000.0,
          "SU": 0.0,
          "SM": 110300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 149.0,
          "EH": 195100000000.0,
          "EX": 1.242E-05,
          "SH": 94500000.0,
          "SY": 182700000.0,
          "SU": 0.0,
          "SM": 110300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 204.0,
          "EH": 192400000000.0,
          "EX": 1.278E-05,
          "SH": 94500000.0,
          "SY": 176500000.0,
          "SU": 0.0,
          "SM": 110300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 260.0,
          "EH": 188200000000.0,
          "EX": 1.314E-05,
          "SH": 94500000.0,
          "SY": 168200000.0,
          "SU": 0.0,
          "SM": 110300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 316.0,
          "EH": 182700000000.0,
          "EX": 1.332E-05,
          "SH": 94500000.0,
          "SY": 158600000.0,
          "SU": 0.0,
          "SM": 105500000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 343.0,
          "EH": 179300000000.0,
          "EX": 1.35E-05,
          "SH": 94500000.0,
          "SY": 153100000.0,
          "SU": 0.0,
          "SM": 100700000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        },
        {
          "TE": 371.0,
          "EH": 175800000000.0,
          "EX": 1.368E-05,
          "SH": 86200000.0,
          "SY": 148200000.0,
          "SU": 0.0,
          "SM": 99300000.0,
          "CR": 0.0,
          "GH": 0.0,
          "E2": 0.0,
          "CO": 0.0,
          "DI": 0.0
        }
      ]
    }
  ],
  "Elements": [
    {
      "Line": 19,
      "Element": "Pipe",
      "Node1": 0,
      "Node2": 1,
      "DL": "0.8476,0,0",
      "Material": 0,
      "Layer": 0,
      "Section": 0
    },
    {
      "Line": 20,
      "Element": "Bend",
      "Node1": 1,
      "Node2": 3,
      "DL": "0.1524,0,0.1524",
      "Material": 0,
      "Layer": 0,
      "Section": 0,
      "DL1": "0.1524,0,0",
      "DL2": "0,0,0.1524",
      "Node3": 2,
      "Radius": 0.1524,
      "Angle": 1.570796326794897
    },
    {
      "Line": 21,
      "Element": "Pipe",
      "Node1": 3,
      "Node2": 4,
      "DL": "0,0,0.3476",
      "Material": 0,
      "Layer": 0,
      "Section": 0
    },
    {
      "Line": 22,
      "Element": "Valve",
      "Node1": 4,
      "Node2": 7,
      "DL": "0,0,0.3",
      "Material": 0,
      "Label": "Valve1",
      "Layer": 0,
      "Mass": 100.0,
      "Section": 0,
      "ThicknessFactor": 3.0,
      "Type": 0,
      "PB": 5,
      "PC": 6,
      "BL": "0,0.1,0",
      "IsStemEmpty": true
    },
    {
      "Line": 23,
      "Element": "Pipe",
      "Node1": 7,
      "Node2": 8,
      "DL": "0,0,0.2",
      "Material": 0,
      "Layer": 0,
      "Section": 0
    },
    {
      "Line": 24,
      "Element": "Reducer",
      "Node1": 8,
      "Node2": 9,
      "DL": "0,0,0.1016",
      "Material": 0,
      "Layer": 0,
      "Section": 0,
      "Section2": 1
    },
    {
      "Line": 26,
      "Element": "Pipe",
      "Node1": 9,
      "Node2": 10,
      "DL": "0,0,0.3984",
      "Material": 0,
      "Layer": 0,
      "Section": 1
    }
  ],
  "Restraints": [
    {
      "Line": 17,
      "Restraint": "Anchor",
      "Node": 0,
      "AttachedElement": 0,
      "Label": "Anchor1",
      "Layer": 0
    }
  ],
  "LumpedMasses": [],
  "Tees": [],
  "DLCSs": [],
  "UserSIFs": [],
  "Specifications": [],
  "Links": [],
  "StaticCases": [],
  "THFEvents": [],
  "THFCases": [],
  "RSpectra": [],
  "RPrimCases": [],
  "RSecCases": [],
  "CombiCases": [],
  "StressCases": [],
  "ThermalCases": [],
  "LoadSets": [],
  "ExternalCases": []
}

Copyright CWANTIC