Steric correction

Johannes Hörmann, 2020

Impose steric radii on a sample point distribution by minizing pseudo-potential. Pseudo-ptential follows formalism described in

L. Martinez, R. Andrade, E. G. Birgin, and J. M. Martínez, “PACKMOL: A package for building initial configurations for molecular dynamics simulations,” J. Comput. Chem., vol. 30, no. 13, pp. 2157–2164, 2009, doi: 10/chm6f7.

Step 1: Solve for continuous concentration distributions

See other sample case notebboks for details

Step 2: Sample from distribution

Step 3: Enforce steric radii

Initial state of system:

L-BFGS-B fastest.

Step 4: Visualize results

Step 5: Write to file

We utilize ASE to export it to some standard format, i.e. LAMMPS data file. ASE speaks Ångström per default, thus we convert SI units:

Displacement visualization between non-steric and steric sample with Ovito:

Steric correction on 200 NaCl

Other performance tests

Comparing target function implementations

Scipy-based target function fastest.

Comparing closest pair implementations

See https://www.researchgate.net/publication/266617010_NumPy_SciPy_Recipes_for_Data_Science_Squared_Euclidean_Distance_Matrices

Scipy-based implementation fastest.