Open Data
Wetting hydrodynamics on horizontal surfaces
Training Fourier neural operator (FNO) models to predict droplet dynamics
Wetting hydrodynamics studies the behavior of liquids in contact with solid surfaces, a type of flow that is relevant to a range of scientific and technological applications (e.g., microfabrication, coating, water harvesting and biomedicine, to name a few). In a recent paper of our research team (https://doi.org/10.1017/dce.2023.19), we present and assess datadriven approaches for modelling contact line dynamics using droplet transport on chemically heterogeneous surfaces as a model system, a work performed under Task 3.5 of CoE RAISE. This webpage provides access to the datasets used to train and test the AI models presented in the aforementioned paper, along with the codes used for the training and testing procedures, and the trained AI models.
In summary, the location of the contact line (the line that separates the solid, liquid and gas phases, shown in red in Fig. 1) is tracked in time and is used to train Fourier neural operator (FNO) models [1] following two different approaches:
Figure 1: Droplet in contact with a chemically heterogeneous substrate. Darker shaded regions on the substrate are more hydrophobic than lighter shaded ones. The red line denotes the contact line, which deforms in the presence of heterogeneities.

Approach A: The solution at each timestep is obtained in a fully datadriven manner by iteratively evaluating the trained network. More specifically, the heterogeneity profile at the substrate and the first 10 profiles of the contact line position are used as input, expecting the output of the model to yield the contact line position at the subsequent timestep. This prediction is then used along with the solutions at the 9 previous timeinstances and the heterogeneity profile to feed the datadriven model once again. This autoregressive process is repeated until we obtain the solution at the final timestep.

Approach B: The datadriven model is trained to improve the accuracy of an analytically derived reducedorder model for the contact line velocity. Using some analytical insight, the effects of the substrate heterogeneities can be contained, to a very good approximation, in the reducedorder model. This leaves the datadriven model to effectively depend on the contact line shape alone, which is a key feature that can help us obtain an overall model that can be reliably used for unseen surfaces. Once the datadriven model is trained, we evolve the AIaugmented model using time integration schemes that are typically used for the numerical solution of ordinary differential equations.
Description of files and download
Codes:
Extracting the approachA.tar.gz and approachB.tar.gz files, we get the following folders:

approachA/3.1.1/: referring to section 3.1.1 in the paper.

approachA/3.1.2/: referring to section 3.1.2 in the paper.

approachB/: referring to section 3.2 in the paper.
Each of these folders contains a train.py file that can be run to train AI models using the corresponding data found in the data.tar.gz file, without any changes to the code. The folders also contain trained models, which can be used via the corresponding test_fig*.py scripts to simulate the cases and plot the figures shown in the paper.
Dataset:
Once extracting the data.tar.gz file, the following files appear inside the data/ folder:

training/

eq9het.npy: Parameters used in equation (9) in the paper, to create random heterogeneity profiles. The shape of the data in this file is (1000,6), referring to 1000 different heterogeneity profiles, each described by 6 randomly generated parameters.

eq9.npy: Dataset created using the heterogeneity profiles from eq9het.npy. The shape of the data in this file is (1000,2,100,128), referring to 1000 samples of 100 timesteps for the 128 uniformly distributed azimuthal points on the contact line, each defined by its (x,y) coordinate pair.

eq10het.npy: Parameters used in equation (10) in the paper, to create random heterogeneity profiles. The shape of the data in this file is (2000,7), referring to 2000 different heterogeneity profiles, each expressed by 7 randomly generated parameters.

eq10.npy: Dataset created using the heterogeneity profiles from eq10het.npy. The shape of the data in this file is (2000,9,100,128), referring to 2000 samples of 100 timesteps for the 128 uniformly distributed azimuthal points on the contact line. For each contact line point we saved 9 quantities:

xcoordinate,

ycoordinate,

local contact angle (i.e., local heterogeneity value),

time derivative of the xcoordinate of the droplet centroid as predicted by the reducedorder model,

time derivative of the ycoordinate of the droplet centroid as predicted by the reducedorder model,

time derivative of the local droplet radius as predicted by the reducedorder model,

ground truth for the time derivative of the xcoordinate of the droplet centroid,

ground truth for the time derivative of the ycoordinate of the droplet centroid,

ground truth for the time derivative of the local droplet radius.



testing/ :

Relevant to Fig. 3 in the paper:

stripesxhet.npy: Parameters used in equation (9) in the paper, to create the heterogeneity profile shown in Fig. 3(a). The data description is similar to training/eq9het.npy.

stripesx.npy: Testing sample created using the heterogeneity profile from stripesxhet.npy. The data description is similar to training/eq10.npy.

stripesmildhet.npy: Parameters used in equation (9) in the paper, to create the heterogeneity profile shown in Fig. 3(b). The data description is similar to training/eq9het.npy.

stripesmild.npy: Testing sample created using the heterogeneity profile from stripesmildhet.npy. The data description is similar to training/eq10.npy.

stripeshet.npy: Parameters used in equation (9) in the paper, to create the heterogeneity profile shown in Fig. 3(c). The data description is similar to training/eq9het.npy.

stripes.npy: Testing sample created using the heterogeneity profile from stripeshet.npy. The data description is similar to training/eq10.npy.


Relevant to Fig. 4 in the paper:

rotated_stripeshet.npy: Data representing the heterogeneity profile shown in Fig. 4(a). The shape of the data in this file is (1,3,250,250), referring to 1 substrate with a 250 x 250 grid. Each grid point is characterized by an (x,y) coordinate pair and the local contact angle.

rotated_stripes.npy: Testing sample created using the heterogeneity profile from stripeshet.npy. The data description is similar to training/eq10.npy.

randomhet.npy: Data representing the heterogeneity profile shown in Fig. 4(b). The data description is similar to rotated_stripeshet.npy.

random.npy: Testing sample created using the heterogeneity profile from randomhet.npy. The data description is similar to training/eq10.npy.

gradhet.npy: Data representing the heterogeneity profile shown in Fig. 4(c). The data description is similar to rotated_stripeshet.npy.

grad.npy: Testing sample created using the heterogeneity profile from gradhet.npy. The data description is similar to training/eq10.npy.


Relevant to Figs. 6 and 8 in the paper:

eq10_specifichet.npy: Parameters used in equation (10) in the paper, to create the six specific heterogeneity profiles shown in Fig. 6 for approach A and Fig. 8 for approach B. The data description is similar to training/eq10het.npy.

eq10_specific.npy: Testing samples created using the heterogeneity profiles from eq10_specifichet.npy. The data description is similar to training/eq10.npy.


References
[1] Li, Z., Kovachki, N., Azizzadenesheli, K., Liu, B., Bhattacharya, K., Stuart, A., & Anandkumar, A. (2020). Fourier neural operator for parametric partial differential equations. arXiv preprint arXiv:2010.08895.