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 --recursive
To update the submodules, you can use the following command from your source directory:
git submodule update --recursive --remote
To 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-configure
IMPORTANT Make sure to set
Trilinos_DIR
to 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:
ctest
To 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}}