### The Nuts and Bolts of Stress Linearization

#### The Nuts and Bolts of Stress Linearization

File: 1844, Last Updated: March 2012, LB

### Why classify stresses?

The ASME pressure vessel code is based on the observed safety of vessels. It is a real world working standard – its roots were born of failed vessels and dead operators in an era long before concepts like stress concentrations were even known. At its birth theory ran out when items got more complex than cylinders and spheres.

When rules were required for items like flanged and dished heads, models and full sized vessels were made and tested. The observations were turned into design rules. Vessels became safer through their efforts – but why did they work?

Later generations of vessel engineers developed magical tools like finite element analysis that allowed them to see stresses inside vessel components. They had to learn why we got away with weird rules like area replacement on nozzles. Different types of stresses were found to have different safety implications. Also, the location of the stress was very important.

They observed that a bending stress is less dangerous than a membrane stress – it is allowed to be 1.5x higher in VIII-1. Local stresses around nozzles or transitions could be higher than global stresses – sometimes 2x as high, depending on the location and cause. They wrote the VIII-2 rules and developed the stress linearization method.

More decades have passed. Finite element analysis is no longer a magical tool hiding in research labs. Many engineers and technologists now have access to it. But analyzing the stresses found in a pressure vessel is still a difficult task. Running a finite element model and looking for the highest stresses is not adequate.

This article is a guide to how the stress linearization tool works to separate stresses into membrane and bending. Examples are provided along with sample data and a spreadsheet based stress linearization tool. The programming code is explained in the appendixes and can be examined in the spreadsheet.

This article does not discuss whether the stresses are local or global and which allowable stresses should be used for where. This is a topic for a later article.

### The Stress Classification Line

A Stress Classification Line or SCL is a straight line running from the inside to outside of a vessel. It is perpendicular to both the inside and outside surfaces. Finite Element Analysis provides the raw stress data at nodes along this line. The stress linearization tool takes the nodal data for the complex stress pattern found along this line and breaks it down into components:

**Membrane** – or average stress – always positive. You can not tell from stress classification whether the average stress is compressive or tension. This is the same problem as looking at Tresca or von-Mises plots. Magnitudes are provided but directions are missing. The membrane stress is usually equal to the code allowable stress for global areas and 1.5 as much for local areas.

**Bending** – is the difference in stress from inside to outside – always positive (a better definition follows).

**Membrane + Bending** – sum of the above two numbers – The ASME code allows the membrane + bending stress to be higher than the membrane only. In some local locations, the membrane + bending stress can be higher than the yield point for the material.

**Peak** – or highest stress found along the line. This is also always positive but not necessarily higher than the membrane + bending number. Peak stress is usually used to determine the fatigue life at the SCL.

ASME VIII-2 chart Figure 5.1 provides a guide to what the maximum allowed stresses are allowed for different locations. The combination of this chart and the output from the stress classification tool can be used to produce pass fail judgments on the component under study.

Warning – Figure 5.1 provides pass/fail criteria on vessel design, however thought is still required! Have the critical areas of the vessel been studied? Is the failure mechanism understood – some mechanisms such as snap through or external pressure buckling will not be detected by this analysis tool.

### Example – Stress Classification at Work

This spherical head has a heavy nozzle full penetration welded into its crown. To know if the design is adequate, the membrane and membrane + bending stresses are required. A 5° slice of the model will represent the whole head. The slice has a split line near the weld to ensure that when meshed, the nodes at this location line up straight – the Stress Classification Line.

The utility determined the membrane, bending, membrane + bending and peak stresses along the SCL. The membrane and membrane + bending stresses have been compared with the code allowed limits. The complex stresses found in the finite model have been reduced to pass/fail criteria.

It can also be seen that the stress classification line did not pass through the area of highest stresses – the user repeated the analysis through a higher stress area – see the following page.

Some Stress Linearization utilities can interpolate data through areas where no nodes are found – no split lines are required. Where to put the split lines and how to interpret the results are not in the scope of this report – this report is concerned with how the stress linearization utility works.

### How does Stress Linearization work?

What is happening under the hood when your stress linearization utility presents results? (Per ASME VIII-2 5.A.4 or “Stress Integration Method”) A spreadsheet stress linearization utility is attached that allows you to try this for your self.

#### Step 0 – Prepare the Model

The model might not provide nodes at the location where they are required. They might not exist, or the nodes might not line up in a straight line. In this case, the user splits the model to provide a line where a row of nodes stretching from the inside to the outside of the model.

The required location of the line might not be known until the model is run. Multiple lines might be required (Some programs provide tools to extract data where there are no nodes and without splitting models).

Caution – splitting a model to create stress classification locations can increase the number of surfaces with force loads. The forces that might be correct before the split can now be too large. Don’t forget to re-check your reaction force balances after spitting a model!

#### Step 1 – Import Data From a Finite Analysis Run

The FEA program exports results for each node in the model. When using high order elements, intermediated nodes are also generated. The required data is:

- The location of the node – (x, y, z) in the models global coordinate system
- The 6 stresses at each node – (Sx, Sy, Sz and shear Txy, Txz, Tyz).

The FEA program solves for the above stresses, but usually translates the results into vonMises or Tresca results which are more commonly viewed.

The utility included with this report is written to import data from Cosomos Designer. The code can be viewed by pressing Alt+F11 in Excel. It is up to the user to translate it to read other FEA outputs.

#### Step 2 – Order the Data

The data will probably be imported in nodal order. The program needs to arrange the nodes on the SCL from inside to outside. The stress linearization tool will determine the ends of the line, and sort the nodes between them.

The program finds the maximum and minimum x, y and z coordinates and decides which end will be the start (end i or inside) and which the finish (end j or outside). Usually the node closest to (0,0,0) is the start end (or end i). The distance from i to j is the length of the stress classification line or t. Half way between i and j is the center of the line.

Caution – the program might not order the data in the direction that you were expecting. If you are looking at graphical results, the stress classification line results might be the reverse of what was expected. Know which end of the line matches the inside of your vessel (coordinates for the lines can be found below the graph)…

The sample utility included with this report has a box that allows the direction of the line in the graph to be reversed (normal or reverse) – note: which end is chosen as end i or j has no impact on the calculated results.

#### Step 3 – Translate the Stresses to Local Coordinates

When the data is imported, 6 stress components are read for each node on the SCL. The stress components are aligned with the global coordinate system of the model. The data for each node needs to be translated along the line ij. Instead of directions x, y and z, we now have N, T and H.

Theoretically, N stands for Normal, T Tangential and H Hoop stress directions. However, when the program reads and translates the data, the only guaranty is that the tangential stress is aligned to the SCL running from ij and N and T are at 90 degrees to it and each other.

