Codes & Software Packages
This page lists the codes and software packages provided by each of the CoEs.
[su_list icon=”icon:check” icon_color=”#FED538″ indent=”0″ class=””]
- Applications for biomolecular modelling and simulations
- BioExcel works together with the core developers of widely used tools for biomolecular modeling and simulations:
[su_spacer size=”15″ class=””][su_accordion class=””][su_spoiler title=”GROMACS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] GROMACS is a molecular dynamics package mainly designed for simulations of proteins, lipids, and nucleic acids. It was originally developed in the Biophysical Chemistry department of University of Groningen, and is now maintained by contributors in universities and research centers worldwide. GROMACS is one of the fastest and most popular software packages available, and can run on central processing units (CPUs) and graphics processing units (GPUs). It is free, open-source software released under the GNU General Public License (GPL), and starting with version 4.6, the GNU Lesser General Public License (LGPL). GROMACS (http://www.gromacs.org) is one of the major software packages for the simulation of biological macromolecules. It is aimed at performing the simulation of large, biologically relevant systems, with a focus on both being efficient and flexible to allow the research of a number of different systems. The program has been used by research groups all around the globe, with several hundred publications being based directly or indirectly on it published during the last few years.[/su_spoiler][su_spoiler title=”HADDOCK” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] HADDOCK is a versatile information-driven flexible docking approach for the modelling of biomolecular complexes. HADDOCK distinguishes itself from ab-initio docking methods in the fact that it can integrate information derived from biochemical, biophysical or bioinformatics methods to enhance sampling, scoring, or both. The information that can be integrated is quite diverse: interface restraints from NMR or MS, mutagenesis experiments, or bioinformatics predictions; various orientational restraints from NMR and, recently, cryo-electron maps. Currently, HADDOCK allows the modelling of large assemblies consisting of up to 6 different molecules, which together with its rich data support, provides a truly integrative modelling platform.[/su_spoiler][su_spoiler title=”CP2K” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] CP2K is a quantum chemistry and solid state physics software package that can perform atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems. CP2K provides a general framework for different modeling methods such as DFT using the mixed Gaussian and plane waves approaches GPW and GAPW. Supported theory levels include DFTB, LDA, GGA, MP2, RPA, semi-empirical methods (AM1, PM3, PM6, RM1, MNDO, …), and classical force fields (AMBER, CHARMM, …). CP2K can do simulations of molecular dynamics, metadynamics, Monte Carlo, Ehrenfest dynamics, vibrational analysis, core level spectroscopy, energy minimization, and transition state optimization using NEB or dimer method. (Detailed overview of features.)
CP2K is written in Fortran 2008 and can be run efficiently in parallel using a combination of multi-threading, MPI, and CUDA. It is freely available under the GPL license. It is therefore easy to give the code a try, and to make modifications as needed.
[/su_spoiler][su_spoiler title=”QM/MM with GROMACS & CP2K” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] QM/MM with GROMACS & CP2K – most biochemical systems, such as enzymes, are too large to be described at any level of ab initio or density functional theory. At the same time, the available molecular mechanics force fields are not sufficiently flexible to model processes in which chemical bonds are broken or formed. To overcome the limitations of a full quantum mechanical description on the one hand, and a full molecular mechanics treatment on the other hand, methods have been developed that treat a small part of the system at the level of quantum chemistry (QM), while retaining the computationally cheaper force field (MM) for the larger part. This hybrid QM/MM strategy was originally introduced by Warshel and Levitt more than four decades ago and is illustrated in the figure below.[/su_spoiler][su_spoiler title=”PMX” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] PMX is a service for users who need to do free energy calculations. Free energy calculations are extremely common in life sciences research. In molecular dynamics simulations, such as investigating how mutations affect protein function, these calculations provide insight into stability and affinity changes.
One important branch of free energy calculations involve alchemical transformations such as the mutation of amino acids, nucleic acids or ligand modifications. A challenging aspect of these calculations is the creation of associated structures and molecular topologies. pmx provides an automated framework for the introduction of amino acid mutations in proteins. Several state of the art force fields are supported that can be used in the GROMACS molecular dynamics package.
[/su_spoiler][su_spoiler title=”CPMD” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] CPMD code is a parallelized plane wave/pseudopotential implementation of Density Functional Theory, particularly designed for ab-initio molecular dynamics. CPMD is currently the most HPC efficient code that allows performing quantum molecular dynamics simulations by using the Car-Parrinello molecular dynamics scheme. CPMD simulations are usually restricted to systems of few hundred atoms. In order to extend its domain of applicability to (much) larger biologically relevant systems, a hybrid quantum mechanical/molecular mechanics (QM/MM) interface, employing routines from the GROMOS96 molecular dynamics code, has been developed.[/su_spoiler][/su_accordion]
While the main part of BioExcel’s work focuses on improving and supporting the core software packages above, it also develops and contributes to:
– BioExcel Workflows
– BioExcel Cloud Portal
– EGI’s Application Database (AppDb)
– BioExcel applications in the bio.tools registry
– Common Workflow Language (CWL) Viewer - Integrated workflows for portable and flexible solutions including BioBB and CWL
[/su_list]
Get access to these resources:
[su_spacer size=”20″ class=””]
[su_row class=””]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:mouse-pointer” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:envelope” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:envelope” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column][/su_row]
[su_row class=””]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:twitter” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:linkedin” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:youtube-play” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[/su_row]
[su_list icon=”icon:check” icon_color=”#FED538″ indent=”0″ class=””]
- ChEESE operates in the following areas:
– Urgent seismic simulations Faster Than Real-Time (FTRT)
– Tsunami Simulations
– High-resolution volcanic plume simulation
– Physics-based tsunami-earthquake interaction
– Physics-based probabilistic seismic hazard assessment (PSHA)
– Probabilistic Volcanic Hazard Assessment (PVHA)
– Probabilistic tsunami hazard assessment (PTHA)
– Probabilistic Tsunami Forecast (PTF) for early warning and rapid post event assessment
– Seismic tomography
– Array-based statistical source detection and restoration and Machine learning from earthquake/volcano slow-earthquakes monitoring
– Geomagnetic forecasts
– High-resolution volcanic ash dispersal forecasts - Computational Seismology:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”ExaHype” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] ExaHyPE engine supports simulation of systems of hyperbolic PDEs, as stemming from conservation laws. A concrete model for seismic wave propagation problems is being developed within the ExaHyPE project. The model is based on high-order Discontinuous Galerkin (DG) discretization, local time-stepping and works on octree-structured Cartesian meshes. The activities in this CoE will focus on setting up concrete services based on the ExaHyPE engine and seismic models.[/su_spoiler][su_spoiler title=”Salvus” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] Salvus – High-performance package for waveform modelling and inversion with applications ranging from laboratory ultrasound studies to planetary-scale seismology. Solves dynamic (visco-)acoustic and elastic wave propagation problems on fully unstructured hypercubic and simplicial meshes in 2 and 3 dimensions using a spectral-element approach.[/su_spoiler][su_spoiler title=”SeisSol” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] SeisSol solves seismic wave propagation (elastic, viscoelastic) and dynamic rupture problems on heterogeneous 3D models. SeisSol uses high-order DG discretization and local time-stepping on unstructured adaptive tetrahedral meshes. Scalable performance at Petascale has been demonstrated up to several thousand nodes (on several supercompers, e.g., Cori, SuperMUC, Hazel Hen, Shaheen, etc.). Earlier work considered offload schemes that scaled to 8000 nodes on the Tianhe-2 supercomputer (Xeon Phi, Knights Corner).[/su_spoiler][su_spoiler title=”SPECFEM3D” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] SPECFEM3D solves linear seismic wave propagation (elastic, viscoelastic, poroelastic, fluid-solid) and dynamic rupture problems in heterogeneous 3D models. SPECFEM3D also implements imaging and FWI for such complex models based on an L-BFGS (Broyden-Fletcher-Goldfarb-Shanno) algorithm. Based on the high-order spectral-element (CG) discretization for unstructured hexahedral meshes. Scalable performance at Petascale (runs on the largest machines worldwide: Titan and Summit at Oak Ridge, Piz Daint, CURIE, K computer, etc.)[/su_spoiler][/su_accordion] - MHD:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”PARODY_PDAF” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] PARODY_PDA simulates incompressible MHD in a spherical cavity. In addition to the Navier-Stokes equations with an optional Coriolis force, it can also time-step the coupled induction equation for MHD (with imposed magnetic field or in a dynamo regime), as well as the temperature (and concentration) equation in the Boussinesq framework. It offers the possibility to perform ensemble assimilation experiments, being connected with the parallel data assimilation framework (PDAF) library. Based on a semi-spectral approach combining finite differences in radius and spherical harmonics, semi-implicit second-order time scheme.[/su_spoiler][su_spoiler title=”XSHELLS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] XSHELLS simulates incompressible fluids in a spherical cavity. In addition to the Navier-Stokes equation with an optional Coriolis force, it can also time-step the coupled induction equation for MHD (with imposed magnetic field or in a dynamo regime), as well as the temperature (and concentration) equation in the Boussinesq framework. Based also on a semi-spectral approach combining finite differences in radius and spherical harmonics, semi-implicit second-order time scheme.[/su_spoiler][/su_accordion] - Tsunami Modelling:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”T-HySEA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] T-HySEA solves the 2D shallow water equations on hydrostatic and dispersive versions. T-HySEA is based on a high-order Finite Volume (FV) discretization (hydrostatic) with Finite Differences (FD) for the dispersive version on two-way structured nested meshes in spherical coordinates. Initial conditions from the Okada model or initial deformation, synchronous and asynchronous multi-Okada, rectangular and triangular faults.[/su_spoiler][su_spoiler title=”FALL3D” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] FALL3D is a Eulerian model for the atmospheric transport and ground deposition of volcanic tephra (ash). FALL3D solves a set of advection-diffusion-sedimentation (ADS) equations on a structured terrain-following grid using a second-order Finite Differences (FD) explicit scheme.[/su_spoiler][/su_accordion] - Physical Volcanology:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”ASHEE” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] ASHEE Multiphase fluid dynamic model conceived for compressible mixtures composed of gaseous components and solid particle phases. All phases are treated using the Eulerian approach, identifying a solid phase as a class of particles with similar dynamical properties. The physical model is based on the equilibrium-Eulerian approach while the gas-particle momentum non-equilibrium is approximated by a prognostic equation accurate to the first order. As a result, the model reduces to a single (vector) momentum equation and one energy equation for the mixture (corrected to account for non-equilibrium terms and mixture density fluctuations) and one continuity equation for each gaseous or solid component. In addition, Lagrangian particles are injected in the domain and “two/four-way” coupled with the Eulerian field. Discretization is based on the Finite-Volume method on an unstructured grid. The numerical solution adopts a segregated semi-implicit approach.[/su_spoiler][su_spoiler title=”L-HySEA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] L-HySEA solves the 2D shallow water/Savage-Hutter coupled equations, hydrostatic fully coupled and dispersive weakly coupled versions. L-HySEA is based on high-order FV discretization (hydrostatic) with FD for dispersive model, structured meshes in Cartesian coordinates.[/su_spoiler][/su_accordion]
[/su_list]
Get access to these resources:
[su_spacer size=”20″ class=””]
[su_row class=””]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:mouse-pointer” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:envelope” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list]
[/su_column]
[su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:twitter” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list][/su_column][/su_row][su_row class=””][su_column size=”1/3″ center=”no” class=””][su_list icon=”icon:linkedin” icon_color=”#FED538″ indent=”0″ class=””]
[/su_list][/su_column][/su_row]
- The Center of Excellence in Combustion (CoEC) has been created in order to apply exascale computing technologies to promote and develop advanced simulation software that can support the decarbonisation goals of the European Union within the energy and transportation sectors.
- CoEC works on 11 state-of-the-art European HPC codes in combustion. The consortium is formed by the main developers of the codes and advanced users that pursue to increase the TRL of the codes for certain applications.
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”YALES2″ open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]YALES2 aims at the solving of two-phase combustion from primary atomization to pollutant prediction on massive complex meshes. It is able to handle efficiently unstructured meshes with several billions of elements, thus enabling the Direct Numerical Simulation and Large-Eddy Simulation of laboratory and semi-industrial configurations. The recent developments are focused on the dynamic mesh adaptation of tetrahedral-based massive meshes for fronts and interfaces.[/su_spoiler]
[su_spoiler title=”AVIP” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]The AVIP code is devoted to the resolution of cold plasmas, as encountered in ignitors such as NRP (Nano-Repetitive Pulse Discharge). It is based on a fluid formulation taking into account the out-of-equilibrium nature of plasmas, and is coupled to a Poisson equation to solve the electric field (using libraries PETSC or MAPHYS) associated to sparking systems. The simulation of plasma requires the resolution of transport equations for electrons, ions and neutrals, including complex chemistry. AVIP is able today to compute 2D streamers and gives results in good agreement with the literature[/su_spoiler]
[su_spoiler title=”JAGUAR” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]JAGUAR is a new code, still under development, that aims to reach high accuracy on unstructured grids with high computing efficiency. The numerical approach that appears most promising for these objectives is Spectral Differences with possibility of h/p refinement. The code solves fully compressible, multi-species flow equations, reacting or non-reacting.[/su_spoiler]
[su_spoiler title=”DISCO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]DISCO solves the fully compressible Navier-Stokes equations for reacting flows with detailed chemical kinetics on rectangular domains. It employs a third-order low-storage Runge-Kutta scheme for time integration and compact higher-order finite-difference schemes for the spatial derivatives. The code is parallelized using domain decomposition and MPI. The code has been used to simulate turbulent expanding flame kernels and mixing layers. Besides detailed reaction mechanisms, it can also use FGM tabulated chemistry.[/su_spoiler]
[su_spoiler title=”Alya” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.
[/su_spoiler] [su_spoiler title=”AVBP” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Combustion instabilities and emission prediction. Explosion in confined spaces.[/su_spoiler] [su_spoiler title=”PRECISE_UNS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]PRECISE-UNS is a finite volume based unstructured CFD solver for turbulent multi-phase and reacting flows. It is a pressure-based code, which uses the pressure correction scheme / PISO scheme to achieve pressure velocity coupling. It is applicable to both low-Mach number and fully compressible flows. Discretisation in time and space is up to second order. The linearized equations are solved using various well-known libraries such as PETSc, HYPRE and AGMG. Several turbulence models are available: k-epsilon, k-ω-SST, RSM, SAS, LES. Different combustion models are available, ranging from the classical conserved scalar (flamelet) models and global reaction mechanism, to FGM and detailed chemistry. To model the interaction of chemistry and turbulence, EBU, Presumed PDF, ATF and Eulerian stochastic field PDF closures are available. To model emissions NOx and two equations and hmom soot models are available. In order to model liquid fuel, a Lagrangian spray model is available.[/su_spoiler] [su_spoiler title=”CIAO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]CIAO performs DNS and LES with multiphysics effects (multiphase, combustion, soot, spark, …). It is a structured, arbitrary order, finite difference code with compressible and incompressible/low-Mach solvers. Moving meshes are supported and overset meshes can be used for local mesh refinement. Spatial and temporal staggering is used to increase the accuracy of stencils. The sub-filter model for the momentum equations is an eddy viscosity concept in form of the dynamic Smagorinsky model with Lagrangian averaging along fluid particle trajectories.The compressible solver uses a low-storage five-stage, explicit Runge-Kutta method for time integration. The low-Mach solver uses Crank-Nicolson time advancement along with an iterative predictor corrector scheme. The Poisson equation for the pressure is solved by the multi-grid HYPRE solver. Momentum equations are spatially discretized with central schemes of arbitrary order, while for scalar equations various different schemes (WENO, HOUC, QUICK, BQUICK, …) are available. Temperature and species equations are advanced by utilizing a Strang operator splitting. The chemistry operator uses a time-implicit backward difference method (CVODE).[/su_spoiler] [su_spoiler title=”Nek5000″ open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Nek5000 is a computational fluid dynamics code that employs the spectral element method, ahigh-order weighted residual technique, for applications in a wide range of fields including fluid flow, thermal convection, conjugate heat transfer, combustion and magnetohydrodynamics. It features state-of-the-art, scalable algorithms that are fast and efficient on platforms ranging from laptops to the world’s fastest computers. Nek5000, which is actively developed and improved for more than 30 years at Argonne National Laboratory (ANL), was extended for the direct numerical simulation of low Mach number reactive flows at the Swiss Federal Institute of Technology Zurich and is been used to investigate gas-phase and catalytic combustion in a number of laboratory-scale setups of fundamental and applied interest including internal combustion engines. Nek5000 won a Gordon Bell prize for its outstanding scalability on high-performance parallel computers and the 2016 R&D 100 Award. It is part of the Center for Efficient Exascale Discretizations (CEED) co-design effort, and its user community involves hundreds of scientists and engineers in academia, laboratories and industry.[/su_spoiler] [su_spoiler title=”CLIO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]The CLIO code solves the Conditional Moment Closure transport equations for reacting scalars. These equations are PDE’s in three space directions, one or two sample space directions (mixture fraction, progress variable, two mixture fractions etc), and time. A fractional step approach is taken for the transport in real space, transport in conserved scalar space, and chemistry. Various stiff solvers have been used such as LIBSC, DVODE, VODEPK, LSODE, CHEMEQ, and various chemical schemes can be implemented. CLIO has been interfaced with various CFD codes in RANS and LES such as openFOAM, PRECISE_uns, FLUENT, and STAR-CD.[/su_spoiler] [su_spoiler title=”OpenFOAM” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]OpenFOAM is a C++ object-oriented numerical simulation platform, which has a modular code-design suitable to be extended with new functionalities through additional libraries. OpenFOAM uses the unstructured grid formulation with a collocated cell-centred variable arrangement, which allows handling arbitrarily complex geometries and it can be applied in different fluid dynamic problems. For turbulent reacting and multi-phase flows, OpenFOAM provides a wide runtime-selectable flexibility in terms of turbulence models, e.g. RANS and LES, with several turbulence closures, and combustion models, such as tabulated chemistry with presumed PDF, ATF (TU Darmstadt in-house extension), and finite-rate chemistry. Multi-phase problems as liquid sprays can either be treated using a fully coupled Lagrangian point-particle method or within an Eulerian framework as Volume of Fluid Method. OpenFOAM can be easily coupled with external libraries, as for example the Quadrature-based Method of Moments (QMOM) library developed at TU Darmstadt to account for the soot particle size distribution.[/su_spoiler] [/su_accordion]
- The CompBioMed Software Hub addresses the needs of the computational biomedicine research community, which can use the Hub to access the resources developed, aggregated and coordinated by CompBioMed: CompBioMed Software: Cardiovascular Medicine CompBioMed Software: Molecularly-based medicine CompBioMed Software: Neuro-musculoskeletal Medicine
- Codes:
– Cardiovascular:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”Alya” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.
[/su_spoiler]
[su_spoiler title=”HemeLB” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
HemeLB – developed by the team of Prof Peter Coveney at University College London (UK), is a software pipeline that simulates the blood flow through a stent (or other flow diverting device) inserted in a patient’s brain. The aim is to discover how different stent designs (surface patterns) affect the stress the blood applies to the blood vessel, in particular in the region of the aneurysm being treated. The pipeline also allows the motion of magnetically steered particles, for example coated with drugs, to be simulated and estimates made as to where they might statistically end up. The HemeLB setup tool voxelises the geometry at the given resolution, and HemeLB (lattice-Boltzmann CFD solver) then simulates the fluid flow within that geometry, using the given velocity-time profiles for each inlet. Once complete, the simulation output is analysed using the hemeXtract utility, which can produce images of cross-sectional flow, or 3D shots of wall shear stress distribution in the geometry using ParaView visualisation software. HemeLB is installed, optimised, and available for use to any user with a valid account and CPU-time on ARCHER, Cartesius, SuperMUC, Prometheus and Blue Waters. The UCL team also provide consulting to biomedical companies and clinical users.
[/su_spoiler]
[su_spoiler title=”HemoCell” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
HemoCell – developed by the team of Prof Alfons Hoekstra at the University of Amsterdam (NL), is a high-performance library to simulate the transport properties of dense cellular suspensions, such as blood. It contains validated material model for red blood cells and additional support for further cell types (white blood cells, platelets). The blood plasma is represented as a continuous fluid simulated with an open-source Lattice Boltzmann Method (LBM) solver. The cells are represented as Discrete Element Method (DEM) membranes coupled to the plasma flow through a tested in-house immersedboundary implementation. HemoCell is computationally capable of handling a large domain size with a high number of cells (> 10^4-10^6 cells). The code is currently installed and optimised for Cartesius, Lisa, and SuperMUC (Leibniz Supercomputing Centre system), and can be used by anyone with a valid account and CPU allocation on any of these systems.
[/su_spoiler]
[su_spoiler title=”openBF” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
openBF is an open-source 1D blood flow solver based on MUSCL finite-volume numerical scheme, written in Julia and released under Apache 2.0 free software license. The software is developed by Alessandro Melis and Alberto Marzo at the Insigneo Institute at the university of Sheffield (UK). The solution is currently exposed as open source software; it is also installed on SURFsara’s HPC-Cloud, where it is used for large-scale sensitivity analysis and uncertainty quantification studies.
[/su_spoiler]
[su_spoiler title=”Palabos” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
Palabos is a Lattice Boltzmann Method (LBM) solver, available as open source, and massively parallel. The team of Prof Bastien Chopard at University of Geneva (CH) has specialised it to solve a number of relevant biomedical problems, including simulation of blood flow, and bone cement penetration during vertebroplasty. The software has specific features to deal with biomedical problems, reading medical images. Palabos was tested on CADMOS BlueGene/Q (Switzerland), UniGe Baobab (Switzerland).
- Palabos – Vertebroplasty Simulator: This solution, currently in its final stage of development, uses Palabos to provide a vertical solution for the pre-operative planning of vertebroplasty. Micro CT images of the damaged vertebral body are converted into an LBM model, which simulates multiple cement injections with different access point and cement volume. The simulation results predict exact filling patterns of the injected cement. Plans of future developments include converting the results into a finite element model, which will predict the increase in biomechanical strength with respect to the untreated vertebra.
- Palabos – Flow Diverter Simulator: This solution, currently in its final stage of development, uses Palabos to provide a vertical solution for the pre-operative planning for the insertion of flow diverters. CT scan images of blood vessels with aneurysms or other anomalies are converted into an LBM model. Different types of flow diverters are numerically inserted to test their impact on the blood flow pattern. Simulation output includes wall shear stress distribution in the aneurysm to predict the rate of blood clotting.
- The activity of E-CAM focuses on the need for new and improved algorithms and code modules. Recent advances in computational power depend on either massive parallelism, or specialist hardware accelerators, or increasingly both; this means that the old legacy codes need to be rewritten to exploit these possibilities and, in many cases,that totally new algorithms have to be implemented. Frameworks, tools, documentation and standards need to be developed to allow better use of the creativity of programmers and the extraordinary success of many free-software projects in using distributed networks of volunteer programmers needs to be replicated in the sphere of scientific software. Particularly, it operates in the following areas:
- Molecular dynamics: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”LAMMPS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] (Large-scale Atomic/Molecular Massively Parallel Simulator) is a very versatile MD engine. The current stable release of which can be obtained from the link LAMMPS stable 29Oct2020. In particular, due to it’s powerful library and python interface it allows great control and easy scripting of any time of simulation. The Particle Insertion approach for alchemical free energy calculations is currently only implemented using the LAMMPS MD engine. The set of patches in this module exist to accommodate the requirements of those modules. [/su_spoiler] [su_spoiler title=”GROMACS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] GROMACS is a molecular dynamics package mainly designed for simulations of proteins, lipids, and nucleic acids. It was originally developed in the Biophysical Chemistry department of University of Groningen, and is now maintained by contributors in universities and research centers worldwide. GROMACS is one of the fastest and most popular software packages available, and can run on central processing units (CPUs) and graphics processing units (GPUs). It is free, open-source software released under the GNU General Public License (GPL), and starting with version 4.6, the GNU Lesser General Public License (LGPL). GROMACS (http://www.gromacs.org) is one of the major software packages for the simulation of biological macromolecules. It is aimed at performing the simulation of large, biologically relevant systems, with a focus on both being efficient and flexible to allow the research of a number of different systems . The program has been used by research groups all around the globe, with several hundred publications being based directly or indirectly on it published during the last few years. [/su_spoiler] [su_spoiler title=”OpenPathSampling OPS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] OpenPathSampling OPS – A Python library to facilitate path sampling algorithms. OpenPathSampling (OPS) makes it easy to perform many variants of transition path sampling (TPS) and transition interface sampling (TIS), as well as other useful calculations for rare events, such as committor analysis and flux calculations. In addition, it is a powerful library to build new path sampling methods. OPS is independent of the underlying molecular dynamics engine, and currently has support for OpenMM and Gromacs, as well as an internal engine suitable for 2D toy models. [/su_spoiler] [su_spoiler title=”Nanoscale Molecular Dynamics” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] (NAMD, formerly Not Another Molecular Dynamics Program) is computer software for molecular dynamics simulation, written using the Charm++ parallel programming model. It is noted for its parallel efficiency and is often used to simulate large systems (millions of atoms).It has been developed by the collaboration of the Theoretical and Computational Biophysics Group (TCB) and the Parallel Programming Laboratory (PPL) at the University of Illinois at Urbana–Champaign. It was introduced in 1995 by Nelson et al. as a parallel molecular dynamics code enabling interactive simulation by linking to the visualization code VMD. NAMD has since matured, adding many features and scaling beyond 500,000 processor cores. NAMD has an interface to quantum chemistry packages ORCA and MOPAC, as well as a scripted interface to many other quantum packages. Together with Visual Molecular Dynamics (VMD) and QwikMD, NAMD’s interface provides access to hybrid QM/MM simulations in an integrated, comprehensive, customizable, and easy-to-use suite. NAMD is available as freeware for non-commercial use by individuals, academic institutions, and corporations for in-house business uses. [/su_spoiler] [/su_accordion]
- Electronic Structure: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”Electronic Structure Library (ESL)” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] ESL was initiated by CECAM (the European Centre for Atomic and Molecular Calculations) to catalyze a paradigm shift away from the monolithic model and promote modularization, with the ambition to extract common tasks from electronic structure codes and redesign them as open-source libraries available to everybody. Such libraries include “heavy-duty” ones that have the potential for a high degree of parallelization and adaptation to novel hardware within them, thereby separating the sophisticated computer science aspects of performance optimization and re-engineering from the computational science done by, e.g., physicists and chemists when implementing new ideas. [/su_spoiler] [su_spoiler title=”ELSI” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] ELSI is a software bundle and unified interface for methods that solve or circumvent eigenvalue problems in electronic structure theory – for example, in the self-consistent field cycle of density-functional theory, but also elsewhere. An interface to BSEpack to solve the Bethe-Salpeter Equation is also included. In essence, ELSI will allow an electronic structure code to run its eigenvalue and/or density matrix solutions through a single interface, leaving the details of handling the different libraries that are actually used to solve the problem to ELSI. Thus, switching between (say) Lapack, ELPA, MAGMA, or an O(N) method becomes much simpler (no more need to write customized interfaces for each of them). [/su_spoiler] [su_spoiler title=”Wannier90″ open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] Wannier90 is a code for computing the maximally-localized Wannier functions (MLWFs) of a system. It requires a separate electronic structure code to compute and provide information on the Kohn-Sham energy bands. It can operate either as a standalone post-processing utility, reading this information from files, or as a library to be called internally by the electronic structure code. Wannier90 has a number of features, including a disentanglement scheme for entangled energy bands, optimized Γ-point routines, plotting of the MLWFs, Wannier interpolation to obtain many spectral and Fermi-surface properties at high-resolution in the Brillouin zone, and others. A complete list of features is maintained here. [/su_spoiler] [su_spoiler title=”QMCPACK” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] QMCPACK is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater computational expense. QMCPACK is written in C++ and designed with the modularity afforded by object-oriented programming. It makes extensive use of template metaprogramming to achieve high computational efficiency. Due to the modular architecture, the addition of new wavefunctions, algorithms, and observables is relatively straightforward. For parallelization QMCPACK utilizes a fully hybrid (OpenMP,CUDA)/MPI approach to optimize memory usage and to take advantage of the growing number of cores per SMP node or GPUs. High parallel and computational efficiencies are achievable on the largest supercomputers. Finally, QMCPACK utilizes standard file formats for input and output in XML and HDF5 to facilitate data exchange. [/su_spoiler] [su_spoiler title=”Quantum ESPRESSO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] Quantum ESPRESSO (Quantum opEn-Source Package for Research in Electronic Structure, Simulation, and Optimisation) is a suite of open-source codes for quantum materials modelling using the plane-wave pseudopotential method; the suite provides a wide set of common fundamental routines and has been the platform for such important methodological innovations as Car-Parrinello molecular dynamics and Density-Functional Perturbation Theory. It is released under the GNU GPL. It implements density-functional theory (DFT) in the plane-wave pseudopotential approach, but it also includes more advanced levels of theory: DFT+U, hybrid functionals, various functionals for van der Waals forces, many-body perturbation theory, adiabatic-connection fluctuation-dissipation theory.http://www.max-centre.eu/codes-max/quantum-espresso[/su_spoiler] [su_spoiler title=”SIESTA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] SIESTA is a first-principles materials simulation program based on density-functional theory (DFT). It was one of the first codes to enable the treatment of large systems with first-principles electronic-structure methods, which opened up new research avenues in many disciplines. SIESTA has become quite popular and is increasingly being used by researchers in geosciences, biology and engineering (apart from those in its natural habitats of materials physics and chemistry). SIESTA‘s efficiency stems from the use of strictly localized basis sets and from the implementation of linear-scaling algorithms which can be applied to suitable systems. A very important feature of the code is that its accuracy and cost can be tuned in a wide range, from quick exploratory calculations to highly accurate simulations matching the quality of other approaches, such as plane-wave methods.http://www.max-centre.eu/codes-max/siesta [/su_spoiler] [su_spoiler title=”AiiDA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] AiiDA (Automated Interactive Infrastructure and Database for computational science) is a Python materials’ informatics framework to manage, store, share, and disseminate the workload of high-throughput computational efforts, while providing an ecosystem for materials simulations where complex scientific workflows involving different codes and datasets can be seamlessly implemented, automated and shared. http://www.max-centre.eu/codes-max/aiida [/su_spoiler] [/su_accordion]
- Quantum Dynamics: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”PaPIM” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] PaPIM is a code for calculation of equilibrated system properties (observables). Some properties can be directly obtained from the distribution function of the system, while properties that depends on the exact dynamics of the system, such as the structure factor, [Mon2] infrared spectrum [Beu] or reaction rates, can be obtained from the evolution of appropriate time correlation functions. PaPIM samples either the quantum (Wigner) or classical (Boltzmann) density functions and computes approximate quantum and classical correlation functions. The code is highly parallelized and suitable for use on large HPC machines. The code’s modular structure enables an easy update/change of any of its modules. Furthermore the coded functionalities can be used independently of each other. The code is specifically design with simplicity and readability in mind to enable any user to easily implement its own functionalities. The code has been extensively used for the calculation of the infrared spectrum of the \text{CH}_{5}^{+} cation in gas phase, while recently new calculations on the water dimer, and protonated water dimer systems were started. [/su_spoiler] [su_spoiler title=”Quantics” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] is suite of programs for molecular quantum dynamics simulations. The package is able to set up and propagate a wavepacket using the MCTDH method [Beck]. Numerically exact propagation is also possible for small systems using a variety of standard integration schemes [Lefo], as is the solution of the time-independent Schrödinger equation using Lanczos diagonalisation. The program can also be used to generate a ground state wavefunction using energy relaxation (i.e. propagation in imaginary time) and with the “improved relaxation” it is even possible to generate (low lying) excited states. Within the Quantics package there are also programs to propagate density operators (by solving the Liouville-von Neumann equation for open or closed system) [Mey], a program for fitting complicated multi-dimensional potential energy function, programs for determining bound or resonance energies by filter-diagonalisation, parameters of a vibronic coupling Hamiltonian, and many more. Recent developments include the use of Gaussian wavepacket based methods (G-MCTDH) and interfaces to quantum chemistry programs such as Gaussian and Molpro allow direct dynamics calculations using the vMCG method [Ric]. The following modules are extension of Quantics functionalities developed at E-CAM Extended Software Development Workshops. [/su_spoiler] [su_spoiler title=”CP2K” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] CP2K is a quantum chemistry and solid state physics software package that can perform atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems. CP2K provides a general framework for different modeling methods such as DFT using the mixed Gaussian and plane waves approaches GPW and GAPW. Supported theory levels include DFTB, LDA, GGA, MP2, RPA, semi-empirical methods (AM1, PM3, PM6, RM1, MNDO, …), and classical force fields (AMBER, CHARMM, …). CP2K can do simulations of molecular dynamics, metadynamics, Monte Carlo, Ehrenfest dynamics, vibrational analysis, core level spectroscopy, energy minimization, and transition state optimization using NEB or dimer method. (Detailed overview of features.) CP2K is written in Fortran 2008 and can be run efficiently in parallel using a combination of multi-threading, MPI, and CUDA. It is freely available under the GPL license. It is therefore easy to give the code a try, and to make modifications as needed. [/su_spoiler] [su_spoiler title=”Q-Chem” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] Q-Chem is a general-purpose electronic structure package featuring a variety of established and new methods implemented using innovative algorithms that enable fast calculations of large systems on various computer architectures, from laptops and regular lab workstations to midsize clusters and HPCC, using density functional and wave-function based approaches. It offers an integrated graphical interface and input generator; a large selection of functionals and correlation methods, including methods for electronically excited states and open-shell systems; solvation models; and wave-function analysis tools. In addition to serving the computational chemistry community, Q-Chem also provides a versatile code development platform. [/su_spoiler] [su_spoiler title=”CPMD” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] CPMD code is a parallelized plane wave/pseudopotential implementation of Density Functional Theory, particularly designed for ab-initio molecular dynamics. CPMD is currently the most HPC efficient code that allows performing quantum molecular dynamics simulations by using the Car-Parrinello molecular dynamics scheme. CPMD simulations are usually restricted to systems of few hundred atoms. In order to extend its domain of applicability to (much) larger biologically relevant systems, a hybrid quantum mechanical/molecular mechanics (QM/MM) interface, employing routines from the GROMOS96 molecular dynamics code, has been developed. [/su_spoiler] [su_spoiler title=”ElVibRot” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] ElVibRob – General quantum dynamics code using curvilinear coordinates and a numerical kinetic energy operator (with Tnum) : (i) Vibrational levels, intensities for floppy molecular system (ii) Wave-packet propagation with or witout time dependant Hamiltonian (iii) Quantum gate and optimal control. [/su_spoiler] [/su_accordion]
- Meso- and multi-scale modelling: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”MP2C” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] [/su_spoiler] [su_spoiler title=”ESPResSo++” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] ESPResSo++ is a software package for the scientific simulation and analysis of coarse-grained atomistic or bead-spring models as they are used in soft matter research. ESPResSo++ has a modern C++ core and flexible Python user interface. ESPResSo and ESPResSo++ have common roots however their development is independent and they are different software packages. ESPResSo++ is free, open-source software published under the GNU General Public License (GPL). [/su_spoiler] [su_spoiler title=”DL_MESO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] DL_MESO is a general purpose mesoscale simulation package developed by Michael Seaton for CCP5 and UKCOMES under a grant provided by EPSRC. It is written in Fortran 2003 and C++ and supports both Lattice Boltzmann Equation (LBE) and Dissipative Particle Dynamics (DPD) methods. It is supplied with its own Java-based Graphical User Interface (GUI) and is capable of both serial and parallel execution. [/su_spoiler] [su_spoiler title=”Grand Canonical Adaptive Resolution Scheme (GC-AdResS)” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””] is getting more recognition throughout the scientific community. The main aspect is to couple two simulation boxes together and combine the advantages of classical atomistic simulations with those from coarse gained simulations. The goal of the pilot project is to develop a library or recipe with which GC-AdResS can be implemented in any MD Code. Our current focus is adjusting the implemented Version of GC-AdResS in GROMACS. The long-term goal of this project is to promote and stimulate the community to use it as a tool for multiscale simulations and Analysis. [/su_spoiler] [/su_accordion]
- EoCoE drives its efforts into 5 scientific Exascale challenges in the low-carbon sectors of energy: Meteorology, Materials, Water, Wind and Fusion. This multidisciplinary effort will harness innovations in computer science and mathematical algorithms within a tightly integrated co-design approach to overcome performance bottlenecks and to anticipate future HPC hardware developments. Challenging applications in selected energy sectors will be created at unprecedented scale, demonstrating the potential benefits to the energy industry, such as accelerated design of storage devices, high-resolution probabilistic wind and solar forecasting for the power grid and quantitative understanding of plasma core-edge interactions in ITER-scale tokamaks.
- Wind4energy:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”Alya” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.
[/su_spoiler] [su_spoiler title=”waLBerlaz” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a massively parallel simulation framework. It contains efficient, hardware specific compute kernels to get optimal performance on today’s supercomputing architectures. waLBerla employs a block-structured partitioning of the simulation domain including support for grid refinement. These grid data structures make it easy to integrate various data parallel algorithms like Multigrid, CG, or phasefield models. waLBerla uses the lattice Boltzmann method (LBM), which is an alternative to classical Navier-Stokes solvers for computational fluid dynamics simulations. All of the common LBM collision models are implemented (SRT, TRT, MRT). Additionally, a coupling to the rigid body physics engine pe is available. waLBerla is written in C++, which allows for modular and portable software design without having to make any performance trade-offs.[/su_spoiler] [/su_accordion] - Meteo4energy: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”ESIAS-Chem” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a tool for generating and controlling ultra-large ensembles of chemistry transport models for stochastic integration[/su_spoiler] [su_spoiler title=”ESIAS-Meteo” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a tool for generating and controlling ultra-large ensembles of numerical weather forecast models for stochastic integration[/su_spoiler] [su_spoiler title=”EURAD-IM” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]system consists of 5 major parts: the meteorological driver WRF, the pre-processors EEP and PREP for preparation of anthropogenic emission data and observations, the EURAD-IM Emission Model EEM, and the chemistry transport model EURAD-IM (Hass et al., 1995, Memmesheimer et al., 2004). EURAD-IM is a Eulerian meso-scale chemistry transport model involving advection, diffusion, chemical transformation, wet and dry deposition and sedimentation of tropospheric trace gases and aerosols. It includes 3d-var and 4d-var chemical data assimilation (Elbern et al., 2007) and is able to run in nesting mode.[/su_spoiler] [/su_accordion]
- Materials4energy: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”Metalwalls” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]A classical molecular dynamics software dedicated to the simulation of electrochemical systems. Its main originality is the inclusion of a series of methods whichallow a constant electrical potential to be applied to the electrode materials. It also allowsthe simulation of bulk liquids or solids using the polarizable ion model and the aspherical ionmodel.MetalWallsis designed to be used on high-performance computers and it has alreadybeen employed in a number of scientific publications. It was for example used to study thecharging mechanism of supercapacitors (Merlet et al.,2012), nanoelectrowetting (Choudhuriet al.,2016) and water desalination devices (Simoncelli et al.,2018).[/su_spoiler] [su_spoiler title=”QMCPACK” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater computational expense. QMCPACK is written in C++ and designed with the modularity afforded by object-oriented programming. It makes extensive use of template metaprogramming to achieve high computational efficiency. Due to the modular architecture, the addition of new wavefunctions, algorithms, and observables is relatively straightforward. For parallelization QMCPACK utilizes a fully hybrid (OpenMP,CUDA)/MPI approach to optimize memory usage and to take advantage of the growing number of cores per SMP node or GPUs. High parallel and computational efficiencies are achievable on the largest supercomputers. Finally, QMCPACK utilizes standard file formats for input and output in XML and HDF5 to facilitate data exchange. [/su_spoiler] [su_spoiler title=”gDFTB” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a simulation tool to calculate the transport at both equilibrium and non-equilibrium conditions. Thecrystalline orientation, length, and arrangement of electrodes have very weak influenceon the electronic characteristics of the considered atomic wires. The wire width isfound to be the most effective geometric aspect determining the number of conduction channels. The obtained conductance oscillation and linear current-voltage curves are interpreted. To analyze the conduction mechanism in detail, the transmission chan-nels and their decomposition to the atomic orbitals are calculated in copper and goldsingle point contacts. gDFTB is a technique designed for applicationsin nanotechnology; applications that are pertinent to systems having components thatare both intrinsically molecular in nature, requiring treatment by quantum chemicaltechniques, and intrinsically macroscopic in nature, requiring treatment of integrated solid state electronics[/su_spoiler] [su_spoiler title=”libNEGF” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a Fortran2008 library for Non Equilibrium Green’s Functions. It can be used to solve efficiently open boundary conditions problems for quantum transport in devices.[/su_spoiler] [su_spoiler title=”KMC/DMC” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]are general purpose programs for the simulation of chemical reactions taking place at crystal surfaces. The used simulation method is a Discrete Event Simulation with continuous time. In the literature this is commonly called a Dynamic Monte Carlo simulation (DMC) or Kinetic Monte Carlo simulation (KMC). The general purpose nature of the program is visible in a clear separation between model and (simulation) method. The simulation model is specified in terms of surface structure and changing patterns, reflecting the reactions taking place at the surface. Several methods can be employed on the model differing only in simulation speed and memory use. [/su_spoiler] [/su_accordion]
- Water4energy: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”ParFlow” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]ParFlow is known as a numerical model that simulates the hydrologic cycle from the bedrock to the top of the plant canopy. The original codebase provides an embedded Domain-Specific Language (eDSL) for generic numerical implementations with support for supercomputer environments (distributed memory parallelism), on top of which the hydrologic numerical core has been built. In ParFlow, the newly developed optional GPU acceleration is built directly into the eDSL headers such that, ideally, parallelizing all loops in a single source file requires only a new header file.[/su_spoiler] [su_spoiler title=”SHEMAT-Suite” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a finite-difference open-source code for simulating coupled flow, heat and species transport in porous media. The code, written in Fortran-95, originates from geoscientific research in the fields of geothermics and hydrogeology. It comprises: (1) a versatile handling of input and output, (2) a modular framework for subsurface parameter modeling, (3) a multi-level OpenMP parallelization, (4) parameter estimation and data assimilation by stochastic approaches (Monte Carlo, Ensemble Kalman filter) and by deterministic Bayesian approaches based on automatic differentiation for calculating exact (truncation error-free) derivatives of the forward code.[/su_spoiler] [su_spoiler title=”ExaTerr” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a new development that aims at building a common software platform for both SHEMAT-Suite and ParFlow. This platform will be based on Kokkos, a software technology strongly pushed by the US DoE which holds in his heart performance portability.[/su_spoiler] [/su_accordion]
- Fusion4energy: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”Gysela” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]A drift-kinetic semi-Lagrangian 4D code for ion turbulence simulation. A new code is presented here, named Gyrokinetic SEmi-LAgragian (GYSELA) code, which solves 4D drift-kinetic equations for ion temperature gradient driven turbulence in a cylinder (r,θ,z). The code validation is performed with the slab ITG mode that only depends on the parallel velocity. This code uses a semi-Lagrangian numerical scheme, which exhibits good properties of energy conservation in non-linear regime as well as an accurate description of fine spatial scales. The code has been validated in the linear and non-linear regimes. The GYSELA code is found to be stable over long simulation times (more than 20 times the linear growth rate of the most unstable mode), including for cases with a high resolution mesh (δr∼0·1 Larmor radius, δz∼10 Larmor radius).[/su_spoiler] [/su_accordion]
- Workflow Tools: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”Melissa” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]relies on an elastic and fault-tolerant parallel client/server communi-cation scheme, inheriting a three-tier architecture from Melissa [37], .The server gathers background states from all ensemble members. New obser-vations are assimilated into these background states to produce a new analysisstate for each member. These analysis states are distributed by the server totherunnersthat take care of progressing the ensemble members up to the nextassimilation cycle. Member to runner distribution is adapted dynamically bythe server according to the runner work loads, following a list scheduling algo-rithm. The runners and the server are parallel codes that can run with differentnumbers of processes. They exchange member states through N×M commu-nication patterns for efficiency purpose.[/su_spoiler] [/su_accordion]
- I/O Tools: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”PDI” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Portable Data Interface) data interface, a declarative API to decouple application codes from the Input / Output strategy to use. It present its plugin system, which supports the selection of the best-suited existing IO library through a configuration file in each part of the code depending on the hardware available, the IO pattern, the problem size, etc.[/su_spoiler] [su_spoiler title=”SIONlib” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Portable Data Interface) is a scalable I/O library for the parallel access to task-local files. The library not only supports writing and reading binary data to or from several thousands of processors into a single or a small number of physical files but also provides for global open and close functions to access SIONlib file in parallel. SIONlib provides different interfaces: parallel access using MPI, OpenMp, or their combination and sequential access for post-processing utilities. SIONlib library is enabled on SuperMUC and LINUX Cluster. It has been built for IBM MPI and Intel MPI.[/su_spoiler] [su_spoiler title=”FTI” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Fault Tolerance Interface) FTI was initially designed and developed in the context of a collaboration with Titech. FTI provides an API and a library for checkpoint/restart at application level. The API is at data structure level. The programmer decide which data to protect and when the protection should be performed. The library provides transparent multi-level checkpoint-restart with 4 or 5 levels of checkpointing.[/su_spoiler] [su_spoiler title=”IME” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](DDN’s Infinite Memory Engine) is a scale-out, software-defined, flash storage platform that streamlines the data path for application I/O. IME interfaces directly to applications and secures I/O via a data path that eliminates file system bottlenecks. With IME, architects can realize true flash-cache economics with a storage architecture that separates capacity from performance.[/su_spoiler] [/su_accordion]
- Solvers Tools: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”PSBLAS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]a library for parallel linear algebra computation on sparse matrices. PSBLAS enables easy, efficient, and portable implementations of parallel iterative solvers for linear systems. The interface keeps in view a Single Program Multiple Data programming model on distributed-memory machines.[/su_spoiler] [su_spoiler title=”MLD2P4″ open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]a package of parallel algebraic multilevel domain decomposition preconditioners in Fortran 95 MLD2P4 (Multi-Level Domain Decomposition Parallel Preconditioners Package based on PSBLAS) is a package of parallel algebraic multi-level preconditioners. It implements various versions of one-level additive and of multi-level additive and hybrid Schwarz algorithms. In the multi-level case, a purely algebraic approach is applied to generate coarse-level corrections, so that no geometric background is needed concerning the matrix to be preconditioned. The matrix is assumed to be square, real or complex, with a symmetric sparsity pattern. MLD2P4 has been designed to provide scalable and easy-to-use preconditioners in the context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms) computational framework and can be used in conjuction with the Krylov solvers available in this framework. MLD2P4 enables the user to easily specify different aspects of a generic algebraic multilevel Schwarz preconditioner, thus allowing to search for the ”best” preconditioner for the problem at hand. The package has been designed employing object-oriented techniques, using Fortran 95, with interfaces to additional third party libraries such as UMFPACK, SuperLU and SuperLU Dist, that can be exploited in building multi-level preconditioners. Single and double precision implementations of MLD2P4 are available for both the real and the complex case, that can be used through a single interface. The parallel implementation is based on a Single Program Multiple Data (SPMD) paradigm for distributed-memory architectures; the inter-process data communication is based on MPI and is managed mainly through PSBLAS.[/su_spoiler] [su_spoiler title=”MUMPS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](“MUltifrontal Massively Parallel Solver”) is a package for solving systems of linear equations ofthe formAx=b, whereAis a square sparse matrix that can be either unsymmetric, symmetric positivedefinite, or general symmetric, on distributed memory computers.MUMPSimplements a direct methodbased on a multifrontal approach which performs a Gaussian factorization[/su_spoiler] [su_spoiler title=”AGMG” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]solves systems of linear equations with an aggregation-based algebraic multigrid method. It is expected to be efficient for large systems arising from the discretization of scalar second order elliptic PDEs. The method is however purely algebraic and may be tested on any problem. (No information has to be supplied besides the system matrix and the right-hand-side.) AGMG has been designed to be easy to use by non experts (in a black box fashion). It is available both as a software library for FORTRAN or C/C++ programs, and as a Octave/Matlab function. The Octave/Matlab version accepts real and complex matrices, whereas the FORTRAN/C/C++ library is available for double precision and double complex arithmetic. For this library, several level of parallelism are provided: multi-threading (multi-core acceleration of sequential programs), MPI-based, or hybrid mode (MPI+multi-threading). [/su_spoiler] [su_spoiler title=”Chameleon” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a framework written in C which provides routines to solve dense general systems of linear equations, symmetric positive definite systems of linear equations and linear least squares problems, using LU, Cholesky, QR and LQ factorizations. Real arithmetic and complex arithmetic are supported in both single precision and double precision. It supports Linux and Mac OS/X machines (mainly tested on Intel x86-64 and IBM Power architectures). Chameleon is based on the PLASMA source code but is not limited to shared-memory environment and can exploit multiple GPUs. Chameleon is interfaced in a generic way with StarPU, PaRSEC, QUARK runtime systems. This feature allows to analyze in a unified framework how sequential task-based algorithms behave regarding different runtime systems implementations. Using Chameleon with StarPU or PaRSEC runtime systems allows to exploit GPUs through kernels provided by cuBLAS and clusters of interconnected nodes with distributed memory (using MPI). Computation of very large systems with dense matrices on a cluster of nodes is still being experimented and stabilized. It is not expected to get stable performances with the current version using MPI. [/su_spoiler] [su_spoiler title=”MAFIX” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]null[/su_spoiler] [su_spoiler title=”PaSTiX” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Parallel Sparse matriX package) is a scientific library that provides a high performance parallel solver for very large sparse linear systems based on direct methods. Numerical algorithms are implemented in single or double precision (real or complex) using LLt, LDLt and LU with static pivoting (for non symmetric matrices having a symmetric pattern). This solver provides also an adaptive blockwise iLU(k) factorization that can be used as a parallel preconditioner using approximated supernodes to build a coarser block structure of the incomplete factors.[/su_spoiler] [/su_accordion]
- The Centre of Excellence in Simulation of Weather and Climate in Europe (ESiWACE) enables global storm- and eddy resolving weather and climate simulations on the upcoming (pre-)Exascale supercomputers. The ESiWACE projects develop and support specific software packages concerning computing and storage aspects. In the following, more detailed information is listed.
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”NEMO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]standing for “Nucleus for European Modelling of the Ocean” is a state-of-the-art modelling framework for research activities and forecasting services in ocean and climate sciences, developed in a sustainable way by a European consortium.
The NEMO ocean model has 3 major components:
- NEMO-OCE models the ocean {thermo}dynamics and solves the primitive equations
- NEMO-ICE (SI3: Sea-Ice Integrated Initiative) models sea-ice {thermo}dynamics, brine inclusions and subgrid-scale thickness variations
- NEMO-TOP (Tracers in the Ocean Paradigm) models the {on,off}line oceanic tracers transport and biogeochemical processes (using PISCES)
- Unified model for climate research and operational numerical weather prediction
- Common infrastructure for atmosphere and ocean models
- Consistent and conservative air and tracer transport
- Parameterization packages for scales from ~100 km for long term coupled climate simulations to ~1 km for cloud (atm.) or eddy (ocean) resolving regional simulations.
- Quasi uniform grid resolution with optional regional refinement. Currently 1-way or 2-way nesting can be used for atm. simulations.
- High scalability to run on largest German and European HPC machines
- Portability
- Support to other models, e.g. UM from the UK Met Office
- Application codes are the core of Excellerat projects since they allow for achieving the cutting-edge results of engineering objectives.A number of codes are officially supported within the Services provided in the context of Excellerat Center of Excellence. The goal of EXCELLERAT is to enable the European engineering industry to advance towards Exascale technologies and to create a single-entry point to services and knowledge for all stakeholders of HPC for engineering. In order to achieve this goal, EXCELLERAT brings together key players from industry, research and HPC to provide all necessary services and software:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”Alya” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.
[/su_spoiler] [su_spoiler title=”AVBP” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Combustion instabilities and emission prediction. Explosion in confined spaces.[/su_spoiler] [su_spoiler title=”CODA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Design process and simulation of full equipped aeroplanes. CFD coupling with computational structural mechanics including elastic effects.[/su_spoiler] [su_spoiler title=”FEniCS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]FEniCS is a collection of software for automated solution of PDEs using FEM. FEniCS is a popular open-source (LGPLv3) computing platform for solving partial differential equations (PDEs). FEniCS enables users to quickly translate scientific models into efficient finite element code. With the high-level Python and C++ interfaces to FEniCS, it is easy to get started, but FEniCS offers also powerful capabilities for more experienced programmers. FEniCS runs on a multitude of platforms ranging from laptops to high-performance clusters.[/su_spoiler] [su_spoiler title=”Nek5000″ open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Nek5000 is a computational fluid dynamics code that employs the spectral element method, ahigh-order weighted residual technique, for applications in a wide range of fields including fluid flow, thermal convection, conjugate heat transfer, combustion and magnetohydrodynamics. It features state-of-the-art, scalable algorithms that are fast and efficient on platforms ranging from laptops to the world’s fastest computers. Nek5000, which is actively developed and improved for more than 30 years at Argonne National Laboratory (ANL), was extended for the direct numerical simulation of low Mach number reactive flows at the Swiss Federal Institute of Technology Zurich and is been used to investigate gas-phase and catalytic combustion in a number of laboratory-scale setups of fundamental and applied interest including internal combustion engines. Nek5000 won a Gordon Bell prize for its outstanding scalability on high-performance parallel computers and the 2016 R&D 100 Award. It is part of the Center for Efficient Exascale Discretizations (CEED) co-design effort, and its user community involves hundreds of scientists and engineers in academia, laboratories and industry.[/su_spoiler] [su_spoiler title=”TPLS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]open-source program for simulation of two-phase flows. Flow modelling like oil and gas fl ows in long-distance pipelines or refi nery distillation columns, liquid cooling of micro-electronic devices, carbon capture and cleaning processes, water treatment plants, blood fl ows in arteries, and enzyme interactions.[/su_spoiler] [su_spoiler title=”PAAKAT” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]high-performance computing in-situ analysis tool.[/su_spoiler] [su_spoiler title=”UQit” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Python toolbox for uncertainty quantification.[/su_spoiler] [su_spoiler title=”Vistle” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]software environment that integrates simulations on supercomputers, post- processing and parallel interactive visualization in immersive virtual environments.[/su_spoiler] [/su_accordion]
- The technology evolution in HiDALGO integrates scientific objectives into a platform, which documents the success of the individual project developements and generates the required impact to establish a sustainable Centre of Excellence. The aspects of the technology evolution can be divided into the following parts:
- – Seamless integration of HPC and HPDA technology.
– Increase application scalability by optimising or porting the involved kernels.
– Developement of the intelligent HiDALGO plattform: Intelligent workload management is a major asset of HiDALGO.
– Improve data management and analytics capabilities for HPC and HPDA environments.
They operate in the following areas:
Agent-based Modelling: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”AMOS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Agent-based Molecular Simulations), a system developed in order to estimate the motion of macromolecules consisted of aminoacids. AMoS is a multi-agent system that imitates the macromolecule in a real world environment. The main goal is to represent every molecular atom with an intelligent software agent. In computer science, a software agent is a piece of software that acts on behalf of a user or other program. Such “action on behalf of” implies the ability to decide when (and if) an action is appropriate. The idea is that agents are not strictly invoked for a task, but activate themselves. Intelligent agents are characterised by autonomy, mobility, communication and interaction with each other. The user describes the system s/he desires to simulate and AMoS returns as output the estimated motion of the input macromolecule. AMoS is based on the deterministic and multidisciplinary method of simulation known as Molecular Dynamics (MD). MD is used in different kinds of systems with varying level of detail, ranging from quantum mechanics to molecular mechanics and gives the motion of macromolecules utilising known energy functions-force fields [Lifson (1968), Warshel (1970)].[/su_spoiler] [su_spoiler title=”RepastHPC” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]A Platform for Large-Scale Agent-Based Modeling. It is an agent-based modeling and simulation toolkit based on the Message Passing Interface (MPI).[/su_spoiler] [su_spoiler title=”MASON” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.
MASON is a joint effort between George Mason University’s Evolutionary Computation Laboratory and the GMU Center for Social Complexity, and was designed by Sean Luke, Gabriel Catalin Balan, Keith Sullivan, and Liviu Panait, with help from Claudio Cioffi-Revilla, Sean Paus, Keith Sullivan, Daniel Kuebrich, Joey Harrison, and Ankur Desai. [/su_spoiler] [su_spoiler title=”SUMO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Simulation ofUrbanMObility). SUMO is an open-source program (licenced under GPL2) for traffic simulation. Its simulation model is microscopic,that is, each vehicle is explicitly modeled, has its own routeand moves individually over the network. It is mainly de-veloped by Institute of Transportation Systems, located atGerman Aerospace Center. Among other features, it allows the existence of differ-ent types of vehicles, roads with several lanes, traffic lights,graphical interface to view the network and the entities thatare being simulated, and interoperability with other applica-tions at run-time through an API called TraCI. Moreover,the tool is considered to be fast, still allowing a version with-out a graphical interface where the simulation is acceleratedputting aside visual concerns and overheads.. It is possible to pointout almost all specified features: vehicles stopped at thetraffic light as well as a long vehicle entering an intersection.This tool was crucial in this work! First, it allows loading different maps (described in XML files) in order to test various scenarios with vehicles and traffic lights. Then, with thesimulation itself there is no need to waste time implementingthe dynamics of many vehicles and traffic lights, starting soonwith the evaluation of algorithms. Finally, interoperability with other applications allows that each agent can be bound to an entity in SUMO, so that changes in the dynamics oftraffic lights, for instance, can be visually seen in the SUMO’sgraphic interface.[/su_spoiler] [su_spoiler title=”FLEE” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an agent-based modelling toolkit which is purpose-built for simulating the movement of individuals across geographical locations. Flee is currently used primarily for modelling the movements of refugees and internally displaces persons (IDPs).
Flee is currently is released periodically under a BSD 3-clause license.[/su_spoiler] [/su_accordion] Data Analytics: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”Apache Spark” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a unified engine designed for large-scale distributed data processing, on premises in data centers or in the cloud. Spark provides in-memory storage for intermediate computations, making it much faster than Hadoop MapReduce. It incorporates libraries with composable APIs for machine learning (MLlib), SQL for interactive queries (Spark SQL), stream processing (Structured Streaming) for interacting with real-time data, and graph processing (GraphX).[/su_spoiler] [su_spoiler title=”Apache Flink” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a distributed processing engine and a scalable data analytics framework. You can use Flink to process data streams at a large scale and to deliver real-time analytical insights about your processed data with your streaming application.
Flink is designed to run in all common cluster environments, perform computations at in-memory speed and at any scale. Furthermore, Flink provides communication, fault tolerance, and data distribution for distributed computations over data streams.
Flink applications process stream of events as unbounded or bounded data sets. Unbounded streams have no defined end and are continuously processed. Bounded streams have an exact start and end, and can be processed as a batch. In terms of time, Flink can process real-time data as it is generated and stored data in storage filesystems. In CSA, Flink is used for unbounded, real-time stream processing. [/su_spoiler] [su_spoiler title=”Apache Storm” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an open-source distributed real-time computational system for processing data streams. Similar to what Hadoop does for batch processing, Apache Storm does for unbounded streams of data in a reliable manner.
Apache Storm is able to process over a million jobs on a node in a fraction of a second.
It is integrated with Hadoop to harness higher throughputs.
It is easy to implement and can be integrated with any programming language.
Storm was developed by Nathan Marz as a back type project which was later acquired by Twitter in the year 2011. In the year 2013, Twitter made Storm public by putting it into GitHub. Storm then entered Apache Software Foundation in the same year as an incubator project, delivering high-end applications. Since then, Apache Storm is fulfilling the requirements of Big Data Analytics. [/su_spoiler] [/su_accordion] Machine Learning: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”TensorFlow” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.[/su_spoiler] [su_spoiler title=”Torch” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a scientific computing framework with wide support for machine learning algorithms that puts GPUs first. It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.
A summary of core features:- a powerful N-dimensional array
- lots of routines for indexing, slicing, transposing, …
- amazing interface to C, via LuaJIT
- linear algebra routines
- neural network, and energy-based models
- numeric optimization routines
- Fast and efficient GPU support
- Embeddable, with ports to iOS and Android backends
In COVISE an application is divided into several processing steps, which are represented by COVISE modules. These modules, being implemented as separate processes, can be arbitrarily spread across different heterogeneous machine platforms. Major emphasis was put on the usage of high performance infrastructures such as parallel and vector computers and fast networks.
COVISE Rendering modules support Virtual environments ranging form workbenches over powerwalls, curved screens up to full domes or CAVEs. The users can thus analyze their datasets intuitively in a fully immersive environment through state of the art visualization techniques including Volume rendering and fast sphere rendering. Physical prototypes or experiments can be included into the analysis process through Augmented Reality techniques. [/su_spoiler] [/su_accordion] Computational Fluid Dynamics (CFD): [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”FEniCS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a collection of software for automated solution of PDEs using FEM. FEniCS is a popular open-source (LGPLv3) computing platform for solving partial differential equations (PDEs). FEniCS enables users to quickly translate scientific models into efficient finite element code. With the high-level Python and C++ interfaces to FEniCS, it is easy to get started, but FEniCS offers also powerful capabilities for more experienced programmers. FEniCS runs on a multitude of platforms ranging from laptops to high-performance clusters.[/su_spoiler] [/su_accordion]
- Codes: The open-source MAX flagship codes implement state-of-the-art algorithms for quantum mechanical materials simulations, based on Density Functional Theory and beyond. All the codes are now being ported to the heterogeneous (GPU-based) architectures:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”Quantum ESPRESSO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials. It is a suite for first-principles electronic-structure calculations and materials modeling, distributed for free and as free software under the GNU General Public License. It is based on density-functional theory, plane wave basis sets, and pseudopotentials (both norm-conserving and ultrasoft). ESPRESSO is an acronym for opEn-Source Package for Research in Electronic Structure, Simulation, and Optimization.
The core plane wave DFT functions of QE are provided by the PWscf component, PWscf previously existed as an independent project. PWscf (Plane-Wave Self-Consistent Field) is a set of programs for electronic structure calculations within density functional theory and density functional perturbation theory, using plane wave basis sets and pseudopotentials. The software is released under the GNU General Public License.
The latest version QE-6.6 was released on 5 Aug 2020.[/su_spoiler]
[su_spoiler title=”SIESTA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]SIESTA is a first-principles materials simulation program based on density-functional theory (DFT). It was one of the first codes to enable the treatment of large systems with first-principles electronic-structure methods, which opened up new research avenues in many disciplines. SIESTA has become quite popular and is increasingly being used by researchers in geosciences, biology and engineering (apart from those in its natural habitats of materials physics and chemistry). SIESTA‘s efficiency stems from the use of strictly localized basis sets and from the implementation of linear-scaling algorithms which can be applied to suitable systems. A very important feature of the code is that its accuracy and cost can be tuned in a wide range, from quick exploratory calculations to highly accurate simulations matching the quality of other approaches, such as plane-wave methods.
http://www.max-centre.eu/codes-max/siesta
[/su_spoiler] [su_spoiler title=”YAMBO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an open-source code that implements Many-Body Perturbation Theory (MBPT) methods (such as GW and BSE), which allows for accurate prediction of fundamental properties as band gaps of semiconductors, band alignments, defect quasi-particle energies, optics and out-of-equilibrium properties of materials, including nano-structured systems.[/su_spoiler] [su_spoiler title=”FLEUR” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Full-potential Linearised augmented plane wave in EURope) is a code family for calculating groundstate as well as excited-state properties of solids within the context of density functional theory (DFT). A key difference with respect to the other MAX-codes and indeed most other DFT codes lies in the treatment of all electrons on the same footing. Thereby we can also calculate the core states and investigate effects in which these states change. FLEUR is based on the full-potential linearised augmented plane wave method, a well established scheme often considered to provide the most accurate DFT results and used as a reference for other methods. The FLEUR family consists of several codes and modules: a versatile DFT code for the ground-state properties of multicomponent magnetic one-, two- and three-dimensional solids. A focus of the code is on non-collinear magnetism, determination of exchange parameters, spin-orbit related properties (topological and Chern insulators, Rashba and Dresselhaus effect, magnetic anisotropies, Dzyaloshinskii-Moriya interaction). The SPEX code implements many-body perturbation theory (MBPT) for the calculation of the electronic excitation properties of solids. It includes different levels of GW approaches to calculate the electronic self-energy including a relativistic quasiparticle self-consistent GW approach. The experimental KKRnano code, designed for highest parallel scaling, provides the possibility to utilize current supercomputers to their full extend and is applicable to dense-packed crystals.[/su_spoiler] [su_spoiler title=”CP2K” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]CP2K is a quantum chemistry and solid state physics software package that can perform atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems. CP2K provides a general framework for different modeling methods such as DFT using the mixed Gaussian and plane waves approaches GPW and GAPW. Supported theory levels include DFTB, LDA, GGA, MP2, RPA, semi-empirical methods (AM1, PM3, PM6, RM1, MNDO), and classical force fields (AMBER, CHARMM). CP2K can do simulations of molecular dynamics, metadynamics, Monte Carlo, Ehrenfest dynamics, vibrational analysis, core level spectroscopy, energy minimization, and transition state optimization using NEB or dimer method. CP2K is written in Fortran 2008 and can be run efficiently in parallel using a combination of multi-threading, MPI, and CUDA. It is therefore easy to give the code a try, and to make modifications as needed. [/su_spoiler] [su_spoiler title=”BigDFT” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an electronic structure pseudopotential code that employs Daubechies wavelets as a computational basis, designed for usage on massively parallel architectures. It features high-precision cubic-scaling DFT functionalities enabling treatment of molecular, slab-like as well as extended systems, and efficiently supports hardware accelerators such as GPUs since 2009.[/su_spoiler] [su_spoiler title=”AiiDA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a Python materials informatics framework to manage, store, share, and disseminate the workload of high-throughput computational efforts, while providing an ecosystem for materials simulations where codes are automatically optimised on the relevant hardware platforms, and complex scientific workflows involving different codes and datasets can be seamlessly implemented and shared.[/su_spoiler] [/su_accordion] - Libraries: The open source, domain specific libraries developed during MAX are specific to the materials modelling. The libraries, that are specific to the materials modelling domain, are: [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”CheSS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]One of the most important tasks in electronic structure codes is the calculation of the density matrix. If not handled properly, this task can easily lead to a bottleneck that limits the performance of the code or even renders big calculations prohibitively expensive. CheSS is a library that was designed with the goal of enabling electronic structure calculations for very big systems. It is capable of working with sparse matrices, which naturally arise if big systems are treated with a localized basis. Therefore, it is possible to calculate the density matrix with O(N), i.e., the computation cost only increases linearly with the system size. The CheSS solver uses an expansion based on Chebyshev polynomials to calculate matrix functions (such as the density matrix or the inverse of the overlap matrix), thereby exploiting the sparsity of the input and output matrices. It works best for systems with a finite HOMO-LUMO gap and a small spectral width. CheSS exhibits a two-level parallelization using MPI and OpenMP and can scale to many thousands of cores. It has been converted into a stand-alone library starting from the original codebase within BigDFT. At the moment, it is coupled to the two MAX flagship codes BigDFT and SIESTA. The performance of CheSS has been benchmarked against PEXSI and (Sca)LAPACK for the calculation of the density matrix and the inverse of the overlap matrix, respectively. CheSS is the most efficient method, as it is demonstrated with more details and performance figures in the publication “Efficient Computation of Sparse Matrix Functions for Large-Scale Electronic Structure Calculations: The CheSS Library”.[/su_spoiler] [su_spoiler title=”LAXLib & FFTXLib” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]One of the most important obstacles when keeping the codes up to date with hardware is the programming style based on old-style (i.e., non object-oriented) languages. Programming styles in community codes are often naive and lack the modularity and flexibility. From here, the need to disentangle such codes is essential for implementing new features or simply refactoring the application in order to efficiently run on the new architectures. Rewriting from scratch one of these codes is not an option because the communities behind these codes would be disrupted. One of the possible approaches that could permit to evolve the code is to progressively encapsulate the functions and subroutines, breaking up the main application in small (possibly weakly dependent) parts. This strategy was followed by Quantum ESPRESSO: two main types of kernels were isolated in the independent directories and proposed as candidates for the domain-specific libraries for third-party applications. The first library, called LAXlib, contains all the low-level linear algebra routines of Quantum ESPRESSO, and in particular those used by the Davidson solver (e.g., the Cannon algorithm for the matrix-matrix product). The LAXlib also contains a mini-app that permits to evaluate the features of a HPC interconnect measuring the linear algebra routines contained therein. The second library encapsulates all the FFT related functions, including the drivers for several different architectures. The FFTXlib library is self-contained and can be built without any dependencies on the remaining part of the Quantum ESPRESSO suite. Similarly, in the FFTXlib there is a mini-app that permits to mimic the FFT cycle for the SCF calculation of the charge density tuning the parallelization parameters of Quantum ESPRESSO. This mini-app has also been used to test the new implementation using the MPI-3 non blocking collectives.[/su_spoiler] [su_spoiler title=”SIRIUS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a domain specific library for electronic structure calculations. It implements pseudopotential plane wave (PP-PW) and full potential linearized augmented plane wave (FP-LAPW) methods and is designed for GPU acceleration of popular community codes such as Exciting, Elk and Quantum ESPRESSO. SIRIUS is used in production at CSCS to enable QE on GPUs. The library is open-source (BSD 2-clause licence) and is freely available. SIRIUS is written in C++11 with MPI, OpenMP and CUDA/ROCm programming models. SIRIUS is organised as a collection of classes that abstract away the different building blocks of DFT self-consistency cycle.[/su_spoiler] [su_spoiler title=”COSMA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a parallel, high-performance, GPU-accelerated, matrix-matrix multiplication algorithm and library implementation that is communication-optimal for all combinations of matrix dimensions, number of processors and memory sizes, without the need for any parameter tuning. COSMA is written in C++11 with MPI, OpenMP and CUDA/ROCm programming models. The library is open-source (BSD 3-clause licence) and is freely available.[/su_spoiler] [su_spoiler title=”SpFFT” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a 3D FFT library for sparse frequency domain data written in C++ with support for MPI, OpenMP, CUDA, and ROCm. It was originally intended for transforms of data with spherical cutoff in frequency domain, as required by some computational materials science codes. For distributed computations, SpFFT uses a slab decomposition in space domain and pencil decomposition in frequency domain (all sparse data within a pencil must be on one rank). The library is open-source (BSD 3-clause licence) and is freely available.[/su_spoiler] [/su_accordion]
- Features and algorithms: MAX codes have been strongly improved and partially renovated to fully exploit the potentialities offered by the forthcoming pre-exascale and exascale architecture.
- Workflows: AiiDA, the high-throughput environment, is built in a modular fashion that allows the support of any other simulation code via plugins.
- NOMAD creates, collects, stores, and cleanses computational materials science data, computed by the most important materials-science codes available today. Furthermore, the NOMAD Laboratory develops tools for mining this data in order to find structure, correlations, and novel information that could not be discovered from studying smaller data sets. Thus, NOMAD fosters the discovery of new materials.And most importantly, NOMAD leads the Open Science Movement in materials science, supported by the global community by making all data freely accessible. [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”Artificial Intelligence Toolkit” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]enables scientists and engineers to decide which materials are useful for specific applications or which new materials should be the focus of future studies. The Toolkit uses machine learning and artificial intelligence approaches to sort all available material data, to identify correlations and structures, and to detect trends and anomalies.[/su_spoiler][/su_accordion]
- The PerMedCoE Software Observatory is a benchmarking platform for the assessment of the quality and efficacy of cell-level software applied to different PerMed contexts, as well as new developments that emerge at the community. This platform is a meeting point for the different communities: simulation tools developers, experts in HPC at the hardware and software level, and final users. The key core applications are currently licensed under different free software and/or open-source licenses that enable their adaptation and scale-up (PhysiCell: The 3-Clause BSD License, MaBoSS: GNU Lesser General Public License, some COBRA software: GNU General Public License 3, CellNOpt: GNU General Public License, version 2). The PerMedCoE will use the appropriate licenses to follow the CoE full commitment to open science and open software, based on a thorough licensing analysis, such as GPLv3/Apache/MIT. Furthermore, the PerMedCoE will consider that the commitment to code sharing extends to the use of collaborative platforms for code development and to the use of standard software development processes and practices, including formal code review and testing. [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”COBRA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]COBRA (Constraint-Based Reconstruction and Analysis) is currently the only methodology that permits integrated modeling of Metabolism and macromolecular Expression (ME) at genome-scale. Linear optimization computes steady-state flux solutions to ME models, but flux values are spread over many orders of magnitude. Data values also have greatly varying magnitudes. Standard double-precision solvers may return inaccurate solutions or report that no solution exists. Exact simplex solvers based on rational arithmetic require a near-optimal warm start to be practical on large problems (current ME models have 70,000 constraints and variables and will grow larger).[/su_spoiler] [su_spoiler title=”CellNOpt” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](from CellNetOptimizer; a.k.a. CNO) is a software used for creating logic-based models of signal transduction networks using different logic formalisms (Boolean, Fuzzy, or differential equations). CellNOpt uses information on signaling pathways encoded as a Prior Knowledge Network, and trains it against high-throughput biochemical data to create cell-specific models. CellNOpt is freely available under GPL license in R and Matlab languages. It can be also accessed through a python wrapper, and a Cytoscape plugin called CytoCopter provides a graphical user interface.[/su_spoiler] [su_spoiler title=”MaBoSS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a simulation software for continuous time Boolean modeling. The model is described by a network, where nodes have Boolean states. Transitions between the node states are governed by logical equations, with an associated rate (a real number ∈[0,∞[).[/su_spoiler] [su_spoiler title=”PhysiCell” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]physics-based multicellular simulator—is an open source agent-based simulator that provides both the stage and the players for studying many interacting cells in dynamic tissue microenvironments. It builds upon a multi-substrate biotransport solver to link cell phenotype to multiple diffusing substrates and signaling factors. It includes biologically-driven sub-models for cell cycling, apoptosis, necrosis, solid and fluid volume changes, mechanics, and motility “out of the box.” The C++ code has minimal dependencies, making it simple to maintain and deploy across platforms. PhysiCell has been parallelized with OpenMP, and its performance scales linearly with the number of cells.[/su_spoiler] [/su_accordion]
- POP has experience with both discrete and continuum modelling software. POP also assessed a continuum modelling code, aiding with the performance improvement of the Urban Heat Island solver by Rheologic.
Code List:
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”Extrae” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]profiling tool, developed by BSC, can very quickly produce very large trace files, which can take several minutes to load into Paraver, the tool used to view the traces. These trace files can be kept to a more manageable size by using Extrae’s API to turn the tracing on and off as needed. For example, the user might only want to record data for two or three time steps. This API was previously only available for codes developed in C, C++ and Fortran but now it also supports Python codes using MPI.[/su_spoiler]
[su_spoiler title=”Paraver” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a very flexible data browser that is part of the CEPBA-Tools toolkit. Its analysis power is based on two main pillars. First, its trace format has no semantics; extending the tool to support new performance data or new programming models requires no changes to the visualizer, just to capture such data in a Paraver trace. The second pillar is that the metrics are not hardwired on the tool but programmed. To compute them, the tool offers a large set of time functions, a filter module, and a mechanism to combine two time lines. This approach allows displaying a huge number of metrics with the available data. To capture the experts knowledge, any view or set of views can be saved as a Paraver configuration file. After that, re-computing the view with new data is as simple as loading the saved file. The tool has been demonstrated to be very useful for performance analysis studies, giving much more details about the applications behaviour than most performance tools. Some Paraver features are the support for:
- Detailed quantitative analysis of program performance
- Concurrent comparative analysis of several traces
- Customizable semantics of the visualized information
- Cooperative work, sharing views of the tracefile
- Building of derived metrics
- Easy calculation of POP metrics.
- High quality figure generation.
- Easy access to underlying data and statistics (using Pandas).
- Flexible and extensible design.
- Accurate: SimGrid’s simulation models have been theoretically and experimentally evaluated and validated.
- Scalable: SimGrid’s simulation models and their implementations are fast and have low memory footprint, making is possible to run SimGrid simulations quickly on a single machine.
- Usable: SimGrid is free software (LGPL license) available on Linux / Mac OS X / Windows, and allows users to write simulators in C++, C, Python, or Java.
- Constants and integer values.
- Communicator usage.
- Datatype usage.
- Group usage.
- Operation usage.
- Request usage.
- Leak checks (MPI resources not freed before calling MPI_Finalize).
- Type mismatches.
- Overlapping buffers passed to MPI.
- Deadlocks resulting from MPI calls.
- Basic checks for thread level usage (MPI_Init_thread).
- Computational Fluid Dynamics [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”SOWFA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a high fidelity numerical simulation tool for wind farmsdeveloped at NREL(U.S.A.). It could be used for model validations, controller validations, analysis and research of flows inside wind farms, evaluation of wind turbines of the wind farms, and for wind farm designs. The purpose of high fidelity simulation is to present reference data to assess engineering tools within the project.[/su_spoiler] [su_spoiler title=”DROPS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]software package is a CFD tool for simulating two-phase flows. It is being developed at the IGPM and the Institute of Scientific Computing at the RWTH Aachen. Part of the development was funded by the German Research Foundation (DFG) via the Collaborative Research Center SFB 540. The code is still under development. The second release is published under the terms of the LGPL.[/su_spoiler] [su_spoiler title=”Ateles” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a Finite Element code which uses the Discontinuous Galerkin scheme on top of an dis-tributed parallel octree mesh data structure. The code uses an explicit time integration scheme.The basic unit of the computational domain is called anelement. Static mesh refinement is usedto increase numerical accuracy in areas of interest. To lowest order, all elements should havethe same computational load. Therefore, for this analysis we will takethe number of elementsas the measure for problem size.[/su_spoiler] [su_spoiler title=”Musubi” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a solver open source for Lattice Boltzmann. It is part of the parallel simulation framework APES, which utilizes octrees to represent sparse meshes and provides tools from automatic mesh generation to post-processing. The octree mesh representation enables the handling of arbitrarily complex simulation domains, even on massively parallel systems. Local grid refinement is implemented by several interpolation schemes in Musubi.[/su_spoiler] [su_spoiler title=”OpenFOAM Solver” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](for Open-source Field Operation And Manipulation) is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, most prominently including computational fluid dynamics (CFD). OpenFOAM is a free, open source CFD software package that has a range of features for solving complex fluid flows involving chemical reactions, turbulence and heat transfer, and solid dynamics and electromagnetics.[/su_spoiler] [su_spoiler title=”Nekbone” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]solves a standard Poisson equation using a conjugate gradient iteration with a simple or spectral element multigrid preconditioner on a block or linear geometry. It exposes the principal computational kernel to reveal the essential elements of the algorithmic- architectural coupling that is pertinent to Nek5000.[/su_spoiler] [/su_accordion]
- Electronic Structure Calculations [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”ONETEP” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Order-N Electronic Total Energy Package) is a linear-scaling code for quantum-mechanical calculations based on density-functional theory.[/su_spoiler] [su_spoiler title=”FHI-AIMS” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an efficient, accurate all-electron, full-potential electronic structure code package for computational molecular and materials science (non-periodic and periodic systems). The code supports DFT (semilocal and hybrid) and many-body perturbation theory. FHI-aims is particularly efficient for molecular systems and nanostructures, while maintaining high numerical accuracy for all production tasks. Production calculations handle up to several thousand atoms and can efficiently use (ten) thousands of cores. FHI-aims is developed by an active, globally distributed community, including significant developments at FHI, Duke University, TU Munich, USTC Hefei, Aalto University, University of Luxembourg, TU Graz, Cardiff University and many other institutions.[/su_spoiler] [su_spoiler title=”Quantum Espresso” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials.[/su_spoiler] [su_spoiler title=”SIESTA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is both a method and its computer program implementation, to perform efficient electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids. SIESTA’s efficiency stems from the use of a basis set of strictly-localized atomic orbitals. A very important feature of the code is that its accuracy and cost can be tuned in a wide range, from quick exploratory calculations to highly accurate simulations matching the quality of other approaches, such as plane-wave methods.[/su_spoiler] [su_spoiler title=”ADF” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]application attempts to evenly distribute the work amongst the cores via commu-nication between node masters (first rank of a node) and the global master (rank zero). Thisinforms the global master that a node needs to be assigned more work. The other cores in anode access their work via the POSIX shared arrays rather than using MPI communication.This is not captured automatically by the profiling tool and so source code instrumentationwas added around the calls in C code inscmfipc.cto create, destroy, lock and unlock theshared arrays. It is worth noting that this does not include any time the cores spent waiting fora lock to become available, just the time spent doing the locking or unlocking itself. Furtherinvestigation of the time spent waiting for locks on the shared arrays is outside the scope of thisPerformance Plan.[/su_spoiler] [su_spoiler title=”BAND” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is density functional theory (DFT) code using atomic orbitals for periodic DFT calculations. POP partners generated the performance data used in this report to investigate strong scaling. Source code for ADF 2016.101 was compiled using Intel compilers 16.0.3 and Intel MPI 5.1.3. Trace data was collected using Extrae 3.3 and analysed using Paraver and associated tools. Data was also collected using Score-P 3.0and analysed with Scalasca 2.3.1 and Cube. Score-P filtering was utilised to exclude any short user function calls that do not appear on the call-path to an MPI function.[/su_spoiler] [su_spoiler title=”DFTB” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Density Functional Tight Binding) is a fast and efficient versatile quantum mechanical simulation package, containing almost all of the useful extensions which have been developed for the DFTB framework so far. It is a fast approximate methods to study large molecules and big periodic systems, employing DFT-based and semi-empirical data. Using DFTB you can carry out quantum mechanical simulations like with ab-initio density functional theory based packages, but in an approximate way gaining typically around two order of magnitude in speed.[/su_spoiler] [/su_accordion]
- Plasma Turbulence
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”GS2″ open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a gyrokinetic flux tube initial value and eigenvalue solver for fusion plasmas
-
- General user help (installing, running, etc), as well as detailed articles for developers, is on the wiki.
- Source code is available for the current release candidate and the development trunk.
-
- Materials Science [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”QUIP” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]package is a collection of software tools to carry out molecular dynamics simulations. It implements a variety of interatomic potentials and tight binding quantum mechanics, and is also able to call external packages, and serve as plugins to other software such as LAMMPS, CP2K and also the python framework ASE. Various hybrid combinations are also supported in the style of QM/MM, with a particular focus on materials systems such as metals and semiconductors.[/su_spoiler] [su_spoiler title=”DPM” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””][/su_spoiler] [su_spoiler title=”GraGLeS2D” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a microstructure materials simulation code. The OpenMP parallel code is designed to run on large SMP machines in the RWTH compute cluster with 16-sockets and up to 2 TB of memory. After a POP performance audit of the code, several performance issues were detected and a performance plan on how these issues could be resolved was set up.[/su_spoiler] [su_spoiler title=”FIDIMAG” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](FInite DIfference atomistic and microMAGnetic solver) is a Python software pack-age that allows users to define their magnetic system and choose from finite-temperature, atom-istic simulations or continuous micromagnetic solvers. It uses the finite difference method andmeshes can be defined on cubic and hexagonal lattices. The computationally intensive parts ofthe code are implemented in the C language and uses the Sundials algebraic solvers and FFTW.The Python code is compiled to Cython to increase its performance. The parts of the code thathave been implemented in the C language have been parallelised using OpenMP. Parallelism isalso gained through the OpenMP implementation of FFTW which is built from source.[/su_spoiler] [su_spoiler title=”GBmolDD” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a molecular dynamics code for the simulation of coarse-grained molecular systems composed of isotropic and/or anisotropic particles. It uses the standard Lennard-Jonespotential function to approximate the interaction between molecules using the Lorentz-Berthelot combining rule.[/su_spoiler] [su_spoiler title=”k-Wave” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an open source acoustics toolbox for MATLAB andC++ developed by Bradley Treeby and Ben Cox (University College London) and Jiri Jaros(Brno University of Technology). The software is designed for time domain acoustic and ultra-sound simulations in complex and tissue-realistic media. The simulation functions are based onthe k-space pseudospectral method and are both fast and easy to use.[/su_spoiler] [su_spoiler title=”EPW” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](www.epw.org) is an Electron-Phonon Wannier code whichcalculates properties related to the electron-phonon interaction using Density Functional Per-turbation Theory and Maximally Localized Wannier Functions. It is distributed as part of theQuantum ESPRESSO suite.[/su_spoiler] [/su_accordion]
- Earth Sciences
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”NEMO” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Nucleus of the European Model of the Ocean)(Madec and the NEMO Team, 2008) is one of the most widely used ocean models, of great significance to the European climate community. The NEMO model is written in Fortran90 and its origins can be traced backover 20 years and, as such, the code base, parallelised using the message passing paradigm, has seen manycomputer architectures and programming environments come and go.[/su_spoiler]
[su_spoiler title=”SHEMAT-Suite” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a finite-difference open-source code for simulating coupled flow, heat and species transport in porous media. The code, written in Fortran-95, originates from geoscientific research in the fields of geothermics and hydrogeology. It comprises: (1) a versatile handling of input and output, (2) a modular framework for subsurface parameter modeling, (3) a multi-level OpenMP parallelization, (4) parameter estimation and data assimilation by stochastic approaches (Monte Carlo, Ensemble Kalman filter) and by deterministic Bayesian approaches based on automatic differentiation for calculating exact (truncation error-free) derivatives of the forward code.[/su_spoiler]
[su_spoiler title=”UKCA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a joint NCAS–Met Office programme funded by NCAS, GMR and DEFRA for three years. Project partners are the Hadley Centre and the Universities of Cambridge, Leeds and Reading.
Why do we need UKCA?
- Scope of current chemistry and aerosol models is insufficient for Earth System modelling.
- NCAS expertise is required to improve climate models.
- To encourage wider community research in this area.
- Neuroscience
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”OpenNN” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Neural Designer) is an open source C++ code for neural networks that has OpenMP parallelisation.[/su_spoiler]
[su_spoiler title=”NEST5g” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is a simulator for spiking neural network models that focuses on the dynamics, size and structure of neural systems rather than on the exact morphology of individual neurons. The development of NEST is coordinated by the NEST Initiative.
NEST is ideal for networks of spiking neurons of any size, for example:
- Models of information processing e.g. in the visual or auditory cortex of mammals.
- Models of network activity dynamics, e.g. laminar cortical networks or balanced random networks.
- Models of learning and plasticity.
- Biomedicine [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”HemeLB” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]is an open-source lattice-Boltzmann code for simulation of large-scale fluid flow in complexgeometries, e.g., intracranial blood vessels near aneurysms. It is written in C++ using MPI by UCLand developed within the EU H2020CompBioMedCentre of Excellence.[/su_spoiler] [/su_accordion]
- In CoE RAISE, innovative AI methods on heterogeneous HPC architectures capable of scaling towards Exascale are developed and generalized for selected representative simulation codes and data-driven workflows. Technology transfer to industry, SMEs, and academia is accelerated and training, education, and support in qualifying codes and workflows is provided. A European network of contact points to provide infrastructural and knowledge access, consulting, and further services to user communities from industry, SMEs, and academia with less developed expertise in AI and HPC is established. CoE RAISE connects to existing European projects to exploit synergies, avoid redundancy, exploit co-design opportunities, and exchange knowledge.
[su_spacer size=”15″ class=””]
[su_accordion class=””]
[su_spoiler title=”Alya” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]
Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.
[/su_spoiler] [su_spoiler title=”AVBP” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]Combustion instabilities and emission prediction. Explosion in confined spaces.[/su_spoiler] [su_spoiler title=”m-AIA” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””]The multi-physics code m-AIA (formerly called ZFS) is under active development since more than 15 years at the Institute of Aerodynamics (AIA) of RWTH Aachen University. It has been used successfully in various national and EU funded projects for the simulation of engineering flow and noise prediction problems. Individual solvers for multi-phase and turbulent, combusting flows, heat conduction and acoustic wave propagation can be fully coupled and run efficiently on HPC systems. The various methods include finite-volume solvers for, e.g., the Navier-Stokes equations, lattice Boltzmann methods and discontinuous Galerking schemes for the solution of acoustic perturbation equations. Boundary fitted, block structures meshes as well as hierarchical Cartesian meshes can be used. A fully conservative cut-cell method is used for the boundary formulation for immersed bodies, which are also allowed to move freely in the solution domain.[/su_spoiler] [/su_accordion]
- (The European Center of Excellence in Exascale Computing) To harness the huge computational power of the first generation of exascale machines, new software strategies need to be devised and this requires a significant, joint effort of domain scientists and computational experts. To this aim, the European Commission funds targeted Centers of Excellence, each to empower a specific scientific community and TREX has been awarded Center of Excellence for the community of quantum chemistry. TREX federates European scientists, High Performance Computing stakeholders, and SMEs to develop and apply high-performance software solutions for quantum mechanical simulations at the exascale. [su_spacer size=”15″ class=””] [su_accordion class=””] [su_spoiler title=”QMCkl” open=”no” style=”fancy” icon=”chevron” anchor=”” anchor_in_url=”no” class=””](Quantum Monte Carlo Kernel Library) The domain of quantum chemistry needs a library in which the main kernels of Quantum Monte Carlo (QMC) methods are implemented. In the library are provided a standard API and tests to enable the development of high-performance QMCkl implementations taking advantage of modern hardware.[/su_spoiler] [/su_accordion]