MIRCO is a Boundary element algorithm for simulating linear elastic frictionless normal contact between a rigid rough indentor and an elastic half-space. The research code is implemented throughout in object-oriented programming (C++) and is parallelized with OpenMP for shared memory hardware architectures.
MIRCO requires
You can clone the repository along with its submodules using:
cd <someBaseDir>
mkdir <sourceDir>
git clone --recursive https://github.com/imcs-compsim/MIRCO.git <sourceDir>where <someBaseDir> is some directory in your machine and <sourceDir> will contain the MIRCO source code.
If you have already cloned the repository using:
git clone https://github.com/imcs-compsim/MIRCO.git <sourceDir>you can pull the submodules using:
cd <sourceDir>
git submodule update --init --recursiveTo update the submodules, you can use the following command from your source directory:
git submodule update --recursive --remoteTo create an out-of-source build, first create a build directory using:
cd <someBaseDir>
mkdir <buildDir>where <buildDir> is the build directory.
Note: The exact location of
<buildDir>is arbitrary, as long as it is not a subdirectory of<sourceDir>.
Now, you have to navigate to the build directory and call the do-configure script in order to invoke cmake:
cd <buildDir>
<sourceDir>/do-configureIMPORTANT Make sure to set
Trilinos_DIRto point to you Trilinos installation.
Build the mirco executable in the build directory using:
cd <buildDir>
make -j <numProc>with <numProc> specifying the number of processes used for compilation.
The mirco executable will be created in the build directory.
You can run the tests from the build directory using:
ctestTo run the code with an input file, use the following command in your build directory:
./mirco <sourceDir>/Input/<someInputFile.xml>where <someInputFile.xml> is any input file in the prescribed format.
If you are using this code, please cite the following paper:
-
J. Bonari, M. R. Marulli, N. Hagmeyer, M. Mayr, A. Popp, M. Paggi: A multi-scale FEM-BEM formulation for contact mechanics between rough surfaces, Computational Mechanics, 65(3):731-749, 2020, DOI: 10.1007/s00466-019-01791-3
@article{Bonari2020a, author = {Bonari, Jacopo and Marulli, Maria Rosaria and Hagmeyer, Nora and Mayr, Matthias and Popp, Alexander and Paggi, Marco}, doi = {10.1007/s00466-019-01791-3}, issue = {3}, journal = {Computational Mechanics}, pages = {731--749}, title = {{A multi-scale FEM-BEM formulation for contact mechanics between rough surfaces}}, url = {https://doi.org/10.1007/s00466-019-01791-3}, volume = {65}, year = {2020}}