Step 3b – Interpolate the Data Points

This utility uses cubic splines to interpolate more data points along the SCL. 71 equally spaced nodes are used to reduce integration errors caused by too few data points. See Appendix 3.

#### Step 4 – Calculate the Membrane Stress: Pm

The distance between each node along the SCL is the dimension dx. dx usually varies between nodes depending on how the model is meshed. Sum (integrate) dx*Sn over the length of the SCL from i to j. Repeat for each of the other 5 local stress components. This produces 6 stress components (Snm, Stm, Shm, Tntm, Tnhm, Thtm). These 6 components are either fed into a Tresca routine (ASME VIII-2 2006 edition) or von Mises (ASME VIII-2 2007 edition). The output is a single value for the membrane stress.

**Note** – von Mises stresses can be 85% to 100% of the reported Tresca stress for the same input data. Von Mises stress criteria of VIII-2 2007 edition is less conservative than the 2006 Tresca criteria.

The membrane stress (and other intermediate stresses) can be found to the right of the output section of the sheet.

#### Step 5a – Calculate the Bending Stress: Pb

The bending component is perpendicular to the SCL. Only components Sn, Sh and Tnt are perpendicular to the line running from i to j. The program integrates the “linear varying portion” of these stresses along the line and produces Snb, Shb and Tnhb bending components. See the section “IntegrateMembraneAndBendingStress” in the code to see how the membrane and bending components are calculated.

The utility uses the three components to calculate the bending only stress.

The Pb stress has no real application in pressure vessels on its own. The code rules for determining the acceptability of stresses refer to membrane + bending stress…

#### Step 5b – Calculate the Bending + Membrane Stress: Pm + Pb

The membrane + Bending stress needs to be calculated for each end of the SCL.

The end with the larger stress is reported. The utility included with this report interpolates the membrane + bending stress from i to j.

#### Step 6 – Calculate the Peak Stress

The actual stress at each node is known from step 3. The SCL utility calculates and plots the von Mises or the Tresca stress for each node. The peak stress is simply the highest calculated stress along the line from i to j.

Note: The peak stress can be higher or lower than the membrane + bending stress. Two pages follow – in the first, the peak stress in a wide flange beam under bending load is slightly less than the membrane + bending stress. In the second, the peak stress in a heavy wall pipe is much higher than the membrane + bending stress.

Note – the Pm and Pm+Pb stress is used to determine if the stress is below the code allowed limits and for cycle life calculation. Peak stress is not normally used.

#### Step 7 – Show the Shear Stress at Each Node (A Step for the User, Not the Utility)

The shear stress can be used to judge the quality of the SCL. For many pressure vessel applications, the shear stress is expected to be zero at the inner and outer surface of a pressure vessel. The following 2 examples show an SCL firstly perpendicular to the surface and in the second example slanted. The components of shear in the second example are clearly not zero at each end.

For this very simple example, the shear stresses could be used to pick between a good SCL and a bad one. Some locations on a vessel have surface shear stresses so this rule will not always work.

#### Step 8 (Also a Step for the User!) – Study the Results…

…and think about it. The SCL utility is just a tool – use your brain!

### App. 1: Finding Endpoints of the Stress Classification Line (SCL)

The data is imported from the FEA program in nodal order. The nodal order has no relation to the order that the elements are needed for analysis. The nodes must be arranged from inside (i) of the model to outside (j). The endpoints have to be found, and the nodes ranked from i to j.

This utility sorts the imported nodes to find the two nodes with the largest distance from all the other imported nodes. These nodes are the endpoints i and j. The node closer to the origin is assigned as i.

Note: the use of i as the inside and j as the outside is an arbitrary but convenient notation. Identical results will be obtained if i and j are reversed.

See the routine ChooseNodeij for more details. This routine can handle distorted stress classification lines and individual nodes that are located off the true SCL. Curved SCLs could also be used.

### App. 2: Routines for von Mises and Tresca Stress (VBA)

These routines are programmed into the sample excel spreadsheets. Von Mises is easy. Tresca is bear involving finding the principle stresses (Mohr’s circle). Look for the routines VonMisesStress and TrescaStress

### App. 3: Integration Method

The quality of results obtained from stress classification are strongly dependent upon the number of nodes found on the SCL. When insufficient nodes are present, the linearization tool will typically over-report the membrane and the membrane+ bending stress.

The above membrane stress data is from the thick walled pipe sample. The stress linearization utility included with this report uses 71 node cubic spline interpolation along the imported SCL data. This original data set has 17 nodes from i to j. In the above graph, nodes are dropped from the data set to produce SCLs with 17, 9, 5, 3 and 2 nodes. Without interpolation 9 nodes are required to reduce the error level to below 5%. With cubic spline interpolation, this level of accuracy is reached with about 4-5 nodes. The more complex the stress pattern, the more pronounced the effect.

Typically the stresses in an object are highest at the surface. This effect causes the linearization tool to over-report stresses in the middle of the object when insufficient nodes are used. The end result is reported membrane and bending stresses that are higher than actual.

This is only one cause of bad results with few nodes. The other is the integration mathematics. Bending stresses calculations use both the distance from the center of the line and the magnitude at the point. These calculations are more accurate as the distance between points is decreased. Doubling the amount of data points on a SCL by simple linear interpolation between each given point increases the accuracy of the results. Using spline interpolation is better. For this utility 71 nodes are used to provide good quality graphs.

Here the results are shown for the same thick walled pipe sample. 17 nodes are read from the SCL. Cubic spline interpolation is used to setup new evenly spaced nodes along the line. The error from integration drops to less than 1% at 17 nodes. This error occurs for complex or simple stress patterns. Interpolation increases the accuracy of results.

71 nodes are used in the sample program. This corresponds to an expected integration error of 0.04% and provides plenty of nodes for a good graphing. An odd number of nodes are used to provide a middle node for the M+B graph. This same result using linear instead of cubic spline interpolation requires about 500 interpolated nodes.

### Download:

- Stress Linearization Utility (xlsm) – version 2.36 (March 2012) – Important update to fix SolidWorks Simulation file format change.

### Stress Classification Lines (SCL) – Passing Through Areas of Very High Error

#### Stress Classification Lines (SCL) – Passing Through Areas of Very High Error

File: PVE-3277, Last Updated: Feb 2009, By:LB, Update Sept 14 2016 LB

### Summary

Stresses at sharp corners rise towards infinity as the mesh size is reduced. However the forces have to balance in a Finite Element model regardless of the mesh size used. In these studies SCL (Stress Classification Line) results are compared a different mesh sizes. This report shows that it is possible to take stress classification lines through these areas of peak stress and get ultimate stresses – however the results will not be as expected.

