compute_ABD_matrix#

module opensg.core.shell

opensg.core.shell.compute_ABD_matrix(thick, nlay, angle, mat_names, material_database)#

Compute the ABD matrix for composite laminates.

This function implements the MSG-based Kirchhoff plate stiffness matrix computation for composite laminates. It creates a 1D through-thickness mesh and computes the homogenized stiffness properties for the laminate.

Parameters:
  • thick (list[float]) – List of layer thicknesses for each layer in the laminate [length units]

  • nlay (int) – Number of layers in the composite laminate

  • angle (list[float]) – List of fiber angles (in radians) for each layer

  • mat_names (list[str]) – List of material names corresponding to each layer

  • material_database (dict) – Database containing material properties for each material name. Each material should have orthotropic properties: E1, E2, G12, nu12, etc.

Returns:

numpy.ndarray – 6x6 ABD matrix representing the laminate stiffness matrix. Structure: [[A, B], [B, D]] where: - A: membrane stiffness (3x3) - B: coupling stiffness (3x3) - D: bending stiffness (3x3) Relates generalized forces to generalized strains: {N, M} = ABD * {ε₀, κ}