FEM EquationElasticity: Difference between revisions

From FreeCAD Documentation
m (→‎Solver Settings: add link)
mNo edit summary
 
(37 intermediate revisions by 4 users not shown)
Line 5: Line 5:
{{Docnav
{{Docnav
|[[FEM_SolverZ88|Solver Z88]]
|[[FEM_SolverZ88|Solver Z88]]
|[[FEM_EquationElectricforce|Electricforce equation]]
|[[FEM_EquationDeformation|Deformation equation]]
|[[FEM_Workbench|FEM]]
|[[FEM_Workbench|FEM]]
|IconL=FEM_SolverZ88.svg
|IconL=FEM_SolverZ88.svg
|IconR=FEM_EquationElectricforce.svg
|IconR=FEM_EquationDeformation.svg
|IconC=Workbench_FEM.svg
|IconC=Workbench_FEM.svg
}}
}}
Line 15: Line 15:
{{GuiCommand
{{GuiCommand
|Name=FEM EquationElasticity
|Name=FEM EquationElasticity
|MenuLocation=Solve → Elasticity equation
|MenuLocation=Solve → Mechanical equations → Elasticity equation
|Workbenches=[[FEM_Workbench|FEM]]
|Workbenches=[[FEM_Workbench|FEM]]
|Version=0.19
|Version=0.17
|SeeAlso=[[FEM_tutorial|FEM tutorial]]
|SeeAlso=[[FEM_EquationDeformation|Deformation equation]], [[FEM_tutorial|FEM tutorial]]
}}
}}


Line 24: Line 24:


<!--T:2-->
<!--T:2-->
This equation describes the mechanical properties of rigid bodies.
This equation describes the mechanical properties of solid bodies.


