Difference between revisions of "Contrib:KeesWouters/plate/variable pressure"

From CAELinuxWiki
Jump to: navigation, search
m (Varying pressure of shells - use of Python)
m (Varying pressure of shells - use of Python)
Line 5: Line 5:
 
<br/>
 
<br/>
 
January 2013 - update to Code Aster version 11.3 - Salome 6.6.0 - Linux Mint 14 Nadia<br/>
 
January 2013 - update to Code Aster version 11.3 - Salome 6.6.0 - Linux Mint 14 Nadia<br/>
 
  
 
==='''Static displacement of a shell under pressure'''===
 
==='''Static displacement of a shell under pressure'''===
This is just a simple example of the use of shells (coque_3d) for static calculations. The main focus is on varying thickness of the shell by a Python list. The thickness of the shell depends on the average Ycog coordinate of the shell element. It is based on [[
+
This is just a simple example of the use of shells (coque_3d) for static calculations. The main focus is on varying the pressure on a shell element by a Python list. The pressure on the shell depends on the average Ycog coordinate of the element. for mesh geometry, mesh and material property details see, once again, [[Contrib:KeesWouters/plate/thickness]].
  
Two meshes are used throughout this contribution: a course mesh (3 by 4 elements) and a fine mesh. In the geometry and mesh file (download as at the end) the meshsize can be set by the variable ''meshsize'' (number between 0.0 and 1.0). The course mesh I have been using for experimenting. The fine mesh to show more reasonable results.
+
==='''General way of determination of the pressure'''===
 
+
==='''General way of determination of the shell thickness'''===
+
 
The geometry and mesh are generated in Salome in the standard way. In Code Aster the mesh is read, including nodes number, node coordinates, element types and element connectivity. We use quadratic quad8 elements that are converted to quad9 (coque_3d) elements suitable for C-Aster.<br/>
 
The geometry and mesh are generated in Salome in the standard way. In Code Aster the mesh is read, including nodes number, node coordinates, element types and element connectivity. We use quadratic quad8 elements that are converted to quad9 (coque_3d) elements suitable for C-Aster.<br/>
 
Of each element  
 
Of each element  
Line 20: Line 17:
 
* generate the thickness of the shell  
 
* generate the thickness of the shell  
 
by Python commands.
 
by Python commands.
This includes the y coordinate Ycog. The element thickness th is calculated by th = Ycog*0.1+0.01 and stored in a Python list. This list is passed to the AFFE_CARA_ELEM command. Further processing C-Aster is from then on as usual.
+
This includes the y coordinate Ycog. The pressure depends on the centre y-value of each shell element. It is conveinient to use the added, last node of each shell element of the connectivity list. This node has been added in the Code-Aster command file by the MODI_MAILLAGE commnand to modify the QUAD8 to QUAD9 element.
 
+
The geometry and mesh is shown in the picture below.
==='''Geometry, mesh and material properties'''===
+
The construction is a rectangle in the xyz plane. The minimum and maximum x, y and z values are:
+
* x: [xmin, xmax] = [0.00, 1.00]
+
* y: [ymin, ymax] = [0.00, 2.50]
+
* z: [zmin, zmax] = [1.25, 2.35]
+
The thickness of the plate we make dependent on the y coordinate of the centre of the element as follows: th = Ycog*0.1+0.01 (edit this for your own definition here of course).<br/>
+
The boundary conditions are as follows: the two edges parallel to the y axis are restricted in all six directions. The material is steel, its mechanical properties are defined by the following parameters: Young's modulus E = 2.1e11 [Pa], poisson ratio nu = 0.28 [-] and density -though not needed- here rho = 7850 [kg/m3]. For more details of the general calculation procedure see e.g. [http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters/platedynamics here.] In the next part we concentrate on the extraction of the coordinates of the elements and the definition of the thickness of each element.
+
  
 
: [[Image:kw_varshell_geom.jpg]]
 
: [[Image:kw_varshell_geom.jpg]]

Revision as of 12:51, 13 January 2013

Varying pressure of shells - use of Python

If you are already familiar to Code Aster, enjoy this. If you are new to Code Aster have a look here first please.
A similar description for variable thickness of a plate is given in Contrib:KeesWouters/plate/thickness
november 2010 - SalomeMeca 2010 (Code Aster 10.2) - Ubuntu Meerkat 10.10 64bits.
January 2013 - update to Code Aster version 11.3 - Salome 6.6.0 - Linux Mint 14 Nadia

Static displacement of a shell under pressure

This is just a simple example of the use of shells (coque_3d) for static calculations. The main focus is on varying the pressure on a shell element by a Python list. The pressure on the shell depends on the average Ycog coordinate of the element. for mesh geometry, mesh and material property details see, once again, Contrib:KeesWouters/plate/thickness.

General way of determination of the pressure

The geometry and mesh are generated in Salome in the standard way. In Code Aster the mesh is read, including nodes number, node coordinates, element types and element connectivity. We use quadratic quad8 elements that are converted to quad9 (coque_3d) elements suitable for C-Aster.
Of each element

  • determine the nodes are defined by the connectivity matrix,
  • determine the coordinates of all the nodes and finally
  • determine the centre of gravity and
  • generate the thickness of the shell

by Python commands. This includes the y coordinate Ycog. The pressure depends on the centre y-value of each shell element. It is conveinient to use the added, last node of each shell element of the connectivity list. This node has been added in the Code-Aster command file by the MODI_MAILLAGE commnand to modify the QUAD8 to QUAD9 element. The geometry and mesh is shown in the picture below.

Kw varshell geom.jpg

Extraction of the coordinates

Among others, in Code Aster forum the procedure is discussed.
In Code Aster, after reading the initial mesh, the quad8 elements are converted to quad9 (coque_3d compatible) elements. This mesh is called meshmod (modified mesh) and is used as the basis for the further operations.