matfem - a MATlab Finite Element Method package
An object-oriented highly vectorized matlab package for solving finite element
models. Only support 2D problems. Developed in 2016b. Have not tested in any
other Matlab version.
This package is a (object oriented & vectorized) reimplementation of my homework
solution for a finite element class. This code is developed to help me
understand FEM, and is
- good for: numerical analysis, try ideas fast and fail fast in small model,
- not good for: production code, or any analysis that FEM algorithm itself
is not of interest.
Benefits
- Easier to code than Deal.II
- Lower level than FEniCS
- Faster than coding yourself
- Cheaper than Matlab PDE toolbox
Limitations
- 2D only
- At most degree 2 Lagrange element
- Even though it's highly vectorized, it's not very fast
- Does not run in parallel
Examples (Under Construction ?)
All .xlm
files in the demos
folder are example codes.
The hello world a_poisson.xlm
is a good place to start.
Matlab Live Codes:
- Poisson Equation
- Poisson Equation with Neumann Boundaries
Matlab Script (Not documented yet):
- Poisson Equation with Robin Boundaries
- Poisson Equation with Matrix-valued Coefficient
- Elasticity Equation
- Steady-State Stokes Equation
- Stokes Equation (time dependent)
- Coupled Dual-Porosity-Stokes Model
Roadmap