Two studies are shown. In Study 1, the SCL passes between 2 sharp corners. The stress classification method produces results that do not vary as the mesh is refined. However, it misses the magnitude of the membrane and reports no bending stress. This is a limitation of the stress classification method.

In study 2, the SCL passes through only one sharp corner. This study shows results that converge to a finite value. Again, the reported membrane stress is less than expected.

Sharp corners exist in pressure vessels, and produce high stresses in those locations. We rely on the pressure vessel being built from ductile materials reducing the corner stresses from infinity to the material yield point. Where possible, removing the sharp corners removes peak stresses. When this can not be done, the SCL is the tool used to report the stress in a manner consistent with code rules.

### Study 1 – High Error on Both Ends

#### Conclusions for Study 1:

1) Although SCL 1 passes through 2 areas of theoretical infinite stress, and resulting high error, the SCL results are practically unchanged as the mesh is refined. Although the stresses are rising at the ends of the SCL at points that are approaching infinity, these high stresses are affecting increasingly smaller element areas and are having smaller impacts. The end result is constant reported Membrane and Membrane + Bending results.

2) The reported membrane stress for SCL 1 is less than for SCL 2. The expected answer is that the membrane stress is the same for both lines – 333 psi. For SCL 1, shear stress Tnt provides a large component of the stress. This stress is positive at one end of the SCL and negative at the other. The membrane stress is calculated by averaging these stresses over the length of the line, so Tnt makes no contribution.

The stresses at both ends of SCL 1 increase. They are not alternating (increasing on one end, decreasing on the other) as is found in a bending stress. The SCL tool does not see these stresses as being a bending stress because they are not alternating.

The results are not as expected for SCL 1 – this is a limitation of the stress classification method. Stress classification lines should not be run between 2 sharp corners.

### Study 2 – High Error on One End Only

The shape from study 1 is cut in half for this next study. SCL 1 runs from a sharp corner to a smooth surface. Identical stress classification locations are used.

#### Conclusions for Study 2:

1) SCL 1 which passes through an area of theoretical infinite stress reports increasing Membrane and Membrane + Bending results as the mesh is refined. However, these reported results converge to fixed, not infinite values. Ultimate stresses at zero mesh size can be extrapolated for the Membrane and the Membrane + Bending stresses. The ultimate membrane stress is less than the 333 psi expected because some of the stress is interpreted as bending.

2) Avoiding the areas of high error on one end of an SCL is desired if possible.

### Origins of the ASME Fatigue Life Curves Post

#### Origins of the ASME Fatigue Life Curves Post

How do ASME permissible fatigue curves compare to actual fatigue life results? Can they be used to predict the expected life of equipment?

The graph below is the original data used to create the ASME permissible fatigue life curve for carbon steel alloys[1,2,3]. The black line is the best fit curve though the original data points. I traced the Table 3.F.1 permissible cycle life stress values, the red line, onto the original graph.

The ASME permissible curve is obtained from the original data by adding the following factors of safety: Each point on the ASME line is either 1/2 the value of the original curve above it, or 1/20th the cycle life to the right [Ref 1, page 19]. See the green markups below:

The 20x safety factor on cycles equals (2x for data scatter) x (2.5x for size effects) x (4x for surface finish and environment) [Ref 1, page 37]. The actual data for the point chosen above – 110 permissible cycles at 200,000 psi has stress divided by 4 (800,000 psi on the graph) and cycles divided by 26 (2860 cycles) – much more conservative than the guideline. Further, when dealing with welds, an additional factor of up to 4x is removed from the permissible cycle life to account for increased stresses inside the weld [4].

These ASME curves are not useful for predicting the cycle life of equipment. They are used to specify a permissible design life which includes a large factor of safety.

[File: PVE-5522, Last Updated: Aug. 21, 2012, LRB]

References:

[1]Fatigue Design of Process Equipment, ASME Plant Engineering & Maintenance Technical Chapter, March 12, 2009, Chris Hinnant, Paulin Research Group, Houston, TX www.paulin.com . See pages 20 and 37

[2]STP770 – Low-Cycle Fatigue and Life Prediction, Amzallag C, Leis BN, Rabbe P, Published: 1982 www.astm.org

[3]”Code Design and Evaluation for Cyclic Loading – Sections III and VIII” ASME.org

[4]ASME VIII-2 2010 ed., 2011 add. Table 5.11 – Weld Surface Fatigue-Strength-Reduction Factors

### Simplification of FEA by Symmetry

#### Simplification of FEA by Symmetry

File: NA, Last Updated: N/A, By:LB

For irregular geometry, classical B31.3 rules cannot be applied. As a result, a Finite Element Analysis (FEA) is required, meeting ASME VIII-2 guidelines as permitted by B31.3.

A special thanks to Ultraflo Corporation, #8 Trautman Ind. Dr. Ste. Genevieve, MO for allowing use of their valve geometry for this exercise.

(Note: the stress results show do not represent actual stresses under operating conditions, arbitrary loadings were applied and arbitrary stresses are shown.)

### Finite Element Analysis Reaction Forces

#### Finite Element Analysis Reaction Forces

File: PVE-3179, Last Updated: Jan. 22, 2009, By: BV

Reaction forces are the resulting loads seen at the restraints of a model being analyzed. They can be used to ensure an analysis is restrained from rigid body motion, and is static or in balance. The reaction forces are equal and opposite to the sum of the applied loads.

This report shows typical methods used for restraining models and compares the resulting displacement and stresses of identical models both in balance and out of balance for two different FEA models.

#### Example #1: F&D Head – 15 Degree Swept Model (Checking Static Condition)

**Theoretical Reaction Force Components:**

X Reaction = -75,340.8 lb

Y Reaction = -78,079.2 lb

Z Reaction = -9,919.2 lb

Note: Component directions are generated by inspection of the pressure

Theoretical Resultant = SQRT ((-75,340.8 lb)^2 + (-78,079.2 lb)^2 + (-9,919.2 lb)^2)

Theoretical Resultant = 108,954 lb

Actual Reaction Force Components:X Reaction = -75,344 lb Y Reaction = -78,075 lb Z Reaction = -9,922 lb Actual Resultant = SQRT ((-75,344 lb)^2 + (-78,075 lb)^2 + (-9,922 lb)^2) Actual Resultant = 108,950 lbError Calculation:Error = ((Resultant Theoretical - Resultant Actual) / Resultant Actual) * 100% Error = ((108,954 lb - 108,950 lb) / 108,950 lb) * 100% Error = 0.00%

From the error calculation we can see that the actual results fall within 2% of the theoretical results. This criteria determines if a model is acceptable for analysis of stresses and displacements.

#### Example #2: Hydraulic Manifold Block

