Geometry, meshes, and numerical integration for finite element analyses
Contents
Introduction
This crate contains structures and functions for geometry computations, generate meshes, and perform numerical integration for finite element analyses (FEM/FEA).
See the documentation for further information:
- gemlab documentation - Contains the API reference and examples
Installation
This crates depends on russell_lab
and, hence, needs some external libraries. See the installation of required dependencies on russell_lab
.
Setting Cargo.toml
👆 Check the crate version and update your Cargo.toml accordingly:
[]
= "*"
Examples
use integ;
use ;
use Scratchpad;
use StrError;
use HashSet;
Todo
- Implement read/write mesh functions
- Add tests for the numerical integrations
- Implement triangle and tetrahedron generators
- Implement drawing functions
Appendix
Available shapes and local numbering of nodes
Lines -- Lin
Triangles -- Tri
Quadrilaterals -- Qua
Tetrahedra -- Tet
Hexahedra -- Hex
Geometry versus space dimensions
The following table shows what combinations of geometry-number-of-dimensions (geo_ndim
) and
space-number-of-dimensions (space_ndim
) are possible. There are three cases:
- Case
CABLE
--geo_ndim = 1
andspace_ndim = 2 or 3
; e.g., line in 2D or 3D (cables and rods) - Case
SHELL
--geo_ndim = 2
andspace_ndim = 3
; e.g. Tri or Qua in 3D (shells and surfaces) - Case
SOLID
--geo_ndim = space_ndim
; e.g., Tri and Qua in 2D or Tet and Hex in 3D
geo_ndim |
space_ndim = 2 |
space_ndim = 3 |
---|---|---|
1 | CABLE |
CABLE |
2 | SOLID |
SHELL |
3 | impossible | SOLID |