<!--T:10-->
==Usage==
For info about the math of the equation, see the [http://www.elmerfem.org/blog/documentation/ Elmer models manual], section ''Linear Elasticity''.


==Usage== <!--T:11-->

<!--T:12-->
# After adding an Elmer solver as described [[FEM_SolverElmer#Equations|here]], select it in the [[Tree_view|tree view]].
# After adding an Elmer solver as described [[FEM_SolverElmer#Equations|here]], select it in the [[Tree_view|tree view]].
# Now either use the toolbar button [[Image:FEM_EquationElasticity.svg|24px]] or the menu {{MenuCommand|Solve → Elasticity equation}}.
# Now either use the toolbar button [[Image:FEM_EquationElasticity.svg|24px]] or the menu {{MenuCommand|Solve → Mechanical equations → Elasticity equation}}.
# Change the [[#Solver_Settings|equation's solver settings]] or the [[FEM_SolverElmer_SolverSettings|general solver settings]] if necessary.
# Change the [[#Solver_Settings|equation's solver settings]] or the [[FEM_SolverElmer_SolverSettings|general solver settings]] if necessary.


<!--T:34-->
==Solver Settings==
'''Note''': For analyses of nonlinear elasticity you must use the [[Image:FEM_EquationDeformation.svg|32px]] [[FEM_EquationDeformation|Deformation equation]] ({{Version|0.21}}). The Elasticity equation is only for linear elasticity.

<!--T:25-->
'''Note''': If you use more than one CPU core for the solver ({{Version|0.21}}), you cannot use the default solver settings. However, using just one CPU and the default solver settings is in many cases faster than using several CPUs because the elasticity solver is only fast when {{PropertyData|Linear Solver Type}} is set to ''Direct'' (the default, described [[FEM_SolverElmer_SolverSettings#Linear_System|here]]). For multi-CPU solving one can only use the {{PropertyData|Linear Direct Method}} ''MUMPS''. However, MUMPS is not freely available as a direct download.

==Solver Settings== <!--T:13-->


<!--T:14-->
For the general solver settings, see the [[FEM_SolverElmer_SolverSettings|Elmer solver settings]].
For the general solver settings, see the [[FEM_SolverElmer_SolverSettings|Elmer solver settings]].


<!--T:15-->
The elasticity equation provides these special settings:
The elasticity equation provides these special settings:
* {{PropertyData|Calculate Pangle}}: If the principal angles should be calculated.
* {{PropertyData|Calculate Pangle}}: If the principal angles should be calculated.
* {{PropertyData|Calculate Principal}}: If all stresses should be calculated.
* {{PropertyData|Calculate Principal}}: If all stresses should be calculated.
* {{PropertyData|Calculate Strains}}: If strains will be calculated. This will also calculate the stresses, even if {{PropertyData|Calculate Principal}} or {{PropertyData|Calculate Stresses}} is ''false''.
* {{PropertyData|Calculate Strains}}: If strains will be calculated. This will also calculate the stresses, even if {{PropertyData|Calculate Principal}} or {{PropertyData|Calculate Stresses}} is {{FALSE}}.
* {{PropertyData|Calculate Stresses}}: If stresses should be calculated. Compared to {{PropertyData|Calculate Principal}} the Tresca and the pincipal stress will not be calculated.
* {{PropertyData|Calculate Stresses}}: If stresses should be calculated. Compared to {{PropertyData|Calculate Principal}} the Tresca yield criterion and the principal stress will not be calculated.
* {{PropertyData|Constant Bulk System}}: See the Elmer manual for more info.
* {{PropertyData|Constant Bulk System}}: See the Elmer manual for more info.
* {{PropertyData|Displace Mesh}}: If mesh can be deformed. This is by default ''true'' and must be set to ''false'' for eigenfrequency analyses.
* {{PropertyData|Displace Mesh}}: If mesh can be deformed. This is by default {{TRUE}} and must be set to {{FALSE}} for eigenfrequency analyses.
* {{PropertyData|Fix Displacement}}: If displacements or forces are set. thereby {{PropertyData|Model Lumping}} is automatically used.
* {{PropertyData|Fix Displacement}}: If displacements or forces are set. thereby {{PropertyData|Model Lumping}} is automatically used.
* {{PropertyData|Geometric Stiffness}}: Considers the geometric stiffness of the body.
* {{PropertyData|Geometric Stiffness}}: Considers the geometric stiffness of the body.
Line 49: Line 61:
* {{PropertyData|Model Lumping}}: Uses [https://en.wikipedia.org/wiki/Lumped-element_model model lumping].
* {{PropertyData|Model Lumping}}: Uses [https://en.wikipedia.org/wiki/Lumped-element_model model lumping].
* {{PropertyData|Model Lumping Filename}}: File to save the results from the model lumping.
* {{PropertyData|Model Lumping Filename}}: File to save the results from the model lumping.
* {{PropertyData|Stability Analysis}}: If ''true'' the {{PropertyData|Eigen Analysis}} is a stability analysis. Otherwise a modal analysis is performed.
* {{PropertyData|Stability Analysis}}: If {{TRUE}} {{PropertyData|Eigen Analysis}} becomes a stability analysis (buckling analysis). Otherwise a modal analysis is performed.
* {{PropertyData|Update Transient System}}: See the Elmer manual for more info.
* {{PropertyData|Update Transient System}}: See the Elmer manual for more info.
* {{PropertyData|Variable}}: The variable for the elasticity equation. Only change this if {{PropertyData|Incompressible}} is set to ''true'' in accordance to the Elmer manual.
* {{PropertyData|Variable}}: The variable for the elasticity equation. Only change this if {{PropertyData|Incompressible}} is set to {{TRUE}} in accordance to the Elmer manual.


<!--T:16-->
Eigenvalues:
Eigenvalues:
* {{PropertyData|Eigen Analysis}}: If an eigen analysis should be performed (calculation of eigenmodes and eigenfrequencies).
* {{PropertyData|Eigen Analysis}}: If an eigen analysis should be performed (calculation of eigenmodes and eigenfrequencies).
* {{PropertyData|Eigen System Complex}}: Should be ''true'' if the eigen system is complex. it must be ''false'' for a damped eigen value analyses.
* {{PropertyData|Eigen System Complex}}: Should be {{TRUE}} if the eigen system is complex. it must be {{FALSE}} for a damped eigen value analyses.
* {{PropertyData|Eigen System Compute Residuals}}: Computes residuals of the eigen value system.
* {{PropertyData|Eigen System Compute Residuals}}: Computes residuals of the eigen value system.
* {{PropertyData|Eigen System Damped}}: Set a damped eigen analysis. Can only be used if '''Linear Solver Type''' is ''Iterative''.
* {{PropertyData|Eigen System Damped}}: Set a damped eigen analysis. Can only be used if {{PropertyData|[[FEM_SolverElmer_SolverSettings#Linear_System|Linear Solver Type]]}} is ''Iterative''.
* {{PropertyData|Eigen System Select}}: Selection of which eigenvalues are computed. Note that the selection of ''Largest *'' cause an infinite run for recent Elmer (as of August 2022).
* {{PropertyData|Eigen System Select}}: Selection of which eigenvalues are computed. Note that the selection of ''Largest*'' cause an infinite run for recent Elmer solver (as of August 2022).
* {{PropertyData|Eigen System Tolerance}}: Convergence tolerance for iterative eigensystem solve. The default is 100 times the '''Linear Tolerance'''.
* {{PropertyData|Eigen System Tolerance}}: Convergence tolerance for iterative eigensystem solve. The default is 100 times the {{PropertyData|[[FEM_SolverElmer_SolverSettings#Linear_System|Linear Tolerance]]}}.
* {{PropertyData|Eigen System Values}}: The number of the highest eigenmode that should be calculated.
* {{PropertyData|Eigen System Values}}: The number of the highest eigenmode that should be calculated.


<!--T:17-->
Equation:
Equation:
* {{PropertyData|Plane Stress}}: Computes solution according to the plane stress situation. Applies only for 2D geometry.
* {{PropertyData|Plane Stress}}: Computes solution according to the plane stress situation. Applies only for 2D geometry.


==Constraint Information==
==Analysis Feature Information== <!--T:18-->


<!--T:19-->
The elasticity equation takes the following constraints into account if they are set:
The elasticity equation takes the following analysis features into account if they are set:


<!--T:20-->
* [[Image:FEM_ConstraintFixed.svg|32px]] [[FEM_ConstraintFixed|Constraint fixed]]
* [[Image:FEM_ConstraintDisplacement.svg|32px]] [[FEM_ConstraintDisplacement|Constraint displacement]]
* [[Image:FEM_ConstraintFixed.svg|32px]] [[FEM_ConstraintFixed|Fixed boundary condition]]
* [[Image:FEM_ConstraintForce.svg|32px]] [[FEM_ConstraintForce|Constraint force]]
* [[Image:FEM_ConstraintDisplacement.svg|32px]] [[FEM_ConstraintDisplacement|Displacement boundary condition]]
* [[Image:FEM_ConstraintPressure.svg|32px]] [[FEM_ConstraintPressure|Constraint pressure]]
* [[Image:FEM_ConstraintForce.svg|32px]] [[FEM_ConstraintForce|Force load]]
* [[Image:FEM_ConstraintSelfWeight.svg|32px]] [[FEM_ConstraintSelfWeight|Constraint self weight]]
* [[Image:FEM_ConstraintInitialTemperature.svg|32px]] [[FEM_ConstraintInitialTemperature|Initial temperature condition]]
* [[Image:FEM_ConstraintInitialTemperature.svg|32px]] [[FEM_ConstraintInitialTemperature|Constraint initial temperature]]
* [[Image:FEM_ConstraintPressure.svg|32px]] [[FEM_ConstraintPressure|Pressure load]]
* [[Image:FEM_ConstraintSelfWeight.svg|32px]] [[FEM_ConstraintSelfWeight|Gravity load]]
* [[Image:FEM_ConstraintSpring.svg|32px]] [[FEM_ConstraintSpring|Spring]]


===Notes===
===Note=== <!--T:21-->


<!--T:22-->
For all above constraints it is important that they act on a face. Constraints set to lines or vertices are not recognized by the Elmer solver.
* Except for calculations in 2D, for all the above analysis features it is important that they act on a face. Features in 3D set to lines or vertices are not recognized by the Elmer solver.


==Eigenmode Analysis==
==Eigenmode Analysis== <!--T:23-->


<!--T:24-->
To perform an eigenmode analysis (calculation if the eigenmodes and eigenfrequencies), you need to
To perform an eigenmode analysis (calculation if the eigenmodes and eigenfrequencies), you need to
# Set {{PropertyData|Do Frequency Analysis}}: to ''true''
# Set {{PropertyData|Eigen Analysis}} to {{TRUE}}
# Set {{PropertyData|Displace Mesh}} to {{FALSE}}
# Set {{PropertyData|Eigenmodes Cout}}: to the highest number of eigenmodes you are interested in. The smaller this number the shorter the solver runtime since higher modes can be omitted to be determined.
# Set {{PropertyData|Eigen System Values}} to the highest number of eigenmodes you are interested in. The smaller this number the shorter the solver runtime since higher modes can be omitted from computation.
# Add a [[FEM_ConstraintFixed|constraint fixed]] and set at least one face of the body as fixed.
# Add a [[FEM_ConstraintFixed|fixed boundary condition]] and set at least one face of the body as fixed.
# Accordingto the Elmer manual the best results for eigenmode analysis are obtained with direct solving. Therefore
# Run the solver.
## Set {{PropertyData|Linear Sover Type}} to ''Direct''.
## Set {{PropertyData|Linear Direct Method}} to ''Umfpack''.
# Eventually run the solver.


<!--T:35-->
'''Note''': If you use more than one CPU core for the solver ({{Version|1.0}}), you cannot use ''Umfpack'', the only direct method for parallel solving is ''MUMPS''.</br>Also note that iterative solving is not recommended for eigenmode analysis.
It is highly recommended to use {{PropertyData|Linear Solver Type}} set to ''Direct'' (the default) because this is much faster and the results are more accurate.


==Buckling Analysis== <!--T:26-->
==Results==


<!--T:27-->
The available results depend on the [[#Solver_Settings|solver settings]]. If none of them was set to ''true'', only the displacement is calculated. Otherwise also the corresponding results will be available. If {{PropertyData|Do Frequency Analysis}} was set to ''true'' all results will be available for every calculated eigenmode.
To perform a buckling analysis, you need to do the same as for an [[#Eigenmode_Analysis|Eigenmode Analysis]], and additionally:
* Set {{PropertyData|Stability Analysis}} to {{TRUE}}


==Results== <!--T:28-->
If {{PropertyData|Do Frequency Analysis}} was set to ''true'', the eigenvalues are output at the end of the document '''SolverElmerOutput''' that will be created in the tree view after the solver has finished.
A typical output would for example be
EigenSolve: Computed 5 Eigen Values
EigenSolve: 1: 9.584853E+04 0.000000E+00
EigenSolve: 2: 3.080755E+06 0.000000E+00
EigenSolve: 3: 3.725429E+06 0.000000E+00
EigenSolve: 4: 2.909430E+07 0.000000E+00
EigenSolve: 5: 3.525298E+07 0.000000E+00


<!--T:29-->
The second column is hereby the real part of the eigenvalue <math>\omega^2</math>, the third column the imaginary part.
The available results depend on the [[#Solver_Settings|solver settings]]. If none of the {{PropertyData|Calculate *}} settings was set to {{TRUE}}, only the displacement is calculated. Otherwise also the corresponding results will be available. If {{PropertyData|Eigen Analysis}} was set to {{TRUE}} all results will be available for every calculated eigenmode.


<!--T:30-->
To calculate the eigenfrequency <math>f_e</math> out of it, this has to be done (because of the root the imaginary part cannot just be omitted):
If {{PropertyData|Eigen Analysis}} was set to {{TRUE}}, the eigenfrequencies are output at the end of the solver log in the solver dialog and also in the document '''SolverElmerOutput''' that will be created in the tree view after the solver has finished.


<!--T:31-->
'''Note:''' The eigenmode displacement <math>\vec{d}</math> vector has an arbitrary value since the result is

<!--T:32-->
<math>\quad
<math>\quad
\vec{d} = c\cdot\vec{u}
f_{e} =\cfrac{\sqrt{\omega^{2}}}{2\pi}
</math>
</math>

<!--T:33-->
whereas <math>\vec{u}</math> is the eigenvector and <math>c</math> is a complex number.




Line 118: Line 140:
{{Docnav
{{Docnav
|[[FEM_SolverZ88|Solver Z88]]
|[[FEM_SolverZ88|Solver Z88]]
|[[FEM_EquationElectricforce|Electricforce equation]]
|[[FEM_EquationDeformation|Deformation equation]]
|[[FEM_Workbench|FEM]]
|[[FEM_Workbench|FEM]]
|IconL=FEM_SolverZ88.svg
|IconL=FEM_SolverZ88.svg
|IconR=FEM_EquationElectricforce.svg
|IconR=FEM_EquationDeformation.svg
|IconC=Workbench_FEM.svg
|IconC=Workbench_FEM.svg
}}
}}
Line 128: Line 150:
{{FEM Tools navi{{#translation:}}}}
{{FEM Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 13:25, 24 November 2023

FEM EquationElasticity

Menu location
Solve → Mechanical equations → Elasticity equation
Workbenches
FEM
Default shortcut
None
Introduced in version
0.17
See also
Deformation equation, FEM tutorial

Description

This equation describes the mechanical properties of solid bodies.

For info about the math of the equation, see the Elmer models manual, section Linear Elasticity.

Usage

  1. After adding an Elmer solver as described here, select it in the tree view.
  2. Now either use the toolbar button or the menu Solve → Mechanical equations → Elasticity equation.
  3. Change the equation's solver settings or the general solver settings if necessary.

Note: For analyses of nonlinear elasticity you must use the Deformation equation (introduced in version 0.21). The Elasticity equation is only for linear elasticity.

Note: If you use more than one CPU core for the solver (introduced in version 0.21), you cannot use the default solver settings. However, using just one CPU and the default solver settings is in many cases faster than using several CPUs because the elasticity solver is only fast when DataLinear Solver Type is set to Direct (the default, described here). For multi-CPU solving one can only use the DataLinear Direct Method MUMPS. However, MUMPS is not freely available as a direct download.

Solver Settings

For the general solver settings, see the Elmer solver settings.

The elasticity equation provides these special settings:

  • DataCalculate Pangle: If the principal angles should be calculated.
  • DataCalculate Principal: If all stresses should be calculated.
  • DataCalculate Strains: If strains will be calculated. This will also calculate the stresses, even if DataCalculate Principal or DataCalculate Stresses is false.
  • DataCalculate Stresses: If stresses should be calculated. Compared to DataCalculate Principal the Tresca yield criterion and the principal stress will not be calculated.
  • DataConstant Bulk System: See the Elmer manual for more info.
  • DataDisplace Mesh: If mesh can be deformed. This is by default true and must be set to false for eigenfrequency analyses.
  • DataFix Displacement: If displacements or forces are set. thereby DataModel Lumping is automatically used.
  • DataGeometric Stiffness: Considers the geometric stiffness of the body.
  • DataIncompressible: Computation of incompressible material in connection with viscoelastic Maxwell material and a custom DataVariable.
  • DataMaxwell Material: Compute the viscoelastic material model.
  • DataModel Lumping: Uses model lumping.
  • DataModel Lumping Filename: File to save the results from the model lumping.
  • DataStability Analysis: If true DataEigen Analysis becomes a stability analysis (buckling analysis). Otherwise a modal analysis is performed.
  • DataUpdate Transient System: See the Elmer manual for more info.
  • DataVariable: The variable for the elasticity equation. Only change this if DataIncompressible is set to true in accordance to the Elmer manual.

Eigenvalues:

  • DataEigen Analysis: If an eigen analysis should be performed (calculation of eigenmodes and eigenfrequencies).
  • DataEigen System Complex: Should be true if the eigen system is complex. it must be false for a damped eigen value analyses.
  • DataEigen System Compute Residuals: Computes residuals of the eigen value system.
  • DataEigen System Damped: Set a damped eigen analysis. Can only be used if DataLinear Solver Type is Iterative.
  • DataEigen System Select: Selection of which eigenvalues are computed. Note that the selection of Largest* cause an infinite run for recent Elmer solver (as of August 2022).
  • DataEigen System Tolerance: Convergence tolerance for iterative eigensystem solve. The default is 100 times the DataLinear Tolerance.
  • DataEigen System Values: The number of the highest eigenmode that should be calculated.

Equation:

  • DataPlane Stress: Computes solution according to the plane stress situation. Applies only for 2D geometry.

Analysis Feature Information

The elasticity equation takes the following analysis features into account if they are set:

Note

  • Except for calculations in 2D, for all the above analysis features it is important that they act on a face. Features in 3D set to lines or vertices are not recognized by the Elmer solver.

Eigenmode Analysis

To perform an eigenmode analysis (calculation if the eigenmodes and eigenfrequencies), you need to

  1. Set DataEigen Analysis to true
  2. Set DataDisplace Mesh to false
  3. Set DataEigen System Values to the highest number of eigenmodes you are interested in. The smaller this number the shorter the solver runtime since higher modes can be omitted from computation.
  4. Add a fixed boundary condition and set at least one face of the body as fixed.
  5. Run the solver.

It is highly recommended to use DataLinear Solver Type set to Direct (the default) because this is much faster and the results are more accurate.

Buckling Analysis

To perform a buckling analysis, you need to do the same as for an Eigenmode Analysis, and additionally:

  • Set DataStability Analysis to true

Results

The available results depend on the solver settings. If none of the DataCalculate * settings was set to true, only the displacement is calculated. Otherwise also the corresponding results will be available. If DataEigen Analysis was set to true all results will be available for every calculated eigenmode.

If DataEigen Analysis was set to true, the eigenfrequencies are output at the end of the solver log in the solver dialog and also in the document SolverElmerOutput that will be created in the tree view after the solver has finished.

Note: The eigenmode displacement vector has an arbitrary value since the result is

whereas is the eigenvector and is a complex number.