The hydraulic manifold block used in this example demonstrates how an out of balance model affects model displacement and stress results.

Three different methods of checking the model balance (unexpected displacement, unexpected stress and out of balance reactions) have all indicated the same thing: this model can not be used as is.

Reaction per Port = (0.864 in^2) * (300 lb/in^2) = 259.276 lb

Often the magnitude of the reaction force can be used to determine what is causing the imbalance.

Theoretical Reaction Summary:

Reaction X = 1008 lb

Reaction Y = Force Applied – Force Due to Exit Pressure

Reaction Y = 3 Ports * (259 lb -259 lb)

Reaction Y = 0

Reaction Z = 0

Theoretical Resultant = SQRT ((1008 lb)^2 + (0 lb)^2 + (0 lb)^2)

Theoretical Resultant = 1008 lb

**Actual Reaction Force Components:
**X Reaction = 1009.6 lb

Y Reaction = -4.03 lb

Z Reaction = -3.47 lb

Actual Resultant = SQRT ((1009.6 lb)^2 + (-4.03 lb)^2 + (-3.47 lb)^2)

Actual Resultant = 1009.6 lb

**Error Calculation:**

Error = ((Resultant Theoretical – Resultant Actual) / Resultant Actual) * 100%

Error = ((1008 lb – 1009.6 lb) / 1009.6 lb) * 100%

Error = -0.16 %

From the error calculation we can see that the actual results fall within 2% of the theoretical results. This model is in balance and can be used to calculate displacements and stresses.

### Summary

Checking the model balance is an important step for verifying that all loads are acting upon restraints correctly. An out of balanced model provides invalid result that cannot be used.

### Why Use 2nd Order Integration Elements?

#### Why Use 2nd Order Integration Elements?

This is part of a series of articles that examines the ABSA (Alberta Boilers Safety Association) requirements on writing FEA reports. These guidelines can be found at: ABSA Requirements. The use of 2nd or higher order elements is one of the requirements.

Pressure Vessel Engineering uses SolidWorks Simulation for Finite Element Analysis. It is expected that these results would also be applicable to other FEA programs.

#### Why use 2nd Order Integration Elements?

- Because ABSA tells us to?
- Because that is the default Cosmos Designer Setting?

1st Order integration is found in the Mesh Options box under quality. The Draft option produces first order elements. High option produces 2nd order or higher – the default option. Integration beyond 2nd degree has to be chosen through the analysis properties window. 2nd order is the highest order available for shell elements.

#### Problem 1 – Shell Elements in Tension

Which elements will produce better results for a simple tension load? The sample problem below is worked out in both 1st and 2nd order elements.

For this problem with a simple stress distribution, both the 1st and 2nd order elements produce excellent results as the mesh changed from 1/4 to 1/16″ size.

#### Problem 2 – Shell Elements in Bending

Using the same model from sample #1, the 1 lb tension load is changed to a 1 lb sideways or bending load. The moment of inertia is bh^3/12 = 1/12 in^4. The distance from neutral axis is 0.5″. The moment at the sample point is 3 in*lbs . The expected stress at the sample point is Mc/I = 3*0.5/(1/12) = 18 psi.

The stress pattern in this bar is a simple linear distribution – but the 1st order elements do a lousy job of representing it. The second order elements did a good job, even at the coarsest mesh size.

The reported error in all cases is much higher than the real error. For example the reported stress for the 1st degree elements at 1/4″ mesh is 16.5131 psi, theoretical stress is 18 psi. The real error is 8.3%, but it is reported at 21.8%. This over estimation is true for all the reported errors.

#### Problem 3 – Complex Stress in Shell Elements

Simple uniform or linearly varying stresses do not often show up in real world FEA problems. How do the 1st and 2nd order elements handle more complex stress patterns?

The 1st and 2nd order elements are both converging to the same stress value. The 2nd order models are getting to the end value much faster. The 2nd order result was obtained at 1/8″ mesh size when the error was reported at 2%. The 1st order elements have not got there at 1/32″ – and the reported error is above 2%. From the COSMOSWorks help files:

It is highly recommended to use the

Highquality option for final results and for models with curved geometry. Draft quality meshing can be used for quick evaluation.

The degree of freedom of the model is related to the computer resources required to solve the problem. In this case, the 1st order model did not reach the result with a DOF of 18,000, but the 2nd order study got there by DOF = 4,800, a much better use of computer resources and users time.

#### Solid Models

The same mesh quality issues apply to 3D as to the previous 2D studies. Here is a part with a round hole. With a coarse mesh size, the 1st order model only slightly looks round. The second order results look much better.

#### Why use 2nd Order Integration Elements?

- Because ABSA tells us to?
- Because that is the default Cosmos Designer Setting?
- Because 2nd order elements do a better job of capturing the surface details.
- Because 2nd order elements do a better job of calculating complex stresses.
- Because 2nd order elements required fewer computer resources.

### Large Displacement Solutions

#### Large Displacement Solutions

File: PVE-4048, Last Updated: March 2010, By: LB

This solar reflector uses a vacuum to pull the front and back surfaces together to focus the reflective surface. The deflected surface shape can be calculated using FEA, but the correct shape can only be computed with large deflection theory.

For this sample, a 0.064″ thick 16ft diameter stainless steel reflector is focused with a 0.1 psi vacuum. This reflector is studied first with linear theory:

What went wrong? The linear theory assumes that the stiffness of the reflector does not change as its shape changes. As a result the only stress computed is a flat panel bending stress. In reality, the application of the vacuum changes the shape from flat to spherical. After a very small deflection, the membrane stress in the deflected spherical shape is much higher than any bending stress.

SolidWorks Simulation suggests using large displacement theory to solve the problem:

From the SolidWorks Simulation help files:

The linear theory assumes small displacements… This approach may lead to inaccurate results or convergence difficulties in cases where these assumptions are not valid… The large displacement solution is needed when the acquired deformation alters the stiffness (ability of the structure to resist loads) significantly… The large displacement solution assumes that the stiffness changes during loading so it applies the load in steps and updates the stiffness for each solution step.

This perfectly describes this reflector. The application of a very small vacuum changes the shape from a flat plate to a curved shape. The correct analysis is membrane not bending.

SolidWorks Simulation applies the pressure in steps. The stiffness of the membrane is recalculated after each step. The large displacement solution takes a lot longer to run.

Membrane stresses – the stresses are approximately those of a sphere (where the stress would be uniform across the whole surface).

A plot of the actual deflection vs the deflection for a true sphere shows that the shape is not truly spherical, which matches the membrane stress plot which shows a non uniform stress distribution. The linear theory plot is different in shape and magnitude.

The SolidWorks Simulation help file has useful information on using large displacement solutions.

