Pair distribution functions#

Basic usage#

In the following example, we will show how to calculate the two-dimensional planar pair distribution functions.

In the following, we will give an example of a trajectory of water confined by graphene sheets simulated via GROMACS. We assume that the GROMACS topology is given by graphene_water.tpr and the trajectory is given by graphene_water.xtc. Both can be downloaded under topology and trajectory, respectively.

From these files you can create a MDAnalysis universe object.

We begin by importing the necessary modules.

import matplotlib.pyplot as plt
import MDAnalysis as mda
import numpy as np

import maicos

Next, we proceed with the creation of a MDAnalysis universe object, from which we further select the water molecules using the resname selector.

u = mda.Universe("./graphene_water.tpr", "graphene_water.xtc")

This universe object can then be passed to maicos.modules.pdfplanar.PDFPlanar analysis object. It expects you to pass the atom groups you want to perform the analysis for. In our example, we have graphene walls and SPC/E water confined between them, where we are interested in the dielectric behavior of the fluid. Thus, we will first select the water as an MDAnalysis atom group using MDAnalysis.core.groups.AtomGroup.select_atoms(). In this case we select the water by filtering for the residue named SOL.

water = u.select_atoms("resname SOL")

ana_obj = maicos.PDFPlanar(
    water,
    water,
    dzheight=0.25,
    dim=2,
    pdf_bin_width=0.2,
    refgroup=water,
    zmin=-5.0,
    zmax=0,
)

Next, we can run the analysis over the trajectory. To this end we call the member function run. We may set the verbose keyword to True to get additional information such a a progress bar.

Here you also have the chance to set start and stop keywords to specify which frames the analysis should start at and where to end. One can also specify a step keyword to only analyze every step frames.

