A Matlab implementation of the two-dimensional explicit-dynamics finite element method which uses the Extended Finite Element Method (XFEM) to model discontinuities. The code is very cleanly organized and well-commented. The code also now supports XFEM with an implicit FEM solver. To download the source-code, go here.
Sample output. Red is the undeformed mesh/crack. Dashed blue shows XFEM crack surfaces.
Graphical User Interface. Click for full-size.
Features
- Choice of implicit or explicit solver.
- Includes several choices of mass lumping techniques, chosen at runtime.
- Properly integrates enriched elements using subcell quadrature.
- Uses shifted enrichment functions to eliminate the need for blending elements.
- Discontinuities (cracks) are defined using levelsets.
- Support for multiple (non-intersecting) discontinuities.
- Reads meshes in ABAQUS .inp format. These can also be created with CUBIT.
- Plots deformed mesh live as the simulation progresses.
- Plots XFEM crack surfaces.
- Includes several meshes and sample inputs, everything needed to run.
Sample output from the implicit solver.
Note: because of the nature of my research, crack-tip elements are not implemented. The code is easily extensible, if you implement them please email me your revisions!