Version 2023-05-02 - T.J.J.M. van Overveld

#---------------------#
# General information #
#---------------------#

Title:
  Pattern formation of spherical particles in an oscillating flow

Authors:
  T.J.J.M. van Overveld, H.J.H. Clercx, M. Duran-Matute

Corresponding author:
  M. Duran-Matute (m.duran.matute@tue.nl) 
  Fluids and Flows group and J.M. Burgers Center for Fluid Dynamics
  Department of Applied Physics, Eindhoven University of Technology
  P.O. Box 513, 5600 MB Eindhoven
  The Netherlands


#-------------#
# Experiments #
#-------------#

Experiment naming convention:
  Experiments are performed in 7 series, as indicated below
  
  Name |       Symbol           | Particle diameter [mm] | Number of particles N | User-defined frequency f [Hz] |
   A1  | Open upward triangle   |          10            |         275           |           2.0-5.6             |           
   A2  | Open downward triangle |          10            |         413           |           2.0-5.5             |      
   A3  | Open square            |          10            |         550           |           2.0-5.6             |      
   A4  | Open diamond           |          10            |         688           |           2.0-5.2             |     
   A5  | Open circle            |          10            |         825           |           2.0-5.1             |      
   B1  | Filled upward triangle |           5            |         1100          |           2.0-5.7             |      
   B2  | Filled square          |           5            |         2200          |           2.0-5.7             |      

Each series consists of multiple experiments, where the frequency is increased with steps of 0.1 Hz.
The corresponding user-defined amplitude of the box follows from A = (g*\Gamma)/(2*pi*f)^2 = (9.81*0.75)/(2*pi*f)^2

#----------------------------#
# Recommended file structure #
#----------------------------#

Data/
  A1-B2/      [Different experiment series]
    A00-XX/     [Different experiments in each series]:
      positions_box.npy              [Pixel positions of the box for each frame]
      positions_particles.npy        [Pixel positions of the particles for each frame]
      oscillation_box.txt            [Oscillation parameters of the box]
      oscillation_box_err.txt        [Associated uncertainty intervals]
      oscillation_particles.txt      [Oscillation parameters of the particles]
      oscillation_particles_err.txt  [Associated uncertainty intervals]
      gx.npy                         [Pair correlation function, x-direction]
      gy.npy                         [Pair correlation function, y-direction]
      XXXX.png                       [Snapshot from experiment, frame XXXX, not always present]      
  
    coefx.npy                        [Coefficients of the third-order polynomial Eq. (5) in manuscript, used for calibration]
    coefy.npy                        [Coefficients of the third-order polynomial Eq. (6) in manuscript, used for calibration]
    Ar_over_D.npy                    [Relative particle-fluid excursion length, normalized by particle diameter, for the associated experiment series]
    NN_avg.npy                       [Averaged number of nearest neighbours, for the associated experiment series]

  Figure2/     [Data for Figure 2]
    00XX.png   [Snapshot from experiment, frame XX]

  Simulations/  [Simulation data]
    Figure10/     [Data for Figure 10]
      a-c/          [Subplot]
        X.png         [Snapshot from Paraview]
        X.zip              [Time-averaged, x-averaged simulation data]
        streamlinesx.pvsm  [Paraview state, run with paraview streamlinesx.pvsm]
        viewfldx.xdmf      [Neccesary to read the simulation (.bin) files into Paraview]

    Figure11/     [Data for Figure 11, see Figure10/]
      Mean_norm_forces.npy  [Averaged forces in the streamwise direction]

    Figure12/     [Data for Figure 12]
      fymean_X.npy  [Forces corresponding to configuration X]
      PC_X.png      [Configuration image]

    Figure15/     [Data for Figure 15]
      a-c/          [Subplot]      
        pchar0001.out [Particle data, with 17 columns corresponding to Time Step | Time | X Y Z Position | X Y Z Velocity | X Y Z Angular Velocity | X Y Z Hydrodynamic Force | X Y Z Collision Force]     

    Figure16/     [Data for Figure 16]
      pcharXX.txt   [Particle data for XX, as specified in Jupyter Notebook]    
    
  Experiment Overview.xlsx  [Detailed overview of experimental data]

Figures/
  Figure_X.pdf  [Figure X from the manuscript]

Processing/
  Functions.ipynb      [Contains regularly used functions]
  BoxMotion.ipynb      [Input: positions_box.txt, Output: oscillation_box.txt]
  ParticleMotion.ipynb [Input: positions_particles.txt, Output: oscillation_particles.txt]
  RelativeMotion.ipynb [Input: oscillation_box.txt & oscillation_particles.txt, Output: Ar_over_D.npy]
  gx.ipynb             [Input: positions_particles, Output: gx.npy & gy.npy]
  Figure_X.ipynb       [Generate Figure X from the manuscript]
