Here, we focus on linear solid mechanics, which involves analyzing the behavior of elastic bodies through a system of partial differential equations (PDEs) that govern their deformation. The solver at hand is specifically designed for 2D unstructured mesh problems and operates as a linear elasticity solver utilizing the finite element method (FEM).
The primary objective of the solver is to determine the vector solution for the unknown displacements within the elastic body. By utilizing FEM, it efficiently searches for a solution that satisfies the given boundary conditions and accurately captures the deformation characteristics of the system. This solver serves as a valuable tool for investigating and understanding the mechanical behavior of elastic materials in various engineering applications.
Under small elastic deformation, the steady 2D elastic deformation equation (linear elastic system) on domain
here,
here,
Without entering into the details, the variational formulation for the Navier's equation reads
here,
This XML configuration file is used for setting up an Elasticity problem simulation in ArcaneFEM. Below is a detailed explanation of each section in the configuration for one of the tests Test.bar.arc
.
The mesh configuration section specifies the mesh file to be used in the simulation:
<meshes>
<mesh>
<filename>bar.msh</filename>
</mesh>
</meshes>
- Mesh File: Defines the mesh file (
bar.msh
) to be used in the simulation. Note that this file should be compatible with version 4.1.msh
format fromGmsh
.
The Finite Element Method (FEM) configuration is provided in the Test.bar.arc
.
<fem>
<result-file>test_elasticity_results.txt</result-file>
<E>21.0e5</E>
<nu>0.28</nu>
<f2>-1.0</f2>
<enforce-Dirichlet-method>Penalty</enforce-Dirichlet-method>
<dirichlet-boundary-condition>
<surface>left</surface>
<u1>0.0</u1>
<u2>0.0</u2>
</dirichlet-boundary-condition>
</fem>
Let us explain this point wise
-
Result File: Specifies the file for validation test (OPTIONAL). Use only if you want to compare solutions
<result-file>test_elasticity_results.txt</result-file>
-
Material Properties: The Young's Modulus (E) for the material, defined as
21.0e5
. The Poisson's Ratio (nu) for the material, defined as0.28
.<E>21.0e5</E> <nu>0.28</nu>
-
Source Term (f2): The source term in Y direction hence (f2) in the PDE, set to
-1.0
.<f2>-1.0</f2>
-
Dirichlet Method: Specifies the method (
Penalty
) for enforcing Dirichlet boundary conditions. And the boundary condition on the specified surface (left
) with given values foru1
andu2
, which we set to 0 since the end is clamped.<enforce-Dirichlet-method>Penalty</enforce-Dirichlet-method> <dirichlet-boundary-condition> <surface>left</surface> <u1>0.0</u1> <u2>0.0</u2> </dirichlet-boundary-condition>
The post-processing configuration is specified to control how and when results are saved:
<arcane-post-processing>
<output-period>1</output-period>
<format name="VtkHdfV2PostProcessor" />
<output>
<variable>U</variable>
</output>
</arcane-post-processing>
-
Output Period: Sets the interval at which results are saved.
-
Format: Specifies the format for the output files (
VtkHdfV2PostProcessor
). -
Output Variables: Lists the variables (
U
) which is the displacement vector to be included in the output.
For post processing the Mesh0.hdf
file is outputted (in output/depouillement/vtkhdfv2
folder), which can be read by PARAVIS. The output is of the
The tests are present in the form of .arc
files with a prefix Test.
:
Name | Dimension | Boundary Condition | Solver | Comment |
---|---|---|---|---|
bar | 2D | Clamped Dirichlet + Null flux Body force (Source Term) |
Default (PETSc) | - Serves as validation test |
bar.DirichletViaRowElimination | 2D | Clamped Dirichlet + Null flux Body force (Source Term) |
PETSc | - Row Elimination for BC - GMRES with ILU(0) Solver |
bar.DirichletViaRowColumnElimination | 2D | Clamped Dirichlet + Null flux Body force (Source Term) |
PETSc | - Row and Column Elimination for BC - CG with AMG Solver |
bar.traction | 2D | Clamped Dirichlet Traction (Neumann) |
Default (PETSc) | |