Utopia is a C++ embedded domain specific language designed for parallel non-linear solution strategies and finite element analysis.
- Dr. Patrick Zulian (Lead developer, Euler institute, USI)
- Dr. Alena Kopanicakova (Linear and nonlinear solvers, Euler institute, USI)
- Dr. Maria Giuseppina Chiara Nestola (MOOSE integrations, Euler institute, USI)
- Andreas Fink (CSCS)
- Dylan Ramelli (USI)
- Dr. Nur Aiman Fadel (CSCS)
Developed at the Euler institute, USI, Lugano, Switzerland (https://www.euler.usi.ch/).
The software is realized with NO WARRANTY and it is licenzed under BSD 3-Clause license
Copyright (c) 2015 Institute of Computational Science - USI Università della Svizzera Italiana, ETH-Z Eidgenössische Technische Hochschule Zürich
Clone the repository and its submodules
- git clone --recurse-submodules https://bitbucket.org/zulianp/utopia.git
or for older git versions
- git clone https://bitbucket.org/zulianp/utopia.git
- cd utopia
- git submodule update --init --recursive
Define the utopia path (you can also add it to your .bash_profile) export UTOPIA_DIR=
Go to the folder utopia/utopia:
- mkdir bin
- cd bin
- cmake .. -DCMAKE_INSTALL_PREFIX=$UTOPIA_DIR
- make
- make install.
For compiling the very experimental FE library follow the instructions HERE. In the future the Utopia FE library will be removed from this repository and will have its own repo (after a large scale refactoring).
For avoiding problems with cmake define the following env variable export SYSTEM_VERSION_COMPAT=1
.
- Join us on slack
- Join us or contact us through our mailing list
If you use Utopia for your research please use the following bibtex entry to cite us
@article{utopia2021,
author = {Zulian, Patrick and Kopani{\v{c}}{\'{a}}kov{\'{a}}, Alena and Nestola, Maria G C and Fadel, Nur and Fink, Andreas and VandeVondele, Joost and Krause, Rolf},
title = {Large scale simulation of pressure induced phase‐field fracture propagation using {U}topia},
journal = {CCF Transactions on High Performance Computing},
year = {2021},
month = {06},
doi = {10.1007/s42514-021-00069-6},
url = {https://doi.org/10.1007/s42514-021-00069-6},
eprint = {https://doi.org/10.1007/s42514-021-00069-6},
}
Use the following bibtex to refer to the repository
@misc{utopiagit,
author = {Patrick Zulian and Alena Kopani{\v c}{\'a}kov{\'a} and Maria Chiara Giuseppina Nestola and Andreas Fink and Nur Fadel and Alessandro Rigazzi and Victor Magri and Teseo Schneider and Eric Botter and Jan Mankau and Rolf Krause},
title = {{U}topia: A performance portable {C}++ library for parallel linear and nonlinear algebra. {G}it repository},
url = {https://bitbucket.org/zulianp/utopia},
howpublished = {https://bitbucket.org/zulianp/utopia},
year = {2016}
}
Several components are the outcome of specific authors' research work. For citing individual components add --citations
to your run. For instance,
./my_app --citations
You can use a pre-installed version of utopia in a Docker container. See HERE for more details.
- https://bitbucket.org/zulianp/utopia
- https://bitbucket.org/zulianp/par_moonolith (frontend and several integrations are in Utopia)
- Large-scale simulation of pressure-induced phase-field fracture propagation using Utopia
- 3D non-conforming mesh model for flow in fractured porous media using Lagrange multipliers
- Comparison and application of non-conforming mesh models for flow in fractured porous media using dual Lagrange multipliers
- Fully coupled dynamic simulations of bioprosthetic aortic valves based on an embedded strategy for fluid-structure interaction with contact
- An immersed boundary method for fluid-structure interaction based on variational transfer
- Space-time multilevel Monte Carlo methods and their application to cardiac electrophysiology