### Error Plots – Bolt Heads and Surface to Surface Contacts

#### Error Plots – Bolt Heads and Surface to Surface Contacts

File: PVE-3179, Last Updated: Dec. 13, 2008, By: LRB

#### Summary

Error plots show how well the complexity of a mesh matches the complexity of the deflections in a model. Once the mesh complexity matches the model complexity the reported error is low. As a guideline, Pressure Vessel Engineering uses 5% error as an acceptance criterion.

It is possible to get stresses below 5% in general vessel areas by applying an appropriate mesh size. This report covers two areas where the error cannot be lowered to reach this acceptance criteria regardless of the mesh size used. These areas are: 1) stresses in and around the head of a bolt and 2) stresses at surface to surface contacts.

Other areas also exist in pressure vessels where mesh refinement can not be used to reduce errors to this 5% acceptance level. These areas: weld fillets, diameter transitions, nozzles, flanges and support legs and lug attachements are beyond the scope of this article.

#### Example:

ASME VIII-2 (2287 Ed.) sets the stress limits for bolts at locations away from the stress concentrations.

VIII-2 5.7.2(a):The maximum value of service stress, averaged across the bolt cross section and neglecting stress concentrations, shall not exceed two time the allowable stress values in paragraph 3.A.2.2. of annex 3.A

VIII-2 5.7.2(b):The maximum value of service stress, except as restricted by paragraph 5.7.3.1(b) [fatigue assessment of bolts] at the periphery of the bolt cross section resulting from direct tension plus bending and neglecting stress concentrations shall not exceed three times the allowable stress values in paragraph 3.A.2 of Annex 3.A

The bolts are studied at some location other than under the head. Large stresses concentrations are also created at the location where the bolt threads into its parent material (not shown in this model). This area will also show a high indicated error.

### FEA Submission Requirements

#### FEA Submission Requirements

Last Updated: Aug 19 2015, By: LRB

The requirements for FEA reports are outlined in CSA B51-14 annex J “Annex J (normative) Requirements regarding the use of finite element analysis (FEA) to support a pressure equipment design submission”. These requirements are mandatory to B51, but not universally accepted across Canada. At this date (Aug 2015) Alberta reviews are still done to ABSA AB-520, a similar but not identical document. Some extracts from the B51 standard are included in italics below.

#### J.1 General

This analysis method requires extensive knowledge of, and experience with, pressure equipment design, FEA fundamentals, and the FEA software involved. The FEA software selected by the designer shall be applicable for pressure equipment design.

FEA programs are physics engines. We have found that any of the main commercially available programs are suitable for pressure vessel analysis. In particular we use SolidWorks Simulation and ABACUS, but others also work.

#### J.2 Submission requirements

FEA may be used to support pressure equipment design where the configuration is not covered by the available rules in the ASME Code. The designer should check with the regulatory authority to confirm that use of FEA is acceptable. When this method is used to justify code compliance of the design, the requirements in Clauses J.3 to J.10 shall be met.

In general we find it acceptable to use FEA for design of non code items or portions of items. It is important to include code calculations for those portions of the vessel that are code calculable. On rare occasions a product is forced to be re-designed so that regular code sections can be used. This is discussed further here.

#### J.3 Special design requirement

The FEA analysis and reports shall be completed by individuals knowledgeable in and experienced with FEA methods. The FEA report shall be certified by a professional engineer.

We sometimes get asked to provide a report of our experience. See our Contacts page where we have posted qualification resumes for our review engineers. For example, the resumes of Ben, Cameron and Matt

have been written to present qualifications for performing FEA and reviewing FEA reports.

For the sections J.4 through J.10 we refer to sample reports found in our FEA samples section. These reports are written to meet this or various previous provincial guidelines. Beyond this CSA guideline, our sample reports are also modified to answer common questions from CRN review engineers and customers.

#### J.4 Report executive summary

The FEA report shall contain an executive summary briefly describing how the FEA is being used to support the design, the FEA model used, the results of the FEA, the accuracy of the FEA results, the validation of the results, and the conclusions relating to the FEA results supporting the design submitted for registration.

#### J.5 Report introduction

The report introduction shall describe the scope of the FEA analysis relating to the design, the justification for using FEA to support the design calculations, the FEA software used for the analysis, the type of FEA analysis (static, dynamic, elastic, plastic, small deformations, large deformations, etc.), a complete description of the material properties used in the analysis, and the assumptions used for the FEA modelling.

#### J.6 Model description

#### J.6.1

The report shall include a section describing the FEA model used for the analysis. The description shall include dimensional information and/or drawings relating the model geometry to the actual pressure equipment geometry. Simplification of geometry shall be explained and justified as appropriate. The mesh and type (h, p, 2D, 3D), shape, degrees of freedom, and order (2nd order or above) of the elements used shall be described. If different types of elements (mixed meshes) are used, a description of how the different elements were connected together shall be included. When shell elements are being used, a description of the top or bottom orientation with plots of the elements shall be included and shall indicate if they are thick or thin elements.

#### J.6.2

The model description shall include a list of all assumptions.

#### J.6.3

The turn angle of each element used on inside fillet radii shall be indicated.

The turn angle is simply the number of elements it takes to go around a circle. This Inventor support page explains the use of a turn angle. It is normal that a mesher needs around 8 elements to get around a circular hole which would produce a turn angle of 45 degrees per element. Decreasing the turn angle increases the number of elements and the accuracy of the FEA results, however not all areas of a model need to be highly accurate. The turn angle does not provide any predictive value, and the B51 standard provides no acceptance criteria. The use of an error plot as discussed in J.6.8 below is a much more useful measure of mesh and results quality.

#### J.6.4

The method used to select the size of mesh elements with reference to global or local mesh refinement shall be indicated.

We use the error plot to determine if the mesh is adequately refined. Beyond the scope of this standard, it is important to realize that pressure vessels have areas of discontinuity where in theory the stress approaches infinity as the mesh size is decreased. In practice the vessel experiences stresses above the yield point. Refer to our sample jobs for linearization analysis that can deal with stresses approaching infinity.

#### J.6.5

When items in contact (e.g., flange joints, threaded joints) are modeled, the model shall describe how two separate areas in contact are linked. Adequate mesh size shall be used to ensure that the elements are small enough to model contact stress distribution properly.

#### J.6.6

Boundary conditions, such as supports, restraints, loads, contact elements, and forces, shall be clearly described and shown in the report (present the figures). The method of restraining the model to prevent rigid body motion shall also be indicated and justified. When partial models are used (typically based on symmetry), the rationale for the partial model shall be described with an explanation of the boundary conditions used to compensate for the missing model sections.

#### J.6.7