ana_obj.run(verbose=True, step=1)
  0%|          | 0/2001 [00:00<?, ?it/s]
  0%|          | 3/2001 [00:00<01:10, 28.26it/s]
  0%|          | 6/2001 [00:00<01:10, 28.37it/s]
  0%|          | 9/2001 [00:00<01:10, 28.33it/s]
  1%|          | 12/2001 [00:00<01:10, 28.29it/s]
  1%|          | 15/2001 [00:00<01:10, 28.10it/s]
  1%|          | 18/2001 [00:00<01:10, 28.09it/s]
  1%|          | 21/2001 [00:00<01:10, 28.11it/s]
  1%|          | 24/2001 [00:00<01:10, 28.05it/s]
  1%|▏         | 27/2001 [00:00<01:10, 28.03it/s]
  1%|▏         | 30/2001 [00:01<01:10, 28.01it/s]
  2%|▏         | 33/2001 [00:01<01:09, 28.12it/s]
  2%|▏         | 36/2001 [00:01<01:10, 28.06it/s]
  2%|▏         | 39/2001 [00:01<01:09, 28.08it/s]
  2%|▏         | 42/2001 [00:01<01:09, 28.07it/s]
  2%|▏         | 45/2001 [00:01<01:10, 27.82it/s]
  2%|▏         | 48/2001 [00:01<01:09, 27.95it/s]
  3%|▎         | 51/2001 [00:01<01:09, 27.98it/s]
  3%|▎         | 54/2001 [00:01<01:09, 27.94it/s]
  3%|▎         | 57/2001 [00:02<01:09, 27.95it/s]
  3%|▎         | 60/2001 [00:02<01:09, 28.05it/s]
  3%|▎         | 63/2001 [00:02<01:09, 28.02it/s]
  3%|▎         | 66/2001 [00:02<01:08, 28.06it/s]
  3%|▎         | 69/2001 [00:02<01:08, 28.02it/s]
  4%|▎         | 72/2001 [00:02<01:08, 28.05it/s]
  4%|▎         | 75/2001 [00:02<01:08, 28.00it/s]
  4%|▍         | 78/2001 [00:02<01:08, 27.96it/s]
  4%|▍         | 81/2001 [00:02<01:08, 27.95it/s]
  4%|▍         | 84/2001 [00:02<01:08, 27.92it/s]
  4%|▍         | 87/2001 [00:03<01:08, 27.95it/s]
  4%|▍         | 90/2001 [00:03<01:08, 27.95it/s]
  5%|▍         | 93/2001 [00:03<01:08, 27.97it/s]
  5%|▍         | 96/2001 [00:03<01:08, 27.97it/s]
  5%|▍         | 99/2001 [00:03<01:07, 28.03it/s]
  5%|▌         | 102/2001 [00:03<01:07, 28.10it/s]
  5%|▌         | 105/2001 [00:03<01:07, 28.14it/s]
  5%|▌         | 108/2001 [00:03<01:07, 28.02it/s]
  6%|▌         | 111/2001 [00:03<01:07, 28.06it/s]
  6%|▌         | 114/2001 [00:04<01:07, 28.00it/s]
  6%|▌         | 117/2001 [00:04<01:07, 28.05it/s]
  6%|▌         | 120/2001 [00:04<01:07, 28.07it/s]
  6%|▌         | 123/2001 [00:04<01:06, 28.04it/s]
  6%|▋         | 126/2001 [00:04<01:06, 27.99it/s]
  6%|▋         | 129/2001 [00:04<01:06, 27.96it/s]
  7%|▋         | 132/2001 [00:04<01:06, 28.06it/s]
  7%|▋         | 135/2001 [00:04<01:06, 28.08it/s]
  7%|▋         | 138/2001 [00:04<01:06, 28.05it/s]
  7%|▋         | 141/2001 [00:05<01:06, 28.04it/s]
  7%|▋         | 144/2001 [00:05<01:06, 28.08it/s]
  7%|▋         | 147/2001 [00:05<01:06, 28.06it/s]
  7%|▋         | 150/2001 [00:05<01:05, 28.08it/s]
  8%|▊         | 153/2001 [00:05<01:05, 28.05it/s]
  8%|▊         | 156/2001 [00:05<01:05, 28.08it/s]
  8%|▊         | 159/2001 [00:05<01:05, 28.08it/s]
  8%|▊         | 162/2001 [00:05<01:05, 28.14it/s]
  8%|▊         | 165/2001 [00:05<01:05, 28.18it/s]
  8%|▊         | 168/2001 [00:05<01:04, 28.28it/s]
  9%|▊         | 171/2001 [00:06<01:04, 28.17it/s]
  9%|▊         | 174/2001 [00:06<01:04, 28.19it/s]
  9%|▉         | 177/2001 [00:06<01:04, 28.15it/s]
  9%|▉         | 180/2001 [00:06<01:04, 28.16it/s]
  9%|▉         | 183/2001 [00:06<01:04, 28.03it/s]
  9%|▉         | 186/2001 [00:06<01:04, 28.13it/s]
  9%|▉         | 189/2001 [00:06<01:04, 28.12it/s]
 10%|▉         | 192/2001 [00:06<01:04, 28.05it/s]
 10%|▉         | 195/2001 [00:06<01:04, 27.96it/s]
 10%|▉         | 198/2001 [00:07<01:04, 27.98it/s]
 10%|█         | 201/2001 [00:07<01:04, 28.04it/s]
 10%|█         | 204/2001 [00:07<01:03, 28.11it/s]
 10%|█         | 207/2001 [00:07<01:03, 28.13it/s]
 10%|█         | 210/2001 [00:07<01:03, 28.11it/s]
 11%|█         | 213/2001 [00:07<01:03, 28.02it/s]
 11%|█         | 216/2001 [00:07<01:03, 27.92it/s]
 11%|█         | 219/2001 [00:07<01:03, 27.96it/s]
 11%|█         | 222/2001 [00:07<01:03, 28.02it/s]
 11%|█         | 225/2001 [00:08<01:03, 28.11it/s]
 11%|█▏        | 228/2001 [00:08<01:02, 28.19it/s]
 12%|█▏        | 231/2001 [00:08<01:02, 28.15it/s]
 12%|█▏        | 234/2001 [00:08<01:02, 28.17it/s]
 12%|█▏        | 237/2001 [00:08<01:02, 28.07it/s]
 12%|█▏        | 240/2001 [00:08<01:02, 28.07it/s]
 12%|█▏        | 243/2001 [00:08<01:02, 28.05it/s]
 12%|█▏        | 246/2001 [00:08<01:02, 28.06it/s]
 12%|█▏        | 249/2001 [00:08<01:02, 27.98it/s]
 13%|█▎        | 252/2001 [00:08<01:02, 27.89it/s]
 13%|█▎        | 255/2001 [00:09<01:02, 28.02it/s]
 13%|█▎        | 258/2001 [00:09<01:02, 28.07it/s]
 13%|█▎        | 261/2001 [00:09<01:01, 28.10it/s]
 13%|█▎        | 264/2001 [00:09<01:01, 28.10it/s]
 13%|█▎        | 267/2001 [00:09<01:01, 28.10it/s]
 13%|█▎        | 270/2001 [00:09<01:01, 28.18it/s]
 14%|█▎        | 273/2001 [00:09<01:01, 28.07it/s]
 14%|█▍        | 276/2001 [00:09<01:01, 28.12it/s]
 14%|█▍        | 279/2001 [00:09<01:01, 28.19it/s]
 14%|█▍        | 282/2001 [00:10<01:01, 28.13it/s]
 14%|█▍        | 285/2001 [00:10<01:00, 28.14it/s]
 14%|█▍        | 288/2001 [00:10<01:01, 28.07it/s]
 15%|█▍        | 291/2001 [00:10<01:01, 27.97it/s]
 15%|█▍        | 294/2001 [00:10<01:01, 27.96it/s]
 15%|█▍        | 297/2001 [00:10<01:00, 28.05it/s]
 15%|█▍        | 300/2001 [00:10<01:00, 27.99it/s]
 15%|█▌        | 303/2001 [00:10<01:00, 27.94it/s]
 15%|█▌        | 306/2001 [00:10<01:00, 27.94it/s]
 15%|█▌        | 309/2001 [00:11<01:00, 27.90it/s]
 16%|█▌        | 312/2001 [00:11<01:00, 27.92it/s]
 16%|█▌        | 315/2001 [00:11<01:00, 28.01it/s]
 16%|█▌        | 318/2001 [00:11<00:59, 28.09it/s]
 16%|█▌        | 321/2001 [00:11<00:59, 28.17it/s]
 16%|█▌        | 324/2001 [00:11<00:59, 28.27it/s]
 16%|█▋        | 327/2001 [00:11<00:59, 28.27it/s]
 16%|█▋        | 330/2001 [00:11<00:59, 28.31it/s]
 17%|█▋        | 333/2001 [00:11<00:58, 28.32it/s]
 17%|█▋        | 336/2001 [00:11<00:58, 28.30it/s]
 17%|█▋        | 339/2001 [00:12<00:58, 28.28it/s]
 17%|█▋        | 342/2001 [00:12<00:58, 28.32it/s]
 17%|█▋        | 345/2001 [00:12<00:58, 28.31it/s]
 17%|█▋        | 348/2001 [00:12<00:58, 28.22it/s]
 18%|█▊        | 351/2001 [00:12<00:58, 28.16it/s]
 18%|█▊        | 354/2001 [00:12<00:58, 28.11it/s]
 18%|█▊        | 357/2001 [00:12<00:58, 28.13it/s]
 18%|█▊        | 360/2001 [00:12<00:58, 28.09it/s]
 18%|█▊        | 363/2001 [00:12<00:58, 28.07it/s]
 18%|█▊        | 366/2001 [00:13<00:58, 28.03it/s]
 18%|█▊        | 369/2001 [00:13<00:58, 28.05it/s]
 19%|█▊        | 372/2001 [00:13<00:57, 28.17it/s]
 19%|█▊        | 375/2001 [00:13<00:57, 28.13it/s]
 19%|█▉        | 378/2001 [00:13<00:57, 28.17it/s]
 19%|█▉        | 381/2001 [00:13<00:57, 28.20it/s]
 19%|█▉        | 384/2001 [00:13<00:57, 28.12it/s]
 19%|█▉        | 387/2001 [00:13<00:57, 28.18it/s]
 19%|█▉        | 390/2001 [00:13<00:56, 28.28it/s]
 20%|█▉        | 393/2001 [00:13<00:56, 28.35it/s]
 20%|█▉        | 396/2001 [00:14<00:56, 28.29it/s]
 20%|█▉        | 399/2001 [00:14<00:56, 28.28it/s]
 20%|██        | 402/2001 [00:14<00:56, 28.31it/s]
 20%|██        | 405/2001 [00:14<00:56, 28.25it/s]
 20%|██        | 408/2001 [00:14<00:56, 28.18it/s]
 21%|██        | 411/2001 [00:14<00:56, 28.19it/s]
 21%|██        | 414/2001 [00:14<00:56, 28.20it/s]
 21%|██        | 417/2001 [00:14<00:56, 28.23it/s]
 21%|██        | 420/2001 [00:14<00:56, 28.07it/s]
 21%|██        | 423/2001 [00:15<00:56, 28.00it/s]
 21%|██▏       | 426/2001 [00:15<00:56, 28.04it/s]
 21%|██▏       | 429/2001 [00:15<00:56, 28.03it/s]
 22%|██▏       | 432/2001 [00:15<00:55, 28.06it/s]
 22%|██▏       | 435/2001 [00:15<00:55, 28.10it/s]
 22%|██▏       | 438/2001 [00:15<00:55, 28.07it/s]
 22%|██▏       | 441/2001 [00:15<00:55, 28.10it/s]
 22%|██▏       | 444/2001 [00:15<00:55, 28.17it/s]
 22%|██▏       | 447/2001 [00:15<00:57, 27.14it/s]
 22%|██▏       | 450/2001 [00:16<00:57, 26.96it/s]
 23%|██▎       | 453/2001 [00:16<00:56, 27.36it/s]
 23%|██▎       | 456/2001 [00:16<00:55, 27.61it/s]
 23%|██▎       | 459/2001 [00:16<00:55, 27.83it/s]
 23%|██▎       | 462/2001 [00:16<00:55, 27.96it/s]
 23%|██▎       | 465/2001 [00:16<00:54, 28.05it/s]
 23%|██▎       | 468/2001 [00:16<00:54, 28.07it/s]
 24%|██▎       | 471/2001 [00:16<00:54, 28.05it/s]
 24%|██▎       | 474/2001 [00:16<00:54, 27.99it/s]
 24%|██▍       | 477/2001 [00:17<00:54, 27.79it/s]
 24%|██▍       | 480/2001 [00:17<00:55, 27.61it/s]
 24%|██▍       | 483/2001 [00:17<00:54, 27.82it/s]
 24%|██▍       | 486/2001 [00:17<00:54, 27.98it/s]
 24%|██▍       | 489/2001 [00:17<00:54, 27.91it/s]
 25%|██▍       | 492/2001 [00:17<00:53, 27.96it/s]
 25%|██▍       | 495/2001 [00:17<00:53, 28.08it/s]
 25%|██▍       | 498/2001 [00:17<00:53, 28.24it/s]
 25%|██▌       | 501/2001 [00:17<00:53, 28.15it/s]
 25%|██▌       | 504/2001 [00:17<00:53, 28.18it/s]
 25%|██▌       | 507/2001 [00:18<00:52, 28.22it/s]
 25%|██▌       | 510/2001 [00:18<00:52, 28.27it/s]
 26%|██▌       | 513/2001 [00:18<00:52, 28.25it/s]
 26%|██▌       | 516/2001 [00:18<00:52, 28.28it/s]
 26%|██▌       | 519/2001 [00:18<00:52, 28.17it/s]
 26%|██▌       | 522/2001 [00:18<00:52, 28.16it/s]
 26%|██▌       | 525/2001 [00:18<00:52, 28.10it/s]
 26%|██▋       | 528/2001 [00:18<00:52, 28.00it/s]
 27%|██▋       | 531/2001 [00:18<00:52, 28.02it/s]
 27%|██▋       | 534/2001 [00:19<00:52, 28.01it/s]
 27%|██▋       | 537/2001 [00:19<00:52, 28.03it/s]
 27%|██▋       | 540/2001 [00:19<00:51, 28.13it/s]
 27%|██▋       | 543/2001 [00:19<00:51, 28.18it/s]
 27%|██▋       | 546/2001 [00:19<00:51, 28.17it/s]
 27%|██▋       | 549/2001 [00:19<00:51, 28.19it/s]
 28%|██▊       | 552/2001 [00:19<00:51, 28.20it/s]
 28%|██▊       | 555/2001 [00:19<00:51, 28.15it/s]
 28%|██▊       | 558/2001 [00:19<00:51, 28.15it/s]
 28%|██▊       | 561/2001 [00:19<00:51, 28.16it/s]
 28%|██▊       | 564/2001 [00:20<00:50, 28.19it/s]
 28%|██▊       | 567/2001 [00:20<00:50, 28.22it/s]
 28%|██▊       | 570/2001 [00:20<00:50, 28.30it/s]
 29%|██▊       | 573/2001 [00:20<00:50, 28.21it/s]
 29%|██▉       | 576/2001 [00:20<00:50, 28.13it/s]
 29%|██▉       | 579/2001 [00:20<00:50, 28.10it/s]
 29%|██▉       | 582/2001 [00:20<00:50, 28.14it/s]
 29%|██▉       | 585/2001 [00:20<00:50, 28.02it/s]
 29%|██▉       | 588/2001 [00:20<00:50, 27.93it/s]
 30%|██▉       | 591/2001 [00:21<00:50, 27.88it/s]
 30%|██▉       | 594/2001 [00:21<00:50, 28.05it/s]
 30%|██▉       | 597/2001 [00:21<00:51, 27.13it/s]
 30%|██▉       | 600/2001 [00:21<00:52, 26.61it/s]
 30%|███       | 603/2001 [00:21<00:53, 26.22it/s]
 30%|███       | 606/2001 [00:21<00:53, 25.92it/s]
 30%|███       | 609/2001 [00:21<00:52, 26.51it/s]
 31%|███       | 612/2001 [00:21<00:51, 26.93it/s]
 31%|███       | 615/2001 [00:21<00:50, 27.29it/s]
 31%|███       | 618/2001 [00:22<00:50, 27.49it/s]
 31%|███       | 621/2001 [00:22<00:49, 27.72it/s]
 31%|███       | 624/2001 [00:22<00:49, 27.86it/s]
 31%|███▏      | 627/2001 [00:22<00:49, 27.96it/s]
 31%|███▏      | 630/2001 [00:22<00:49, 27.94it/s]
 32%|███▏      | 633/2001 [00:22<00:48, 27.97it/s]
 32%|███▏      | 636/2001 [00:22<00:48, 27.95it/s]
 32%|███▏      | 639/2001 [00:22<00:48, 27.94it/s]
 32%|███▏      | 642/2001 [00:22<00:48, 27.99it/s]
 32%|███▏      | 645/2001 [00:23<00:48, 27.99it/s]
 32%|███▏      | 648/2001 [00:23<00:48, 28.06it/s]
 33%|███▎      | 651/2001 [00:23<00:48, 28.11it/s]
 33%|███▎      | 654/2001 [00:23<00:47, 28.17it/s]
 33%|███▎      | 657/2001 [00:23<00:47, 28.22it/s]
 33%|███▎      | 660/2001 [00:23<00:47, 28.19it/s]
 33%|███▎      | 663/2001 [00:23<00:47, 28.22it/s]
 33%|███▎      | 666/2001 [00:23<00:47, 28.20it/s]
 33%|███▎      | 669/2001 [00:23<00:47, 28.22it/s]
 34%|███▎      | 672/2001 [00:23<00:48, 27.51it/s]
 34%|███▎      | 675/2001 [00:24<00:47, 27.68it/s]
 34%|███▍      | 678/2001 [00:24<00:47, 27.83it/s]
 34%|███▍      | 681/2001 [00:24<00:47, 27.87it/s]
 34%|███▍      | 684/2001 [00:24<00:47, 27.92it/s]
 34%|███▍      | 687/2001 [00:24<00:46, 28.04it/s]
 34%|███▍      | 690/2001 [00:24<00:46, 28.14it/s]
 35%|███▍      | 693/2001 [00:24<00:46, 28.13it/s]
 35%|███▍      | 696/2001 [00:24<00:46, 28.08it/s]
 35%|███▍      | 699/2001 [00:24<00:46, 28.04it/s]
 35%|███▌      | 702/2001 [00:25<00:46, 27.94it/s]
 35%|███▌      | 705/2001 [00:25<00:46, 28.04it/s]
 35%|███▌      | 708/2001 [00:25<00:46, 28.03it/s]
 36%|███▌      | 711/2001 [00:25<00:45, 28.11it/s]
 36%|███▌      | 714/2001 [00:25<00:45, 28.11it/s]
 36%|███▌      | 717/2001 [00:25<00:45, 28.11it/s]
 36%|███▌      | 720/2001 [00:25<00:45, 28.07it/s]
 36%|███▌      | 723/2001 [00:25<00:45, 28.01it/s]
 36%|███▋      | 726/2001 [00:25<00:45, 28.09it/s]
 36%|███▋      | 729/2001 [00:26<00:45, 28.13it/s]
 37%|███▋      | 732/2001 [00:26<00:45, 28.03it/s]
 37%|███▋      | 735/2001 [00:26<00:45, 28.10it/s]
 37%|███▋      | 738/2001 [00:26<00:45, 28.06it/s]
 37%|███▋      | 741/2001 [00:26<00:44, 28.17it/s]
 37%|███▋      | 744/2001 [00:26<00:44, 28.06it/s]
 37%|███▋      | 747/2001 [00:26<00:45, 27.63it/s]
 37%|███▋      | 750/2001 [00:26<00:45, 27.76it/s]
 38%|███▊      | 753/2001 [00:26<00:45, 27.18it/s]
 38%|███▊      | 756/2001 [00:27<00:46, 26.55it/s]
 38%|███▊      | 759/2001 [00:27<00:46, 26.53it/s]
 38%|███▊      | 762/2001 [00:27<00:46, 26.93it/s]
 38%|███▊      | 765/2001 [00:27<00:45, 27.29it/s]
 38%|███▊      | 768/2001 [00:27<00:44, 27.56it/s]
 39%|███▊      | 771/2001 [00:27<00:44, 27.81it/s]
 39%|███▊      | 774/2001 [00:27<00:44, 27.82it/s]
 39%|███▉      | 777/2001 [00:27<00:43, 27.83it/s]
 39%|███▉      | 780/2001 [00:27<00:43, 27.94it/s]
 39%|███▉      | 783/2001 [00:27<00:43, 28.14it/s]
 39%|███▉      | 786/2001 [00:28<00:43, 28.14it/s]
 39%|███▉      | 789/2001 [00:28<00:42, 28.25it/s]
 40%|███▉      | 792/2001 [00:28<00:42, 28.30it/s]
 40%|███▉      | 795/2001 [00:28<00:42, 28.27it/s]
 40%|███▉      | 798/2001 [00:28<00:42, 28.22it/s]
 40%|████      | 801/2001 [00:28<00:42, 28.10it/s]
 40%|████      | 804/2001 [00:28<00:42, 28.15it/s]
 40%|████      | 807/2001 [00:28<00:42, 28.14it/s]
 40%|████      | 810/2001 [00:28<00:42, 28.09it/s]
 41%|████      | 813/2001 [00:29<00:42, 28.09it/s]
 41%|████      | 816/2001 [00:29<00:42, 28.17it/s]
 41%|████      | 819/2001 [00:29<00:41, 28.18it/s]
 41%|████      | 822/2001 [00:29<00:41, 28.26it/s]
 41%|████      | 825/2001 [00:29<00:41, 28.30it/s]
 41%|████▏     | 828/2001 [00:29<00:41, 28.21it/s]
 42%|████▏     | 831/2001 [00:29<00:41, 28.15it/s]
 42%|████▏     | 834/2001 [00:29<00:41, 28.15it/s]
 42%|████▏     | 837/2001 [00:29<00:41, 28.20it/s]
 42%|████▏     | 840/2001 [00:29<00:41, 28.28it/s]
 42%|████▏     | 843/2001 [00:30<00:41, 28.22it/s]
 42%|████▏     | 846/2001 [00:30<00:40, 28.18it/s]
 42%|████▏     | 849/2001 [00:30<00:40, 28.14it/s]
 43%|████▎     | 852/2001 [00:30<00:40, 28.03it/s]
 43%|████▎     | 855/2001 [00:30<00:40, 28.06it/s]
 43%|████▎     | 858/2001 [00:30<00:40, 28.10it/s]
 43%|████▎     | 861/2001 [00:30<00:40, 28.10it/s]
 43%|████▎     | 864/2001 [00:30<00:40, 28.05it/s]
 43%|████▎     | 867/2001 [00:30<00:40, 27.98it/s]
 43%|████▎     | 870/2001 [00:31<00:40, 27.90it/s]
 44%|████▎     | 873/2001 [00:31<00:40, 28.02it/s]
 44%|████▍     | 876/2001 [00:31<00:40, 28.03it/s]
 44%|████▍     | 879/2001 [00:31<00:39, 28.13it/s]
 44%|████▍     | 882/2001 [00:31<00:39, 28.20it/s]
 44%|████▍     | 885/2001 [00:31<00:39, 28.30it/s]
 44%|████▍     | 888/2001 [00:31<00:39, 28.29it/s]
 45%|████▍     | 891/2001 [00:31<00:39, 28.32it/s]
 45%|████▍     | 894/2001 [00:31<00:39, 28.28it/s]
 45%|████▍     | 897/2001 [00:32<00:38, 28.37it/s]
 45%|████▍     | 900/2001 [00:32<00:38, 28.36it/s]
 45%|████▌     | 903/2001 [00:32<00:38, 28.26it/s]
 45%|████▌     | 906/2001 [00:32<00:38, 28.19it/s]
 45%|████▌     | 909/2001 [00:32<00:38, 28.15it/s]
 46%|████▌     | 912/2001 [00:32<00:38, 28.20it/s]
 46%|████▌     | 915/2001 [00:32<00:38, 28.21it/s]
 46%|████▌     | 918/2001 [00:32<00:38, 28.24it/s]
 46%|████▌     | 921/2001 [00:32<00:38, 28.20it/s]
 46%|████▌     | 924/2001 [00:32<00:38, 28.08it/s]
 46%|████▋     | 927/2001 [00:33<00:38, 28.00it/s]
 46%|████▋     | 930/2001 [00:33<00:38, 28.01it/s]
 47%|████▋     | 933/2001 [00:33<00:38, 28.00it/s]
 47%|████▋     | 936/2001 [00:33<00:38, 28.02it/s]
 47%|████▋     | 939/2001 [00:33<00:37, 28.06it/s]
 47%|████▋     | 942/2001 [00:33<00:37, 28.18it/s]
 47%|████▋     | 945/2001 [00:33<00:37, 28.20it/s]
 47%|████▋     | 948/2001 [00:33<00:37, 28.26it/s]
 48%|████▊     | 951/2001 [00:33<00:37, 28.22it/s]
 48%|████▊     | 954/2001 [00:34<00:37, 28.17it/s]
 48%|████▊     | 957/2001 [00:34<00:37, 28.16it/s]
 48%|████▊     | 960/2001 [00:34<00:37, 28.09it/s]
 48%|████▊     | 963/2001 [00:34<00:36, 28.14it/s]
 48%|████▊     | 966/2001 [00:34<00:36, 28.09it/s]
 48%|████▊     | 969/2001 [00:34<00:36, 28.12it/s]
 49%|████▊     | 972/2001 [00:34<00:36, 28.16it/s]
 49%|████▊     | 975/2001 [00:34<00:36, 28.12it/s]
 49%|████▉     | 978/2001 [00:34<00:36, 28.11it/s]
 49%|████▉     | 981/2001 [00:35<00:36, 28.03it/s]
 49%|████▉     | 984/2001 [00:35<00:36, 27.99it/s]
 49%|████▉     | 987/2001 [00:35<00:36, 28.04it/s]
 49%|████▉     | 990/2001 [00:35<00:35, 28.11it/s]
 50%|████▉     | 993/2001 [00:35<00:35, 28.18it/s]
 50%|████▉     | 996/2001 [00:35<00:35, 28.20it/s]
 50%|████▉     | 999/2001 [00:35<00:35, 28.28it/s]
 50%|█████     | 1002/2001 [00:35<00:35, 28.21it/s]
 50%|█████     | 1005/2001 [00:35<00:35, 28.10it/s]
 50%|█████     | 1008/2001 [00:35<00:35, 28.05it/s]
 51%|█████     | 1011/2001 [00:36<00:35, 28.05it/s]
 51%|█████     | 1014/2001 [00:36<00:35, 28.14it/s]
 51%|█████     | 1017/2001 [00:36<00:35, 28.03it/s]
 51%|█████     | 1020/2001 [00:36<00:34, 28.12it/s]
 51%|█████     | 1023/2001 [00:36<00:34, 27.99it/s]
 51%|█████▏    | 1026/2001 [00:36<00:34, 28.01it/s]
 51%|█████▏    | 1029/2001 [00:36<00:34, 27.98it/s]
 52%|█████▏    | 1032/2001 [00:36<00:34, 27.97it/s]
 52%|█████▏    | 1035/2001 [00:36<00:34, 27.95it/s]
 52%|█████▏    | 1038/2001 [00:37<00:34, 27.99it/s]
 52%|█████▏    | 1041/2001 [00:37<00:34, 28.05it/s]
 52%|█████▏    | 1044/2001 [00:37<00:33, 28.23it/s]
 52%|█████▏    | 1047/2001 [00:37<00:33, 28.27it/s]
 52%|█████▏    | 1050/2001 [00:37<00:33, 28.25it/s]
 53%|█████▎    | 1053/2001 [00:37<00:33, 28.19it/s]
 53%|█████▎    | 1056/2001 [00:37<00:33, 28.17it/s]
 53%|█████▎    | 1059/2001 [00:37<00:33, 28.25it/s]
 53%|█████▎    | 1062/2001 [00:37<00:33, 28.27it/s]
 53%|█████▎    | 1065/2001 [00:37<00:33, 28.28it/s]
 53%|█████▎    | 1068/2001 [00:38<00:32, 28.39it/s]
 54%|█████▎    | 1071/2001 [00:38<00:32, 28.44it/s]
 54%|█████▎    | 1074/2001 [00:38<00:32, 28.47it/s]
 54%|█████▍    | 1077/2001 [00:38<00:32, 28.41it/s]
 54%|█████▍    | 1080/2001 [00:38<00:32, 28.23it/s]
 54%|█████▍    | 1083/2001 [00:38<00:32, 28.22it/s]
 54%|█████▍    | 1086/2001 [00:38<00:32, 28.11it/s]
 54%|█████▍    | 1089/2001 [00:38<00:32, 28.04it/s]
 55%|█████▍    | 1092/2001 [00:38<00:32, 28.03it/s]
 55%|█████▍    | 1095/2001 [00:39<00:32, 27.97it/s]
 55%|█████▍    | 1098/2001 [00:39<00:32, 28.00it/s]
 55%|█████▌    | 1101/2001 [00:39<00:32, 28.06it/s]
 55%|█████▌    | 1104/2001 [00:39<00:31, 28.18it/s]
 55%|█████▌    | 1107/2001 [00:39<00:31, 28.24it/s]
 55%|█████▌    | 1110/2001 [00:39<00:31, 28.17it/s]
 56%|█████▌    | 1113/2001 [00:39<00:31, 28.07it/s]
 56%|█████▌    | 1116/2001 [00:39<00:31, 28.25it/s]
 56%|█████▌    | 1119/2001 [00:39<00:31, 28.26it/s]
 56%|█████▌    | 1122/2001 [00:40<00:31, 28.31it/s]
 56%|█████▌    | 1125/2001 [00:40<00:30, 28.27it/s]
 56%|█████▋    | 1128/2001 [00:40<00:31, 28.12it/s]
 57%|█████▋    | 1131/2001 [00:40<00:30, 28.12it/s]
 57%|█████▋    | 1134/2001 [00:40<00:30, 28.14it/s]
 57%|█████▋    | 1137/2001 [00:40<00:30, 28.05it/s]
 57%|█████▋    | 1140/2001 [00:40<00:30, 28.10it/s]
 57%|█████▋    | 1143/2001 [00:40<00:30, 28.11it/s]
 57%|█████▋    | 1146/2001 [00:40<00:30, 28.07it/s]
 57%|█████▋    | 1149/2001 [00:40<00:30, 28.01it/s]
 58%|█████▊    | 1152/2001 [00:41<00:30, 27.95it/s]
 58%|█████▊    | 1155/2001 [00:41<00:30, 28.01it/s]
 58%|█████▊    | 1158/2001 [00:41<00:29, 28.14it/s]
 58%|█████▊    | 1161/2001 [00:41<00:29, 28.19it/s]
 58%|█████▊    | 1164/2001 [00:41<00:29, 28.15it/s]
 58%|█████▊    | 1167/2001 [00:41<00:29, 28.11it/s]
 58%|█████▊    | 1170/2001 [00:41<00:29, 28.11it/s]
 59%|█████▊    | 1173/2001 [00:41<00:29, 28.20it/s]
 59%|█████▉    | 1176/2001 [00:41<00:29, 28.16it/s]
 59%|█████▉    | 1179/2001 [00:42<00:29, 28.17it/s]
 59%|█████▉    | 1182/2001 [00:42<00:29, 28.11it/s]
 59%|█████▉    | 1185/2001 [00:42<00:29, 28.10it/s]
 59%|█████▉    | 1188/2001 [00:42<00:28, 28.12it/s]
 60%|█████▉    | 1191/2001 [00:42<00:29, 27.76it/s]
 60%|█████▉    | 1194/2001 [00:42<00:28, 27.86it/s]
 60%|█████▉    | 1197/2001 [00:42<00:28, 27.91it/s]
 60%|█████▉    | 1200/2001 [00:42<00:28, 27.89it/s]
 60%|██████    | 1203/2001 [00:42<00:28, 27.82it/s]
 60%|██████    | 1206/2001 [00:43<00:28, 27.76it/s]
 60%|██████    | 1209/2001 [00:43<00:28, 27.86it/s]
 61%|██████    | 1212/2001 [00:43<00:28, 28.01it/s]
 61%|██████    | 1215/2001 [00:43<00:27, 28.08it/s]
 61%|██████    | 1218/2001 [00:43<00:27, 28.18it/s]
 61%|██████    | 1221/2001 [00:43<00:27, 28.29it/s]
 61%|██████    | 1224/2001 [00:43<00:27, 28.30it/s]
 61%|██████▏   | 1227/2001 [00:43<00:27, 28.22it/s]
 61%|██████▏   | 1230/2001 [00:43<00:27, 28.20it/s]
 62%|██████▏   | 1233/2001 [00:43<00:27, 28.19it/s]
 62%|██████▏   | 1236/2001 [00:44<00:27, 28.24it/s]
 62%|██████▏   | 1239/2001 [00:44<00:26, 28.30it/s]
 62%|██████▏   | 1242/2001 [00:44<00:26, 28.41it/s]
 62%|██████▏   | 1245/2001 [00:44<00:26, 28.32it/s]
 62%|██████▏   | 1248/2001 [00:44<00:26, 28.19it/s]
 63%|██████▎   | 1251/2001 [00:44<00:26, 28.22it/s]
 63%|██████▎   | 1254/2001 [00:44<00:26, 28.22it/s]
 63%|██████▎   | 1257/2001 [00:44<00:26, 28.20it/s]
 63%|██████▎   | 1260/2001 [00:44<00:26, 28.18it/s]
 63%|██████▎   | 1263/2001 [00:45<00:26, 27.96it/s]
 63%|██████▎   | 1266/2001 [00:45<00:26, 27.90it/s]
 63%|██████▎   | 1269/2001 [00:45<00:26, 28.03it/s]
 64%|██████▎   | 1272/2001 [00:45<00:25, 28.14it/s]
 64%|██████▎   | 1275/2001 [00:45<00:25, 28.18it/s]
 64%|██████▍   | 1278/2001 [00:45<00:25, 28.18it/s]
 64%|██████▍   | 1281/2001 [00:45<00:25, 28.17it/s]
 64%|██████▍   | 1284/2001 [00:45<00:25, 28.20it/s]
 64%|██████▍   | 1287/2001 [00:45<00:25, 28.26it/s]
 64%|██████▍   | 1290/2001 [00:45<00:25, 28.22it/s]
 65%|██████▍   | 1293/2001 [00:46<00:25, 28.16it/s]
 65%|██████▍   | 1296/2001 [00:46<00:25, 28.19it/s]
 65%|██████▍   | 1299/2001 [00:46<00:24, 28.18it/s]
 65%|██████▌   | 1302/2001 [00:46<00:24, 28.09it/s]
 65%|██████▌   | 1305/2001 [00:46<00:24, 27.94it/s]
 65%|██████▌   | 1308/2001 [00:46<00:24, 27.98it/s]
 66%|██████▌   | 1311/2001 [00:46<00:24, 28.03it/s]
 66%|██████▌   | 1314/2001 [00:46<00:24, 28.00it/s]
 66%|██████▌   | 1317/2001 [00:46<00:24, 27.97it/s]
 66%|██████▌   | 1320/2001 [00:47<00:24, 27.71it/s]
 66%|██████▌   | 1323/2001 [00:47<00:24, 27.74it/s]
 66%|██████▋   | 1326/2001 [00:47<00:24, 27.93it/s]
 66%|██████▋   | 1329/2001 [00:47<00:23, 28.00it/s]
 67%|██████▋   | 1332/2001 [00:47<00:23, 28.04it/s]
 67%|██████▋   | 1335/2001 [00:47<00:23, 27.98it/s]
 67%|██████▋   | 1338/2001 [00:47<00:23, 28.06it/s]
 67%|██████▋   | 1341/2001 [00:47<00:23, 28.12it/s]
 67%|██████▋   | 1344/2001 [00:47<00:23, 28.20it/s]
 67%|██████▋   | 1347/2001 [00:48<00:23, 28.18it/s]
 67%|██████▋   | 1350/2001 [00:48<00:23, 28.14it/s]
 68%|██████▊   | 1353/2001 [00:48<00:23, 28.10it/s]
 68%|██████▊   | 1356/2001 [00:48<00:22, 28.09it/s]
 68%|██████▊   | 1359/2001 [00:48<00:22, 28.02it/s]
 68%|██████▊   | 1362/2001 [00:48<00:22, 28.02it/s]
 68%|██████▊   | 1365/2001 [00:48<00:22, 28.03it/s]
 68%|██████▊   | 1368/2001 [00:48<00:22, 28.11it/s]
 69%|██████▊   | 1371/2001 [00:48<00:22, 28.11it/s]
 69%|██████▊   | 1374/2001 [00:48<00:22, 28.05it/s]
 69%|██████▉   | 1377/2001 [00:49<00:22, 28.02it/s]
 69%|██████▉   | 1380/2001 [00:49<00:22, 28.00it/s]
 69%|██████▉   | 1383/2001 [00:49<00:22, 28.05it/s]
 69%|██████▉   | 1386/2001 [00:49<00:21, 28.14it/s]
 69%|██████▉   | 1389/2001 [00:49<00:21, 28.23it/s]
 70%|██████▉   | 1392/2001 [00:49<00:21, 28.30it/s]
 70%|██████▉   | 1395/2001 [00:49<00:21, 28.17it/s]
 70%|██████▉   | 1398/2001 [00:49<00:21, 28.16it/s]
 70%|███████   | 1401/2001 [00:49<00:21, 28.06it/s]
 70%|███████   | 1404/2001 [00:50<00:21, 28.09it/s]
 70%|███████   | 1407/2001 [00:50<00:21, 28.04it/s]
 70%|███████   | 1410/2001 [00:50<00:21, 28.14it/s]
 71%|███████   | 1413/2001 [00:50<00:20, 28.24it/s]
 71%|███████   | 1416/2001 [00:50<00:20, 28.29it/s]
 71%|███████   | 1419/2001 [00:50<00:20, 28.21it/s]
 71%|███████   | 1422/2001 [00:50<00:20, 28.10it/s]
 71%|███████   | 1425/2001 [00:50<00:20, 28.11it/s]
 71%|███████▏  | 1428/2001 [00:50<00:20, 28.00it/s]
 72%|███████▏  | 1431/2001 [00:51<00:20, 28.04it/s]
 72%|███████▏  | 1434/2001 [00:51<00:20, 28.02it/s]
 72%|███████▏  | 1437/2001 [00:51<00:20, 28.08it/s]
 72%|███████▏  | 1440/2001 [00:51<00:19, 28.19it/s]
 72%|███████▏  | 1443/2001 [00:51<00:19, 28.19it/s]
 72%|███████▏  | 1446/2001 [00:51<00:19, 28.09it/s]
 72%|███████▏  | 1449/2001 [00:51<00:19, 28.06it/s]
 73%|███████▎  | 1452/2001 [00:51<00:19, 28.04it/s]
 73%|███████▎  | 1455/2001 [00:51<00:19, 27.95it/s]
 73%|███████▎  | 1458/2001 [00:51<00:19, 28.07it/s]
 73%|███████▎  | 1461/2001 [00:52<00:19, 28.17it/s]
 73%|███████▎  | 1464/2001 [00:52<00:19, 28.12it/s]
 73%|███████▎  | 1467/2001 [00:52<00:18, 28.11it/s]
 73%|███████▎  | 1470/2001 [00:52<00:18, 28.08it/s]
 74%|███████▎  | 1473/2001 [00:52<00:18, 28.02it/s]
 74%|███████▍  | 1476/2001 [00:52<00:18, 28.01it/s]
 74%|███████▍  | 1479/2001 [00:52<00:18, 28.00it/s]
 74%|███████▍  | 1482/2001 [00:52<00:18, 27.93it/s]
 74%|███████▍  | 1485/2001 [00:52<00:18, 27.93it/s]
 74%|███████▍  | 1488/2001 [00:53<00:18, 27.90it/s]
 75%|███████▍  | 1491/2001 [00:53<00:18, 27.99it/s]
 75%|███████▍  | 1494/2001 [00:53<00:18, 28.08it/s]
 75%|███████▍  | 1497/2001 [00:53<00:17, 28.09it/s]
 75%|███████▍  | 1500/2001 [00:53<00:17, 28.18it/s]
 75%|███████▌  | 1503/2001 [00:53<00:17, 28.07it/s]
 75%|███████▌  | 1506/2001 [00:53<00:17, 28.15it/s]
 75%|███████▌  | 1509/2001 [00:53<00:17, 28.22it/s]
 76%|███████▌  | 1512/2001 [00:53<00:17, 28.27it/s]
 76%|███████▌  | 1515/2001 [00:54<00:17, 28.26it/s]
 76%|███████▌  | 1518/2001 [00:54<00:17, 28.28it/s]
 76%|███████▌  | 1521/2001 [00:54<00:16, 28.34it/s]
 76%|███████▌  | 1524/2001 [00:54<00:16, 28.33it/s]
 76%|███████▋  | 1527/2001 [00:54<00:16, 28.27it/s]
 76%|███████▋  | 1530/2001 [00:54<00:16, 28.21it/s]
 77%|███████▋  | 1533/2001 [00:54<00:16, 28.23it/s]
 77%|███████▋  | 1536/2001 [00:54<00:16, 28.18it/s]
 77%|███████▋  | 1539/2001 [00:54<00:16, 28.19it/s]
 77%|███████▋  | 1542/2001 [00:54<00:16, 28.13it/s]
 77%|███████▋  | 1545/2001 [00:55<00:16, 28.13it/s]
 77%|███████▋  | 1548/2001 [00:55<00:16, 28.15it/s]
 78%|███████▊  | 1551/2001 [00:55<00:15, 28.21it/s]
 78%|███████▊  | 1554/2001 [00:55<00:15, 28.31it/s]
 78%|███████▊  | 1557/2001 [00:55<00:15, 28.35it/s]
 78%|███████▊  | 1560/2001 [00:55<00:15, 28.31it/s]
 78%|███████▊  | 1563/2001 [00:55<00:15, 28.43it/s]
 78%|███████▊  | 1566/2001 [00:55<00:15, 28.39it/s]
 78%|███████▊  | 1569/2001 [00:55<00:15, 28.38it/s]
 79%|███████▊  | 1572/2001 [00:56<00:15, 28.29it/s]
 79%|███████▊  | 1575/2001 [00:56<00:15, 28.17it/s]
 79%|███████▉  | 1578/2001 [00:56<00:14, 28.20it/s]
 79%|███████▉  | 1581/2001 [00:56<00:14, 28.24it/s]
 79%|███████▉  | 1584/2001 [00:56<00:14, 28.29it/s]
 79%|███████▉  | 1587/2001 [00:56<00:14, 28.03it/s]
 79%|███████▉  | 1590/2001 [00:56<00:14, 28.14it/s]
 80%|███████▉  | 1593/2001 [00:56<00:14, 27.95it/s]
 80%|███████▉  | 1596/2001 [00:56<00:14, 27.97it/s]
 80%|███████▉  | 1599/2001 [00:56<00:14, 27.95it/s]
 80%|████████  | 1602/2001 [00:57<00:14, 27.85it/s]
 80%|████████  | 1605/2001 [00:57<00:14, 27.88it/s]
 80%|████████  | 1608/2001 [00:57<00:14, 28.05it/s]
 81%|████████  | 1611/2001 [00:57<00:13, 28.09it/s]
 81%|████████  | 1614/2001 [00:57<00:13, 28.10it/s]
 81%|████████  | 1617/2001 [00:57<00:13, 28.09it/s]
 81%|████████  | 1620/2001 [00:57<00:13, 28.13it/s]
 81%|████████  | 1623/2001 [00:57<00:13, 28.05it/s]
 81%|████████▏ | 1626/2001 [00:57<00:13, 28.05it/s]
 81%|████████▏ | 1629/2001 [00:58<00:13, 27.96it/s]
 82%|████████▏ | 1632/2001 [00:58<00:13, 28.01it/s]
 82%|████████▏ | 1635/2001 [00:58<00:13, 28.05it/s]
 82%|████████▏ | 1638/2001 [00:58<00:12, 28.01it/s]
 82%|████████▏ | 1641/2001 [00:58<00:12, 27.99it/s]
 82%|████████▏ | 1644/2001 [00:58<00:12, 28.01it/s]
 82%|████████▏ | 1647/2001 [00:58<00:12, 28.07it/s]
 82%|████████▏ | 1650/2001 [00:58<00:12, 28.06it/s]
 83%|████████▎ | 1653/2001 [00:58<00:12, 28.04it/s]
 83%|████████▎ | 1656/2001 [00:59<00:12, 28.03it/s]
 83%|████████▎ | 1659/2001 [00:59<00:12, 28.06it/s]
 83%|████████▎ | 1662/2001 [00:59<00:12, 28.16it/s]
 83%|████████▎ | 1665/2001 [00:59<00:11, 28.25it/s]
 83%|████████▎ | 1668/2001 [00:59<00:11, 28.29it/s]
 84%|████████▎ | 1671/2001 [00:59<00:11, 28.21it/s]
 84%|████████▎ | 1674/2001 [00:59<00:11, 28.17it/s]
 84%|████████▍ | 1677/2001 [00:59<00:11, 28.16it/s]
 84%|████████▍ | 1680/2001 [00:59<00:11, 28.08it/s]
 84%|████████▍ | 1683/2001 [00:59<00:11, 28.09it/s]
 84%|████████▍ | 1686/2001 [01:00<00:11, 28.18it/s]
 84%|████████▍ | 1689/2001 [01:00<00:11, 28.17it/s]
 85%|████████▍ | 1692/2001 [01:00<00:10, 28.17it/s]
 85%|████████▍ | 1695/2001 [01:00<00:10, 28.25it/s]
 85%|████████▍ | 1698/2001 [01:00<00:10, 28.20it/s]
 85%|████████▌ | 1701/2001 [01:00<00:10, 28.18it/s]
 85%|████████▌ | 1704/2001 [01:00<00:10, 28.04it/s]
 85%|████████▌ | 1707/2001 [01:00<00:10, 27.99it/s]
 85%|████████▌ | 1710/2001 [01:00<00:10, 27.98it/s]
 86%|████████▌ | 1713/2001 [01:01<00:10, 27.84it/s]
 86%|████████▌ | 1716/2001 [01:01<00:10, 27.76it/s]
 86%|████████▌ | 1719/2001 [01:01<00:10, 27.92it/s]
 86%|████████▌ | 1722/2001 [01:01<00:09, 28.07it/s]
 86%|████████▌ | 1725/2001 [01:01<00:09, 28.12it/s]
 86%|████████▋ | 1728/2001 [01:01<00:09, 28.06it/s]
 87%|████████▋ | 1731/2001 [01:01<00:09, 28.01it/s]
 87%|████████▋ | 1734/2001 [01:01<00:09, 27.98it/s]
 87%|████████▋ | 1737/2001 [01:01<00:09, 28.02it/s]
 87%|████████▋ | 1740/2001 [01:02<00:09, 28.12it/s]
 87%|████████▋ | 1743/2001 [01:02<00:09, 28.12it/s]
 87%|████████▋ | 1746/2001 [01:02<00:09, 28.24it/s]
 87%|████████▋ | 1749/2001 [01:02<00:08, 28.23it/s]
 88%|████████▊ | 1752/2001 [01:02<00:08, 28.25it/s]
 88%|████████▊ | 1755/2001 [01:02<00:08, 28.26it/s]
 88%|████████▊ | 1758/2001 [01:02<00:08, 28.28it/s]
 88%|████████▊ | 1761/2001 [01:02<00:08, 28.16it/s]
 88%|████████▊ | 1764/2001 [01:02<00:08, 28.12it/s]
 88%|████████▊ | 1767/2001 [01:02<00:08, 28.10it/s]
 88%|████████▊ | 1770/2001 [01:03<00:08, 28.08it/s]
 89%|████████▊ | 1773/2001 [01:03<00:08, 27.92it/s]
 89%|████████▉ | 1776/2001 [01:03<00:08, 28.00it/s]
 89%|████████▉ | 1779/2001 [01:03<00:07, 28.11it/s]
 89%|████████▉ | 1782/2001 [01:03<00:07, 28.15it/s]
 89%|████████▉ | 1785/2001 [01:03<00:07, 28.20it/s]
 89%|████████▉ | 1788/2001 [01:03<00:07, 28.20it/s]
 90%|████████▉ | 1791/2001 [01:03<00:07, 28.30it/s]
 90%|████████▉ | 1794/2001 [01:03<00:07, 28.26it/s]
 90%|████████▉ | 1797/2001 [01:04<00:07, 28.30it/s]
 90%|████████▉ | 1800/2001 [01:04<00:07, 28.22it/s]
 90%|█████████ | 1803/2001 [01:04<00:07, 28.28it/s]
 90%|█████████ | 1806/2001 [01:04<00:06, 28.38it/s]
 90%|█████████ | 1809/2001 [01:04<00:06, 28.31it/s]
 91%|█████████ | 1812/2001 [01:04<00:06, 28.25it/s]
 91%|█████████ | 1815/2001 [01:04<00:06, 28.22it/s]
 91%|█████████ | 1818/2001 [01:04<00:06, 28.20it/s]
 91%|█████████ | 1821/2001 [01:04<00:06, 28.16it/s]
 91%|█████████ | 1824/2001 [01:04<00:06, 28.21it/s]
 91%|█████████▏| 1827/2001 [01:05<00:06, 28.14it/s]
 91%|█████████▏| 1830/2001 [01:05<00:06, 28.11it/s]
 92%|█████████▏| 1833/2001 [01:05<00:05, 28.19it/s]
 92%|█████████▏| 1836/2001 [01:05<00:05, 28.29it/s]
 92%|█████████▏| 1839/2001 [01:05<00:05, 28.46it/s]
 92%|█████████▏| 1842/2001 [01:05<00:05, 28.47it/s]
 92%|█████████▏| 1845/2001 [01:05<00:05, 28.38it/s]
 92%|█████████▏| 1848/2001 [01:05<00:05, 28.43it/s]
 93%|█████████▎| 1851/2001 [01:05<00:05, 28.29it/s]
 93%|█████████▎| 1854/2001 [01:06<00:05, 28.32it/s]
 93%|█████████▎| 1857/2001 [01:06<00:05, 28.22it/s]
 93%|█████████▎| 1860/2001 [01:06<00:04, 28.29it/s]
 93%|█████████▎| 1863/2001 [01:06<00:04, 28.26it/s]
 93%|█████████▎| 1866/2001 [01:06<00:04, 28.22it/s]
 93%|█████████▎| 1869/2001 [01:06<00:04, 28.20it/s]
 94%|█████████▎| 1872/2001 [01:06<00:04, 28.26it/s]
 94%|█████████▎| 1875/2001 [01:06<00:04, 28.15it/s]
 94%|█████████▍| 1878/2001 [01:06<00:04, 28.12it/s]
 94%|█████████▍| 1881/2001 [01:07<00:04, 28.12it/s]
 94%|█████████▍| 1884/2001 [01:07<00:04, 28.08it/s]
 94%|█████████▍| 1887/2001 [01:07<00:04, 28.06it/s]
 94%|█████████▍| 1890/2001 [01:07<00:03, 28.07it/s]
 95%|█████████▍| 1893/2001 [01:07<00:03, 28.20it/s]
 95%|█████████▍| 1896/2001 [01:07<00:03, 28.15it/s]
 95%|█████████▍| 1899/2001 [01:07<00:03, 28.11it/s]
 95%|█████████▌| 1902/2001 [01:07<00:03, 28.15it/s]
 95%|█████████▌| 1905/2001 [01:07<00:03, 28.17it/s]
 95%|█████████▌| 1908/2001 [01:07<00:03, 28.23it/s]
 96%|█████████▌| 1911/2001 [01:08<00:03, 28.26it/s]
 96%|█████████▌| 1914/2001 [01:08<00:03, 28.21it/s]
 96%|█████████▌| 1917/2001 [01:08<00:02, 28.24it/s]
 96%|█████████▌| 1920/2001 [01:08<00:02, 28.34it/s]
 96%|█████████▌| 1923/2001 [01:08<00:02, 28.32it/s]
 96%|█████████▋| 1926/2001 [01:08<00:02, 28.25it/s]
 96%|█████████▋| 1929/2001 [01:08<00:02, 28.24it/s]
 97%|█████████▋| 1932/2001 [01:08<00:02, 28.23it/s]
 97%|█████████▋| 1935/2001 [01:08<00:02, 28.07it/s]
 97%|█████████▋| 1938/2001 [01:09<00:02, 28.00it/s]
 97%|█████████▋| 1941/2001 [01:09<00:02, 27.87it/s]
 97%|█████████▋| 1944/2001 [01:09<00:02, 27.95it/s]
 97%|█████████▋| 1947/2001 [01:09<00:01, 28.01it/s]
 97%|█████████▋| 1950/2001 [01:09<00:01, 27.90it/s]
 98%|█████████▊| 1953/2001 [01:09<00:01, 27.97it/s]
 98%|█████████▊| 1956/2001 [01:09<00:01, 28.07it/s]
 98%|█████████▊| 1959/2001 [01:09<00:01, 28.06it/s]
 98%|█████████▊| 1962/2001 [01:09<00:01, 28.17it/s]
 98%|█████████▊| 1965/2001 [01:09<00:01, 28.12it/s]
 98%|█████████▊| 1968/2001 [01:10<00:01, 28.18it/s]
 99%|█████████▊| 1971/2001 [01:10<00:01, 28.17it/s]
 99%|█████████▊| 1974/2001 [01:10<00:00, 28.09it/s]
 99%|█████████▉| 1977/2001 [01:10<00:00, 28.13it/s]
 99%|█████████▉| 1980/2001 [01:10<00:00, 28.02it/s]
 99%|█████████▉| 1983/2001 [01:10<00:00, 28.13it/s]
 99%|█████████▉| 1986/2001 [01:10<00:00, 28.18it/s]
 99%|█████████▉| 1989/2001 [01:10<00:00, 28.07it/s]
