Linear elastic model
LinearElasticModel_ is the class for modeling linear elastic material behavior. It is a subclass of AbstractSolidMechanicsModel_.
Linear elasticity is a simplification of the more general nonlinear theory of elasticity and a branch of continuum mechanics. In linear elasticity we assume that:
- the strains are small
- the relation between stress and strain tensor is linear.
These assumptions are reasonable for many engineering materials and engineering design scenarios. Linear elasticity is therefore used extensively in structural analysis and engineering design, often with the aid of finite element analysis.
In the case of linear elasticity the relation between stress and strain is given by:
where and are the second order symmetric tensors denoting the stress and strain tensor, respectively.
is the fourth-order stiffness tensor, which has both major and minor symmetries:
Major symmetries:
Minor symmetries:
In this way, has a total 21 number of independent elements.
Voigt notation
The Voigt notation for stress tensor is given by following:
The Voigt notation for strain tensor is given by following:
The fourth-order tensor is given by a symmetric matrix.
Learn from example
We will consider the following example to learn about the LinearElasticModel.
Click here to see the example
PROGRAM main
USE easifemBase
USE easifemClasses
USE easifemMaterials
IMPLICIT NONE
TYPE(LinearElasticModel_) :: obj
TYPE(ParameterList_) :: param
CALL FPL_INIT; CALL param%initiate()
CALL SetLinearElasticModelParam( &
& param=param, &
& ElasticityType=TypeElasticity%Isotropic, &
& PoissonRatio=0.3_DFP, &
& YoungsModulus=1.0D+6)
CALL obj%Initiate(param)
CALL obj%Display(msg="ISOTROPIC | PLANE-STRAIN |:")
CALL param%DEALLOCATE(); CALL FPL_FINALIZE
END PROGRAM main
Step 1 (configure)
In the above example, first we configure the LinearElasticModel
by calling the SetLinearElasticModelParam method.
CALL SetLinearElasticModelParam( &
& param=param, &
& ElasticityType=TypeElasticity%Isotropic, &
& PoissonRatio=0.3_DFP, &
& YoungsModulus=1.0D+6)
Step 2 (initiate)
Now we will pass param
to Initiate method to construct an instance of LinearElasticModel_
.
CALL obj%Initiate(param)
Step 3 (display)
You can display the content of LinearElasticModel
by calling the Display method.
CALL obj%Display(msg="ISOTROPIC | PLANE-STRAIN |:")