Difference between revisions of "Contrib:KeesWouters/Homard/beam"

From CAELinuxWiki
Jump to: navigation, search
m ('''Download files''')
m ('''Download files''')
Line 70: Line 70:
 
The command file is with two successive refinements with 50 % of the elements. Different refinements can easily be obtained by changing the value of CRIT_RAFF_PE=0.50 in the MACR_ADAP_MAIL(..) command.
 
The command file is with two successive refinements with 50 % of the elements. Different refinements can easily be obtained by changing the value of CRIT_RAFF_PE=0.50 in the MACR_ADAP_MAIL(..) command.
  
Have fun.<br>That's it for now.<br>at the end of winter of 2010<br>
+
Have fun.<br>That's it for now.<br>At the end of winter of 2010.<br>
 
Kees
 
Kees

Revision as of 12:25, 24 February 2010

Mesh refinement of a beam based on displacement

[under construction - just started 2010-02-23 ... ]

To start with, this contribution mainly focuses on the use of Salome, Code Aster and the macro command MACR_ADAP_MAIL. So I do not focus on the results and the mechanical justifications of the code that has been used. So no guarantee that the results will be correct up to five decimal places, which they are probably not. I do hope though that this information is useful. For me it has been, because I had to think about some commands and look through the documentation and learn from that. In case of mistakes, errors or remarks, please notify me, or better, you are invited to correct or edit them yourself. Enjoy.

The geometry

The geometry and the mesh of the construction

The mesh refinement is based on Homard. As usual the geometry is very simple in order not to disturb the issue we would like to show with other difficulties. Here we focus on how the refinement of a beam will be performed. In this case an axial loading on a beam takes place and the refinement is based on the axial displacement. Then it is very easy to follow the refinement process.

The geometry is defined in a python script (for download see end of this contribution) and can be loaded into Salome Geometry module by File --> Load script (or ctrl T in the object browser window). Right click Refresh or push F5 after loading if necessary.

Kw homard beam.jpg
overall dimension: [x,y,z] = [1.0, 23.0, 2.0] mm

The mesh consists of coarse, tetrehedral elements to start with.

The bottom axial plane Afix is fixed in all direction, on the top axial plane Apres an axial displacement of 0.2 mm is prescribed.

The refinement command

Normally the refinement of the mesh will be based on and (stress) error estimation. Here we base the refinement on the axial displacement DY of the beam. The command for this is:

# adapt the initial mesh mbeam Mesh0
MACR_ADAP_MAIL(MAILLAGE_N=Mesh0,              # initial mesh
              MAILLAGE_NP1=CO('Mesh1'),      # Mesh1 is not yet defined, so us CO'..' operator
              ADAPTATION='RAFFINEMENT',      # method of refinement
              RESULTAT_N=result0,            # refine based on this result
              #INDICATEUR='ERRE_ELEM_SIGM',  # and this result field
              #NOM_CMP_INDICA='NUEST',       # error estimation
              #NOM_CMP_INDICA='ERREST',      # error estimation
              INDICATEUR='DEPL',             # and this result field
              NOM_CMP_INDICA='DY',           # error estimation
              CRIT_RAFF_PE=0.50,             # 0.50 --> 50 % refined mesh
              QUALITE='OUI',
              CONNEXITE='OUI',
              TAILLE='OUI',);


where the field INDICATEUR is now DEPL and the component field NOM_CMP_INDICA is DY. The number of elements to be refines is set to 0.50 or 50 % by the parameter CRIT_RAFF_PE=0.50. This yields the following refined Mesh1.

Kw refined50.jpg

The mesh refinement nicely starts at the centre of the beam, in accordance with the expectation that 50 % of the largest DY displacements will start from there to the load plane.

Other examples

Refinement beam 2.jpg

In the picture above, the bottom beam is the original mesh.
The second, coloured mesh is refined with CRIT_RAFF_PE=0.20 or starting at 20 % of the top.
The third mesh is the previously described refinement with 50 %: CRIT_RAFF_PE=0.50
The fourth mesh is refined at 100 % of the elements: CRIT_RAFF_PE=1.00
The top meshes 5 and 6 are successive refinements with 50%. Mesh 5 is the same as mesh number 3. And this mesh is again refined at 50 % to obtain mesh 6.

Kw refinement beam wire.jpg

This picture shows the wire frame representation of the original mesh and the refinements with 20, 50 and 100%.

Download files

Media:kw_meshrefinement_beam_displacement.zip

This zip contains the following files

  • python geometry and mesh file geom_mesh_block.py. Load this file in Salome by File --> Load script (cntrl T)) and right select refresh (F5) in the object browser. Export the med file in the mesh module under mbeam.med for further processing by Code-Aster, controlled by ASTK.
  • command file for Code-Aster: refine012.comm
  • astk file for file control by ASTK: refine012.astk
  • export file, generated by ASTK: refine012.export

The result files res0.med, res1.med and res2.med can be viewed in the post processor module of Salome by File --> Import --> res<x>.med or cntrl I in the object browser. Importing it into the mesh module can be useful to check e.g. the number of elements.

The command file is with two successive refinements with 50 % of the elements. Different refinements can easily be obtained by changing the value of CRIT_RAFF_PE=0.50 in the MACR_ADAP_MAIL(..) command.

Have fun.
That's it for now.
At the end of winter of 2010.
Kees