LinearElasticModel
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 |:")
Further reading
Methods
📄️ Structure
LinearElasticModel_ is the class for modeling linear elastic material behavior.
📄️ Initiate
Initiate an instance of LinearElasticModel_.
📄️ CheckEssentialParam
Check essential parameters to construct an instance of LinearElasticityModel_.
📄️ Deallocate
Deallocate the data stored in the LinearElasticModel_.
📄️ Display
Display the content of LinearElasticityModel.
📄️ Export
Export the content of LinearElasticModel_ into a HDF5File.
📄️ GetC
Get $C$ matrix.
📄️ GetData
Return the data.
📄️ GetDataSize
Get data size.
📄️ GetElasticParam
Get elastic parameters stored inside the LinearElasticModel.
📄️ GetElasticityType
Get elasticity type.
📄️ GetInvC
Get $C^$ matrix.
📄️ GetParam
Get elastic parameters stored inside the LinearElasticModel.
📄️ GetPrefix
Get prefix.
📄️ Import
Import the content of LinearElasticModel_ form a HDF5File.
📄️ ImportFromToml
Import the content of LinearElasticModel_ form a toml-file.
📄️ SetData
Set the data.
📄️ SetLinearElasticParam
Set the essential parameter for initiating an instance of LinearElasticModel_
📄️ UpdateData
Update constitutive data.