BEAM, SHELL, and SOLID Elements in FEM: A Code_Aster and CalculiX Comparison

Published by rupole1185 on

Finite Element Method (FEM) analysis relies heavily on the choice of element type. The accuracy and efficiency of your simulation depend significantly on selecting the appropriate element for your geometry and loading conditions. Three fundamental element types are BEAM, SHELL, and SOLID elements. This post explores the differences between them, focusing on their implementation in two popular open-source FEM solvers: Code_Aster and CalculiX.

1. Beam Elements:

Beam elements are one-dimensional elements ideal for slender structures where the length is significantly larger than the cross-sectional dimensions (e.g., beams, columns, shafts). They are defined by their length and cross-sectional properties (area, moment of inertia). Internal stress states are simplified, typically assuming a linear stress distribution across the cross-section.

  • Code_Aster: Code_Aster uses various beam element types, often denoted by keywords like POU_TRA, specifying different beam theories (e.g., Euler-Bernoulli, Timoshenko). These elements account for axial, bending, and torsional effects.
# Hypothetical Code_Aster input snippet (simplified)
DEBUT();
OPTION(REPRISE=OUI);
MODELE(MAILLAGE='my_beam_mesh',TYPE_MAILLAGE='ELEM_T3',);
...  # Material properties, boundary conditions, loading
...
FIN();
  • CalculiX: CalculiX employs beam elements (B31, B32, etc.) defined by their nodes and section properties. These elements can also handle various beam theories and non-linear effects.
# Hypothetical CalculiX input snippet (simplified)
*NODE
...
*ELEMENT, TYPE=B31
...
*SECTION, SECTION=RECT
...  # Section properties
...
*END STEP

2. Shell Elements:

Shell elements are two-dimensional elements suitable for thin structures where one dimension (thickness) is significantly smaller than the other two (e.g., plates, shells, thin-walled structures). They model the structure’s behavior using a mid-surface and consider bending and membrane effects.

  • Code_Aster: Code_Aster offers numerous shell element types, like D_PLAN, D_COQUE, and others, differing in the order of interpolation and the assumed stress state. They usually integrate through the thickness to account for transverse shear effects.
# Hypothetical Code_Aster input snippet (simplified)
DEBUT();
OPTION(REPRISE=OUI);
MODELE(MAILLAGE='my_shell_mesh',TYPE_MAILLAGE='ELEM_QUA4',);
...  # Material properties, boundary conditions, loading, thickness
...
FIN();
  • CalculiX: CalculiX uses shell elements (S4, S4R, S8R, etc.) that account for bending and membrane effects. The choice depends on the desired accuracy and computational cost; higher-order elements offer better accuracy.
# Hypothetical CalculiX input snippet (simplified)
*NODE
...
*ELEMENT, TYPE=S4R
...
*SHELL SECTION, MATERIAL=my_material, ELSET=my_shell_elements, THICKNESS=0.1
...
*END STEP

3. Solid Elements:

Solid elements are three-dimensional elements used for modeling bulk structures where all three dimensions are comparable (e.g., blocks, complex geometries). They provide a more detailed representation of the stress and strain fields within the structure.

  • Code_Aster: Code_Aster offers various solid element types, including tetrahedral (ELEM_TETRA4, ELEM_TETRA10) and hexahedral (ELEM_HEXA8, ELEM_HEXA20) elements. The choice affects accuracy and computational cost.
# Hypothetical Code_Aster input snippet (simplified)
DEBUT();
OPTION(REPRISE=OUI);
MODELE(MAILLAGE='my_solid_mesh',TYPE_MAILLAGE='ELEM_HEXA8',);
...  # Material properties, boundary conditions, loading
...
FIN();
  • CalculiX: Similar to Code_Aster, CalculiX provides a range of solid elements like tetrahedral (C3D4, C3D10) and hexahedral (C3D8, C3D20) elements. The choice depends on the desired accuracy and mesh quality.
# Hypothetical CalculiX input snippet (simplified)
*NODE
...
*ELEMENT, TYPE=C3D8
...
*SOLID SECTION, MATERIAL=my_material, ELSET=my_solid_elements
...
*END STEP

Choosing the Right Element:

The selection of the appropriate element type depends on:

  • Geometry: Beams for slender structures, shells for thin structures, and solids for bulk structures.
  • Loading: The type of loading (axial, bending, shear, torsion) influences the choice.
  • Accuracy Requirements: Higher-order elements generally provide better accuracy but at a higher computational cost.
  • Mesh Quality: Good mesh quality is crucial for accurate results, especially for solid elements.

Both Code_Aster and CalculiX provide a wide range of element types to cater to diverse engineering applications. Understanding their capabilities is crucial for successful FEM analysis. Remember to consult the documentation of each solver for detailed information on specific element types and their capabilities.


CloudHPC is a HPC provider to run engineering simulations on the cloud. CloudHPC provides from 1 to 224 vCPUs for each process in several configuration of HPC infrastructure - both multi-thread and multi-core. Current software ranges includes several CAE, CFD, FEA, FEM software among which OpenFOAM, FDS, Blender and several others.

New users benefit of a FREE trial of 300 vCPU/Hours to be used on the platform in order to test the platform, all each features and verify if it is suitable for their needs


Categories: calculixCode Aster

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *