This repository contains the source code of GeoTech2D which is a 2D unstructured finite element code for geomechanical applications with visco-elasto-viscoplastic material properties and mode-I and mode-II regularized plasticity. It employs LBB-stable conforming Crouzeix-Raviart triangular elements using a mixed displacement and pressure increment formulation.
The code and the numerical formulation to solve problems with combined mode-I/mode-II plasticity models in a robust manner is described in detail in:
To start a simulation do the following:
- Create a directory called
mesh - Create a mesh as described below
- Place a binary
.npzfile in directorymeshas specified in the setup script (e.g.crust.npz) - Invoke the setup script from python (e.g.
python crust.py)
Define all input parameters in a separate calling script (use the supplied scripts for reference).
Parameter definition should be followed by a call to the runGeoTech2D function.
See description in CODE/src/GeoTech2D.py module.
To facilitate input preparation, you can use helper functions from the CODE/src/utils.py module.
conda install -c anaconda numpy scipy
conda install -c conda-forge pyevtk
The MeshPy package implements the Python API for the Triangle quality mesh generator.
To generate a mesh, simply invoke the corresponding setup script (e.g. python crust.py).
Binary .npz file will be placed in directory mesh (will be created if necessary).
Define all input parameters in a separate calling script (use the supplied scripts for reference).
Parameter definition should be followed by a call to runMeshPy function.
See description in MESH/src/meshpy_triangle_api.py module.
To facilitate input preparation use helper functions from the MESH/src/utils.py module.
conda install -c anaconda numpy scipy matplotlib
conda install -c conda-forge meshpy distinctipy


