This is the code for obtaining the results of the paper Interface Identification Constrained by Local-to-Nonlocal Coupling by M. Schuster and V. Schulz that can be found on https://arxiv.org/abs/2402.12871.
In order to clone the project do
git clone https://github.com/schustermatthias/LtNShape.git path/to/local_folder
gcc, g++, python3-dev, python3-venv, libgmp-dev, libcgal-dev, metis, libmetis-dev, libarmadillo-dev.On Ubuntu, this can be done via
sudo apt-get install git gcc g++ libarmadillo-dev liblapack-dev libmetis-dev sudo apt-get install python3-venv python3-dev libgmp-dev libcgal-dev
A virtual environment can be built and activated via
mkdir venv python3 -m venv venv/ source venv/bin/activate
Additionally, the packages from the file requirements.txt are neccessary and can be installed by
(venv) python3 -m pip install -r requirements.txt
The creation of the virtual environment and the installation of packages from requirements.txt can probably also be done via your IDE. Finally, nlfem can be installed by
(venv) python3 setup.py build --force install
Further, Gmsh needs to be installed to run the examples where the mesh is remeshed. On Ubuntu Gmsh can be installed via
sudo apt install gmsh
More information on Gmsh can be found on https://gmsh.info.
To run one of the examples of the paper or the PhD thesis, choose in line 8 of main.py the associated configuration file, i.e., "configuration_ex1", "configuration_ex2", "configuration_ex3" or "configuration_ex4".
The data of the experiments in the paper and in the thesis can be found in the folder "LtNShape/results".
LtNShape is published under GNU General Public License version 3. Copyright (c) 2025 Matthias Schuster