The FEA report shall include validation and verification of FEA results. Validation should demonstrate that FEA results correctly describe the real-life behavior of the pressure equipment, and verification should demonstrate that a mathematical model, as submitted for solution with FEA, has been solved correctly.

Verification is as simple as comparing the reaction forces from the FEA run with the theoretical loads that can be calculated at the boundary conditions. What is acceptable for validation varies by reviewer. Rarely FEA runs must be provided that predict burst test results. Occasionally strain gauge testing or displacement testing must be provided that can be run against a standard non destructive hydrotest. Other methods used are comparing Roark’s predicted radial displacement of a shell with the results of a model run. Most commonly, it is recognized that a FEA run that meets the other requirements of this standard is far more accurate than other available methods of study so no further physical testing proof is required.

#### J.6.8

The accuracy of the FEA results shall be included in the FEA report, either by the use of convergence studies or by comparison to the accuracy of previous successful in-house models. An error of 5% or less from the convergence study shall be acceptable.

Note: FEA inaccuracy usually consists of discretization errors, which result from matching geometry and displacement distribution due to the inherent limitation of elements, and computational errors, which are round-off errors from the computer floating-point calculation and the formulations of the numerical integration scheme.

A convergence study only proves that a single point of a model has converged, whereas an error plot proves a whole model, and does not required multiple FEA runs. As mentioned in J.6.4 we use error plots to prove convergence. Again as mentioned above, not all areas of a pressure vessel model converge, the areas that do not require special study that cannot be handled by convergence studies. These areas are usually handled by Linearization as outlined by ASME VIII-2 part 5.

#### J.7 Acceptance criteria

The criteria for acceptance of the FEA results shall be based on the code of construction and factor of safety established under that code. The FEA methodology may be based on another code. The acceptance criteria and code reference shall be presented in the report.

Note: For example, if the code of construction is Section VIII, Division 1, of the ASME Code, the allowable stress values are from Section VIII, Division 1, of the ASME Code. The FEA methodology could be based on Section VIII, Division 2, of the ASME Code (Figure 5.1).

#### J.8 Presentation of results

#### J.8.1

The following information and figures in colored prints shall be presented:

(a) resultant displacements (plot);

(b) deformed shape with undeformed shape superimposed;

(c) stress plot with mesh that

(c)(i) shows fringes using discrete color separation for stress ranges or plots; and

(c)(ii) allows comparison between the size of stress concentrations and the size of the mesh;

(d) plot with element stress and a comparison of nodal (average) stress vs. element (non-averaged) stress;

(e) reaction forces compared to applied loads (free-body diagrams);

(f) stress linearization methodology and the stress values in the area of interest; and

(g) accuracy of the FEA results.

The results shall be plotted to graphically verify convergence. The x axis of this plot shall show some indication of mesh density in the area of interest (number of elements on a curve, elements per unit length, etc.). This is necessary to show true convergence over apparent convergence that is due only to a relatively small change in the mesh.

#### J.8.2

When plots or figures are presented, an explanation relating to each figure shall be included to describe the purpose of the figure and its importance.

#### J.9 Analysis of results

Overall model results, including areas of high stress and deformation, shall be presented with acceptance criteria. The analysis shall include a comparison of the results with acceptance criteria.

Results that are to be disregarded shall be identified, and the determination to disregard them shall be justified.

#### J.10 Conclusion

As a minimum, the conclusion shall include

(a) a summary of the FEA results in support of the design;

(b) a comparison of the results and the acceptance criteria; and

(c) overall recommendations.

### Mesh Refinement at Discontinuities

#### Mesh Refinement at Discontinuities

Last Updated: Nov. 26, 2008, By: LB

### Using the Error Function Results for Areas At Discontinuities

Error plots show how well the complexity of a mesh matches the complexity of the model and its loads. Once the mesh matches the complexity of the model, the reported error is low. We use 5% error as an acceptance criterion. This method checks the whole model at once, and is much less work than mesh refinement.

This study compares mesh refinement at a node with error plot methods to estimate the convergence of FEA results. CosmosDesigner (Now SolidWorks Simulation) 2708 SP5.0 FEA software is used for this report.

### Example: Shell Element Error Plots

Test shape – a simple flat plate modeled at 1/4″ thickness. 3 test points (1, 2, 3) are shown on this model. A split line has been added to guarantee a node will always be available at point 2 to sample. For this sample, the stress at the three points is of interest, so the error at those points has to be less than 5% per the acceptance criteria.

Stress results and stress results graph. For this study, the results from 0.125 and 0.063″ mesh size meet the 5% acceptance criteria.

An ultimate stress value is extrapolated using linear regression on the above stresses and extrapolating to a theoretical zero mesh size (the 1″ mesh size data point for stress 1 is ignored).

In general, when the reported error is less than the 5% acceptance criteria, the actual error is much less. Even when the acceptance criteria is met, some elements will have higher error levels (Point 1 at 0.063″ mesh).

### Mesh Refinement vs Error Plots

Mesh refinement by measuring the stress at individual locations and extrapolating to a theoretical zero mesh size can be used to validate individual areas on a model. However, many FEA runs are required, and in this case, only 3 points on the model were proven. There is no guarantee that the most important points have been studied. The Error plots prove every element in the model. If the first mesh chosen is acceptable, no additional work is required to prove the model.

### Mesh Refinements Near Discontinuities

#### Mesh Refinements Near Discontinuities

Last Updated: May 10 2013, By:LB

Error plots show how well the complexity of a mesh matches the complexity of the model. Once the mesh matches the complexity of the model, the reported error is low. As a guideline, Pressure Vessel Engineering uses 5% error as an acceptance criterion.

This report examines the accuracy of stress results near an area of discontinuity as the mesh is refined. The 5% error criteria estimates the errors in the mesh except in areas of very low stress located near high stress areas. These areas are not usually of interest in a pressure vessel study.

In this study stresses are measured at 5 fixed locations in a simple shape as the mesh size is changed. The stress errors predicted by the error function are compared with ultimate stress predicted from mesh refinement. SolidWorks SimulationDesigner 2008 SP5.0 FEA software is used for this report using 2nd order shell elements.

### Conclusion

The SolidWorks Simulation Error function will not work for all locations on a model. For this model, the error results for Point 2 – a low stress area adjacent to a high stress area – were found to be not useable (the reported stress was too low vs. the real stress). Areas of low stress like this would not normally be of interest in a pressure vessel study.

As a guideline, at Pressure Vessel Engineering we consider using caution when viewing results at a node when there are elements within 1 node that have errors over 5%.

Point 5 – the sharp corner – never achieved an acceptable error level of 5% or less. The theoretical stress at a sharp corner is infinite. As the mesh size was reduced, the stress followed a curve towards infinity. The error function correctly showed that the results for that node were never usable.

