Skip to content

2D unstructured finite element code for geomechanical applications with visco-elasto-plastic material properties and mode-I and mode-II regularized plasticity

License

Notifications You must be signed in to change notification settings

UniMainzGeo/GeoTech2D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoTech2D

DOI

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:

Mode-I propagation Mode-I propagation Crustal scale extension wioth mode-I & mode-II plasticity

1. Instructions to run GeoTech2D

To start a simulation do the following:

  • Create a directory called mesh
  • Create a mesh as described below
  • Place a binary .npz file in directory mesh as specified in the setup script (e.g. crust.npz)
  • Invoke the setup script from python (e.g. python crust.py)

1.1 Prepare new simulation

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.

1.2 Requirements

conda install -c anaconda numpy scipy

conda install -c conda-forge pyevtk

2. Instructions to generate mesh with MeshPy package

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).

2.1 Generate new grid

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.

2.2 Requirements

conda install -c anaconda numpy scipy matplotlib

conda install -c conda-forge meshpy distinctipy

About

2D unstructured finite element code for geomechanical applications with visco-elasto-plastic material properties and mode-I and mode-II regularized plasticity

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages