Geometry, meshes, and numerical integration for finite element analyses
Contents
- Introduction
- Installation
- Examples
- Roadmap
- Appendix A - Shapes and local numbering of nodes
- Appendix B - Geometry versus space dimensions
Introduction
This crate contains structures and functions for geometry computations, generate meshes, and perform numerical integration for finite element analyses (FEM/FEA).
Documentation
Installation
At this moment, Gemlab works on Linux (Debian/Ubuntu; and maybe Arch).
TL;DR (Debian/Ubuntu/Linux)
First:
Then:
Details
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;
Roadmap
- Implement read/write mesh functions
- Add tests for the numerical integrations
- Implement triangle and tetrahedron generators
- Implement drawing functions
Appendix A - Shapes and local numbering of nodes
Lines (Lin)
Triangles (Tri)
Quadrilaterals (Qua)
Tetrahedra (Tet)
Hexahedra (Hex)
Appendix B - 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 |