In spite of the presence of Point 5 on the model – that theoretically reaches infinity – the stress values at the other locations settled along a smooth trendline towards an ultimate finite value. For these remaining locations, the error function predicted error results of 2/3 the actual final error. (Other reports have shown true errors of less than the predicted error.)

With these limitations in mind, the error function is a useful predictor of the accuracy of the calculated results without the need to run multiple mesh size runs. The error function checks the results for entire models vs. mesh refinement which only validates the actual points under study.

### Surface Model Mesh Challenges

#### Surface Model Mesh Challenges

File: PVE-4048, Last Updated: Feb. 24, 2010, LB

Surface models can be challenging to mesh. Parts that touch might not share nodes preventing the correct transfer of loads. The resulting calculated stresses and displacements can be wrong.

The stresses in this leg are wrong:

The stress distribution in the leg to skirt attachment is uneven. Turning on the mesh shows the uneven mesh that is supposed to be connecting these two parts.

The problem does not go away with mesh refinement or tolerance adjustments. The problem is intermittent – some parts will join, some not. A recent update to SolidWorks Simulation can fix this problem:

Curvature based meshing was not include in SolidWorks Simulation 2008. This example was run in SolidWorks Simulation 2010.

Here the standard mesher was used with the leg surface knit to the skirt. The standard mesher produces a better looking mesh.

### Easier Surfaces

### Solid Model Mesh Challenges

#### Solid Model Mesh Challenges

File: PVE, Last Updated: May 2010, By:LB

Sometimes a SolidWorks Simulation multibody model refuses to mesh with the standard mesher. Regardless of the element size and tolerances used, some parts refuse to bond.

The standard mesher has run, but when the analysis is performed, some of the bodies are not joined.

The curvature based mesher produces a less uniform looking mesh, and in this case the produced mesh has more elements.

In theory it should be possible to alter any model to make it meshable by the standard mesher. Here the panel that will not mesh into the leg is split in half.

Note: this model run is used to determine the frequency of vibration of a sphere with a 1g sideways load. The stresses and deflections do not represent real world seismic conditions.

### Mesh Tolerance Settings

#### Mesh Tolerance Settings

File: PVE-4048, Last Updated: FEb 17 2010, By: LRB

What impact does the mesh tolerance option have on the mesh produced by SolidWorks Simulation?

Caution: every time the mesh size is changed, the tolerance is adjusted to 5% of the mesh size. This is a very nasty feature! Keep your eye on the tolerance and set it back the to value you require after each mesh size change.

### External Features

As the mesh tolerance increases, exterior model details disappear from the mesh. This block is 5 x 5 x 1 inch high. Each feature is 1 x 1 inch. Feature height changes as shown.

SolidWorks Simulation can mesh the object with very coarse mesh sizes, as long as the tolerance is fine enough:

### Internal Features

Here the extruded bosses are replaced with cut slots: 1, 0.5, 0.25 and 0.125″ wide all the way through the same 5 x 5 x 1″ block. When the tolerance is too coarse, the mesh fails:

Watch for this reason for mesh failure. If the cut features are not desired in the mesh, they have to be removed from the model.

### Solution for Long Mesh Time of Shells

#### Solution for Long Mesh Time of Shells

File: PVE-4048, Last Updated: Feb. 24, 2010, By: LB

When meshing shells, the mesh gets up to 99% and then hangs for a very long time sometimes for hours depending on the mesh size. The mesher is going through some type of crazy routine trying to orient all of the shell faces in the same direction. We can do this manually in a few seconds by picking the face and then right clicking mesh and “Flip Shell Elements”.

Go to Simulation options and un-check the “Automatic re-alignment for non-composite shells”:

In the example model, doing this reduced the mesh time from 8 min 21 seconds down to 20 seconds.

Adjusting the mesh size after setting the face orientation causes some of the faces to be re-oriented. Manually flipping the faces is still much quicker than waiting for the automatic re-alignment.

### Reduce Your Mesh Time

#### Reduce Your Mesh Time

##### File: PVE-4061, Last Updated: Jan 1 2010, By:LB

This 25ft diameter storage sphere with unusual legs is solid meshed. At a 5″ element size (the element size that will mesh), it takes 172 seconds to mesh. The bad news is that a smaller mesh is require in a number of locations. When the overall element size is reduced to 3″, it takes 1002 seconds to mesh.

Splitting large objects into smaller items can reduce the mesh time. Here the sphere is split into 6 and 12 pieces.

The mesh times go down significantly as the sphere is split into smaller bodies.

Reducing the body sizes can have a huge impact as the number of elements exceeds 1 million…

### Simulating Heat Exchanger Tubes with Springs Post

#### Simulating Heat Exchanger Tubes with Springs Post

File: File:PVE-4473, Last Updated: Oct 4, 2010, By: CBM

Heat exchangers are often very large models. In order to simplify them for FEA we remove all of the tubes and simulate using springs. This will significantly reduce the number of elements and allow the model to mesh and solve in a more reasonable time frame.

In order to use the spring connectors we have to determine the applicable spring rate of the tubes. There is a direct relationship between Hooke’s law for springs and the material’s modulus of elasticity.

Hooke’s law for springs: F = k * d

Axial displacement: d = F * L / (A * E)

Where:

F = Axial Force [lb] k = Spring Rate [lb/in] d = Displacement [in] L = Tube Length [in] A = Cross Sectional Area [sq. in] E = Modulus of Elasticity [psi]

Combining these equations we get: d = k * d * L / (A * E)

k = A * E / L

Solidworks Simulation has a distributed spring option which allows a distributed spring rate over a selected area. The equation now becomes:

k = A * E / (L * A)

Therefore: k = E / L

#### Preload:

In the case of fixed tubesheets, the differential thermal growth between the tubes and the shell generates a load acting on the tubesheets. The spring connectors must be preloaded to account for this force. We know that the equation for thermal expansion is:

d = ∝ * L * ΔT

where: d = Displacement [in] ∝ = Material's thermal expansion coefficient [ in/in/°F] L = Original tube length [in] ΔT = Change in temperature [°F] from ambient to the operating temperature

The difference in expansion between the shell side and the tube side is:

d = ∝ _{tube side} * L * (T_{tube side} – 70) – ∝_{shell side} * L * (T_{shell side} – 70)

This value is substituted into the spring rate equation (F = k * d) to determine the corresponding preload.

### Frequency / Vibration Analysis

#### Frequency / Vibration Analysis

File: File:PVE-4492, Last Updated: Sept 2, 2010, By: BV

#### Frequency and Vibration Analysis

