Scientific computing

Implementation of new theory and software, high-performance computing, training for scientific software development.

Scientific computing

The group members have experience in programming and numerical methods, that they apply in the implementation of the scientific software. A tool that is essential for the application of new theoretical approaches to the study of realistic systems.

As an example, the Octopus code was born in our group, and some group members collaborate actively in the development of other scientific packages as Abinit, Yambo, Dp and Exc.

The development is done in collaboration with high-perfomance computing facilities, in particular with the Barcelona Supercomputing Center.

Software development

  • Implementation of van der Waals density functionals in Abinit for the accounting of long-range correlations.
  • Adaptation of the build system of Abinit for hybrid CPU+GPU and OpenMP+MPI calculations, in order to efficiently access modern supercomputers.
  • Collaboration on the Atomic Simulation Environment, a programmable toolkit for electronic structure calculations which aims to increase portability between electronic structure codes.
Octopus mesh

High-Performance Computing (HPC)

  • Installation, maintenance, and upgrading, of a dedicated cluster for the group.
  • Benchmarks and optimization of Octopus for massively parallel environments.
  • Quantum Monte Carlo

    For a review see Quantum Monte Carlo Simulation of solids or>Quantum Monte Carlo.

    Code: TurboRVB is a very efficient Quantum Monte Carlo Package for Electronic Structure Calculations, based on a geminal wave-function (AGP) and a highly accurate Jastrow factor containing both spin and density correlations.

Training activities

  • Organization of developer schools (2008, 2010).
  • Hands-on tutorials for the group members and their collaborators:
    • Basic security, remote connections, and environment variables.
    • Environment variables, shell redirections, efficient data backup, proxies.
    • Quick visualization of 1D and 2D data.
    • Parallel programming (in preparation).
  • Individual and personalized training in scientific software development of visiting students and post-docs.
  • Per-project upgrades of the source code quality and standards compliance.


Coordinator: Angel Rubio

Related Projects