fea of pressure vessel and nozzle junction -...
TRANSCRIPT
FEA of Pressure Vessel
and Nozzle Junction
2013
DHARMIT THAKORE
MOONISH ENTERPRISES PTY LTD |
Executive Summary The main objective of this project was to understand the Finite Element Analysis capability of Open
Source Software Salome for Pre-processing and Post-processing and Code_Aster for analysis of a
Pressure Vessel Nozzle junction. To obtain hexahedral mesh for the Pressure Vessel Half geometry.
To analyse and compare Deflection and Vonmises stresses for three load cases for the geometry,
Internal Pressure only, Force on Nozzle Only and a combination of Internal Pressure and Force on
Nozzle. The main goal was to calculate Stresses by hand and compare them with the Finite Element
Analysis results.
Analysis was carried out on a half section of a pressure vessel with nozzle in the middle of the
geometry, with sufficient symmetry and boundary conditions added for stability of the model.
Linear analysis using hexahedral elements was carried out for this study.
Salome version 6.3.0 and Aster version 1.10.0 was used for this analysis.
From the study it can be seen that hand calculations closely match the Finite Element Analysis
results for the geometry away from the Pressure Vessel and Nozzle junction. An effort has been
made to calculate Membrane and Bending Stresses for comparison only at two Stress Classification
lines at the Nozzle Pressure Vessel Junction. Further studies are required to evaluate stresses and
analyse them based on ASME Section VIII Division 2 Part 5 rules and to obtain Membrane, Bending
and Peak stresses.
Table of Contents Executive Summary ................................................................................................................................. 1
Introduction ............................................................................................................................................ 3
Model Geometry ..................................................................................................................................... 4
Mesh ..................................................................................................................................................... 17
Loads and Restraints ............................................................................................................................. 22
Analysis of results ................................................................................................................................. 26
Internal Pressure only ....................................................................................................................... 26
Force Only ......................................................................................................................................... 29
Pressure and Force applied together ................................................................................................ 32
Conclusions ........................................................................................................................................... 37
Introduction The main goal of this study was
1. To Model Pressure Vessel with Nozzle Geometry (Show step by step method of how is it
done in Salome)
2. Partition it to make it ready for Hexahedral meshing
3. Mesh it with Hexahedral elements
4. Perform Finite Element Analysis with 3 load cases
a. Internal pressure (both Hoop and Longitudinal stresses)
b. Force of 9000N on Nozzle in Lateral direction to vessel geometry
c. Combination of both a and b
5. Study the Stresses developed around the Nozzle Geometry (Discontinuity)
6. Compare the results with Hand Calculations
Salome was used to model the geometry. The geometry modelling is carried out in Salome
Geometry module, meshing was carried out in Salome Mesh module and then the mesh was
exported in .msh format. Finite Element Analysis was carried out in Code_Aster and the results were
exported in .msh format. This result mesh was imported in Salome again and Post Processing was
carried out where Displacements and Vonmises stresses were evaluated.
In this study Static Linear Finite Element Analysis was used to obtain results. Hexahedral mesh was
used for this study. Quadratic mesh was not considered for this study.
Vonmises stresses were calculated for the 3 load cases above and they were compared with hand
calculations using first principles.
Membrane and Bending stresses were calculated for two Stress Classification Lines (SCL) for all three
load cases and are presented for comparison purposes only.
Model Geometry The model geometry is a half section of a Pressure Vessel modelled in positive X-Z zone of the co-
ordinate system. This pressure vessel has a nozzle at the centre of it pointing in positive X direction.
Half model of the entire pressure vessel was used in this study as the not-modelled section of the
pressure vessel was very remote to the Nozzle geometry. Flange was not modelled on the nozzle
end to minimise mesh size and computation time as this is the standard practice used in commercial
software packages.
Solid modelling was carried out in this study with following parameters.
OD of Pressure Vessel Shell = 3000mm ID of Pressure Vessel Shell = 2980mm
OD of Nozzle = 300mm ID of Nozzle = 280mm
Height of the Pressure Vessel Shell = 3000mm Height of the Nozzle = 200mm
Modelling steps for the entire geometry are described below
Salome -> Geometry Module
New Entity -> Basic -> Point -> First
Argument (Point by 3 Co-ordinates)
Name: Reference1; X: 0; Y: 0; Z: 1500;
Click “Apply and Close”
New Entiry -> Basic -> Vector ->
Second Argument (Vector by 3 Co-
ordinates)
Name: Vx; X: 10; Y: 0; Z: 0; Click
“Apply”
Name: Vy; X: 0; Y: 10; Z: 0; Click
“Apply”
Name: Vz; X: 0; Y: 0; Z: 10; Click
“Apply and Close”
New Entiry -> Primitive ->
Cylinder -> Second Argument
(Cylinder by Radius and Height)
Name: Cylinder_1; Radius:
1500; Height: 3000; Click
“Apply”
Name: Cylinder_2; Radius:
1490; Height: 3000; Click
“Apply”
Still in Cylinder Modelling Select
First Argument (Cylinder by
Base Point, Vector, Radius and
Height)
Name: Cyliner_3; Base Point:
Reference1; Vector: Vx; Radius:
150; Height: 1700; Click “Apply”
Name: Cyliner_4; Base Point:
Reference1; Vector: Vx; Radius:
140; Height: 1700; Click “Apply
and Close”
Operations -> Boolean ->
Fuse -> Default Argument
Name: Fuse_1; Object 1:
Cylinder_1; Object 2:
Cylinder_3; Click “Apply”
Name: Fuse_2; Object 1:
Cylinder_2; Object 2:
Cylinder_4; Click “Apply
and Close”
Operations -> Boolean ->
Cut -> Default Argument
Name: Cut_1; Main
Object: Fuse_1; Tool
Object: Fuse_2; Click
“Apply and Close”
Right Click “Cut_1” in Object Browser and Select “Show Only”
New Entiry -> Primitive -> Box -
> Second Argument Box by
Dimensions at Origin)
Name: Box_1; Dx: 1500; Dy:
3000; Dz: 3000; Click “Apply
and Close”
Operations ->
Transformations ->
Translation -> First
Argument (By Dx, Dy, Dz)
Objects: Box_1; Dx: -
1500; Dy: -1500; Dz:0;
Uncheck “Create a Copy”;
Click “Apply and Close”
Operations -> Boolean -> Cut -> Default Argument
Name: Cut_2; Main Object: Cut_1; Tool Object: Box_1; Click “Apply and Close”
Right Click “Cut_2” in Object Browser and Select “Show Only”
New Entiry -> Basic -> Plane ->
First Argument (Plane by Point
and Vector)
Name: Plane_1; Point:
Reference1; Vector: Vy; Size of
Plane: 7000; Click “Apply”
Name: Plane_2; Point:
Reference1; Vector: Vz; Size of
Plane: 7000; Click “Apply and
Close”
Operations -> Partition -> First
Argument (By Objects and Tool
Objects)
Name: Partition_1; Objects:
Cut_2; Tool Objects: Plane_1 &
Plane_2; Click “Apply and
Close”
Right Click “Partition_1” in Object Browser and Select “Show Only”
While Partition_1 is selected in Object Browser
New Entiry -> Group -> Create -> First Argument (Shape Type “Points”)
Group Name: P1; Main Shape: Partition_1; Select Point on the extreme –Y @ Z = 1500 (as
shown in above figure); Click Add; Click “Apply”
Group Name: P2; Main Shape: Partition_1; Select Point on the extreme +Y @ Z = 1500 (as
shown in above figure); Click Add; Click “Apply and Close”
Point
P1
Point
P2
New Entity -> Basic -> Point -> First Argument (Point by 3 Co-ordinates)
Name: P3; X: 1500; Y: 0; Z: 2250; Click “Apply”
Name: P4; X: 1500; Y: 0; Z: 750; Click “Apply and Close”
New Entiry -> Basic -> Plane -> Second Argument (Plane by 3 Points)
Name: Plane_3; Point 1: P1; Point 2: P2; Point 3: P3; Size of Plane: 7000; Click “Apply”
Name: Plane_4; Point 1: P1; Point 2: P2; Point 3: P4; Size of Plane: 7000; Click “Apply and
Close”
Operations -> Partition -> First Argument (By Objects and Tool Objects)
Name: Partition_2; Objects: Partition_1; Tool Objects: Plane_3 & Plane_4; Click “Apply and
Close”
Right Click “Partition_2” in Object Browser and Select “Show Only”
Right Click “Partition_2” -> Transparency: 70%
Right Click “Cylinder_1” in
Object Browser and Select
“Show Only”
New Entiry -> Group -> Create -
> Third Argument (Shape Type
“Faces”)
Group Name: PV_OD; Main
Shape: Cylinder_1; Select
Cylindrical Surface of
Cylinder_1; Click Add; Click
“Apply and Close”
Right Click “Cylinder_3” in
Object Browser and Select
“Show Only”
New Entiry -> Group -> Create -> Third Argument (Shape Type “Faces”)
Group Name: Nozzle_OD; Main Shape: Cylinder_3; Select Cylindrical Surface of Cylinder_3; Click
Add; Click “Apply and Close”
Right Click “Partition_2” in Object Browser and Select “Show Only”
Operations -> Partition -> First Argument (By Objects and Tool Objects)
Name: PV; Objects: Partition_2; Tool Objects: PV_OD & Nozzle_OD; Click “Apply and Close”
Right Click “PV” in Object Browser and Select “Show Only”
New Entiry -> Group -> Create -> Third Argument (Shape Type “Faces”)
Group Name: DxDy; Main Shape: PV; Select Right Vertical Face of the PV Shell if you are
standing at Origin looking at the Nozzle in +X direction; Click Add; Click “Apply”
Group Name: Dx; Main Shape: PV; Select Left Vertical Face of the PV Shell if you are standing
at Origin looking at the Nozzle in +X direction; Click Add; Click “Apply”
Face
“DxDy”
Face
“Dx”
Face
“Dz”
Face
“ForceE”
Face
“PrLong”
Group Name: Dz; Main Shape: PV; Select Bottom Horizontal Face of the PV Shell; Click Add;
Click “Apply”
Group Name: PrLong; Main Shape: PV; Select Top Horizontal Face of the PV; Click Add; Click
“Apply”
Group Name: IntPress; Main Shape: PV; Select All Inside surfaces of the Pressure Vessel Shell
and Nozzle (There should be 20 faces to be selected); Click Add; Click “Apply”
Group Name: ForceE; Main Shape: PV; Select Front face of the Nozzle; Click Add; Click “Apply
and Close”
Following step is only required if you want to have a Sub Mesh in the thickness of the Shell and
Nozzle.
Still in Group Create -> Select Second Argument (Shape Type “Wire”)
Group Name: Sub5; Main Shape: PV; Select all Edges in the Shell Thickness at the Vertical
and Horizontal Faces of the Shell, Select all Edges in the Nozzle Thickness (hdf file for
this study is available for download); Click Add; Click “Apply”
Right Click “PV” in Object Browser and Select “Show Only”
This concludes Modelling exercise for the Pressure Vessel.
Mesh Entire geometry is meshed with 3D Linear Hexahedral elements.
Global geometry was meshed with 3D Algorithm of Hexahedron (I,j,k), 2D Algorithm of Quadrangle
(Mapping) and 1D Algorithm of Wire Discretisation with Hypothesis of Nb Segments of 50
Equidistant distribution.
Following steps assumes that you are in Mesh module of Salome
Mesh -> Create Mesh
Name: PV; Geometry: PV (Select PV geometry from Geometry Module); 3D Tab: Algorithm:
Hexahedron (i,j,k); 2D Tab: Algorithm: Quadrangle (Mapping); 1D Tab: Algorithm: Wire
discretisation: Hypothesis: (Click Add Hypothesis Button and select) Nb_Segment; In Hypothesis
Construction: Name: (Default) Nb. Segments_1; Number of Segments: 40; Type of distribution:
Equidistant distribution; Click Ok; Click “Apply and Close”
Shell thickness was given a Sub
Mesh with 1D Algorithm of Wire
discretisation, with Hypothesis of
Nb Segments of 5 Equidistant
distribution and Additional
Hypothesis of Propogation of 1D
Hypothesis on opposite edge.
Right Click “PV” in Mesh Module in
Object Browser and Select “Create
Sub-mesh”
Name: (Default)
SubMesh_1; Mesh: PV; Geometry:
(Select) Sub5 (from Geometry Module); 1D Tab: Algorithm: Wire discretisation: Hypothesis: (Click
Add Hypothesis Button and select) Nb_Segment; In Hypothesis Construction: Name: (Default) Nb.
Segments_2; Number of Segments: 5; Type of distribution: Equidistant distribution; Click Ok; Add.
Hypothesis: (Click Add Hypothesis Button and select) Propagation of 1D Hyp. On opposite edges;
Click “Apply and Close”
Right Click “PV” in Object Browser and Select “Compute”
Close-up of the Nozzle Mesh.
This mesh is suitable for Studying
stresses generated in Pressure
Vessel Shell. It is good for evaluating
Bending, Peak and Membrane
stresses in and around the Shell
Nozzle junction. Better Stress
distribution can be obtained by
using Quadratic meshing which will
be done in future studies.
Right Click “PV” in Object Browser
and Select “Create Groups from
Geometry”
Mesh:PV; Geometry: (Select DxDy
from Geometry Module) DxDy; Click
“Apply”
Mesh:PV; Geometry: (Select Dx from
Geometry Module) Dx; Click “Apply”
Mesh:PV; Geometry: (Select Dz from Geometry Module) Dz; Click “Apply”
Mesh:PV; Geometry: (Select PrLong from Geometry Module) PrLong; Click “Apply”
Mesh:PV; Geometry: (Select IntPress from Geometry Module) IntPress; Click “Apply”
Mesh:PV; Geometry: (Select ForceE from Geometry Module) ForceE; Click “Apply and Close”
Right Click “PV” in Object Browser and Select “Export to MED file”
Select a location for the med file and save it.
Loads and Restraints To provide Symmetric Boundary Condition to the Pressure Vessel following Boundary Conditions
were used.
1. Face “DxDy” was given Boundary condition of DX = 0.0 and DY = 0.0
2. Face “Dx” was given Boundary condition of DX = 0.0
3. Face “Dz” was given Boundary condition of DZ = 0.0
Three load cases were considered in this analysis
1. Internal Pressure of 0.5MPa applied on the Internal Face of the pressure vessel
2. Force of Fy = 9000N applied on the face of the flange
3. Combined Internal Pressure and Force
To account for the discontinuity in the Pressure Vessel shell, force equivalent to the Pressure acting
on the inside of the Nozzle was applied in Fx direction on face “ForceE”. If this balancing force was
not applied, Pressure Vessel Ovalization occurred due to un-balanced distribution of the Pressure on
internal face.
.comm file used for analysis with Code_Aster is shown here for easy reference. This file is
commented sufficiently to give information on what is going on.
DEBUT();
#Define Material Steel
Steel=DEFI_MATERIAU(ELAS=_F(E=210000.0,
NU=0.3,),);
#Read the mesh in 'MED' format
MAIL=LIRE_MAILLAGE(FORMAT='MED',);
#Assign the model Mechanical and in 3D
MODE=AFFE_MODELE(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),);
#Assign the material Steel previously defined
MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
MATER=Steel,),);
#Boundary Condition 'Base' is Fixed in all directions
BCs=AFFE_CHAR_MECA(MODELE=MODE,
FACE_IMPO=(_F(GROUP_MA='Dx',
DX=0.0,),
_F(GROUP_MA='DxDy',
DX=0.0,
DY=0.0,),
_F(GROUP_MA='Dz',
DZ=0.0,),),);
#To Balance Internal Pressure at Nozzle Junction
Press1 = 0.5;
NozOR = 150.0;
NozIR = 140.0;
NozArIR = 3.14 * NozIR * NozIR;
ForceBal = NozArIR * Press1;
ForceBal = ForceBal / (3.14 * (NozOR * NozOR - NozIR * NozIR));
#To apply Longitudinal Stress
PVOR = 1500.0;
PVIR = 1490.0;
PVArIR = 3.14 * PVIR * PVIR;
LongStr = PVArIR * Press1;
#Pressure is applied on 1/2 Area for Hoop and is resisted by 1/2 Area so 1/2 cancels out
LongStr = LongStr / (3.14 * (PVOR * PVOR - PVIR * PVIR));
#Force of 9000N is distributed over the Area of Nozzle Tip
ForceY = 9000. / (3.14 * (NozOR * NozOR - NozIR * NozIR));
Loads=AFFE_CHAR_MECA(MODELE=MODE,
PRES_REP=_F(GROUP_MA=('IntPress'),
PRES=Press1,),
FORCE_FACE=(_F(GROUP_MA='PrLong',
FZ=LongStr,),
_F(GROUP_MA='ForceE',
FY=ForceY,),
_F(GROUP_MA='ForceE',
FX=ForceBal,),),);
RESU=MECA_STATIQUE(MODELE=MODE,
CHAM_MATER=MATE,
EXCIT=(_F(CHARGE=BCs,),
_F(CHARGE=Loads,),),);
#Calculate fields on Elements
RESU=CALC_ELEM(reuse =RESU,
RESULTAT=RESU,
OPTION=('SIEF_ELNO','SIEQ_ELNO','SIGM_ELNO'),);
#Calculate fields on Nodes
RESU=CALC_NO(reuse =RESU,
RESULTAT=RESU,
OPTION=('SIGM_NOEU','SIEQ_NOEU','REAC_NODA',),);
#Dump the entire result in a text file
IMPR_RESU(FORMAT='RESULTAT',
RESU=_F(MAILLAGE=MAIL,
RESULTAT=RESU,
NOM_CHAM=('SIEQ_ELNO','SIEQ_NOEU','DEPL','REAC_NODA','SIGM_NOEU'),),);
#Dump the result in .med file that can be read by Salome
IMPR_RESU(FORMAT='MED',
UNITE=80,
RESU=_F(MAILLAGE=MAIL,
RESULTAT=RESU,
NOM_CHAM=('SIEQ_ELNO','SIEQ_NOEU','DEPL','REAC_NODA','SIGM_NOEU'),),);
FIN();
The output from the analysis is saved as a .med file that can be read by Salome and used for Post
processing.
Analysis of results - Present the displacement and Stress results (Including plots and animation)
Internal Pressure only
The first of the three cases analysed was Internal Pressure only
Internal Pressure of 0.5MPa is applied to the inside of the Pressure Vessel and Nozzle. The
displacement and VonMises stresses are shown below
Below is the snapshot of displacement with scale factor of 100. Maximum displacement is 1.2mm.
This is inline with the growth of diameter of the vessel as calculated manually.
Below is the displacement upclose near the nozzle.
The Vonmises stress snapshot is shown below
Below is the Vonmises stresses upclose
Vonmises stresses on the inside of the Pressure Vessel
Vonmises stresses on the inside upclose
Vonmises stresses remote to the nozzle is 65MPa which is inline with the hand calculation.
Force Only
Force of 9000N is applied on the face of the Nozzle in Fy direction.
The displacement and Vonmises stresses for Force Only case is shown below.
Displacement upclose
Vonmises stresses for the Force only is shown below
Vonmises stresses upclose
Vonmises on the inside of the Pressure Vessel
Vonmises on the inside upclose
Pressure and Force applied together
The combination of Pressure and Force will see some stresses around the nozzle increase but the
overall stresses in the pressure vessel remote to the nozzle should remain unchanged and that is
what is seen in the analysis.
Displacement for Pressure and Force.
Displacement upclose
Vonmises stresses
Vonmises upclose
Vonmises on the inside of the pressure vessel
Vonmises stresses on the inside of the pressure vessel upclose
As can be seen above in the Vonmises stresses on the inside of the Pressure Vessel, the equivalent
stresses have fallen from 231 MPa in Pressure Only case to 198 MPa in Pressure and Force case.
For evaluation and comparison purposes, Bottom Negative Y Quarter section of the nozzle is shown
with VonMises Stresses for all three load cases. First Column is for Pressure Only Load case, Second
Column is for Force Only Load Case and Third Column is for combined case. First Row is showing
complete Clipped Model, Second Row is showing SCL2 and Third row is showing SCL1.
Pressure Only Force Only Pressure and Force
Two stress Classification Lines were taken for this study and the tabulated SIXX, SIYY, SIZZ, SIXY, SIYZ,
SIZX, Vonmises total along with Membrane and Bending stresses are presented here
Pressure Only Force Only Pressure and Force Only
SCL1 SCL1 SCL1
Membrane
Stress (MPa)
Bending
Stress (MPa)
Membrane
Stress (MPa)
Bending
Stress (MPa)
Membrane
Stress (MPa)
Bending
Stress (MPa)
SIXX 1.788 23.151 0.785 9.095 -0.477 38.419
SIYY 144.799 25.550 -0.978 13.669 8.365 60.677
SIZZ 15.043 32.353 -0.927 11.156 32.305 44.083
SIXY -0.749 8.916 -3.143 4.090 -11.720 17.051
SIYZ 0.820 4.348 -0.010 -0.003 -0.022 -0.007
SIZX -0.027 -0.012 -0.041 0.001 -0.093 0.004
Total 136.878 19.068 5.715 8.119 35.708 35.689
SCL2 SCL2 SCL2
Membrane
Stress (MPa)
Bending
Stress (MPa)
Membrane
Stress (MPa)
Bending
Stress (MPa)
Membrane
Stress (MPa)
Bending
Stress (MPa)
SIXX -0.5452 20.4399 -0.192 -0.816 3.052 23.185
SIYY 40.758 16.022 0.225 -1.435 161.190 8.121
SIZZ -27.977 36.552 0.026 -1.651 26.079 41.271
SIXY -7.528 1.658 -0.771 0.016 -0.773 0.011
SIYZ 0.676 9.302 0.087 -0.407 1.197 14.879
SIZX -0.075 -0.018 -2.992 4.272 -3.014 4.256
Total 61.342 24.862 5.365 7.470 148.087 39.305
Evaluation of the stresses is left to the reader.
Future aspirations from this analysis are to perform FEA based on ASME Section VIII Division 2 Part 5
rules. Use Stress Classification line to find out Membrane, Bending and Peak stresses which shall be
carried out in future analysis and documented in a report.
Vonmises stresses were used as a criteria to determine equivalent stress for comparison.
Conclusions From this study it can be concluded that Finite Element analysis results match that of hand
calculations at location remote to the Nozzle Pressure Vessel junction. This study is not exhaustive
and was conducted to try modelling Pressure Vessel geometry and partition it to make it ready for
meshing, To mesh the Pressure Vessel geometry with Hexahedral mesh, To carry out Finite Element
analysis of a Pressure Vessel Nozzle section using Code_Aster for analysis, And to perform Post
Processing using Salome.
Outcome of the analysis can be summarised as
1. Salome can be used as a competent software to model the geometry, Mesh it and perform
Post Processing on the results
2. Code_Aster is a powerful software but due to it being in Non-english format is a restriction.
3. Open Source softwares can be used for performing FEA based on ASME Section VIII Division
2 Part 5.
This study is just a preliminary analysis. For further study following actions are recommended
1. Use of 2nd order or Higher order elements
2. Mesh refinement around the nozzle shell junction
3. Evaluate Stresses based on ASME Section VIII Division 2 Part 5 rules.