FEA is used for frequency and vibration analysis to determine the natural frequency of objects which cannot be obtained from classical calculations. The natural frequency can then be compared to the system resonance to ensure large amplitude oscillations will not occur. The natural frequency may also be used with building codes to determine a base shear force which can then be input to a stress analysis to validate designs subject to seismic or other oscillating conditions. A complete engineering report is available below representing a typical seismic analysis and report completed by Pressure Vessel Engineering.

#### Seismic Analysis of Pressure Equipment

To find the natural frequency two inputs are required, mass and stiffness. The object to be analyzed in modeled and its density (mass) and modulus of elasticity (stiffness) defined. The FEA solver then determines several displacement modes and their corresponding natural frequencies.

Pressure Vessel Engineering then uses the natural frequency provided by the FEA to determine a base shear force in accordance with building codes such as NBC, IBC, and UBC.

The base shear force is then converted to an acceleration (F = ma, both force and mass are known) and input into a stress analysis to investigate seismic loadings on the object. These stress results then either validate the design or provide insight as to how it should be revised.

#### Downloads

### SolidWorks File Format

#### SolidWorks File Format

### Background – Which Files!

SolidWorks Simulation (SWS) results are stored in a proprietary *.CWR format. SWS creates intermediate files during the analysis and combines them in the CWR file at end of run. SWS uses the standard Microsoft IStorage interface to create the CWR file, so it is possible to open the CWR file with the stg file examiner (formerly available from Microsoft Support).

It is not necessary to extract the files from the CWR container file. Setting the save intermediate files in SWS prevents the above files and more from being erased after a run. The above list shows which files from the many available are important!

Most of the files are in proprietary binary format; a few are text providing SWS run time messages. The order of execution can provide useful information on the file contents. FEA programs solve for displacement before stresses, so file time stamps can hint at what will be in a file. A large FEA run provided the following approximate run sequence:

ELF -> LCD -> EFF -> OUT -> STE -> GEN -> MAS

All dimensions and stresses are stored in metric: m and N/m^2

### ELF File Format – Element Flexibility? – File #1

The ELF format contains node ordered data. This file type has been examined for models with 3, 4, 6 and 10 nodes per element. The file contains data for 6 degrees of freedom for each node, whether the degrees of freedom are required or not. Plate models use 6 degrees of freedom per node, solid and axisymmetric 3 degrees per node. The data start point changes with the number of nodes per element. Data is in single precision.

See the macro “ExamineELF” in the attached spreadsheet ELF File Examiner to examine data in 3,4,6 and 10 node per element models. Other node counts have not been tested. These macros use an array write command that cannot process huge files – make sure all of your data is imported before using.

### LCD File Format – Displacement – File #2

The LCD file contains node ordered data. This file type has been examined for models with 3, 4, 6 and 10 nodes per element. The data always starts at 370h. The nodes always have 6 degrees of freedom, required or not.

See the macro “ExamineLCD” in the attached spreadsheet LCD File Examiner to examine data in 3,4,6 and 10 node per element models. Other node counts have not been tested.

This data exactly matches the results from the Displacement listing.

### EFF File Format – Unknown – File #3

The purpose of the EFF file has not been determined.

See the macro “ExamineEFF” in the attached spreadsheet EFF File Examiner to examine data in 3,4,6 and 10 node per element models. Other node counts have not been tested.

### OUT File Format – Solver Messages – File #4

The OUT text file contains a plain English language report.

### STE File Format – Stress and Strain – File # 5

The number of nodes per element, and if the model is a shell or solid is required prior to reading the STE file. The STE file contains stress and strain data per node per element. The stress for a node is the AVEARAGE of the stress for that node in all elements that it occurs in.

As an example, we use this data for our linearization program. For each node on the linearization line, we average the stress for that node as reported by all elements that connect to it. All other nodes are ignored.

See the macro “ExamineSTEFile” in the attached spreadsheet STE File Examiner The spreadsheet has been tested for 3 and 6 node per element plate models and 4 and 10 node solid models. Other node counts have not been tested. Enter the nodes per element and “plate” or “solid” options in the spreadsheet before importing the file. This macro does not contain array fast write methods, so large files will take a while to examine. The results will not match your stress plots until all nodal occurrences are averaged.

To examine Axis-Symmetric models, set the correct number of nodes per element (3 or 6), but set the plate/solid option to SOLID.

### GEN File Format – Original Node Coordinates – File # 6

The GEN binary file contains nodal coordinates prior to displacement in meters. Number of Elements is stored at 18Ch and the number of nodes at 190h. Data starts at 408h. Each record of singles is X, Y, Z and followed by 10 unwanted singles.

See the macro “ExamineGENFile” in the attached spreadsheet GEN File Examiner. No difference in file format has been noticed for 3, 4 or 10 node per element files.

### MAS File Format – Unknown – File # 7

Data blocks are long – contents are unknown.

### General Comments

We developed this access method because we had difficulty getting raw data out of SWS. SWS provides a series of API function calls to access the data in open files. We tried that method and it took hours to get data out of a large file. SWS also has a series of export data commands in the drop down menus. They also are slow – it would take up to 10 hours to export the data from a large FEA run. We successfully used this file format information in VBA to extend our stress linearization spreadsheet to directly access the CWR file results. We can get at the data we need quickly and easily.

[File: PVE-4631 / PVE-9259, Last Updated: Aug. 24, 2015, By:LRB]

**Finite Element Analysis at PVEng**

We use FEA to design and validate fittings and vessels that can not be designed by rule-based codes like VIII-1 or B31.3. We are experts in the specialized field of pressure equipment design by FEA to validated ASME VIII-2 methods.

- SolidWorks Simulation and Abacus software
- Pressure and thermal stress analysis
- Permissible service life (fatigue life)
- Wind and seismic analysis
- Leg, saddle and clip design
- Frequency and vibration analysis
- Computational Fluid Dynamics (CFD)

Pressure Vessel Engineering has used Finite Element Analysis (FEA) to design and verify thousands of pressurized components. We have the knowledge and experience to get the job done right.

**Other Services**

**ASME Code Design – **We work to many ASME standards to design and validate pressure vessels, boiler, fittings and piping systems.

**Pipe Stress Analysis – **Pipe stress analysis is mandatory for British Columbia registration and it is recommended practice for many other systems.

**Canadian Registration Number (CRN) – **We are Canada’s largest independent registrar of fittings, vessels and piping under the CRN program registering for more than a thousand customers.

**About Us**

Pressure Vessel Engineering has twenty years of successful experience in the pressure vessel field working for more than a thousand customers.

- Six Professional Engineers on staff licensed to stamp and sign off on designs for use in all Canadian jurisdictions.
- Fast and professional assistance from our 20-person company.

Need help? Our contact information is to the right.