A few years ago^{1}, Sebastian contacted me to
help with simulations. Great, I like simulation studies, so we start discussing the
details. The idea: use an established method, the Lees-Edwards boundary condition, to study
colloids under shear.

### A paper on the Lees-Edwards method

A few years ago

^{1}, Sebastian contacted me to help with simulations. Great, I like simulation studies, so we start discussing the details. The idea: use an established method, the Lees-Edwards boundary condition, to study colloids under shear.### Is your software ready for the Journal of Open Source Software?

For the unaware reader, the Journal of Open Source Software (JOSS) is an open-access scientific journal founded in 2016 and aimed at publishing scientific software. A JOSS article in itself is short and its publication contributes to recognize the work on the software. I share here my point of view on what makes some software tools more

*ready*to be published in JOSS. I do not comment on the size or the relevance for research which are both documented on JOSS' website.### What's in a model

During the coronavirus epidemic, the belgian federal group of scientific experts came up regularly in the official communication of the government. How can scientists understand the spread of an epidemic? By using a model: a mathematical description of a phenomenon. By varying the parameters of the model, one can test …

### GNU Parallel for simulations

Although I knew about GNU Parallel since a long time, I had never given it a try. I used it recently to launch parametric runs and found it very convenient for single-core simulations. I describe here how I use parallel within a single bash program to control LAMMPS simulations on a HPC node.

### Tidynamics, what use?

In 2018 I published small Python library, tidynamics. The scope was deliberately limited: compute the typical correlation functions for stochastic and molecular dynamics: the autocorrelation and the mean-square displacement. Two years later, I wonder about its usage.

### Fortran bitmasks

Bitmasks are useful to store boolean settings. In Fortran, their use remains somewhat confidential in the sense that it is not easy to find examples of use. I have started to use them and show in this blog article a typical scenario for bitmasks.

### Testing a NumPy-based code on Travis with plain pip and wheels

### Fortran, CMake and git

There is an interesting peak of activity around Fortran: a new website for the Fortran standards committee, a GitHub organisation around Fortran FOSS, Fortran libraries for convenience functionality (command-line arguments parsing, strings, JSON file handling, I probably miss others). Still, it is troublesome to find practical information on how to use modern tools of software developments with Fortran. I focus only on open-source tools.

### Testing the compact Hilbert index

In 2015, I worked to implement the so-called "compact" Hilbert index. You can read about it here. After some feedback on the code, I decided that I wanted to investigate "how good" the compact Hilbert actually is. In this post, I compare my code to Chris Hamilton's original code (using a program by Peter Colberg) and verify the basic promise of the compact Hilbert index (keep the ordering of the full Hilbert index).

### Developing a Cython library

For some time, I have used Cython to accelerate parts of Python programs. One stumbling block in going from Python/NumPy code to Cython code is the fact that one cannot access NumPy's random number generator from Cython without explicit declaration. Here, I give the steps to make a pip-installable 'cimportable' module, using the threefry random number generator as an example.

### A concise derivation of the Wiener-Khinchin theorem

While teaching a class on statistical physics, I found myself unhappy with textbook derivations of the Wiener-Khinchin theorem. I worked my way to a very short derivation that is free of integral bounds manipulations and of holes, or so I believe.

In either the books by Balakrishnan (

*Elements of Nonequilibrium Statistical Mechanics*, Ane Books, 2008), Risken (*The Fokker-Planck Equation*, 2nd edition, Springer-Verlag, 1989), Coffey-Kalmykov-Waldron (*The Langevin Equation*, 2nd edition, World Scientific, 2004) or MathWorld, I could not find a short derivation that would cleanly take into account the averaging procedure or that would not resort to splittings of the domain of integration. I present here one derivation and a numerical illustration with Python.### Reviewing for ReScience, a blog post

From its homepage:

ReScience lives on GitHub where each new implementation of a computational study is made available together with comments, explanations and tests. Each submission takes the form of a pull request that is publicly reviewed and tested in order to guarantee that any researcher can re-use it.

So, let's say you are a reviewer: What does this all mean? We have a page with the editorial process but for a first review experience with us it might lack detail on how to proceed. I present here a step by step guide.

### Correlators for molecular and stochastic dynamics

**License:**CC-BYTime correlations represent one of the most important data that one can obtain from doing molecular and stochastic dynamics. The two common methods to obtain them is via either post-processing or on-line analysis. Here I review several algorithms to compute correlation from numerical data: naive, Fourier transform and blocking scheme with illustrations from Langevin dynamics, using Python.

### ActivePapers: hello, world

**License:**CC-BYActivePapers is a technology developed by Konrad Hinsen to store code, data and documentation with several benefits: storage in a single HDF5 file, internal

*provenance*tracking (what code created what data/figure, with a*Make*-like conditional execution) and a containerized execution environment.Implementations for the JVM and for Python are provided by the author. In this article, I go over the first steps of creating an ActivePaper. Being a regular user of Python, I cover only this language.

### Code as a paper

Publishing scientific software is a nontrivial problem. I present here, and ask feedback, on the idea to upload the software to arXiv with a presentation paper and use it as an evolving reference.

### The threefry random number generator

Pseudo-random number generation has many applications in computing. The use of random number in parallel is becoming necessary and a recent solution is the use of so-called block cipher algorithms. In this post, I review the mechanism being the Threefry random number generator that is based on the the Threefish block cipher.

### Compiling a Fortran library for Python

The ability to call Fortran code from Python has been and still is essential to several scientific packages, including the widely used SciPy library. One widely used tool to make the Fortran code accessible to Python is the f2py library that is bundled with NumPy.

Here, I review how one can write portable and easy to compile Fortran routines.

### Mesoscopic simulations of nanomotors with OpenCL

The simulation of nanomotors is an integral part of my research. For this blog article, I have chosen to present nano-dimer, a simulation software written by my friend Peter Colberg. nano-dimer generates on the fly OpenCL code to perform Molecular Dynamics with a hybrid algorithm called MPCD to study chemically powered dimer nanomotors.

### Understanding the Hilbert curve

The Hilbert curve fills space with good properties for sorting N-dimensional data in a linear fashion. I present an IPython notebook with the complete code to follow the algorithm of C. Hamilton CS-2006-07.

### Set up gpg keys offline

Setting up properly a gpg key requires a lot of reading. This article documents fully how I set up my gpg keys while never exposing the master secret key on a online computer.

### Reproducible Lennard-Jones simulations

In an attempt to apply the idea of

*Reproducible Research*to my work, I devised a Makefile-based project to reproduce data published by the NIST on a simple Lennard-Jones system.### Using H5MD in lammps

### Using PMI and h5py

Writing data in a parallel environment is not an easy task. Using available Python packages, I present a solution to write a HDF5 in parallel with the use of the Parallel Method Invocation.

### Publishing conference proceedings on arXiv

EuroSciPy published for the first time conference proceedings, following the model of the US-based SciPy conference for the organization. Nelle Varoquaux and me had the pleasure of being the editors.

### Hello world!

Hi, I launch a blog!

This post is for test purpose but also for a general presentation. I will share here comments on computing mostly related to: physics, Linux, molecular simulations, Python, etc.