100%|█████████▉| 1992/2001 [01:10<00:00, 28.03it/s]
100%|█████████▉| 1995/2001 [01:11<00:00, 28.04it/s]
100%|█████████▉| 1998/2001 [01:11<00:00, 27.91it/s]
100%|██████████| 2001/2001 [01:11<00:00, 28.04it/s]
100%|██████████| 2001/2001 [01:11<00:00, 28.08it/s]

<maicos.modules.pdfplanar.PDFPlanar object at 0x7fad7be05ca0>

We also calculate the density profile of the water molecules in order to compare the different slabs with the layering visible in the density.

dana_obj = maicos.DensityPlanar(
    water, dim=2, refgroup=water, bin_width=0.1, sym=True, zmin=-7, zmax=7
)

dana_obj.run(step=10)
Unwrapping in combination with the `wrap_compound='atoms` is superfluous. `unwrap` will be set to `False`.

<maicos.modules.densityplanar.DensityPlanar object at 0x7fad7be354c0>

The results of the analysis are stored in the results member variable. As per the documentation of PDFPlanar, we get three different arrays: bin_pos, bins, and pdf. Here, bin_pos is the position of the center of the slices in the z-direction, bins contains the bin positions of the pair distribution, which are shared by all slices and correspondingly pdf contains each profile that our code produced.

