3.1. Elements

PyFEM provides a comprehensive library of finite element formulations for structural and solid mechanics analysis. Elements define the kinematic assumptions, interpolation functions, and integration schemes that transform continuum mechanics equations into discrete algebraic systems.

3.1.1. Overview

Element types in PyFEM include:

  • Continuum elements: 2D, 3D, and axisymmetric solids for bulk materials

  • Structural elements: Beams, trusses, plates, and shells for slender members

  • Interface elements: Cohesive zone models for fracture and delamination

  • Special elements: Springs and other connectors

Each element type is implemented as a Python class that computes element stiffness matrices, internal forces, and output quantities. Elements are configured in the .pro input file and associated with specific element groups from the mesh.

3.1.2. Configuration in Input Files

Elements are defined by creating named element groups in the .pro file. Each group specifies the element type and its material properties:

input = "model.dat";

ContElem =
{
  type = "SmallStrainContinuum";

  material =
  {
    type = "PlaneStress";
    E    = 210.0e3;
    nu   = 0.3;
  };
};

solver =
{
  type = "NonlinearSolver";
  maxCycle = 50;
};

In this example:

  • ContElem is the element group name (must match a group in model.dat)

  • type specifies the element formulation

  • material defines the constitutive behavior

  • The mesh file model.dat assigns elements to groups

3.1.2.1. Multiple Element Groups

Complex models can combine different element types:

Solid =
{
  type = "SmallStrainContinuum";
  material = { type = "PlaneStress"; E = 210.0e3; nu = 0.3; };
};

Beam =
{
  type = "Beam";
  material = { type = "Isotropic"; E = 210.0e3; nu = 0.3; };
  A = 0.01;  # Cross-sectional area
  I = 8.33e-6;  # Moment of inertia
};

Interface =
{
  type = "Interface";
  material = { type = "XuNeedleman"; Tult = 10.0; Gc = 1.0; };
};

3.1.3. Element Categories

3.1.3.1. Continuum Elements

Solid continuum elements for bulk materials under small or finite strains. These elements use displacement-based formulations with material behavior defined by constitutive laws. Suitable for 2D plane stress/strain, 3D solids, and axisymmetric problems.

3.1.3.2. Shell and Plate Elements

Elements for thin-walled structures based on Kirchhoff or Reissner-Mindlin plate theory. These elements include shear-locking suppression (SLS) variants for improved performance with thin structures.

3.1.3.3. Beam and Rod Elements

One-dimensional structural elements for frames, trusses, and skeletal structures. Includes linear and geometrically nonlinear beam formulations (Timoshenko, Kirchhoff), truss elements, and spring connectors.

3.1.3.4. Other Elements

Special-purpose elements including interface elements for cohesive zone modeling, fracture mechanics, and delamination analysis. These elements use traction-separation laws to model progressive failure.