FEA with general material models on beam elements

Introduction

Repository to perform finite element analyses of 2d noded Euler Bernoulli beam elements with linear and non-linear constitutive models.

materialNonLinearity.BoundaryCondsType
BoundaryConds

Contains the boundary conditions of the structure.
Includes the support definition and the external forces.
Fields:

  • suppMatrix::Matrix: Matrix whose i-th row contains the fixed degrees of freedom of the fixed i-th node according to the structure: [Nodeᵢ uz θy].
  • nodalForceMatrix::Matrix: Matrix whose i-th row contains the external nodal forces applied to the loaded i-th node according the structure: [Nodeᵢ Fz My].
source
materialNonLinearity.IsotropicBiLinearType
IsotropicBiLinear

Isotropic BiLinear constitutive model i.e. Linear softening or Linear Hardening.
Stress is proportional to strain given by either the Elasticity Modulus E and the Elastoplastic tangent modulus C.
Change in proportionality occurs after the stress reaches a given value σY0.

Fields:

  • E::Float64: Young Elasticity modulus.
  • σY0::Float64: Initial yield stress.
  • K::Float64: Slope of the hardening function.
  • ne::Int64: Gauss integration points along the element length.
  • ns::Int64: Gauss integration points along the section height.
source
materialNonLinearity.LinearElasticType
LinearElastic

Isotropic Linear elastic constitutive model.
Stress is proportional to strain given by Elasticity Modulus E.

Fields:

  • E::Float64: Young Elasticity modulus.
  • ne::Int64: Gauss integration points along the element length.
  • ns::Int64: Gauss integration points along the section height.
source
materialNonLinearity.MeshType
Mesh

Contains the mesh node coordinates and conectivity matrix.

Fields:

  • nodesMat::Matrix{Float64}: Matrix containing the (xᵢ,zᵢ) coordinates of the i-th node.
  • conecMat::Matrix: Matrix whose i-th row contains the information of the i-th element according the structure: [Material, Section, (nodeᵢ, nodeⱼ)].
source
materialNonLinearity.RectangleType
Rectangle

Rectangular section.

Fields:

  • b::Float64: Section width.
  • h::Float64: Section height.
  • A::Float64: Section area.
  • Iy::Float64: Second moment of inertia.

Note:
A and Iy are computed internally, only provide fields b and h.

source
materialNonLinearity.UserModelType
UserModel

User defined constitutive model.
The user shall use import materialNonLinearity: constitutive_model and define the function constitutive_model as follows.

function constitutive_model(ElemMaterialModel::UserModel, εₖ)
    ...
    return σ, ∂σ∂ε
end

Fields:

  • ne::Int64: Gauss integration points along the element length.
  • ns::Int64: Gauss integration points along the section height.
source