This example is intended to simulate a tube under stress (inner pressure, that is, a fluid exerts high pressure in the interior of the tube). The problem to simulate is a tube conveying a fluid at high pressure, with the outer diameter of the tube being D (2R) and the inner tube diameter being D/2 (R), as sketched in the next drawing:
As it can be seen, the tube have some width 'e' (in this case being D/2 = R) made of any kind of material (It could be metal or plastic) conveying a high pressure fluid inside. This pressure the fluid expels on the tube is regularly distributed as it is shown in the drawing. This pressure can be simulated by means of assuming a constant force regularly distributed among the inner boundary of the tube (subject to the distributed force is calculated as P / pi / R.
Obviously, there is also an outer pressure (outside the tube), but it is assume to be zero. This can be easily achieved just considering the inner pressure as the difference between the inner pressure minus the outer pressure (remember that, in this problem, it is assumed that the inner pressure is higher than the outer pressure). Consequently the new value for the inner pressure will be: P'in = Pin - Pout (Being: P'in the pressure used for simulation, Pin the actual inner pressure and Pout the actual outer pressure).
The problem is symmetric, and it can be simulated just by taken only the section of one quarter of the circular tube, and applying the proper boundary conditions, as shown in the next drawing (Using one eighth or one half of the tube would work as well, due to the symmetry of the circle. But arbitrarily, a quarter of the tube has been chosen):
In order to maintain the same level of stresses in the tube, some boundary conditions has been introduced in the edge of the fictitious vertical (V) and horizontal (H) boundaries. Bear in mind that in the real problem there were no such boundaries. Those fictitious boundaries are supposed to restrict the horizontal displacement in the vertical fictitious boundary (coined as V), and to restrict the vertical displacement in the horizontal fictitious boundary (coined as H). This means that any point in the fictitious V boundary cannot move in the horizontal direction (only vertical displacement is allowed), and any point in the fictitious H boundary cannot move in the vertical direction (only horizontal displacement is allowed).
Once, the physical model has been defined, the next step in the process is discretizating this model into a Finite Element Method Model that can be simulated in DynamFluid software:
Dividing the domain into TRIA or QUAD elements representing piecewisely the whole physical domain (discretization).
Applying the boundary conditions to the bounded discretized domain. In this case, the boundary conditions are to be applied in the fictitious V boundary and in the fictitious H boundary.
Applying the external forces that may act in the domain. In this case, this is pressure P that is translated into regularly distributed forces applied to the points in the inner circle of the tube.
The discretization of the domain can be done with gmsh, a quite versatile tool that allows generating a Nastran Bulk Data File to be imported in Dynamfluid.
These are the steps followed in this process:
Domain generation. This tool allows the definition of the domain either (a) editing a text file (with .geo extension) that can be imported into the application or (b) graphically, which later is saved in a text file with .geo extension (PlaneStressCircularTube.geo). The file used for the domain along with an image of the domain can be found in 'Domain' picture, as below.
Meshing the domain. Once the domain has been defined, the next step is meshing the domain using tria or quad linear elements (first order elements), as shown in 'Domain Meshed' picture below. Later on, this mesh is saved as bdf file (Nastran Bulk Data File). When exporting the file, select "Elementary entry" as element tag.
The exported file only contains the geometry of the model, but not the physical part, so some changes to this file are required in order to be imported into Dynamfluid, as this file only contains the geometry of the model, but not the physical part. Each TRIA element in the bdf file has a material associated to it, but gmsh has not included this material in the generated .bdf file.
The format of the TRIA element in Nastran Bulk Data file is the following:
CTRIA3 EID PID G1 G2 G3
EID Element identification number.
PID Identification number of a PSHELL or PCOMP property entry.
G1 Grid identification number of the first node in the TRIA element.
G2 Grid identification number of the second node in the TRIA element.
G3 Grid identification number of the third node in the TRIA element.
When exported as bdf file, gmsh assigns a PID of a PSHELL as property for the TRIA element. But, this PSHELL PID does not exist in the .bdf file, so it should be created, and included in the .bdf file. The PSHELL Bulk Data Entry format is the following
PSHELL PID MID1 T MID2 12I/T3 MID3 TS/T NSM
Z1 Z2 MID4 T0 ZOFFS
PID Unique simple beam property identification
MID1 Material identification for membrane
T Default value for the membrane thickness
MID2 Material identification for bending
12I/T3 Bending stiffness parameter
MID3 Material identification for transverse shear
TS/T Transverse shear divided by the membrane thickness
NSM Non-structural mass per unit area
Z1, Z2 Fiber distances for stress computation.
The PSHELL has an associated material modelled for membrane behaviour (MID1). This material will be defined and included using MAT1 Bulk Data Entry type (as defined in the Nastran Bulk Data Reference):
MAT1 MID E G NU RHO A TREF GE
ST SC SS FSM CS EC GC ALPHA0
MID Material identification number
E Young's modulus
G Shear modulus
NU Poisson's ratio
RHO Mass density
A Thermal expansion coefficient
TREF Reference temperature for the calculation of thermal loads
GE Structural damping coefficient
ST, SC, SS Allowable stresses in tension, compression and shear.
FSM Factor of safety calculation method, selected (0 = no calculation, 1 = von Misses Stress, 2 = Principal Stress)
CS Honeycomb sandwich core cell size
EC Honeycomb sandwich core Young's modulus used for stability index analysis
GC Honeycomb sandwich core shear modulus used for stability index analysis
ALPHA0 Fracture angle for uni-axial transverse compression in degrees
These are the MAT1 and PSHELL definition entries that have been used in this project, with MID for the MAT1 set as 1 and PID for the PSHELL set as 1 as well:
Besides defining the property and the material, the boundary conditions and the external forces will be included in the bdf file. The boundary conditions are defined using the SPC1 Bulk Data Entry, and the external forces are defined using the Force Bulk Data Entry.
FORCE SID GID CID F N1 N2 N3 FLLW
SID Load set identification number
GID Grid or scalar point identification number
CID Coordinate system identification number
F Scale factor
N1, N2, N3 Components of the vector measured in the coordinate system defined by CID
SPC1 SID C G1 G2 G3 G4 G5 G6
G7 G8 G9
SID Single-point constraint set identification number
C Component number. Integer zero or blank for scalar points, or up to six unique digits (0 < digit ≤ 6) may be placed in the field with no embedded blanks for grid points.
Gi Grid or scalar point identification numbers.
Having following all the previous steps, two files have been prepared for the simulation of this problem:
These are the set of constraints and forces that have been used in the .bdf file:
$ Displacement Constraints of Load Set : Symmetry_horizontalBorderSPC1 1 2 1 0.SPC1 2 2 2 0.SPC1 3 2 3 0.SPC1 4 2 4 0.SPC1 5 2 5 0.SPC1 6 2 6 0.$$ Displacement Constraints of Load Set : Symmetry_verticalBorderSPC1 7 1 97 0.SPC1 8 1 98 0.SPC1 9 1 99 0.SPC1 10 1 100 0.SPC1 11 1 101 0.SPC1 12 1 102 0.$ Nodal Forces of Load Set : Interior_Pressure$______||______||______||______||______||______||______||______||______||______|FORCE 1 1 1 .5 .0490874 0. 0.FORCE 2 7 1 1. .0490874 0. 0.FORCE 3 13 1 1. .0490874 0. 0.Domain
Domain Meshed
After having prepared / modified the .bdf file, it can be imported into Dynamfluid for further manipulation. First thing to do is creating a new project when starting the application. A new file name (not existing in disk) is provided, and selecting 'Structural' as problem type. PlaneStressCircularTube is the name used in this example.
Dialog window for creating the new project for the Plane Stress Circular Tube
Once the 'Ok' button is pressed, an empty project is created, as shown in the next picture.
Empty PlaneStressCircularTube project.
And now that the new project has been created, the next step is importing the .bdf file into the Dynamfluid project, navigating to the PlaneStressCircularTube.mod model window, and selecting the Archive > Import menu file. The point is that the expected file extension for the Dynamfluid is 'dat' for Nastran Bulk Data Files, matching the Nastran DMAP (*.dat) file type in NASTRAN. So, rename the .bdf file extension of the gmsh generated NASTRAN Bulk Data File to .'dat' extension which is the file extension expected by Dynamfluid. The result for the 'Import operation' is shown in the next picture (showing the import for TRIA based bdf generated file).
PlaneStressCircularTube project after having imported the .bdf file (NASTRAN Bulk Data File).
We can check the values for the PSHELL property and MAT material defined in the .bdf file imported into DynamFluid. Each of these DMAP objects is imported into:
A behaviour: PSHELL is imported into a Behaviour in the model.
A material: MAT is imported into a Material in the model. The values assigned to the material can be viewed navigating into Model > Material menu
The following drawings show how to navigate and view the Behaviour properties imported (for the Behaviour set to 1): Just selecting the Model > Behaviour menu, which will show you the list of 'Behaviours' in your model. Select the 1 Shell Behaviour, and press Edit. As it can be seen, this is a Shell Behaviour, whose 'Shell' properties have been defined.
Navigating to Material menu to view the list of behaviours defined in the model
List of behaviours in the model
Behaviour properties
The following drawings show how to navigate and view the Material properties imported (for Material with Id set to 1): Just selecting the Model > Material menu, which will show you the list of 'Materials' in your model. Select the 1 Elastic Material, and press Edit. As it can be seen, this is Elastic Material whose 'Mehcanical properties' have been defined.
Navigating to Material menu to view the list of materials in the model
List of materials in the model
Material properties
One important aspects of the newly created project is that by default a force representing the gravity is created in downwards direction (y-axis). This force should not be deleted, as it is required for the dynamfluid application to work, but set all its components to 0 value. The id of this default gravity force is set to 1 in all created projects. So navigate to Model > Source > Point Source menu, where the list of forces in the project is displayed. In the 'List of Sources' dialog box, select the first row with Identifier 1 and press the 'Edit' button. A dialog containing the source components is shown. Modify the 'Component 2' edit box representing the y-component, from -9.8 value to 0 value. Press Ok. Then press Ok again in the 'List of Sources' dialog again (in order to save the change. Otherwise the change will be lost).
List of sources in the model
Gravity Force components before modification
Gravity Force components after modification
Once all these changes are done, navigate to the Calculation > Configuration menu and select 'Static' type simulation in the dropdown list box. Navigate to the 'Static configuration' tab, and choose
Type of analysis: Linear
Type of modeling: Plane Stress
Then press Ok button to save configuration.
Now, the project is ready for simulation. In order to run the simulation select the Calculation > Solving menu option, which will run the calculation for getting the displacements and stresses of the nodes defined in the mesh. The following logs are shown in the logging window in the bottom:
The resolution of the problem starts -> This log is shown when the calculation of the problem starts.
The problem has been solved -> This log is shown when the calculation has finished.
For this problem two types of results are obtained: (a) The displacements in the nodes and (b) the reactions in the restricted nodes.
The displacements can be shown graphically using the Post-processing built-in module integrated into the DynamFluid application. For that, the following steps must be followed:
Configure the post-processing function: Navigate through the Post-processing > Configuration menu. In the 'Post-processing Configuration' dialog select 'Displacement / Velocity' in the Variable drop-down list box, and configure the 'Identity' function as post-processing function. Press 'Ok' button.
Run the post-processing phase: Navigate through the Post-processing > Post-process menu. This runs the build-in post-processing module that applies the defined post-processing function.
The displacements are displayed in the model view. The colour indicates the magnitude of the displacement. A colour-scale is located in the side of the model view.
The displacements can be exported into a clear-text file, for deeper analysis if required: Navigate to Archive > Export, which will show a dialog box to specify the file name for the file where the data is going to be exported. There are two types of text files the data can be exported into: .res type file format or .vtk type file format (Which can be imported in Paraview, i.e.).
Instant time: -1.00000
Instante tiempo: -1.000000
Nodo: 1 1.386e-11 0.000e+00 0.000e+00
Nodo: 2 1.251e-11 0.000e+00 0.000e+00
Nodo: 3 1.133e-11 0.000e+00 0.000e+00
Nodo: 4 1.055e-11 0.000e+00 0.000e+00
Nodo: 5 9.872e-12 0.000e+00 0.000e+00
Nodo: 6 9.476e-12 0.000e+00 0.000e+00
Nodo: 7 1.389e-11 1.368e-12 0.000e+00
Nodo: 8 1.237e-11 1.219e-12 0.000e+00
Nodo: 9 1.135e-11 1.118e-12 0.000e+00
Nodo: 10 1.044e-11 1.029e-12 0.000e+00
Nodo: 11 9.872e-12 9.724e-13 0.000e+00
Nodo: 12 9.389e-12 9.248e-13 0.000e+00
Nodo: 13 1.359e-11 2.704e-12 0.000e+00
Nodo: 14 1.227e-11 2.442e-12 0.000e+00
Nodo: 15 1.112e-11 2.212e-12 0.000e+00
Nodo: 16 1.035e-11 2.059e-12 0.000e+00
Nodo: 17 9.682e-12 1.926e-12 0.000e+00
Nodo: 18 9.294e-12 1.849e-12 0.000e+00
Nodo: 19 1.335e-11 4.051e-12 0.000e+00
Nodo: 20 1.190e-11 3.610e-12 0.000e+00
Nodo: 21 1.091e-11 3.310e-12 0.000e+00
...
Content of the .res type file format: Displacements in the nodes
# vtk DataFile Version 3.0
Resultado simulacion
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 102 double
-2.930000e-08 6.702550e-01 0.000000e+00
-2.539000e-08 5.808170e-01 0.000000e+00
5.690900e-02 5.780220e-01 0.000000e+00
1.500640e-01 7.544560e-01 0.000000e+00
1.307460e-01 6.573790e-01 0.000000e+00
2.232920e-01 7.361140e-01 0.000000e+00
4.142560e-01 7.750080e-01 0.000000e+00
...
POINT_DATA 102
SCALARS variable[0] double 1
LOOKUP_TABLE default
0.000000e+00
0.000000e+00
1.218295e-12
2.058752e-12
2.211144e-12
3.046864e-12
4.677164e-12
...
Content of the .vtk type file format: Displacements in the nodes
Full contents of both files can be found at: (a) PlaneStressCircularTubeDisplacements.res, for the cleartext file, and (b) PlaneStressCircularTubeDisplacements.vtk, for the Paraview .vtk file.
Reactions in the restricted nodes also can be displayed in the model view. The following steps must be followed:
Configure the post-processing function: Navigate through the Post-processing > Configuration menu. In the 'Post-processing Configuration' dialog select 'Node Reactions / Pressure' in the Variable drop-down list box, and configure the 'Identity' function as post-processing function. Press 'Ok' button.
Run the post-processing phase: Navigate through the Post-processing > Post-process menu. This runs the build-in post-processing module that applies the defined post-processing function.
The Reactions are displayed in the model view. The colour indicates the magnitude of the reaction. A colour-scale is located in the side of the model view.
Reactions in the node can also be exported into a clear-text file, as displacement. Same operation must be followed Archive > Export. Afterwards, specify the name of the file where the data is to be exported. As in displacements, two files types are supported: .res file type (clear-text based file) and .vtk file type (Paraview data type).
Instant time: -1.000000
Nodo: 1 0.000000 -0.067961 0.000000
Nodo: 2 0.000000 -0.111315 0.000000
Nodo: 3 0.000000 -0.100619 0.000000
Nodo: 4 0.000000 -0.092733 0.000000
Nodo: 5 0.000000 -0.087737 0.000000
Nodo: 6 0.000000 -0.039241 0.000000
Nodo: 7 0.000000 0.000000 0.000000
Nodo: 8 0.000000 0.000000 0.000000
Nodo: 9 0.000000 0.000000 0.000000
Nodo: 10 0.000000 0.000000 0.000000
Nodo: 11 0.000000 0.000000 0.000000
Nodo: 12 0.000000 0.000000 0.000000
Nodo: 13 0.000000 0.000000 0.000000
Nodo: 14 0.000000 0.000000 0.000000
Nodo: 15 0.000000 0.000000 0.000000
Nodo: 16 0.000000 0.000000 0.000000
Nodo: 17 0.000000 0.000000 0.000000
Nodo: 18 0.000000 0.000000 0.000000
...
Content of the .res type file format: Reactions in the nodes
# vtk DataFile Version 3.0
Resultado simulacion
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 102 double
-2.930000e-08 6.702550e-01 0.000000e+00
-2.539000e-08 5.808170e-01 0.000000e+00
5.690900e-02 5.780220e-01 0.000000e+00
1.500640e-01 7.544560e-01 0.000000e+00
1.307460e-01 6.573790e-01 0.000000e+00
2.232920e-01 7.361140e-01 0.000000e+00
4.142560e-01 7.750080e-01 0.000000e+00
...
SCALARS variable[0] double 1
LOOKUP_TABLE default
-1.006100e-01
-1.112938e-01
0.000000e+00
0.000000e+00
...
Content of the .vtk type file format: Reactions in the nodes
Full contents of both files can be found at: (a) PlaneStressCircularTubeReactions.res, for the cleartext file, and (b) PlaneStressCircularTubeReactions.vtk, for the Paraview .vtk file.