top of page

Open Data

Wetting hydrodynamics on inclined surfaces

AI models predicting droplet motion on inclined heterogeneous surfaces

In a recent study (, we present a novel approach for modelling the movement of droplets on inclined surfaces under the influence of gravity and chemical heterogeneities. The developed numerical methodology uses data-driven modeling to extend the applicability limits of an analytically derived reduced-order model for the contact line velocity. More specifically, while the reduced-order model is able to capture the effects of the chemical heterogeneities to a satisfactory degree, it does not account for gravity.

To alleviate this shortcoming, datasets generated from direct numerical simulations are used to train a data-driven model for the contact line velocity, which is based on the Fourier neural operator, and corrects the reduced-order model predictions to match the reference solutions. This hybrid surrogate model, which comprises both analytical and data-driven components, is then integrated in time to simulate the droplet movement, offering a speedup of five orders of magnitude compared to direct numerical simulations.


Visualization of a typical simulation setup, with an initially hemispherical droplet moving on a chemically heterogeneous inclined surface. The red line denotes the contact line, while darker shaded regions on the surface are more hydrophobic than lighter shaded ones.

Description of files and download

Here we provide access to the datasets and scripts used to train the hybrid surrogate model and to compare the results of the trained model against reference data in different test cases. In this link you can download a .zip file containing the following folders:

  1. training/
    By running “” you will start training a model adopting the same parameters as in the paper. The model is saved in folder “model/” and a figure showing the training/testing errors as a function of the epochs is saved in folder “figures/”. The trained model that was developed and used in the paper can be found in “model/trained/”

  2. testing/
    By running “” you will start simulating the test cases that are shown in figures 6 – 8 in the paper, using the trained model that can be found in the training folder. The produced figures are saved in folder “plots/”

  3. data/
    This folder contains all the data needed to train the model and to reproduce the test cases.

    Data for training: The file “cfd_dataset.npy” contains the training data in the form of a numpy array of shape (89860, 7, 128). The first dimension corresponds to the number of contact line snapshots that are available. The second dimension is the number of variables that are stored for every snapshot. The third dimension is the spatial dimension, i.e. each contact line is discretized with 128 points uniformly distributed in the azimuthal direction. The stored variables are: 1) the x-position, 2) y-position, 3) the apparent contact angle, 4) the local contact angle, 5) the contact line velocity as predicted by the analytically derived reduced-order model, 6) the reference contact line velocity from the DNS, and 7) the gravity component that is parallel to the inclined surface and drives the droplet motion. The file “cfd_dataset.npy” is loaded by “training/” to start training the model.

    Data for test cases: The data for each test case is stored in folders that are named after the corresponding figure in the paper, i.e. folder “fig6a/” contains the data to reproduce the test case shown in figure 6a in the paper. Within each folder, the user can find several contact line snapshots (e.g. “cl_t_10.000.npy”) containing the x- and y-coordinates of each contact line point. There is also the “” file that contains 11 values. The first one is always zero and is never used. The next 6 correspond to the heterogeneity parameters that appear in equation (9) in the paper. The 8th and 9th are the Bond number and inclination angle respectively. The 10th and 11th are the x- and y-coordinates of the centroid of the wetted area. These files are loaded by “testing/” to provide the reference data for comparison with the results of the model.

bottom of page