In the following, we loop over all the pdf slices and plot each of them. Furthermore, in a separate subplot, we also show the density profile of the water molecules and highlight the slices that each pdf is calculated for. Hence, the same color in both plots corresponds to the same slice for the pair distribution function and the density profile. %%

# u per cubic angstrom to kg per cubic meter factor
u2kg = 1660.5390665999998

fig, ax = plt.subplots(1, 2)
print(ax)

tax = ax[1].twinx()
shift = 0
shift_amount = 2
for i in range(0, len(ana_obj.results.pdf[0])):
    bin_pos = ana_obj.results.bin_pos[i]

    pdf_prof = ana_obj.results.pdf[:, i]
    mean_bulk = np.mean(pdf_prof[ana_obj.results.bins > 10])

    line = ax[0].plot(
        ana_obj.results.bins, ana_obj.results.pdf[:, i] / mean_bulk + shift
    )
    tax.vlines(
        7 + bin_pos, 0, 3500, alpha=0.7, color=line[0].get_color(), linestyles="dashed"
    )

    tax.axvspan(
        7 + bin_pos - 0.25 * 2,
        7 + bin_pos + 0.25 * 2,
        color=line[0].get_color(),
        alpha=0.3,
    )
    shift += shift_amount

ax[0].set_ylabel(r"$g(r)$")
ax[0].set_xlabel(r"$r$ [$\AA$]")
ax[0].set_xlim((0, 15))
ax[0].hlines(1, 0, 15, color="black", linestyles="dashed", alpha=0.5)

tax.plot(
    7 + dana_obj.results.bin_pos,
    dana_obj.results.profile * u2kg,
    color="black",
    label="Density",
)
tax.set_xlim((1, 7))

ax[1].set_yticks(tax.get_yticks())

ax[1].set_yticklabels([])

tax.set_ylabel(r"$\rho(z)$ [kg/m$^3$]")
ax[1].set_xlabel(r"$z$ [$\AA$]")

# Set the padding between the axis to zero
plt.tight_layout()

fig.subplots_adjust(wspace=0, hspace=0)
fig.dpi = 200
pair distribution functions
[<Axes: > <Axes: >]

Total running time of the script: (1 minutes 12.400 seconds)

Gallery generated by Sphinx-Gallery