From 1069c60ee52ecd3b8e76ffe6fec4519dfe070654 Mon Sep 17 00:00:00 2001 From: lbluque Date: Fri, 17 May 2024 18:44:28 +0000 Subject: [PATCH] deploy: 00de11afce097d5e82b026eecb9ca6a36cda78be --- .../train.txt | 224 + .../mass-inference.txt | 143 + ...c6a052f8635f048b5b7f495a17409cb544df72.png | Bin 0 -> 22544 bytes ...14ef1566bd2800215484dd031eacea9d34b8ed.png | Bin 0 -> 16263 bytes ...7f9bb54c1798d26a22825456aba891bc405e78.png | Bin 0 -> 34892 bytes ...03b020846de4ddeb72841a5ad724eac484b1f4.png | Bin 0 -> 30039 bytes ...6ebfda153643d4b11dc71a09f6161ce695c67c.png | Bin 0 -> 18100 bytes ...9d67f42a28c228c33b7b8a35c33f393440382a.png | Bin 0 -> 26933 bytes ...715b5dfcc194c1569698d06031d1f715ccc1e4.png | Bin 0 -> 875999 bytes ...b0dbec8644e6b8165949be66d93ad908a3a94c.png | Bin 0 -> 23953 bytes ...f8972195897bccb91b0077121a68d6755c44fd.png | Bin 0 -> 20351 bytes ...dfab282da4371e89979a0744574aaa167e16fc.png | Bin 0 -> 35005 bytes ...4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png | Bin 0 -> 22192 bytes ...541e648ebf742911fe25095bde7b712d7234d4.png | Bin 0 -> 84011 bytes ...aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png | Bin 0 -> 8897 bytes ...3f954270bca8b6e60d88b947cc42c8e7018929.png | Bin 0 -> 19799 bytes ...a659b784f34bf0b8ebdceb934bee7ddc222d55.png | Bin 0 -> 168529 bytes ...405a2fef563d024b57288137bc0adf4344b0b9.png | Bin 0 -> 29838 bytes ...a163b036b5855ad498bbc2af892fa1eecc1acc.png | Bin 0 -> 21535 bytes ...4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png | Bin 0 -> 171189 bytes ...2e5f1bf7353dec7684a664b9bf1567a66cb8f8.png | Bin 0 -> 26519 bytes ...5bad55c2a04c8af86172257c92af81de2ee1dd.png | Bin 0 -> 91787 bytes ...acc9b23a16cc43177fe0c7eeef63d0e285908f.png | Bin 0 -> 8820 bytes ...7d59f84f0614aee01a6b563e2eda73664e980d.png | Bin 0 -> 20803 bytes ...6034ec451475c82b447ad813ae1b9b24601637.png | Bin 0 -> 47647 bytes ...dec67497ae7ce7453e5cbe0c7f17a841c2dfa9.png | Bin 0 -> 175032 bytes ...89e7d9df9e4402115a54d313d45a4fdd215802.png | Bin 0 -> 14819 bytes ...aebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png | Bin 0 -> 101893 bytes ...84fc620bea274782085e3f1bb89ccfb4f910f0.png | Bin 0 -> 17423 bytes core/fine-tuning/fine-tuning-oxides.html | 367 +- core/gotchas.html | 692 ++- core/inference.html | 341 +- core/lmdb_dataset_creation.html | 130 +- core/ocpapi.html | 124 +- core/quickstart.html | 83 +- execution_time.html | 96 + legacy_tutorials/OCP_Tutorial.html | 5337 ++++++++++++++--- legacy_tutorials/data_preprocessing.html | 135 +- legacy_tutorials/data_visualization.html | 508 +- searchindex.js | 2 +- tutorials/NRR/NRR_example.html | 206 +- tutorials/OCP-introduction.html | 352 +- tutorials/adsorbml_walkthrough.html | 723 ++- tutorials/advanced/embeddings.html | 105 +- tutorials/advanced/fine-tuning-in-python.html | 400 +- tutorials/cattsunami_walkthrough.html | 20 +- tutorials/intro.html | 38 +- 47 files changed, 9055 insertions(+), 971 deletions(-) create mode 100644 _downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt create mode 100644 _downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt create mode 100644 _images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png create mode 100644 _images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png create mode 100644 _images/1886195143c6c8d57e07a010567f9bb54c1798d26a22825456aba891bc405e78.png create mode 100644 _images/306e207eace1dbdfee27c032ab03b020846de4ddeb72841a5ad724eac484b1f4.png create mode 100644 _images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png create mode 100644 _images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png create mode 100644 _images/4bace82b10c623914f65162c41715b5dfcc194c1569698d06031d1f715ccc1e4.png create mode 100644 _images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png create mode 100644 _images/603a3f197485612e5d2d7f77aef8972195897bccb91b0077121a68d6755c44fd.png create mode 100644 _images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png create mode 100644 _images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png create mode 100644 _images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png create mode 100644 _images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png create mode 100644 _images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png create mode 100644 _images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png create mode 100644 _images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png create mode 100644 _images/91fcdb74c7a32cfd906c08e7eda163b036b5855ad498bbc2af892fa1eecc1acc.png create mode 100644 _images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png create mode 100644 _images/97bae66afd16160f960e71dabd2e5f1bf7353dec7684a664b9bf1567a66cb8f8.png create mode 100644 _images/a805497531c4318bd9c1de44a25bad55c2a04c8af86172257c92af81de2ee1dd.png create mode 100644 _images/b9ebdf8f12d9cd2f8047e0ab51acc9b23a16cc43177fe0c7eeef63d0e285908f.png create mode 100644 _images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png create mode 100644 _images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png create mode 100644 _images/bf05617ed79cfad41d663e5de1dec67497ae7ce7453e5cbe0c7f17a841c2dfa9.png create mode 100644 _images/d85ad5d3c74affda9d2ebdcc0989e7d9df9e4402115a54d313d45a4fdd215802.png create mode 100644 _images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png create mode 100644 _images/e407f2aba16854949ec326b5ce84fc620bea274782085e3f1bb89ccfb4f910f0.png diff --git a/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt b/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt new file mode 100644 index 000000000..5c5ae5b55 --- /dev/null +++ b/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt @@ -0,0 +1,224 @@ +2024-05-17 17:52:21 (INFO): Project root: /home/runner/work/fairchem/fairchem/src/fairchem +2024-05-17 17:52:23 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities. +2024-05-17 17:52:23 (INFO): amp: true +cmd: + checkpoint_dir: fine-tuning/checkpoints/2024-05-17-17-53-04-ft-oxides + commit: 00de11a + identifier: ft-oxides + logs_dir: fine-tuning/logs/tensorboard/2024-05-17-17-53-04-ft-oxides + print_every: 10 + results_dir: fine-tuning/results/2024-05-17-17-53-04-ft-oxides + seed: 0 + timestamp_id: 2024-05-17-17-53-04-ft-oxides + version: 0.1.dev1+g00de11a +dataset: + a2g_args: + r_energy: true + r_forces: true + format: ase_db + key_mapping: + force: forces + y: energy + src: train.db +eval_metrics: + metrics: + energy: + - mae + forces: + - forcesx_mae + - forcesy_mae + - forcesz_mae + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae +gpus: 0 +logger: tensorboard +loss_fns: +- energy: + coefficient: 1 + fn: mae +- forces: + coefficient: 1 + fn: l2mae +model: gemnet_oc +model_attributes: + activation: silu + atom_edge_interaction: true + atom_interaction: true + cbf: + name: spherical_harmonics + cutoff: 12.0 + cutoff_aeaint: 12.0 + cutoff_aint: 12.0 + cutoff_qint: 12.0 + direct_forces: true + edge_atom_interaction: true + emb_size_aint_in: 64 + emb_size_aint_out: 64 + emb_size_atom: 256 + emb_size_cbf: 16 + emb_size_edge: 512 + emb_size_quad_in: 32 + emb_size_quad_out: 32 + emb_size_rbf: 16 + emb_size_sbf: 32 + emb_size_trip_in: 64 + emb_size_trip_out: 64 + envelope: + exponent: 5 + name: polynomial + extensive: true + forces_coupled: false + max_neighbors: 30 + max_neighbors_aeaint: 20 + max_neighbors_aint: 1000 + max_neighbors_qint: 8 + num_after_skip: 2 + num_atom: 3 + num_atom_emb_layers: 2 + num_before_skip: 2 + num_blocks: 4 + num_concat: 1 + num_global_out_layers: 2 + num_output_afteratom: 3 + num_radial: 128 + num_spherical: 7 + otf_graph: true + output_init: HeOrthogonal + qint_tags: + - 1 + - 2 + quad_interaction: true + rbf: + name: gaussian + regress_forces: true + sbf: + name: legendre_outer + symmetric_edge_symmetrization: false +noddp: false +optim: + batch_size: 4 + clip_grad_norm: 10 + ema_decay: 0.999 + energy_coefficient: 1 + eval_batch_size: 16 + eval_every: 10 + factor: 0.8 + force_coefficient: 1 + load_balancing: atoms + loss_energy: mae + lr_initial: 0.0005 + max_epochs: 1 + mode: min + num_workers: 2 + optimizer: AdamW + optimizer_params: + amsgrad: true + patience: 3 + scheduler: ReduceLROnPlateau + weight_decay: 0 +outputs: + energy: + level: system + forces: + eval_on_free_atoms: true + level: atom + train_on_free_atoms: false +slurm: {} +task: + dataset: ase_db +test_dataset: + a2g_args: + r_energy: false + r_forces: false + src: test.db +trainer: ocp +val_dataset: + a2g_args: + r_energy: true + r_forces: true + src: val.db + +2024-05-17 17:52:23 (INFO): Loading dataset: ase_db +2024-05-17 17:52:23 (INFO): rank: 0: Sampler created... +2024-05-17 17:52:23 (INFO): Batch balancing is disabled for single GPU training. +2024-05-17 17:52:23 (INFO): rank: 0: Sampler created... +2024-05-17 17:52:23 (INFO): Batch balancing is disabled for single GPU training. +2024-05-17 17:52:23 (INFO): rank: 0: Sampler created... +2024-05-17 17:52:23 (INFO): Batch balancing is disabled for single GPU training. +2024-05-17 17:52:23 (INFO): Loading model: gemnet_oc +2024-05-17 17:52:23 (WARNING): Unrecognized arguments: ['symmetric_edge_symmetrization'] +2024-05-17 17:52:25 (INFO): Loaded GemNetOC with 38864438 parameters. +2024-05-17 17:52:25 (WARNING): Model gradient logging to tensorboard not yet supported. +2024-05-17 17:52:25 (WARNING): Using `weight_decay` from `optim` instead of `optim.optimizer_params`.Please update your config to use `optim.optimizer_params.weight_decay`.`optim.weight_decay` will soon be deprecated. +2024-05-17 17:52:25 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gnoc_oc22_oc20_all_s2ef.pt +2024-05-17 17:52:25 (INFO): Overwriting scaling factors with those loaded from checkpoint. If you're generating predictions with a pretrained checkpoint, this is the correct behavior. To disable this, delete `scale_dict` from the checkpoint. +/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage() + storage = elem.storage()._new_shared(numel) +/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage() + storage = elem.storage()._new_shared(numel) +2024-05-17 17:52:49 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 6.77e+00, forcesx_mae: 4.11e-02, forcesy_mae: 3.63e-02, forcesz_mae: 5.26e-02, forces_mae: 4.33e-02, forces_cosine_similarity: 8.24e-02, forces_magnitude_error: 7.42e-02, loss: 6.86e+00, lr: 5.00e-04, epoch: 1.69e-01, step: 1.00e+01 +2024-05-17 17:52:50 (INFO): Evaluating on val. + device 0: 0%| | 0/2 [00:005,xc=PBE + src: data.db +eval_metrics: + metrics: + energy: + - mae + forces: + - forcesx_mae + - forcesy_mae + - forcesz_mae + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae +gpus: 0 +logger: tensorboard +loss_fns: +- energy: + coefficient: 1 + fn: mae +- forces: + coefficient: 1 + fn: l2mae +model: gemnet_t +model_attributes: + activation: silu + cbf: + name: spherical_harmonics + cutoff: 6.0 + direct_forces: true + emb_size_atom: 512 + emb_size_bil_trip: 64 + emb_size_cbf: 16 + emb_size_edge: 512 + emb_size_rbf: 16 + emb_size_trip: 64 + envelope: + exponent: 5 + name: polynomial + extensive: true + max_neighbors: 50 + num_after_skip: 2 + num_atom: 3 + num_before_skip: 1 + num_blocks: 3 + num_concat: 1 + num_radial: 128 + num_spherical: 7 + otf_graph: true + output_init: HeOrthogonal + rbf: + name: gaussian + regress_forces: true +noddp: false +optim: + batch_size: 16 + clip_grad_norm: 10 + ema_decay: 0.999 + energy_coefficient: 1 + eval_batch_size: 16 + eval_every: 5000 + force_coefficient: 1 + loss_energy: mae + loss_force: atomwisel2 + lr_gamma: 0.8 + lr_initial: 0.0005 + lr_milestones: + - 64000 + - 96000 + - 128000 + - 160000 + - 192000 + max_epochs: 80 + num_workers: 2 + optimizer: AdamW + optimizer_params: + amsgrad: true + warmup_steps: -1 +outputs: + energy: + level: system + forces: + eval_on_free_atoms: true + level: atom + train_on_free_atoms: false +slurm: {} +task: + dataset: ase_db + prediction_dtype: float32 +test_dataset: + a2g_args: + r_energy: false + r_forces: false + select_args: + selection: natoms>5,xc=PBE + src: data.db +trainer: ocp +val_dataset: null + +2024-05-17 17:57:44 (INFO): Loading dataset: ase_db +2024-05-17 17:57:44 (INFO): rank: 0: Sampler created... +2024-05-17 17:57:44 (INFO): Batch balancing is disabled for single GPU training. +2024-05-17 17:57:44 (INFO): rank: 0: Sampler created... +2024-05-17 17:57:44 (INFO): Batch balancing is disabled for single GPU training. +2024-05-17 17:57:44 (INFO): Loading model: gemnet_t +2024-05-17 17:57:46 (INFO): Loaded GemNetT with 31671825 parameters. +2024-05-17 17:57:46 (WARNING): Model gradient logging to tensorboard not yet supported. +2024-05-17 17:57:46 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gndt_oc22_all_s2ef.pt +2024-05-17 17:57:46 (INFO): Overwriting scaling factors with those loaded from checkpoint. If you're generating predictions with a pretrained checkpoint, this is the correct behavior. To disable this, delete `scale_dict` from the checkpoint. +2024-05-17 17:57:46 (WARNING): Scale factor comment not found in model +2024-05-17 17:57:46 (INFO): Predicting on test. + device 0: 0%| | 0/3 [00:0023)H0YN}TLMaiE1`+9Q6ai_ZQ@SN2 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 O7(!Z6s#rqL_x}UddO1D- literal 0 HcmV?d00001 diff --git a/_images/1886195143c6c8d57e07a010567f9bb54c1798d26a22825456aba891bc405e78.png b/_images/1886195143c6c8d57e07a010567f9bb54c1798d26a22825456aba891bc405e78.png new file mode 100644 index 0000000000000000000000000000000000000000..9a13303a4a02aa746e1d5efe6b6a765894474831 GIT binary patch literal 34892 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 literal 0 HcmV?d00001 diff --git a/_images/306e207eace1dbdfee27c032ab03b020846de4ddeb72841a5ad724eac484b1f4.png b/_images/306e207eace1dbdfee27c032ab03b020846de4ddeb72841a5ad724eac484b1f4.png new file mode 100644 index 0000000000000000000000000000000000000000..53af529a00b376242a19cfdddfdda99f7282d496 GIT binary patch literal 30039 zcmeEvXH=EhmMxZLS%rbJ#0X*lm7oL>5G0rtQG$R75=2AL#q(sRmIZI9gZ!YlO?!Mi(yT=QE-sm%KKscQ9o&D{-)|_+AwYVuSdvqD&dPW8Y zhGo*n4xM6P__2+F;Rm&!f5LZea~xyC|A|^2K4Yn9a?#R8+gz97q_(B$WfRNG`sX)U z>zZ5Wn-~l7it_UB*mTL#($qqXkI(4uPvA8%*W=s$X$SN*nWTd=YqRG z99P~yyy?~tTMjcX2wVN*lBa*N-C|zERC>+x!+x%tn|?j;^BzDr0 zUuD&+JNiiPqU6vHpBwfeXO`yh|A_0rl6F<7tep?<8p5K z{8#)7UbD`Bb?%3&qVr#6|M(+52t8bW`5B8f_gHzwM`NGDy+@D21oevFH8yIkzWuhx zoPlBA=5uRZd9^YlzkW4MO&!qa?7d}+H8u5Q9}>SRx_ysDo78C6gx5v|z!4Z7O&oCrzooQc@A|X(M@7yuJ z;D40A{YMc#!=Hct`P>`aJk~d@_mf51Y#A6fW%WF2H#@j;{zCubt2e!i4|i{S4!@_r zf3%z1(s&uJ-F5Z#t)D-?mS|yM$Ts3*XFsT~uYb{7;nE%pyce#{+-iE#>TO;g&(^JP zdrmQK(9+Vne*JoWSy@>Rwh=>|m!DsxVu)-$KfRigpHK-qt+eR-!ou=_=DgOvzG$q8 zt(~3uPd*!#=6o3GuCnT@6Wt)?q&`+>aks86<=W2-3@I5GE?np+4^tc*8BsPhLDW@hF^Z^h8@@$t|zvF9gylN;%Ww)XbE8o%K_xhEv-Ug!F( zsp;Ir__&XT?6c2>wrpDUKQOq6n^VKRBA2s?V@ybH;WuctMw|KuvNvbe0{o0P%zPc%y^`;?5JL`-^Xy} z2zA>(_Z2_n_4;XxkS7nqhw@P$mS4D(j$A@Q=t=?L3 z8GgG31Qc+SScEU%%ifQrL8Vf&`g>I$1eS%E zB=Bh%$ZAYjV$o=c{Qdp0DHs^e@wV9}y9u^2JY`T%G2PFj5?$_VlF20{m9?Yb+SRL` zK0X~^txNnwUj)f`huaRdrH&2_3@BW@7+hLbMknVeo9!VciQ#*a)5D5%Ca(Ro%=}8D zi^i^9#tzpE)~b51bG;CI?Al_PCt}ileX@fh2dTW>N`%kaXR`F@7uUoe+&ARt7hyGwozHH1IZ2Ax9{M(rk&YHN_tt-uSKjrZ14#&3l z{7aRi)GD}q`#!$7kvY-ELW{9M%<_YusD*it{rFeyB0o_@?4}1rZFRJ>KBG4@o>a4rAH2;CfWa6dI!}ZCRt4|4DEPSb78>f5QZlr4@ zd6&rh#>U3UOq^Qbf(WIs=dA_a-8G4Zlfz|lt5{ef+WqZ|J4djd%{I1HVF34Vm z?epH-TP?}cZq)N*)~x%emXq20wvZE#oS2AI2PB3??5JhfAx;EVF>}ul%z0Z6h zmW}NBTRO9AO=Om>zhJ*oNhF!2(QB=c_I!OzCQg?*;KB(Q9ne%yrfYUMW2@NM zjIAjnExK##uSiE?kK*z%RZgz3#K2CEXz^Kxhj}-)Z`(%4(}Q`|+r)Eba?_uF7cO2r z?r};{G0Mo;*qA=(7IyadKg=t_mCItXW(+c%uX0R(2^5@g+3{E?eL#u#_SUJ^)wh{f zn7s(NS?n(nfmr3MBKtbUvUx|DTB1Q`RB{7%HunMs24i+w1LRFVF7K%wC%ip3hs|`B zsqM0kT)t5LXTem+eUJ&ny!x5r47mi9u_xPw{$ksykLAPsmM;^;eBGI>*>F*tS>RVR?5m zJ$<+@UBqc-DzLY0Dojzs{NTBxN@1rCYinx@$86YZ-I7*(Z}Y+3dc~|y#BJkT!hr-* z-1$o^7;kG|7#m-@XA2jX^zXm_o@UwU@xu>46!I>1d9-?`huvtQnc1sAk*!fF-MnwN zZ{@;TT6I@e;HAo+A71kI?OU#G+m0X&U}M~BaGElb`1UnNEz2oGE#cBLT&H1qs6tJa za~9Tn)ru9*qBYVD{`zwTBO{{+$Ide^_g!1eR6N2Jll5)zw!dxLI=ozGgMEKRL`-J5 zaebP8RkTL9MtYLq(I2nZB^p*)ej7KV?bw$2$MUmj!@1Rg&dZ|Nw-}$Oj7v>O4}E9! z%}0uPxq~c&%kx4m3kgJ@-N?8WKWw|q5Gi~)Wgz>;t4OVWkL@cL6t^XulZ~@I75nCm zv3ljXL6OktBm64k1ELEUZtV&w8u4kb-eGZJCOc;%L-r%u(8HZO#vVPeZ1(KirF$Z) zAY1UqulgGI=YLYTeJYwlRJTAF} ze#$Uq#>K;sa-b^uREVrio#X1cZ;lc&Q29Ln6c=?RC$G9B$TvYhIJ<$Q&Wn2|qq z^6u!r_vCskWccvNUAEr$gV_D|u07v1k8c)jVLw>&a=%(aN3OHrF7>RE(@|<%IPJ~3 z?gfcj$ioK?9<;(%H~iZ4TFiDZa5?Lqb7gr21v1Z`J-hYipYk~UIE*||s`0sAt>0tI z;9bI_DRremrzQqZ6+Apu;x96DHuIaiwTiioP1RYGjG(awd$|zVC-38Dkxvq?44jwt z2no@yYj*~~GRJ5cu($kD* zHPS2=mh%)P3)HpF<2lboPiKs(;|^!okDU&XbS#fLD^j%@3t;Md-oKrdZdkUi zu(79kdR#Vt;DhZZ!xlk{*{GvBm9Y;Rt+|})DZf_4c z?#11iIn`J8%62G0x8Nab)+20L&Mu#J(ZvMwO&^V4X&+5r)tq;?D!I`qqR3aIy~ZTl zWkF54P0YicXCLZp1m?>4HdtWS>ZM{i(xt5D4dP^4tMm8Edh^Dww*Pc_q^jb_j~^ck z8>vN4J2*O4#Ar#mvq`8Ov97xKE#T-zN2R{LzQ>Y|Y4I|+fRtW=5{u=;E}C`~J(dO{ zS}ikLuyZxnmM=%Lu6~{Dj^Pm$6fALCxOlmey1HK`-k){q%9SgZnzDblo9a!D5?Kkn zpQ4Cxw*2<}vxk08=h(WHi=SVflHb04F4e7g<=u!TWr(@TSR26Nc0(4CfXc1a4XopB z9K{uK-MbWxoAbUsGi|c?fq_{!S*%LO-==#=yqF+6Z$)CayR>R&X;QE5d*l%mJSS;p4uSDrAp5lP=gCyWtc$dxuP^UpRmVTYH*N8r0I z@d70UQoOoz@q&TjA9+{H%^NB0OwIUAj0@X#+_9+iSy8xv!G(1d&*>8$o*o|O&9`1J zD>6$Ly@S_EUO6^ve;^0J_GEP6SF=j-yEmlp4y>u^={%gA$Mj14y*MT&ClM)p)GK;R z_?HF+26psR$0G>G$=Xrg+Rnzt269o6YSFF~c}5^L)okXprk}+8X-;Kaw#6F_`0tnC({!VVNlL6M|mE3~WS_4dSbsIkYmUl%(CjnY7 zdYc{P-o1wD=+UEwI0$O-7u`=so_QAFG$}17HJzZ*E&D`FsCMdeN@{8tn3`IqL+bJk zVu6d6tnRq6(dh%SZ*vbtH+ryK|KgU4G#;g%da5?bNHN21ghRSNW6Yo8Eb{Qt&!0bw zMza92Nk7=8KQ-D5JQJ^a`uU+>B&K@eE5~ra6=!Frh0MMjs$vDPqsLcg#<%M%d__!7 z%gf&r@_Z18SecJYKbv$p-z>w^lX;}4TCprdF1g#)f%rpdkW9rZTZ@qLW%Iw^5-9(p z#V^17!uZQCvHC+G4S-W#_wLGmAPT%D zCMJ#(t=?VuU=K%rVq%NbFAL5u>YdfQ3#d*YF#cjuf_9GU<*{V_vTZ_!l_#(a`Q~zI zzDP`7j~^R226%b~{`u$62--J8QUQ~{pZ$9iIYzE@9VyCp3WrWOjvquuyn5~0P)}8; z0{hl&+YIvVYzRM_9L=GR&j(7b1bz{xp$B-G?%w9EPq8ns`9I$}IKOuoB2Q%GsVlseIFAGK;yZL= z$X2*hxRJ4F-FJa!pTdFv6HVw>#I3ob8>h^9H5Dk2kOG8@_@qRGisJyYHF3H!ce;TTLV+I$rvbCa_r^QV zI%UjEc2gj0Z9C2Bip)-r!!9?f7ky&iym|lT&6|ad04KOr;{t#C?Kg9E69gWEx|CR? zYR}%m@^Yn-j*kaHZk4LzbggNK`T&Pfd6JOySYJIP z6kcgD$H|1}&z}zuM7W+I1^w=uX z6<;D*U}ifp*y>f)J27TcL`_JnQ|DT63woyykg*hyJ zWg&OJO;2yo#G#-^%F0ix3YW2opCMYBo}RA3A^{f7X4|sjZ|k*bvGpPgj|9gl>+65~ z@u|XlALs`?-aXM6^I?&&OSrX$&v@*JmeYi;*ACTPjfcM{>BCRn@-NNl*}|9(V7Ta~ zp9qx!FY>2@8p{97@65?M?nhXG^^w%4X{AcYm-+}Z$B!RRYyIJSFx&g2{&k(>SbfME zEe8c?Pj=r1@)EUkep>VJJJ(@0vR-Uq(O#^4;K0>jxq#>g+vNzzcyTM25{n1cO^>7F zi^tP;zyHE9GftnW2vBo_ zo=>r2W?%kTy;Cg^AM@~C$;nVb!|&nh){eVpRc&$pNo;$#Lv;%i6BFoDiK^A#*5Pr^ z>pB4E1e6&_rUFtV96J1Z@y3piM>l#wz~dpLOOIQu>DN;EGRF@LwH1|t39S0cdP5;XtW0lhausnJoS4+q)~Qj;`JZQRDCs-bhcXYKyqWIK zzkM^OudHEa{d>p3{Oty%fj8geJEdx{Az^1r4 zIQ~*i#4{L{r(PL&PMZ<;wM%Mt;x6L(MQdsN#5$hGCw+Ei%4*=t;dGIj1bxLPl8$2Y z2X6FCx^)zu8SLY;))C1*4NCuT(={dvkc!BN)vef$E$^f43sX~5iKI|c)nG9~Hg%dF zsoLA7FkEMkkH6>E#5Kdnv&piw191i5CqZlyb{(_>@moWQ5|Z1oNSsI8n5?C|gt)oi z_u1Q=*|FMQgapYwMc0@lLlGg() zdhm&LH>&867*}A|Bz`|0q_RYujwh1CW;ZC|EFy7fsd#}Ti#BHs{V z-78kCxCJBwQHy!S3T-W2Tow~fAg8UzJ^9l)@Dk~ylc1(klj)e=mo@7YUx07ETO$%r zpOj&+JLXv(Dqa;4Dttl)<;Ozg0v>YE$-;ekpgOrS|+eL4lAI_Q>H9L zA9%TH+=ZKJ$;LZ3ZrljcB@-4F<`F34%}etCu2eB>sUDo~BAh=7yWtP0IniEPww8Y% z->a`zdFCQd&o1kpGgLQ<*DE<4d;V=?@5#rzKcZ}UG7{TrlOEzCm|!Lp)hOuV+`_`A zNhg#XZ(68Qi37;+sTJhTuIcy1aS4lm`iWaWAhu}OArh`6XimZ#g8bWiz9*mFxr zXh6K><-)5nyi`FM@eZq~N01|UA_}a#pKZa#zQV-@1qZ(`De0e$>1f*qbp|D_imlh_ zvyOIE#RLF?1nxYW^zM9Y2l%X7is>^~rj60qAC*0WcurjF=VR?ET8_#%z?EZFFD@j zWTI~m)qkG4_DJd&BeW;0k*?8n3K~NiVqFp03$l5w8+ByU?vDezUDPiD<;Po;-J-BE zSej_4a-;1jG)po2(a0q{_@=2F78d78DMnKQ+jwU|T!czY*T&iL8=2FiXG2yKgl=h} zVjF}rAU)6aZsbdnvrxUfY+a2XpSIR|FQ${bG-LeBZDA(ol>CwsIlhcxj|S&iM+ghA z!xqt-R|_mX=*6QVoQ@mj;t;>rrxt1}?)x=XZ>g`@3rTAAJH?DA-t)$1-}_3ovouIU z9*1q;%%=^7kWv%?VMTf6WMl}?KKcGsoH$<%ynOb~*eNy(=m=HVl@{umKm~ZSVy?q< ztMNFDjI9oB6eogn8W>RZ;Z_cg4lfl=g=FJ;Keg}X4|%0(N3L!l(%~YJ#twh`J_W#T zrJ&=hq)VZ5B$$3a0N{NI;t4MgT`3-%$9tBy0k@3cJQ=pUyFdADs3dCa!4gKsQ~1^4 zHeVB}d+J`N6~N>0&HC4Vb1@q6=)-Vl*$7Z4>af7cC~~KSOX4}%y!fDm0}$cEvD5Ja zT9AVjAn_8SnTsZ>dzcIB6Hx9&x%QX`T_MVgWnpul_RctL5#_-rS*B;E`j4MHS#gj_ zg2UO_`6M)X9O%cQ7Qxk9aXlA4%kw8A7QOxJuS-zukc&J(+LSWvtWXb7nH|rQQa?rE z=AQ5VYd?i)X4uta*e3(R=oHCs|jq5^HG;I%K(+ZRFR@GS+axxq#c9RW)1En@LyN=CN z7(kGbM;Jn)HzI`)sZtqlqG{hNzjEJlikZR zJM5s;B|1&pg{&S^!AT*V3P|h)Wa$nB_tG*sDWj@1$f!jl3s%8jq2l21id1F2?aGiV zU9Nupn!{uWK3h2kR{|LFdLU7xdOb~TTtVtf>{3cW(14#b4}SO{uaW6c&2@NM1ByRo zU!&S2T569#D)iv9m+kF;_2TQ-udIJ#xpR2;`gPsf?I5$LCGmz)5Q-iv-rFCF(kq1l zRKA30y>2jVtkkfn4?28%^&<^vg!_^ZHlo#2&1=%E4DS@6NdFur3DKa?tlC$$@mH^2 zjeO?E@lU9+UG(c(a(+~4*o1*TJr*(XA9=l6lxQu&OA%$Bwwr(c`2o06Ll(SkryRIwje zh@+`+vYLD09I@VRFg0A>6}l5N>wYeAxMy%=r~PnAXV(=46@a$hs41)?jd-+$>Y%IvGH3=ahA>FV!h-yAh!^Lcnuv5ZO z5bgyW`n#Z9W%%Lg?+sU)mmv?fT@lyR)Lg!i2bZF*hkDmze(kHEHtbAH=^-hq^He(j znd)u4uBKh*){Nm&8QE&vf1)S{vb;VE8w(Vfd%a@pN8IF5c`&LW6A_nUa47J(Xde%< zJ5bBH14!)he_pOlI%!xHT>*2Ba{R@U6B85FJG9a)!=$}%qgr;%YHeTr6n82NyO>h* z#bQ6QBQ0ayBVV6xlPr0E1mO}OsWfk+b0ne<&+gs3YvViLKinC?xQhFj2c;{D>;|7+ zKBG0gShPN4r1C6;pew(#5j`nuWy$``~PgydvT4z zr>+04Fz0f>W#ZuH>~Xsv`qS!-RJ9T3WyE!<7`spf)M$$Q{=FoXyBSM)}d_j3Mw> z2EeAc19`&{&Ma<)=YMc?LUHQ?O@~m^_L#gNE)L^e5iv?}7o_JQ=);^bAK%^j9;ah8 zjh3}?gdMv1+xorMk!()m+RIpk3+HiwEkf^|qMVI5XCTJ_h9OLnU)Gv)V& zm;~ait1o5K=LbV&kLPpzgyE=VS9$(69}Cn&QOZmxWyxe3p?M@2R=J%auOPk);j0%27+a>R9hvlf0nS6o%4veDt|@7rYkLSG!c zd)$NjbR?&glvKzXy04#d_}wnoDk>_rc6O>}SI~FzKA-CghDi@E+Wq@twtJx0OLJbP z#?aH7AY7e%zya3_IN(vhn`GXCckezx!23(0jqXVSei;`rS(P;t1at(f(DC(i4uG!G zi4$(eJvpDD7?=8-V$7!7IDW^{%yR1hXkorI)@bYO3`4v!#7V#Cg?GEhbK_bnHuIc= za(b*0m3|?^DV@6#!Osrf_-&3_WV6DF=7FN5%ubCoB_bZFTkzUbShy(73^mZ8Q;>Ks z*Yu~hvrPjE%JR&i@G2b3B3^8aY;DkJm1y<*F)=0&N0+SOr6@L!#qN+s`jAg6n(T={ z)XA#Cwu2WQgaeSgdzAB9ofHV1;%;}5hI^LHN75fXdPK$V3S7(g8>x$^OI033LaV0i z1r?zR2e-@m-P2y11`1ll3;k%*S-ibT)^rjyJIa@^b!b4mcn)Y7f{W<@=CVHQjt{gi z8rwb$ihv zA|oj_J+1BSdKoe5u!9lqLy(m5nE5s&Cn$rTzPpc=A&~*L6x5x4M}a#c5INqzduOU< zhTnFPAg>i-R~V_FRnbpem$3xH6>|w7ngZf?7J_Zdzf^U{!yUZ31^6GUM#nMz@vonYV}8Z6-d#sb zqDVn*D^AXLWU6N9pg!lFv;n*j z=t@eR01pv`MT0o;GTAHO<*C4dNkr9w4mB57ej7fS>0a|aKHUu&=|G5nLDRSSGUb6x z=BY)~pNO3L_$O^O$kH!<+j=|{0S$(NQ#XIxTKIjRNqJcz)Kp7Wha-Eh7c%fvoMT$7 zWu!Z%0MzJ-lR&j^m$isMY}JhapFa&0n_y zi-<9ZSw?w^nGPfsHIL!^?E#k%E4Ha1rQVacQR2gb0E>GbgdE8Oob8cd-Kz!=c@iwn z+U|E;!ahxif6tLL)d|c3m7}D*RT^r>oDvBx-q1o>AkKW;EfpTTOSmxjlRiM%e1;=* znj}jUcET?fJx+ao1h2PAg%%URMaX{iGC*-*O+%pc%HF!vvhOkc>pBY$0#wMYAFAh+ zqY3k`P5UK4@>FXUE?ns4<8$WgBE03N*U{&AVaS8Ap)$b2BA$}8ygd1)KzzOUv>Jl{ z#^ytC7hS|52$R7Vte=80k~wN74<%i-L8&>}*>gG%BZe@fc7CVz@Y?3j)A|~qTcY*Y zyA|_CT33Z1v`>uCrAGqxm-lMQ3wy}5M>TSwfm5eW4QDT8Lfn!;ny7-OL+`tc10wIE zaY&o;6oddO$jjKGJ`Szzza;HqI(=1I&WZNz0NHWre0a;IrE(G@o(+y;8gPUX(N9d$ zf&+_$129{?^Hz9Hb$qv*C=5x+4&9C|<`&xwgBl;yf(`292tn+$@0Q<9X`OR>s&YI@LNs{ z>cTj5)>{{T{Hgw|lHV$EtLk_GC4g@ArY9f`S0w0{k+N%e7PUGkT+b*fz>{ljcOS2{ z&l*$$Op?eX9JM=Oak`!Bwoc~&u|-=*g;NoTOrZ#0sx>@Hp-{?E}~GE~yrKp!WkRNT2{(9E~`{@Uj*{<0@9x%hLcf zPhaM%@Q=|!2koSH6EF7UjZH0nW2E$OQ`G- z>>7!4LCm^@h)7mC2F_n0cPFQtK<3vtGbgKHK~P8iPZe_9)TD@wW8`W`CfEQoR0PaK zsx=v}URk!jUlqbkm*28gP_V2A4Hyi@H+^5=p33isSyr_MX_B~?=!^4ZL$+Q=vCMX5PVOfvT-t+ao9li-<6+xOv~rPFm9g=_M63F3H**ry@!WKPuH4Xe{K459RFr*$3 z#aIW#6eY#t`izndGA6f1TEb0bij8?dd|=Pfp#%<0&mbxrHQ=n1C`|fh*x&G&nTaT# zfJaj$(3y1U>uZZg5J$M+x%N;3vLo{u*_IV=(+lBoi(BNV${Faq*yqn+neHH`B-OHT zufvbHuUEs5=9jkTVQtPP{D$%N)V1=Da%Be`05Tw1KGU5V+h-JUv6%XOBh3W2(@v`dF&wp_0y;U-zy0G`wGKz z4gFsMsV7dq5vny2j)XV35|>wn0aA@~J8iHC#}S#xt~1CxK__oH{8sWF!v%a<9r$lK za7=>3gt>1f{SwdgU;!U_ZUKg5?Nn7^=SfMe9((mOObl*rZVs!I zKmB`aB{8^bLy;Qkr@_4|L4_({Hv<-z1ATd_m{jyPYWEt2Cn&EqBWa2U=+^j9T1Jhm zlqcrZbKpy{on#d>6}rJUXN)vn1O3?(I|VX|bzdDNf3;d1iurVtI@h(f?-?ls(xnh! zhM_Kz084I#{O=nD%@X*OwfR_kN&{UG>r3I)K%W4$Q_LU!a!7N#5%Q(MkRG)3_8OTV z#lonEUug9 z7Heq;GlDBUn02Avi3D8PTL1HBTuF$iMO!E~z`Q_@pL4#4*a6+hc&Gu60-PYF3l{>* zZX=}ABAjPuj?2m>Woji{x(~7Hykh`rd^jGD6v&V2Ki7#Te+j-d87?la z%CXs*v8)lGn=_3e!NCYN$`?IxLH9z=GPar9ucfr!WZ-WF4!fZuktnUTvm-MU;*(i!f6jK_ z<22E_1`LB%|JL2RRX0~|2iIU%soXA23fhTHHHXnd;HxoYFLlYZW@*4ydd48T^4Nv5hxgV1mZgL zap>{k6778phj5PfQ!*ws5LM7Hh*lBEC@4JE@6;$>&&nFv)YK$C1=4*CR<4>@of}r? zNp3|&D;%|m>S)39fBihtTU!+z1zPfWm+mbw%Z^RbWF6ojZz#87up37wl+j64Wt6e) z95zy&Ouavb$wsr@0K!3!B0dj zjzC|K$41jo4N!(Bn!?Q`vV_RUD1w(#<&2<*2f761DA;dw{uWCLX0I@MRf-fUf56U?(4Qm_krvb(5??ttH~n|n}U3M!5=Dv-qe$qmaS_3gvImN5_3PQ%Vt@pS*f zM3Y8Ml%G{ln@uopJ)S;a{^tV^gGg9VN=9a?N&ImOD>m5nVV%W0w#Gm#%uxYn)9CH~ zR}O%amLrKos>oeNjfN_}$j`y>o^Wc_wxX?ox|C;{K9F#Qtn`tXqQkf;p=2}`dvHM2 zr;5{;ziw_*AvH?kyW9yae-gfc-7t=mlI@`sd;Tyq;z#Op8sB`_zc4;A5eBSv(Hkl1 z+?w=_GarD)P$NCt$fuTY40tm(Q|`nGu+LtDK@ z6+PaOJqUH+r;u>f8bwgH0O&3#C8ZCKeGPak;me!Muusr*d8eRjZ8AGMTnT9wAW+jVOU& z0>?afHD857B@Kn~Av%oUIz9b7Yi3>@*(brE3^}(;L+$(UDOQJq>U{MVPhwUEfRmP% zhLJ}7;V5=t89bz*v+`KoWws$~@$ROBDIV>R({JPL)L4i~&v$IW!5; zCnO}Wunc^ahmeVc*D)t1;YD4Zzx%I5*1uht2(}6BisDEjBY33f>~Ww*_qj*%9qLP= z$NzYT=a%6=o(%B+xzBJ81>@uYpE<;@9#~nZfi7<-X>bh6gX*0>e;$JA<*GDS?NFd9 z(6+v##0sR6 z`}SLppy}8=HbwLyUas+X7(~CG^+|Y+Wh1_awDI(RaYe&>?F*#3UD^&!IwZEK% zEv&?>9_@AT-bmLbo2Vdd7wv+n2WJA$yjK**ng-;gu>% zh?VlP9*|hJLIpt?erw(c)Ua}N<(>?X)IiDEwy(YUuGB+d(3y!6=e8O?v<4zL2$P`2 z>@=U=xtU+9A2@K}p^S`#xHwgaV7F*VX`qf;XqnK^^P{H=VKaadlpuPWcQ3N5;<~$Rs8Rib-Z;Jk1w@$dmv6c^rl&kh+)JIn+(sR8?D9lu-s1{c=rv;iDHIG!$fQD|=g8xAO7Dh)>}XpPFj_?Gn}hgCc2V(`5j)|Fq}k zb+Ck}sH&F3z;zh5yi3@>=MPrJ|BYT7dtnViEa?05O(OjsN+9-y%I~ZMNAZy7WSiL} zjSs5?lC)~osvvNxF!Ui!f>A~ll$DlRLZpQke$T63IDNu_%~W~qzXw$HAbCFlqz0LX zE&{-?KyR`Y*n zX3zioefacGV(5VT!1P7Di}nf6;Z-1!!*H+I^`*8muUp3jS0K@HkRdgAVl}!0q?|R4 zY7!J6ZCg#lU&f8HRE^&2tBa6D@E__6giu``BDe90gngy*jYZjS#S3|95g1(F^q^Et zga=wXL1x&$2wo#cry0uj`=C0M?Isx zrX(-#D5}NebAT0$ItA+O`!k3=l4A_^B5|#$#q#_qo~!1T@aTmL$5=#;4-ANT_;BX% zD&FDlf`%*+JO zL&1*8VYlSY+~vu4?9|});^Rxa%r(-(^}>0Ur8n!_7tbO&_=NV_^p%S=I=q1IzyO1A zgbVmI(gLAK7J!q$pYjprvM5Ma$34(~|6P(gJ0)UJ{*KFPfvGz%42*OCv{6_YeX%n3 zSV8!OU%(h@05yiJ!ywHS@Qp#V5}l$-2Q-fAxdAy`PsDVM(vEr@F8w{ZF*8=2#n@P6 zrqgJxYvRrjXA4(XS8C0qDk`{o&^p13oRX3aX>~9)qDDX+_aqCEX&SdTb3|w1xm*7N zZvHzhUpopgTHz^`^|7era3KeyJG$_x+0<#OS43sQ9R5dH<=s7uBbxawTKbf!-{Y(c!}l)4^+uWODn))BIGz}N&T>@ns9335|4vIRX`%M z!ZstbB{g`VRmh^w7z!3j4wp5tyqw>lTD|+2>n^PKe!9X^dYwmCfMnEGoxCoxen82i zDjbA8V7gGqYU`z(Ug3TZ1DbWg*BV=$OOsRJO)~6n$e`#1oqw;yP@y2AhII6-f!&5hU?4TQCGwzz#G->0}b(2@lg< zzku5Upp@uGP}71Reqt{_K2zQ4xzD6kY(15JOnUFuM9;}fU9HuS=OnV}??&NSMER9Tw3GK|f^zPYDUKpx$M#Kb`1{u{Bc&2`ANQ@A*TELlb zLPDo_1tLc|-VcbF_zr^bN%$+`=X~baA1EZA9}|Y*DV)p@I=OCG5BC-fa)8J|T^pEw zVDVO)-i3iNK3XG4_KC50kdUM%^hdrI;gmK|1;}H&)0eim(4c~MeD-a&tFOiAo2bG)3c$e*iy>K(3Lx5(mw;O3 z;PUx{v7gn=>a}*{lI1!Yrfa*e=A3C9|7nC?jfu(Im&ImHsz$3&2@m)9-bbr+&fgw* zcS|7umO$*=D;KOn+-_p*Vljpy;f`W<-nJ4NRCjoisiF6eSl&JV^0Ixyv27<(YXdTd zUOoRJJG=MMhTOkaH{V~S<1zn|U9xLe+PB*}NT7&GkADL`)fapn94zhl_@cG7Ro9y9 zFx%g*a}8^5S`&XICPZXCP!-sgwDxY~+6R$qSDtk{dfH9;wD`C0G>?D5cZkKn@LvuN zP?!9MC`-MufKT5MM0;v62&yF}^1xjuLq;8xpyGxfp)~m3n~x7eCvZ;p0kT;+4P1BQ z$+fFXF`LYjn%RsMN7M@?RT{(l43|Is)vO|*+n2_j0q0@Y?~Q7E^G>}pcp`WS4E?> z=#2Aclx2x|w)XZ$K`-utwZz70VBdS<)fP}jfM-P4H_HZ%0lYe zh+ull*__NK`_`DWuf%W27UIJZiM^YwJIDnMJi1r>YcAZkR(p{dFO)zO}sLA7B zI*nSH0$vuyPpU0#faJJo`P^%vsi`7|Nh%WEi*N~X3JWJO+LcIJdQ1Q3w!zQ1ENa@?jf|f@xe+!> zte6TQ6b-q<%0`$pW)etGEJ2(j3~eynG3UyHxlIx^4mEV5TUBT?Ge)oNMje6HusXA5r(;I@8)IM& zrCLX{nA?HZt8^r^-~31|T-1gIz_1(tBqI>%N9tB2XPmkMVV$+!rrrWli7u4ENTmpxgE1_5g?H5QI9w3Qi;BS|X5N6^lIkrNd{3 zMp}7W|6gc1B}?m&%@-v5O5mT}faTOF0{;y;KhREhTKGBO4s?2I%wQ02hmF&rG!4l41t}t;D{JA>$;H05#uI-3%4b=%>pg zn%1Rk^>9NmueGNA?HaA!b2XY#44qnsw3U<@1K+X0xon2+DKw120Z970Bk1qqHxRWM>>v(lFeu^62Ow^U~)m-TKMQ6MC^R!Csa(mQy<|pRq;G? zVUJ-X^g9#rk#a?0M=D((I(l?(ROOpu|Ja!bznQGBG0xKkml`uOPM*bN7dPkGsmA0p zn@#mhEsaIdlEuDjS80mVbXxrsy}klUD(r%SLl3*HgjC#)YR^7t>Jfl)Cx8*K?gXR~ zP|Taog*n1cC1pu{S5|)TiAU!#m6io|QCQoLAY!jrzuw@4-=2>(+XVzZA^`3JC~B$u zqLE$QJfMQkSrLwPsJ@t=PF?iIOUJwnyl$CvE^?=J!AP3gez!beucgwt*vF;?BMs4e zbfOt9Lv+Ocjnl^noFJPTc4bt+rZ*4@e)jglPFRJ4^bMCuXC&OZh@S^N0%4Uj z#O;Oa-RSp9yY25vW=j^--3v%<#Y@0V%uZ0krqMB(3^Fu$307CpzGjHD6^e2aTW`Pp z;?ZonTE+dS_RN!}TLRMHn+SzyIWVfkXwQ$pr|LHRvR~Ys9}u+1n|TKW1O&3^HDm7S zr^|vE*tKl^?v!5VfYkHijOka`KR_&^7{tlhaazVY?CRRPs3&(LI4PYwckYggD)S!>1XE&Ad9z{&t;g&$@POeSJ9ds2Hz_E_n(jG#3@#+zPZ=KH%na z=vmiI-HmuRggGzxj|lgIA9IU|)dYs$j`owhi%F3WxPM^0D>eJA>~m@>dNdPIss+RB z#!;%e&wjKVB|5N1eFQqyNoUxHXch!!>2}^aXv+QfWgHkAQ^A!|vuh{%_VTS!i8~pjmey-)gnSGsWC)StaTMY}YmRyXE5sqhp0H3>+Tnd`jzM zjeM_WlsOr#`WrNWT7cDP^a%AZiAIgqE_=<|cZuRFqRNuD$ycryhWRM;U@=To#)j@TufhPvnKR|EHbhp;5hxXdX0y;+)sHl83XSwS;<}ibrH$`6h zVJYYf{Osos1V!fsMK0O|gDA1$leI`K&s$Xpkl-iLM&`y@vgZ*wU0GvVafP|9@t5fJ4=@X%3q^S) zs1~yR;$eu#H2wnzBYN-J?WtbQ4`{66?KOO-k-tt(6^$@9_X|=0Y=1A1y6!!7Fkog{ zk&$zfUrWuv*P$UI{pByU57Gg~M?2irQ;@~(!^42NrlruPjB2PM5JW`U180S9v9BbQ zC!(*3Og#^(&d7+csY;qQ?IZsTc#9&e`;2LYTQzyL;lJ z^38f!J7WlXm??6ptQ~<0qmI>oFF&L7Nw5-|*W4n0x}p=qvuf&8>1TCX)s>)-G1vYw_?$=n5=-4r-L1z3nQ*Oa@2a8dMob%cpg`e57f)DZZOQ@ zkDSJ>G#u`!E}Q#UCXJHagK)1@qdSuy^JzD*^YRw2MYAW31Jr>KvB>W7K5eh6xbZ>cwWzQI+7n%GB*Uxn#&^auycae4j_iD>KLfw{+^<538CKZV(tiB z>sE0q@k7DrD%COjNyRM>s*pR1itEsU@nm!UnO9e0=`OKDm#y>MT7;7U zMp8%mJ5B;e&AP#Sw-%bo5f~K*ko4B0q$cbLK%#qW7f$J!UvD%i6|>!a{&nx`YMsG} z_5c=qC|5L35=L6OmOuO0i4!|QbIcfz=C$CCyK?A&OjR56!7P1cq(a3VlaFg@&7c7@ zRy1zZyPHP~@?@bKn?%j^qo37_Ss&nLwvYFhVOi40kNM?1YBqyn_yU082#N-uJ3ICN zxPE;d-KZqv`mU}VelLu+X|60u|L*l|`nhke&F~+o>-P%XKcBlh$97l#8&RTc$@FgXnLBI*_eg7_izv^t0%QgxT>n#8M~dOm>Y_kp$1uFCq;w3Mo2nt${OqXN z5W)RE?!u@mYXV}15?~cTPMSLX6$W|qe-rUdH_(K08c7T8#Lmm!jc6GmV8x*iM+~7B zjoL*FO|rS_1Fm^&_9q~fy&s!Q?m`tO`R$rpNCnhK?(a0IpFSyvqCL5AaIJAWNI^#D zKTzd1X{z<3ndeKn-S2NOZ8hZ}_Jthco^T8@nwZ$!S!>xU37Y}(6*tBxrB7nmcypS0>n%{c$GX*M zP6-R zRC5}AU{1@WR7A4$r@{8W7iP%NPq;F%q)28p^+lp)rGlVC$O)4_!%=%8Qy_|7iZr^@ z;Xyi%p4ZN^r*V;U^F#%U;-(&2A-0BVW~4zsp_#RSZ|K%L8N-3OB8Tx8N+vZuXukg( zaKrF^#52JD7jThv4^k$lcGTqL7RR{*Dg!T!VDD8-JD_pw_y>ck{5syOMrvtIpx?)Hr)!h-G zd>D4bS_c^?8q!=2TOzny{j=!>4Dy}=DhZ8Re7YLQ`*f8cP-javy%L>8G*v>6Irc#$ zpexPCr*fIqUXgYel<5=zSm0~lDXoTNNe)N|u3Mph;w2Pf7Ia1hH z+6)<^8zChjlMhUv&alM5Un@Z!Ui$YYeV@Y$WsADufT?4kDC`jzPTgQZGkGmLo}$4_ zR~0h{ZM*7H1+`hfuKCeo--@9(OZYkfMd#{sIMq}if!ff%(?}41z63+Mf`C^NAwwW~ zcB0|%<)h04_{p-58y|wP61vr{0M^vM3HhRvI26{6?gW;&A-E9%*bAl=^zHONG$<}w z!uRSa4dTV^VO+laG{VZ|%qJ%?h6Yp4X$(HpCplP$sANHHL_mGraI06K`Vo%5H$qLs z9y9=le0tOefBAAG4d%wtY*Wi~TPL_1f(ErI)u3;aHYeP?(rIRDS;Mm>d(tPI;M$>{ zj@=+lbmS3ENP;ASc-#X%?Fy7}@rPfif=E+GFjF8%y*mZ9QRL7d`nw)^d3hIAu|rTR z9YJU);9vSSH`f3+naVJAb#XI{`Mr`mM3Q?uM3QXX9f98Ij|`w#n4cyKte-jA#nWAF z4(<7;wp$ZJkYe;vKdCGbgZfC*z@V$^4#P_SezDtlRTU(k2V@OL;c zgZPC_f5Q>@$1n%d4ZCMOH5Q_^CH8XluI9GcizuhLBg3u-TN5JN)_P+4AHi{&v!D{v z6VYOF(8CO+6dgqOBZ#=}sEgu-+4=cD_@H?q(H~7{>-_!wRlE2w62T0xsdbN}$XG0f z`R-^QBK!l52)qLl5K6n1l3CNEzMmo2`AIs~T(pNdnNZ_0Tps3jt;GVytIm*mMq`!7 z5FeAm_((MaV7oJNd>74O*9{=*eX_; zxm*Jnf2j}-<1|eKHaD~fwWR>^x|}Vb}Yt_$@f}1<*(u5)O6=Jb>F|qEj3;aQyi3OjX%02b79a7yi8T>cZNrs;&7kVxKJ~ zP6bsN&5=w^VON`4!QAANpgBEosNOyr{L#E-GZMYH;I8(Koeh|>BWT}A(p#7MJca0P zVc%pOuc(~j3qorRJ&VsZ%wM@@fzN=g5B9qdtv=|Zu{Ie%)WgZqQ$+u%Il{X;JO=g zcfXk7?rx&Z4TpX-Gg^ zp`?8;*q--&QcCDpjFtLzTKW<-Vu3_5WLN7+c&Z4$^c4x}q{MQ_*m`nV)Q&#gqm7(7 z0M(P)Qdb5a=S9xQDZjTW&=u*!>GccSZk3;Ylv%=s9b};I`>UT`3bgLZh~UrMnGI)ON}A~n?p5Y4|_xRe;1 z*p5f}s89&Qx4?8Tm?&J`Zq4ig;NA&=im=pp2P)i*JX`}jI05?h>leFxaE$tgBvOwJf$R7gZ&#bGn19)F zL|weAv?q=Z4w>A-K~?*s(?YTG%6i8s$2d4@myxeI=LVjDB`rxh)-90&p8&{iv zd8I@*3?ZvG=g6Uejh7}WvAMzQ4frY(yyoqx#t7KbKTsfxYSW|08X*f^atUgq=)G-z z@CF^*!p^vy@g9yKejoBwp2{{b7)rzaL=mmSZn|yVfc7}#-+C0D6_20iK@vB(74
gmzYISmpV9X@D71?MEI>Rz%3PY;=AgKrzD|>IA`9q9aS1C=VqpUF%PUo$q zQEaRLP7$A-NV+5EXp_Ot%o-r!!R67DkLbmzmzKCFh;?HdNQDYK)9s)mxR|VJ0nz1b zL}NhQELYmKGDwwAKnJUH3%yASV7D^S?wJtnYd&7$7p)lto(Q<`6{*>7f9Q)y5d*GoZ1Qt8ESGV{x!ItoR~ux3Id>ME1=J z48(B`OPXWHmKUH-DlKS&a%EV}mElQ@xG@o264}Y4pPbXa zrRj$CjTYdD)Q=K3iQ^@R<*X+E=`ro+RT;S{$lex_)r~EGIb`jfnu&hBnTPWe#|(*4 zL(D8~(-YJw&Kq)cMHvt`L+XMzuuR?Wg>j#x_&jQ`88MqH^9FA=R0J7hg9i^Wq~?lM zuENIApe~9_xqcrRIM=q&@(l6Lm(FH{jG8w%)5&(y>;3yz->mNft~c5LN@smQ)W!D? zAL|}BDZpy>dxLPj($9Z%8vh6E`sZo>rQE*X)pPxriA#No+lT0XGpD(`rBC(U^f#q! BF9`qu literal 0 HcmV?d00001 diff --git a/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png b/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png new file mode 100644 index 0000000000000000000000000000000000000000..976b5917e2c9a647c4c4b028fd39d4942f0c0d43 GIT binary patch literal 18100 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 WrFTmXp?yN(m%6I9O1AP5zyAl^1m}bR literal 0 HcmV?d00001 diff --git a/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png b/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png new file mode 100644 index 0000000000000000000000000000000000000000..107c6974e7c26a6b7e32c86a3052d920abf04685 GIT binary patch literal 26933 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 literal 0 HcmV?d00001 diff --git a/_images/4bace82b10c623914f65162c41715b5dfcc194c1569698d06031d1f715ccc1e4.png b/_images/4bace82b10c623914f65162c41715b5dfcc194c1569698d06031d1f715ccc1e4.png new file mode 100644 index 0000000000000000000000000000000000000000..fa074fa31bc11ec4a813d55f84efab676cd594cd GIT binary patch literal 875999 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℞W|NlUqdUI2@01bpmUSnH+AqMzb8v7ne!PR_O16 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
  • 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 z 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
    W0;&rsCxHQ*tnp2{sz_5$dK2X_aT+pf9U_vEZxa z0V?e1uQVYIlV4TatOwJQxDopnFDiD&w*ZZMoJo=C1U$#Q6~X7r0=Olq9o%sgL0XxA zVkf1SV)5jw8Pb%P_b0i-=~?~dWgNBnp337GXvj@H0q4Fv!LC!B)-I&)KYFPROm&WY z3er&5_^U5+usEgN@?CXH2~sK~Og~-XAfc11^ZqJ>NxUwE|Bk?)OTPM@7?~-o)0ny?SJ#bo`|vv_7umI^ zjmB4~JFE=ZeU_U$pIng^yri7Jl&<$HsIYXtd|DvpNGKe=m&Tt$M37$_eW5(Jr*vZ8 z%UoId%|b((Mg(~Nw0*v=^k;1DLaWCwwkAUYDXuMujyj*H@_RBbrhDZD-UkkokgE{vf$7PW&t&C5shF(s$}^`-ehzcVVl(^*>knL3~u-u2M)s*ypb z>R05G<)ukFDc_n(=phwC}I3u&YJrxnJ-__zRA{S+f=$ z#M6H-7QduA9GqRS>NmyC`keAA4QJXDyc=DHMX_w*|C>** zRW4d+FChXe_CNMY>{IF zbY39K-1zh-E`Mm59rNz2=nWtg-Fe2~JALD4OY9M1!qOV&~(5^gpcKZilDT zoe-aB3 zz)RRCP^94hbDC=mgFK_ar?dZV{**}LY*N7%@H!(U+}#e?Cr>!D%{xn@oxpB8D?YHh zemtaQJ%f=sjBndpNuD#jHLQ4Xu4CiCOn1s!PRJ5??yO+HP=EfUZJ$OBR#->FBJK@Ymr%`gY$<$o_;L zX}^C4dH2kTeDbOZocPhs>G#xydf}f>m%N$4uVb)t`L&s(^Vha(kAz9j6>M)zmu4mxix($eJT8BV z9BC4c5dJ$~{CPeH2i{OlJA)f;LT0sde!1L>xP)UCeXqlw$#aPe9F53uh!S=UmAmcG zy^XW$kEc7N|7oB2y*9yFkD<=BtLHXp_ckp<0hR7oGNu~|;bAtWVUpruwBp^Gw%eDF zcX@Tk8M6Xz3AqIccdc%Bu}GcW=w0Zqv&}zu<)fFC2+L~L`_JY!HO{0(8utyIck-jx z^n}xq+X@C1|^3WSN(AV~U z0Q0^s``gg7mf<#wtl0s9zot@hun@{-r zHVq%Kpt!%#Coqjz_`U7n^8H(+`TeT%R7Ifu#>)9Rf_UZR+ZL<94%y#v&TqT4!tcZ@qg;-yH;HeOY30#?Tu^DeNFY&d}ZdoklU5vjL2P zTqAv5WxaRKJeS~b=ykR2(cRC3 zw!-J50XFwS$BT^%GmjD=l<}p`Kq4O7hx!q4yCH|-@q_5)?nFM7^@x$c)!}^ImlLUm zx{s&X_$Jr3j}mv6K0TA%8p$npH|IN(RUE!A-*A> zGt3F5A)+5_O-MhmBz-Ds*bc262%1N;s}f~RQ^~&FO7k|=XU*`qqxhXJuzky#@V{d(%uOClN==csG%U(*ynA9D z)B1#?j>0nUY&hLnUl&9r({~)8q{;G+m9dtk{ zo7%9ByW4@n(abBi$$-bz1yK!4?~2rs;OnJWajJ~NwtC>}Klxj{-A|wLP>kqXZgk}z z;;K&OPv;(zxCrau%jf(hday_y&V2G9Fs5Wr{bfv^%Hw!Yk)!3(P^#E`X-G}greyN7 zj?K*UE31~Pcf3>q46~-8e~ITxww?;jf7-d6{VnfSDzs?uK|S8uuFpew8RwVe%(CnK zudgen=#Ro{GK7!QYu^^$h-`4PaL;TQ{hblnihC~TYL#f%D!POIsnwt(Ep%DLn|@6~ zY~Mw(b$Y+BiQDdgnfp=fh`;Xz$yDWtvG~c^(#Z5l-qEu783iWY^jQzbcdK)ar)?6K z?W9-VUQH=_Np>o$ib?!g^0oT=(%k)7>(F}f2dUdV->}wx_98^9+p73z3&Oa#)2prf zPjTL}$G@1vUiS~I(r(jSLZ}k3ubT4qHPX-=RH2tI89eY^byysY;fxH)Eb=*Qm20V);h@Q7GZ1a;@B#^vCWk zXt`Xv3qw)bLbZV;fcB#|iF6{4R6FI^Y;f^h6r__En=7=X^enKO?3{cxH_w#Jkk)N7YyH@g;%cwAHAp3! zUx!`vs$VH%p9@2@h81RGd6XXV()TRDQ9vDA)c&PdNwf|ljrPfv8+x2xm?@ z2-L)vmP*)hjOf?~{MBli zVopjIc)eU|W3KGR)MI(w943*k@Y-yCuc5BhjVg$X{tqeE?#$al|56WBYKU*`Gz$?{ zk>NHK6eMs{??@)( z&FMM3tl#(NkKgc#KHYZEYiWi?R&##vbE|2OkWu~+C$arBbiYG?k}qY$nmHr+V5p(9 zEcL>OTUfxa-t9+J@)hUqI<#Kmf#Wg+vvjvi=AarKTEKtSysP|7H3c<|KUd&Q-mGQg zWcs6E!E>&Ct(eBCJgKKeuS)lIsvD=vJfD`l=Q_}zY@DfWeOmUV^x(}!<815W(+Xd% zLsO!rxn3!us+iJ4bAhJcBc4JvKe&!Qy=t1DX%(uiEj?9^YN zd5yqJq??iZEcjLPI%%6ouRz&Z_?PAlT7*ddbMEt~nC4BEXQG3z%Fg4eo42^VM2FvV zUnEU7Zws}Fj(jP*NV{m>kwS=$`Ep-o5w+|pJQJIUDZ9)SXxV$=B{ubg`>OC&%f4=# z*i3cVRq2t)_E$^BR5chl9aS7lz3hwnAY;Q&B?i-s(d{$nxAM+Ql3|Ia}ZA|yKYpFt92 zgapZu)j4t_(XoHK%#Z*X8!PL-7_$EnB>69k+5b0?ssFml|GWeLCyN;YmTa&z z__J6#6E)ZEZ}3x}xk?MNcj`m6M-$byUpm9xzjhilYM-qC1CV)}BXDTLqLCIeqALa@ zK*smHI%4lh#6K1@2%i-#=hyS?(N7;O(foTTx(d%ZQe5@MVkubl@wn<+^#v;g#r``;@{h$V z7rlQi@ZSKLiZIN-DvLZVgt;~-Hjumb-$4>+n9!a7hNJl4%=@p;w%L#tvwr}xPU6k4 zD_luPi&>r$EVM+cFf~r=Lm{*Ii}V0<`?v9=A3ndg9e9<{ll7b4+cJ8F<+I)Y9VGc& z^*bls<EM^8|7S69cUvJxmlJ39!5%IqPWQ7qK0Z;Y|a{e78`QHFCD~-T+ z7<)EN#xqtnZ6lP2rQM`Ri&^is%1S!wlhA(vGMmDYyZ#dRw8Oy8x8Ec2Y|dS^q}(MN z5e8)mA)ZZ34SAJAmUYFQp~=l*<5tNnlmA%EMuN*zX78?fG8g_7XEtH{3m_w;moRE% z~23a&G=;Zy1}#XFvW8@@yK?qHSyT`%ro)C7v+25sV`(D?#zq6 zjpWFSPlMNagow1|^(3yYat{}Fs(H!C6+52Cn`8E8g}2|b?6Tqe8jg~;r+qw# zhsz9Ps{(iPEdY?CMgr(CayWnqc%z?cyaSMXXXw%ZcvZuj$YQk<0K7p=t1wJnIEYD! z18_No6MSk12qM8qkrPS{1AqcEAw!0^{BSOg?RCWB@;l`0|3@N zWYOgmxc?f5!^%4hP{L3`zG9(9-gdqRNhgBYKFaGR_WNar3Zm8LN<&x2eSpBuCy6C^E^2RS~K#?5h|R%ZFmj z2?vD?MxwEtGipp((jLd0;W&lO z^IILDhA|VHz?JfQDwBgqFyrj*5kX)yx|Rft^S@uo(u-nbV_y0Tl45;U#T*V2>XsItz#7BxidF z7J3KXMKM@~RF5kJ!izfcY02B{E655RF3u`#956rQR`sdO(-F6)m|U(MBK<*x-h{Lo zJkbbQEkrB_8>92PsHz;6%f!~d3&e8CB(i`sY(x`=n<;CL&#q-hih17JEb&Jbq9 z=@zF1W{bf}!q?me`6=u8)L#r?fmRcX3#4(>+~|pI`oZXtaI~N);Mq*1Hhskm%3Mzb z=VG-?fZoTT_R1a#*LByoi(}flr`;B=U*1vLfD3yeiKz7zvT{nMfxJ^=q!jBVxDL9$ zdQa<&$FH7q2U*P$NQWaOkTRMDMgdsTF+Q#R@x?g(Y;_R1VYB`W8D1@&*OhTa5f?hb z&>;fD_{^ZvtAOnmq|Ys<^jM)^E-c3i9+>Gm zJ9eiIKhhgNmgdG*lmW44X9vbKT0QckZO0&Z=iL0!ENK3P<1*$c+($$j6-A5R8#M@Y zZuN4(!d@~D1EsqUOaKFsMZ&KVz!}00H6+ex^IfRsyy03}=x4rab4Y=j3!o>DnQtrh z5t5Q`N1^4_whivhHQoGbjsiC2l;J@zg2|-4@nxKEuH8|QXI!WLwD#YgV?xYlG;M@l zW+Sa?Tkg~dQ;)EGFy`1tJ;)16KQ(xkJ&y&6+G|j7AY@q)Oapgk9rqr+1}AR?mt)G| z(0ftyJx>!3g7Jo6j!VzzfY1`b6l1RSY+yA%(mr$)%1BVpEQCEPkSPneaSkETm4ST* zQ2?$D{r)Jk5R5<{8dHycAtC`R$Wr2a9&hH@sZd7muz?^iNj+u3t6;P&U?<@{jOpFS zIfn>V=+#GgTod9$3kc?%nc^-{hXvGQ4ti|iD5nJ8(uHHugH~q%yj2AnR@v=22#v*a za_KPYEP$}WaYW$xrV<%prgD6(5ugp43j$LHgBoYew#)$%%`g~!kjb1Y#_4wv8D#@R zA~C6^mtnp;$yjLG4ltqTx%2uhf#^5hJ#a{%9TKUgDga2^L1dZkW1G>GFc2Xu2AeOE zvC@$?lDLy464nkP()vC+=WWCeuGI6yV+XS&K}r?uG-^N;ym9#E0Oe;86%6z(3Eo2f z;&oE&uN^23IFyc@D7GeEay%Xt?xmju*1QcvT?<0j@{+C(xOy6Zj`_94B~D*7799d; zvd7hn0F*A^B`hN0KB5X2qE8fnBRjZ@EfK#1gnYcsC?=6XfGbQ;^6fj(OQ$?V2*?Cv zpy%dO7{}-xnlcBq{zzn)A3!!9evshCGXQB$B3b`HOo^3Dk_FUaqmUpXlb=SpH{}z# zD5nV1r%_dUlHEj6SHkx!%xrTa=aNA6bKa-eMBA>3%zR(OWxNLqA)>dCo4zm0Gr_E) zF(`adMSHxX%0!oaP`g`5WMC*Eb086`NnlR=esCHoJe2A*i__Gj?H024n+Wxe7$*`$ zIi?x*(^y#HEr})6pFK=u-1`yRi3XG@>g^R0Oe}sI<`D#P)pwq~2B4WB?Y(GhwlF3f z= zoR9~{6kpF>&raU zydPRulNkq!X}nG2Hh2RA7qH006AVIW3SPr!3i-}*CG0_l`JiMKGM>h4rVbw>8QI)B zXyuc9P;9Y%mP?!)l$@6{e4m_P)x9PevY1bFwNuQb<@Ku&LY!H|(@`WU<4mNICBawx z^h}dA%3FBcwdpS3YMwmgV?mx9G=%^~u3tW!$-u1d0D1);2H5s%_n2hamUDjJtodcGFn@ivn2R+gwHM=VHP9SBD)zjrSy z6B5hn9ePA*W4YF{ru?>yweUv>MeD34(pe=q01b6;Uv;aUd7Z;<)dIstIlHf}b9Y|~ zhB#7^)g;B>*5_<0<-OtPvWcp=Oo14FjOe^=3B~ColtB_>08bdWez$4G+oOLjkS?`* za3JQDFEI|dmz=NN#v8bdQf-82M}lb&5hAKu%03Ae)ob>^P-W1C4@zeUAx5qEP7xIiA0}%qj!(|% z!-upq@5h4#Q^@S$UD}|iW| tMP($RnX0A9ljxaSyZeE_K26ZG``aZcNuQO2kt+2!X&%=SMlzk!z* z#hO4dC~qKWzxvU`e-M_&qH2xORgIB#)a1`>jB>2gLGl)w#O0tr- zdM@~{78n2TnXKPmyM8CV5l&ANfnLlx`zU7F(C2vYm+5StVin2UY$~SMrae72$zs7V$Bfw3< zcp+)H*hPP|^ur)#e%8i|e+Nm@r*u5G^!^Ew7)eRIdE81t-+os{@l0y_gXgvd zGDy<8ZTD;27HKgX*)~63P5DA2FGcK3yW{4`{9J11`PvR4r`TB6rn~WO04)O?LA&A0 zy-N|ZD;K?EQzi;w+>;^L`)<6$5wW-Wo-X3CwW4b;V}vVEYCk7^)sLGx%~mkCb-%=x zK3?FQ-@bX}# zRpNI#YnbuBf+U&ICrBs&XXE%m>XdL{^OTkdbCmA##VOufK9rSHFwawLy0cimGh&`O zQqQyK2Xa!nBf7JK7X zbK3h~um4|o2mZ_9MyJu*e2dJB7rz~CZMnbxUqd4QDuXD;Sv%u@&9VI%yKyWG$3( zJGh7#X;iI!|Kh%(IKlQ#y*TFa{&>!lKwP=*%hdg8HxHG>1tT+E^x1?kf@7Hk?^s-I znlYp4s^Q&t*K4k*@6k8u&j~#X=km)v)wUDbZnq8s@2+o7W*yt^uU@OT{kePIEdGuSrED4 zQ>d)?vPwEe?G3Ebr;k&YH#(z4ll=#)IP**MxHoHNPoATx#^{xylzmmkpAU2Ds2pCB@5%{Kb-!jodir1NiJnh-jf;pfvJZ`f{M}fxtF#NrF}xV?`vjMUKkV?pA4jisa~nj%Bt>CdMZQ zT`lM51&+B--g@uO){=hk^i3nAo4ty2->@xrtaIy+o7P-wYW z^3e;;;BT-~4VxsFw)T+faJH^!$ySL~kITR;!n3wEs;AUuQn0iAm{dJ3&Box}{lXNu zj=h7cEGdHO`P!2@<>9TuFB!PAdxNZvQzYSzp>A_W9}?1*X>gs|46`@y;+ubCm+K9O zE_3V8@SND#sgZFc-V6$>{@E&W`^CR}|1PiX*HM{QVB^~gWMm#D_F0QK%mlBpt`*(( z)RKI$L-nOzC-FYld&khVY6tRG$nj|yH#ISoN2Hs9J3KhJ>RkpP)brA<@~s)(2J3ht z4_BGJk0z@c4IO)*1k&NQ5%eyB)U{uY`13ozFtfk5uLjgTp)p_hx7Y{^27#XrZ<(>p zxeypbLar4F!D!pbNQc|K=!M!;*oTLT21JU6?H9Xc>utum=@ExxaN0)jj)YY~%~xa~ z`n}vQnd^$t*8|Mi_*_|3Cq3g~BaobqdW$ZFJE54?^K_n4TA87q$y8fN!Cw8I=J)(D za9K?ueaWU)d9qw?dO^|KmQ1~!m>Kb^E8dSbB(FEb1RCS%%3o6*zWvfSYa>%zNn~Vg zDCGXzPshwG>sRu}giYTmmdlFZv?EIWl(>asC$Cr!I)~6EzO{4}&#UvJFVFLr(A4Xi z4j4PRN5uutZMktzN*TTok}W^Hh-e$Q+&#Kdx=-KqypFtW*>SgXSrvG5PU>J4UN+&(QB}MepH+bhwGoK2ah=I^0&zd=3K1zoPp-N$>{zeV1~4h3YAY z$#o^>eA`)kp0W9Ld0Q&z(em$l3dH*DX!$Vj`aO{N@j(2ISp1DE{q82;Xb1U6Y57%} z`5WtbzhSd77YR^}S2_y}__XE0(igA-3Q%wg_?#H0tg#}L~`OS@VLDn-k)f05mDQB8{diW&Vv z)ccQcl-8d0!fdQg16&UqB9;_4TN~H76IaO>t;rrwArpIs8UI1l-EsijRv%x8;r;oO zk)?>um*8;!EDIag1a7_<%e91Wx8(3(Qr`hm_fOyaDd_C5V*|0Z!uMXip-3bc2#qd$ ztwaK7l>- z=RmB3a(IKNL;3HNAGay(w{JD|Lb})?-Y&^~$`peQsS$i}`MarcxaMYEJ{ok>HoPMNckb~1v< zlB^Q51a~uFmKnd;vtwDJ=-o0!_p*pW(%IaQj<^uMWM=`DtYXnj?xJjJ{U7J-ky1G6 zl9V}P{XY_}GBsVIz;E10nM2Y> zcXMe9vOZ8+Fg5;QaLZOK%G3=>`6TA?Oe`Ovo9}ezpztK0r7_PvIe#H2AMWPsBUa!R zk~h$o=R}q-kFYGTG$@Fm)b)=_jM^uT5Xqa?_c1jnd{tR!zE+ruLz4N#I3%P{fh_DN zd68{LMpbSB&s|!PTR}-taM`>Qvy#tG%Zyl+g34rgoh^FlL!vuL8#BMJm7mOich24v_EyM41ZZjUH%xAXFHD zSqY$?0{u8a+L$2Z5(c(CfI0?T-9@=n0x(_>(#&>e0IrY&U~mAJ9{I7rm&#JZ1b46r za50aJSeKEsSKxXBsH-KorU00?1ffELb_$@j17LA5=4t8UplI4F5Kj}BM74?;!9hZ3 z0{o^d|BF-YgNkxG2u2b26~-l@ZK}qiFTV>xxrrKD(df$wO&U<$I9M>xGK7-L#kv9miPtm~wKokhWQoPls$@^fZwF(B@ zN;KZm*&?0eP~g}SNHuIV#*IhUtV9J+X2d{C2dyWeRru1a_;=ZF&uUOA02EFL!9w}p zgEp-=ohbtlHgzSnN*j%RTjcxFZgB{@39z=`rjIUqY*-0RbtSRxprkL~;{c;0aFf4UULiYTFQApVq^$ zwo|~(lNL0407JSQQ&a5WpiQCqm-gbX*1I-MJys+K>)U9B@7q<4#qj?yYSV!bMQa`Mg!8S zE6R$n~ff(l}5sz5abB+?p87iI?E_ey}8Rk)fFYT){u zS^cfDh&Np%EzOHo{e+r;HFZ^&Y6Tweq>OSsB}H#B)y!G(3;@*Diuc~k1CHuFO5s&3 zX+!XsLHxDK6v>5(g<3y#$b$h$>sy<(B-oqkw|?#v*4X?$UJZBHP(v8NmeO7EtqhOX+M+poltP=A@jKbv z7vC9;91kuIsf{N#gPp9wQ(|Kp*rRIW-3RL6zel}!hm};~D=v%xT4>qdht`u`tRxHtBWN~k*}Y!ikFhT_iL?%%hL-hl&GNh%k$GI5qMQR@U975`5V^u5DIuBaLejr+lmd>WnR>Jd>z)30w|=wsl&wX5p`F1$TQv{+%te240v4t z_QqW?1R@x!;MMu1T;raERAKYu->9ZP)uZ<0Re=>t0I~`o4Q#*h2T@@l*BH<^)#lC6 zIsl01BLm{$Rg|j$EEA|}2FHaO9as|M0wT~%Ae#UMy1I@TB|-)}av=i6jvPLUgJ7Bc zY0pb7J-4K!fK6Ip+jAU{269nBC=r{rY{d1*D_jMZ(uKFVr_rMTTD&9Ii=&g}(S&a; zxZY*E1f3|-rNoiK$g}QS!@8YhkPA`!L+hGc)X}okslNH~-@%eBBQdf}9Rk=H(ef}J zB5U<~M0sb#8L70`M~@S1a2weP00BfW35aJriX3+;Kz8TcbeC#rAWG?DeRI&x@@UPQ zjaLu5wC)$=h_0u!34kle@?hb5FLT)TUni}2612^xo(??YhyZD*+ z^Pj2gV8b^T9mj3RB^DnIkR6@K3PH{L*O#ZSYl9*{Fe5P(*Z}}9hh$!|dxF+NuIGMi z6--{Ua}T0sf(}bgoy+17jTKt{AmmC!w$~Y1IS2xvaD5jx{RXBrynRh8;xxLU8KKHR z2s{+682v5%`fLrV1>nM`UbO-vc*&-%kjW5Xigu9SvtG#RjUQtiqLk&!iexhYi3+}0Z#{GE2E#NH;VELfq z)5^84b^u@sCUOfvdR;CAim4{@FNd2C3YvC*yB3ooHjG6(6$_;U-3LQf<#T3xCJH7q zA1~UO2}mVf(&G`0@?Q=&`EXkKe>vRp)YGK=DRuU>i*!njdy;hybj#kfc%tLR!KP3M zrA^pGUzWNrNu<9dWJ%p!IkCAGY+_m*qAh8zW1k%aGCooqas%M_#kJ& z>h_Ctf4eW2BBs(?8&v2@XlHjeU%Dzvx;q#qgjwJ2gN2BWwUXk+&xXsg%`Wi2RA$Ysd8x|N zL(GY`_}*bWOm;Aa5x<|)0>I-}BAOOh!oilpWRM;MR$5aJ#4xBY3w&g-JKIqhqtJAH zu{ceFf33{yPfey`>ETSM{db3(!FVdOM+!8}sn}2Y{j}J@@YKzEfG_6O$POZ%meY6JJ6Fy@I+(%6=bDMU|Lw9|kqP(LJ0e z11L^}p$F>=m+M32ZdADKjno1F|8O8-Hu6y|q$=_u>0@5QhZH`eIko{oV|}K(Rh3E8 zeKVDq%4mkN?0P$AYtD__VJslwRdBjZHK(< zogDr$4%u)m?U-Fo9w_F%Hd?>R?c8TytgxVq>SK%JzZ`B|Xn=s^4?yjZ)Rq|0OW?D_ zucBtx+VppUYe1c6Pc&QidyDH%MxfMP*+`k>kIx*hg|_5r>bV;+U>4&)x{Wt(*T%g{ zTIsS<`X*Tf0T7bONNrg)7 zp5c?SZtX-|EGHaCTyzM)3P;UK-Lm)FP?&rJb9`pH%<(UWo5Pvyw7Ur_$rUeetCmL| z2ifqqs=s;!%Eqa`zU5grWV_*kUIS;8B}!hLIXQ6 zMb8~BcGaNa=@yat-slwA^d(`EsH(Cx&qW#ya ze{%5b{*AWbzPJg>2Ba1_HZ?vIPr!%Q{+Ly^`}UY3gxn{OK=1t=;Ow%x#w{Y1|B}b3 zDYxG?>tz?K0v|eI^Gm`7md=GZ>z9@B2Gc^qJ;J^AbH}(Elk8j#C#lw6WIf9@Ep;9w z{RsQ$IO?XBni~=3LT*g;Q0-htD{j)jw$5FPT1(2&Xe0aHE%>l0~G{ol*D$rBI|$n9RK$6 z!^@LHI^1FzJ_S-pMq?W~5AXZ;=gR*#_TDP0t@mBHO@ak&5-hm86sKr|ODRQ)yE}zK zu|gZ%-QC^YAr#l*TBNwQ&|+;VAHV%STh1BZ`Np|87yDx09)kqvO(UB~GMk%^_yBcyqyg!9{vdy9foikZUICvV0?7WP6s zyPofmC{m*<9_R2^9I@@MUgJ4kVtSz-+NHmVx&^IY_1%Q$Ij*zasB|V0dJQmf69)({ z*r*fKXN6Jhu67vc_2+nv$Qkd5vUHg+54Tv=l?XUl;P=>2drw%!I5Zzp$YJR~rY;U# zG19-UnUE;;*+{w<93&jDrQ!zB45bwcE38Yi_{=M8z%!q+89w=z-gv~8s5Bh9_k;qG z`WZjF{>A!fYR->`c)vLdH#P9xE_Fw`| z*4)U3RME5Q#+kmwhTd%St!7Et8*)8{L$Of4t2GSkv?FIJXd9QQab~_;AESkKwM-nJ zE-HZ9B*0k8^!{&;&bfBEmbR9h9}Ilh*EQX0x6}XrbqLVSJ0b(OR_XNq5pOk?R&cNm z6hOMRZVvrKPv(tSv;^EX;b>Py0OE+)nxU{=kbW-i=J=HFb!B^wfGa{}$nf3gH{(H1 z-|6PcN*9v0FrpFQlHvkrTMorzZo}stdeI#vd+d{vzZUD^q?UBnpp%pC;KYd1rQn7U zyFv5#3kdc!QIG-tKLx!zree`!Q0&|GfUTTH7k~msUo2rCnF{{_Lk;G{BY}-;Vnv09 zb4qteM%NMG>~fF`eBx}By80CEA{wK^20jb#b4CNwN+nbB_N*zA20+MAqMx``8W;y^ zQ4V+oY=v*wi;D`vUFeb?@R8VMeO+c|VVmF7xT}9 zeaoRzyvbtmNZF!pvwZR&{5>K`vB%~8Vnwo`LNSg4fCJ75_wJCZuSiDWNIWNpL(@oLSR~Lgl8-kr@L3YZ zi;*4Hwkw9wjHt52pA^NT&tHLvFF%cTHjd`)vf1+?1B(a}|0u;3Ddk%#yZhh|g7S-! zl+hf=Dxz4?o7&3fmFM)RD}O4R`HU5?Dtmqb7k(LY3lb{(GuFIYx{9D^@)>Uw$15`A zX|^2iB&zLyrr4;WEd4{cPn}Avf4r}Yp~_#VC+USXIct$rd)({dV#bM)ESkQbWb!}8 z38f~IDn)0 zk!?NtIYj{~f(s}&`Acl`y+|y4p*^51@@wkak@BvgVm3&rCoJ~oY08!R=RfW_3&*T? zoG(ysCtu%{oXvj*1?Lz;bOGw`$TGo6(N^=iG|r8)+i`l~T=TB|1J!P)RJ1%d_*hWl3p2_u}unw%na zODc)n$+!;!R}FXwK7YzN;qD~1tJxHQ;#ya z`obA0t@$}*wM_TtM#Fi<>;(BMO@)^#N`v#<8IQ@nan|PfH)Hc^dvWp-FJvSLUTM|F z@yM%NEzIZ12mhIO{yLAOEEjTGFnC$6t3~pr_T8c`xWxFAu+W((#&H@*`gE%;3_!*I|=rm8DwtUe_q7SPZmc zJ~v!`2*(h~<5_4%@`q*fN9^h1>hIW6?yYxj?>OG+8_Rp+!TWO6A7<_)O)2XG~Kd3!jq&XzGoa1U(LOj)zXlPSq zIL>8gH)&|4(z9{;WionRHrlWg-*87IqK;`j%ZO~^-f&!WYQ|~ZU&2TyXnlEsa@Fa} z!)mflAXqJswln#q(aEL$T(Qw+_uNME;+O0fU7)fT^Xn~|VtdtVyOYZ7f^AW0;>)j% z)~aG#(+o~9^!M@g^_?nu7nIYDGP;S3FW(us{g9uzTH3ki8N;ZIl&X9?Xlxj0Vkx*; z1JFxh`m&b2DSo{9ptTV$vU~)N1!$YjQkn9U1AfaDCPSZqW40!_!X(~py%C*DS=hpN zUb|p=f-Ob_g{a& z%_yfnGhpHehV|SCt`$$R-QUmZO+e7)wmEXlMg|8!Ia@$#EvBJu9?b2qViFFLodjWh*|VA*jvfm;UUim@9Rvw3l}8r0Bp#U%{E&E; zb74p6%%B}%8N|CIS7Ld{8HRJdb>_GWN#9kz-Yq)Zwa4Cj#cZ`lv8N%w_mqD3gYnn3rS!W!oxi)fJu`YkLD@%|{qV?9l1J28bQ zBju>8|0wyxL6-bp_LNqxs#Tt(StiMGm6KIr%3dL}N&$g(z11@Iq9mcb z<#==OxGLwcX2X7e?l>>UrjFnwm+Iu3;z=XsV$r!>3&~D|fkRu*LKLQ5dGQHFi$liB zNtgU~53@#Nk5#YrSo;UlzQxy{tgQ#8Y=*QQ*WR5H@O~YR*}6(|?1^z4BN6Gh#&2Cb zCD}h+0H1y4UZ2>An_+g6lXIHaJ)06bn_ui)im_N3B3lh{vOL=h7(IJftNF4{4d2{9 zyG;gf5jans*{yM(t2sH%>7MU8&+c!S?JhzNJ)9Yn&e=&Qj%&`z7tW^-&(El5zU8!@ zV7?K*I<19%yOgj0c^>sc`^|giZv`K|VZ?kZ&H1)!^=4}18&l1<-;z!D)ZZG;-#l1b z0&Z|ZnZLi0`<@{59bISAp4!F1%|*=ddkt$QPOi%+Me7k>3l9FU}DcM70ih2RdY-7tKK~z}k!Wsq-84UCP{})@#>P%uCuOJ#w8TlIM<$ zEN}7nFa0&&E`7LUdYB@8+RU7K`Kje?K=dWYM+@rDZ!2!!a+6l_l(s$Cll+J&eyg`} z$^Y$A(B?It%@2PSH|cEKu9zQjfo=g*mtvu(5(huruWW^FUW+~aun;_w-dqy-d@Qc; z)AqHy0?AML;c`Vl z6OE^LsgRd2&P|Kwg5(X8@s;23tmbq0qr;7t=~nIA%^|m!dH;>$)02nb&+{QV>R|^r z&ZS<=3!b*GZX*>~!i6afuDoJmg2nkK>$=7V*z>D= zSghoUZncSe&2ydF2cLqEUiGc#J5xT5xgAZpuFb9LbvGuhHtKDj2LrsW?Vem6Z+_uf zz3>|9I!@mK1^K?*uxuOOy`VpV>3>EZCdU-K%3J^7x&68Q zWrf=OGjj50@X5U{@1F1pKIrny&*9r2NjOxAh}^adZUo;&*)e6OT_j=hSJi3Cxp8t?vQwABWq9 zf~gIj@qS(aRQVZQu&)$&C79U0jV_cb#U{_0*5?_0I8(+gp%$5F$#ytb$L+R0CtpfI z7|%ZrHxXvW9dq&He;jVghZg4la=10vSemL_>lP-cD~m8Ws3q+0I%#XPGd-jl356D$ znEHq?r(4;VT3MTCv@>TqEn)-!(aVpRv)`>AEoAw)dj8{ZD?e~AJNq|>8~I{h=^hz# zMyTkoGOx&MrlZVgX&<(d^orO1#fh#JY-RZokCBKtKT-CI@(N|BR%wa+QAPcjzMbn@ zvM5JQ`!%+MVb}35jyi>3zZUEI$lsqv4z?6K*0$3B=4>+J#a(K$C);vtTCsn>(_H!P zABP+J-C5;w#Cz@ztXW;djxJ<@Vn{?Y%eFanc7oJ$c%Pk;?cz z1x(S!)1Sx|b=ZUdLcBf?igwL2Nak?5*s-qH#XGWU{zq$=F4On&A(`g)9{U(qXBXLc z>EIu}Nx`Q=jSlP-LJgA=wWE!?h&NX`pXDgJtETm#egbnZ6SIDXii$}HE^x~=H+|61 z>26L}vyrP=GK`eCM(h??3$55y-V?5tG>7%~9q5!PJPV<`Bv?}w|M_mnd81mE zVbk|}nL_Wq=jVO_NY>o%L(|)Bw~v1ZKDiN#mG1vYdUm@}`26ET(y z1yMm0J4&2OpE25@YsdGKV%mHkR9(G@!RlAou#`t_^n1KS+Q5=ebOF2mLB6|(Y-z^H27URPZwRC6V zF7yzLm5`6^9%tgg#*!s<4oMbGryh?Yo3NrzM2@+C<_b-b>ELb5=>BPSrXerm@Rr}9 z_kD>1N-04}zAUGBnU|KptIG> z>dhwqEe&SH*T)DSolXCB;3GO;!f&EHm%WeaEqsMNA4e*e16z7q zKE4_cE~3Bt#fj_LS2Z7A!X@%$^P26iYC|xz+kILk zUDn@Y-qM(sk!>Txu{x8`(o`bBWv^Mey3o+lT;s>(Xu+|zGTYM9(#_@UR=Ku*+0xo` z&*c)x@#QP5wQWd(`|YC(ZjZ0Eeaes9y^v%5NTao5v76hYv2y+FZENSoJ-1gs$HqlM zYuCQSQ=hrYjjM*%?sLDVzB?S7ceAZM*WFJ){HWZ#zijROd;b)P#<>L~Y(rs6@&pi8 zZDH`Y^$~pF31Z;OkU0`{xgT`SZ}Y4y6b?rb8qJ3J9wY<@h^hVm=5IF>oCzX?Dz}^azyjS0BA}`~St^ zmZF9DcM};Mfb$3l2HgWr0HJ^X{vAQ`$H&K`qk#?%4wjdf;l%%}LAAEFKFY`j{CLaC z%Kjf~P_BxUk4mzCG-NC+|7=2$;XH0a2{AnRuWL|`J5UJ3b3Zkj|Jj84Z@ByOKd6jWP>9bFGLKwr>}^qhI6fwV zR_!|~2uP=>LG_~Lv@eC83}ng!kdkhZm>kQd&|>sQhtM*zZfTnN13@IJd4S}aul-Mz ztf>%m2S{u)T$&(LBwYXy3*xYW_tqRV zT<5by09(FoVgo6sE9$NTKv60ppZvr{qH(AAE;1hm~FttR9Ri`;Z1+5_|zPq2c{$~OIxyL zKmbt!My@_44-e1;z^XW_18RB=Fxb_yEqJ}nRF{VUv=PHYF*tc1eW+YWB)|mdu^pqX zp)9}v0F#acP-yuVhm30dQgMrl&AfGK379H?J`lPt@n)hah$%C^`N$H5 zMktWCZ;DBoY@}~CL>8|_;wLW^MilMwIvk5>8j(rVbyt`b1Pijvq=Qc*^GK-bbipxf zW2MsA->oUKg00Cv1>!L-tS31=Vb{iGnKF^3l~y5n&i~4{>vuZXjAzLZW;U zV|C@w9TMnE_p`DB|E2p0TKl5NNnUq`u7L+OG>)#(ra8<(0UK_LNS%}nXKn`hE$&6o z0UwKdqt-vk9Ckg{Hca>uGU?ms>IK&n97hk&!<%O~rqNC-1hdMS@5j!1h&GPjfbAaF zd4Wf7f09*!8J25%0h$g=0QB6S05f8SG@9-o%FI~+JYSW*;hkc1oe}Vd7d36cQ~*=( zONqQ6XmsDRG+J8wx;Co^$eYNOz_*kE#^~`&yvm}j90HCtG4H2!`Woc=CNWn!6UsGS zonHikp+VoQHYfwQb>=>qqsaj@Ay4a&056*d9SRJH09o<}don#wJt2-e zUBgs5j$5f-NdgUx-6MlrS@0ihlElzVIaDegUTDoOrkt^cMi~cjzzVrV4&fFyBYWyJF7P$dx{}d*W?li8J);Rl$LtoKVCpbj_5oDq)CtQT7hN>qg0)BYsLpyB;)$> z<^IA315t9EEGk<-nn39rwqUkbor`Cpl_rfoDbgP z8xlrxr@XbRDB{F46X|%jE%Bh2SbJ+D5 zbFlmP=yu{)t>_^@#dR3HysIIpUnoP1X#ztLJwqfbU!DEYVcHU1JRjB;5@5Nd`mX3n zO_?5>ATLr}#H>KxrK#y&eOI@yDUY|0?IEs6kIyuT90`(knX-|WbzuBSq)DVhHl4>9 zfnNs&B_t_?8)AA7TSj6q<{`m{wMLjD2!OPUzfSQFuJ;-1#^?#pxO0Bev1(FI3BB%v zUlIbHB9I{YW29xxAs;!s9DT@QI*hZJjZQK3IiWqQ_)&-U=uJZ7F{Ql%Y&|Wtq&DDD z^N%Ok1*MTqBiaJ|{X_CVEo}Cz&E;YRLhoWpA&LM22&g8xQtJ;V05iv4JAl=+_7z$9 zDmy;}qivpHIdRF1Wmp&&j}b8G2xygki_ChBDolTropDZU1*s4V7||nhIJb}imdF^& z_-SVxFHuT8jT)JCBG6+4wCC{}un}z(S;AOIG0kQ9tmukenuylFo1FlSQZNj2_SbBs z(`;O}{aGN+HWIA6)iyeruG>Cg67-Vs(rKr&` ztJ5p5Re>{8ZS=&FBj6bc9VHlui5bAX8PeLs{1xCPoUnXDFV|5!sfgrQjl(YgEZ;*F z!Jdf?B{)neMi&AEyu8$zH)a%!x=8h+o>(@ym(4*pTl4(Lhs1Ye1SNZ;KpJy;NqNai z_Af`=ugN);nXangw{;4vz7T>?R27=UHw;WpNX|qMATIw>0aF}_3npcvmQ#*Xx9ubj5mKEo z50-m&NADi|mFIbYRX`16jiHuOE=^!(!4&uGhh`)YK1jb{M3|{$rtJ6lrz_@lD_@v= zn8D?rte6dtq=et!DzLVZCwzH|03K!ohNF4>I8QXP5ddaNwm+^c0>scWk}9!{Y|}nq zAhZ`$asO=_%9%-vcJ2Wdm}X`yan=k6UAf?P7oDCZ7sZOK|4Cwm;PSj*iP6%)q|fs= zVvrqWjR#aQuqCxctkG64dL-iFE;1bjzec~hkqWDH#4|+BzyJ=~RP>$xrlx4q8+HJB z)wd!xS>sj@F+x%ZiL=DlnP%kTil*D5Nr7T|U-4%yD<@@VDMIs_4p$Y6)1+r{!n)`f zN}o+}yBG)X{9=jH&X9{@yGR=lL}B%{%VbTMZQD~Z0O9P36dJiDh~~W~*ob$oDR!|s z5=`U8$ZQc?yYd08b&%a-kXywq79CLad+%09sADb$9oZ&gC4jQK+)0x;?$v}|VWGcu ziRJ8J_}H!JC!MF6Sl0bb-R_T!5I14hZ)=pro7JuNz6tI7KhK`#J8ZcUf+&7ywiX(M zS%~!}e11ZUR%fEbZ{sL1@`Jy{Q6^i8o&PW`$OzThvxN^5i=@F?SV+~uP)#jQO|t;PWo2|;I`$jF1Fhf;`5^8z(`Wqw>h*ypaKcG+ z(aEpe-6{S&uE7*>L2T;!sicI(f^1LXLiy=J*uMh8qzNb8fgZ~~)XgD0{=hW!Fro+g zFf_FgQQfdmTUfDRus}U9hzUW53`wUC%LEevt;6iV+Q}o(C=wduXGEmW2$z_`KeC2$ zEr%o2^@o0jV5Eg~U_|l*^_rd$J*Jtl;DjN96nH#Q&-26h{R1uPb;jU?GJ}!qePJNi zsLF<*QZJYW332gW7=^k9&wPYuTJQ%r@#Jo}02F`;@L5#Q#ixy7{uE{XHA*HPIC2Y9 zwT=$vQ&X`eS-brRx+0u>4gCcs+7u#+Vvbe^YJYBnxfjRzT+0B-h|+97TwBAGsC|E){FqZX;f5K2ScDMrAQB^NM}h;< zkTwJI-@!;wf`owBKQk)$O2mp}L3a8+%(K=S50s;s1lvqkdNr}4*&Ns>isACWUKrNE&PJZ2WS z3FI8!v?lFj`D_vVK*qlg~At*VVXD7&1v@ zT5bm`NQa`r;h*f%`t4HiE}V0YB2x57%=G9c-R-f|^|!U?G9JpwqVM7-k01wDNqebj zTfnp|-n7RFBg(!UY$+W$Z7xNA4wZUprfaI(?fXO#=d=}wyId|RKP96tCH>BAwj5%D zmB^BxOG%fQS)a}0?+P!264$-Q;>&^GMRLq&!hE1#LcCq{U`64vcoFaycd(A&T)0^t zNqs)c=woxBkj6hRWG4L+R)J}X^G_X!d^w2~kLNcI}Nd;_XM&U5f2W%+IvG0Hgsi+T3W-!Q>7-V%#Mb48r zAq!bAF)&z#wkeScVHQGXRA62Zl~50nP$;!2jQrvIhtDKXZ5-&I<Avlq<|)~NGFZ0Q>m=tQr z5q;YOt+u4AOu`CtO2`b+2_unuEASi2{&3=CP8iyCP=M3fK!OWPTYS%{SpNJZ4VTVP z%mCI^0TDK6lJd8^C$UkLZ#q+wWRTNUyMnIR#Z1CkkjwU=x`y=NMyZ*mOtTg`(O?=D z2+ULOuU3_6XKZt+)3`?*8dSs9pvk*3l%?E>i@f5&GaC%8b?t1;GHcWDZ==m`^RaI_ zUlNImgvVFBTOn=lHEVyKpTiFaVh?*$rj%lbw!4l)ts{Y2ifuvWt-R3kf=JjGETZb) zR6;DZnAp@6xUjO{ZRQbK1fm@*37ureo#4y%E#|IBaF?ZjSAAv!)UHct46@$R^@OgQ zf~Xr;rz;wlBJ(|TevP_BtZd}LpmW6m5=+vfY0(op-WgcYqh&yH=ukH`4n5?M``Xf$ zMA~~h-hB7|*^kc7zE02I9Bq~3-P_CE!yuPg|MRFm9{vILie3TV{_fxXDp5SI@F*1xOEg_O1)zfyfrEO({c;l# zah<)|e|n9+1UB;zKFuGr$YL9J7!u7IQto1~jp~2bKjiG2^p5jWBs+?avfZ`H&-2eP z4_${l-bj%cp&#B0vn)21jB-gi3exm0R_fy5h*sjGGJbuhdYCIjcN1T4#vTN)aN9Ba&cyQK0HYHI< z)$nuQMpRdSiG6o}RBu7X#Dv4}q)MlOZ_9!mbWnUU{MUHz>DcO@$t}vMZSg6FKNGvY zQ@?R1CnqMih#>#j3^)ejf_?)I|6fSmBc}V8v*clcVa{SE34fFu|BKZ952pJMBJ@8${(GLl|E?ME1gMzB3jMF74wr=* z(uPFI#yyfc!_fvSWdJ$?4o4*JqoETU9e){ZEPWLTAegpPL(ux86JZLB+%-Nn1JtlI zEXg$v(Sop(Kw*!~0G&9^Qa(nWEqiGo8j0imSWC4*5DZ%&O-b_;umXz$&y=;VZ?zSP z=9WBST86~Hro_v05q{jq#e?I>(Y7`0<-mw>dBPCVtGyTsBv!V0eS33dCO#!m-}?ZI zn8JaotbLBhYi<7Yik;K`L230;6Y{Kdtrt6VG-{@8rl`Y!Nq-J>1RdYy$+Cqrb99_z zz*h{<*oOhtjc0oYI5b4h%P5~p0r2pWa%127%3zK^IsYqZxc%W5AjgAR1|YtLkoLib zq(iFT`5;SgZnQavSGyJNB&z8Eq9 zde*X`ps2oe*!*Nl&N1-p0?WmckU17WQ%##3!OtEA44x#RXSX<3XWB7Wg0dWOP zUC^*85&nVfR#)7;G|FXmEqPqD{=U}ac^Ae*ExURhkb}jX?BeQoNxtLixSu+bDw0e` zXwHQWQ+_$WL;4a3@X$%|d>But<@p%4i1q-JMcQ~mUF<+&q?Q?DY$CMI(-0vWP7pf8 z1?fP`*!=~Ki{`cNGP@B5-$HqIS1N)C3?T%PpG+*Ra;IY&$o{2rLG{=+J_I8->Y%8% zbH-#!w1BwT=2WzxoBI@pw{AxXfTaGk??ByH4oZMta!B*yp!czt>7>N;GwJM{8t5Jf zJ!3vmP5E(q3Dz!FXYLt$PW*)^u6lZ~!sPXxmVi3#ejh#$(mD&bYbom+2smASF2)rW zXRIRQPWY!_13sKcp;)R~W9Ia&^=IyMNoN1@@VMo8^)@3j-sQ`q2!(M<5G2{7s0VcKw+ihjT;gY?8g98ea4 z_PC!f)ojmGB0mOcEiv~ zcot>7OXwl2uC#PXwl5lBK!4Uesc6m^G-VM)KAb2YJ^ZK^#n2Y?i%5o_3%o?sKrz%T z3xJQH5X(n0=6yDRad$16%s^l=wIv9yKc~(3_VHVU0-^VzA`3+0D)BUFmkT+hwMe6eK5p8_*1G9gzR z72O64^TUGW?hg&|Q<kIjYr=*+^A1@w^mBhcCF_{2n$naGj$LTF5J z!1+VZhS%6wyj##Vf+X5_kQ4^DixLJpp!}8gkvGORAhE+Ti*^K{BT)dX4#+FzZbz!n znVa)#wSsy zfXAPj=5YEvg00q1@!VEfmhs(XI8ng<5Te!jb2i^M-J}}AlLBQqoH=dY$nCbYc((Rs z1YX<%o*^w7S=JN zIZ6eC$T{wC7JXIV0eB@7dkRIfM6Ba5g9CfBfOmMNXpEi_Aj|d5NYr7mDmLQPpag_$ ze0Yy1_Zj%RcpP?{pvs_`kBlWHkl6t-ge`e+&pA7uCd>$!Ar5m8^K;A%dzMMNj9mH% z1L$Gt1C2-&tDnAgAUBxp9{&=VDp7z`kv62`p7MV0I_XfWi`=Ajv@tLqcS+avVF3HN zyjo$qqNln3hFOlNm7#QMSHJ*$XK*#-I46$JY2BjX<%m{#fadq#(aW|9rs+LNhHf5k z#jCQtApd3^6Sr}dE(t!<`t-X7CD`;8c&+2iMVK?YwC|cRKfw?23z)kn-kgM5mLg_ z10vZFpXc?SxEJc~{6>0OPQ;<^!%u=Yfa8idgg8LW%!roOA7ln}XocWx1uiU@3bc5? z>Qn7rB4QMVDJ~P$3L>A=*}r6=@yCLBSqB*NdhdIh!w`Xz`D)2aB=GM+WV}HV`y_rg z2CvMXX)F_lEcmNlgpdP)AzB_LK%E!2gtjem!X(7%%On-0gg}TLG|$Nm46-gG+#Uj$ zK8z5WvxW)ChnC;?InH>k-;jb?ABM)I@D4wK4m?={rxmLuB zR$p!`;)5nFLtb6+TkmVEFuiNyV-jMDpP{dKjig3`VwVYPubd3&tTGNsL=TCIZiy<} z2+c#nxS#;ITNL#O$(&-CK1Rf|#lTnb5l?tRUd}{w0%IidHBK>zp9IIy;bVy{*94%BF&1Du>RS?5*p^viyZ6qZohD3j#jeP~w`Fsfb z-UcHJhpp?7O&rFIJ;tu4#qn35F7G0CHQWsAEyL6NfMf!v?(t&Kc^4nK>61ca^55{vp`kFBoVgw z2YAA}(U6B!$UfYfRxL_YJ-Mwfg}g5%X*tYilrS!xJSH95j13jgb-f0M2dogjTuI|?h+xg&zwmQ{YOTjF6rc!<>{dh=9 zG;eZ4rD&c(LNGYy4^}pnR5k%`W@>x}r)wrYFo0sl`)n!l-AcBqR4$%W9{tzXoWb71j)7-r|y1)(>6r(KL^R`{eo zKug&71qqM@VMw)HfB|$;|Mjsb4ah(WRJeJ26$<&@3iR67uX|{XWWTUfElIQaB_r0S z`m6%xYY+7hi6px*bryuc>wttf(DYTvFxbAhLaUIRI8`~oc>e=KTfm->6S<5N1=7@9 zxgv7~A~Bdp^=O5}DU`r0rGyrGjuOu)TIdgDbm7>7W-6$^S}kC}un!=`_?6Je>`<7QXED$HzsF*-J?5T}VL#m029Z0LWvI=but3ujfOO34=vKqCGw5Bm56D zAnFwLSBlMo4p7q@Q#XZ*-m5B`ai|>!+!MEO1*gOdr%u_v=|yU@-cSq4aU<^#^kbyd zA&Ex1fQyPXr5Q(+4qJgDg`d)@=6=d!FRc_?Ia1rM4ZAPj`#o8qSQ~meMX?y9JhS62 zqX5$1!Kcqu$6TzE7DGPzG|9FKqp$e0zTd!VR9NvUuN*!kn) ztsIug3*~gj7ymec_%vEE{T(I@@=UHv4j&@A1w}xROb#1gsbdQ)8eu=5+ydCQ&5P*;(Vx9k?g3MdS`Hpa59H@pEL zaTKfya{8XknkjTnvGc~JGZNeJtKg@JvZQ@w!T#_fYPw#`jt{w*v0r|7USpx8mD9=o z*nJlaD@fkuB{P`%^_H^VXRX1;81_DlhpvLLBe~CLGnZ zBr(oi(e~!et6&H^tK;uy_TzedbqFWmoMZ-MPiDgoiAZ#2{=Z0KaMu=S{)&B z`G1kydPa|)O)O(@rgv0!IQlQAbm#Uv7Kmp}+IE-LM>b?f3&r}aj?5GrRjfX_?5pvk zNTgbeA6;p}A8e%((9x|b&t4-uS%Z8^B*yzfv)RLV_dGlhzYH6j%~FbIiq)&2KSYKrZ4IBQAS zb_8e3p}7%t&%Z*cJJHYf%XVVKuMc-(5twZM9!g~{-%U^vI(iJH%Cqeyz1FtdOV+h6 zw@Tu5KH5u_e22ZCW|?BQpKi;?Vx8gGaM&(@koj(-{2<5o`sg4RiOK#L zN+q#B%nxI(I4p<~IzB9P+doPzvQr;REsnFUI4a5VI6f*ZGsF4!P-+NMg*}CJYlTkj zr-!uTs-{JI)2fzz9GaSr>*JGJ6eh=M-M@uWM^eU4OsX|n9koAq5IZ%@Ydf4ZFI!ih zwS4h7Icpt#IiAv{6AMhZN<;)lW)BMEY9yJ zbW+Ffec&H!Ydv)v98~?-3Y-@ML^_TagK(Rwiy=9wiHl)oZ@kM9##G0Q5&irx_1(;^ zkD*i^imJC00!xmMq0~&_A6jDXhu=>9E0jv=^z$*4TK)51p;VSDysH6?S5E(gQvGZf zj_l8_mP~0z-YwezO}4pu+%-pJ@TQxrd*YAbV81ZWX^xz5tM7Gkeu^xiVoVe8P|p{5)TE9~zkkVL%Y;6W25} z6n42R5J#~tFlH_D3xY=kXT;eF-Q~-5NmDzhYuXX!g<5@psI@mT0bB?WNC5hG@u@S` zx5`mla#5tu8HQ>AK?aX}o>qoo_1qbTK>T(|LY}RkdHB4~m!`bwBq9Ou*+lJ}QPTnl zt`EHl9wjx3o?2-=IwW+aKrjHJZZq%T|E8C_!yM^I0br(k5&C5hpZ$H$6To`gThwg+JRdCmz8B8yUbn;n zKRgYkWz9!Su|hVme=xM5up)!M*XGbs z*hinQi2cMK2x)vzO+_&)Qk^s4E@HKQO#QkI3l0kku|Q~1Ty_;^>;hd2M^?bJNEsZ{ zDB6rKx>VA@-|puj_l#jHS)sxxe?aYBU*zA*Wmpm?6zCz^C!Tb*0s??5_q}(4ev}xB1r?KTuAX=B&41V|K5DHU$^su+|1dtrW z>$ct?0Lqn+NDb$S#`31nKZXp&)Srtb2fbx*cd+!aIcs8E-}#J@taQt61V^|c4vCYwD$a}c$%Heq-f$DY8qL0 zQxDUk0CNGC7kX5XZiK zxHydtJH#NPc?28eMxkdN^HJ z@UmLC>Odbm!50|Ytj^dw*$03U*PAD}AYp+w3f^N{BL_kN5U$HD{p>))u9wY0nAc?y zScFD zfoxS;N*w}&J+8xlh2dm(@2yn#p8ESJ2SC{|fHTfML>IY`#4QjfLVD7Z(i9w$RY{

    tm{(oM~ab@yaj@yC;uIMm_U>W#CB1q&^cf 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 literal 0 HcmV?d00001 diff --git a/_images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png b/_images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf54428e343810563e00e0c51136b6c3a952f31 GIT binary patch literal 23953 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 literal 0 HcmV?d00001 diff --git a/_images/603a3f197485612e5d2d7f77aef8972195897bccb91b0077121a68d6755c44fd.png b/_images/603a3f197485612e5d2d7f77aef8972195897bccb91b0077121a68d6755c44fd.png new file mode 100644 index 0000000000000000000000000000000000000000..616d2955f072370fffcb6099e335f347c03a9141 GIT binary patch literal 20351 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 literal 0 HcmV?d00001 diff --git a/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png b/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png new file mode 100644 index 0000000000000000000000000000000000000000..a519c9c5a21cf7e3cb8d7d8c240d3232f5d3a8f4 GIT binary patch literal 35005 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 literal 0 HcmV?d00001 diff --git a/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png b/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png new file mode 100644 index 0000000000000000000000000000000000000000..95e8495a40fa2edcf0da888dd714ebb0d799cd1b GIT binary patch literal 22192 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 F=D$~rzFPnQ literal 0 HcmV?d00001 diff --git a/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png b/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e80d12f6d785aecd42100ec94acdc0b821e278 GIT binary patch literal 84011 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

    w#XH-_EL3>2tCv~feR)pqxBmj*!56C{G#g5 zkmT+xQw4VrNFBlOVnqauL~L=kjBxzGv_VNATYM)n*)?a6fGVbFq$m_XHX1dGtuL}6 zbc^6d_0W(b7eEj704u@EF_<*-Fz9aYOndto0XijmnEV#S3)T(L4}vWWf56@%4xlPQ zyqR2&THm%JgYL z#E_l`8I{i+1bC(wJGH12;sSs_Z{bvY65sAK<5eWKc`GBU9Jb6AYIfoCJ^R5CHKaHEg{i>GdZ6h3iMZoBhtQaqtm8ADdtI zU%EnorjKm{M6=>T4)=fPqe=ZOh1HD)jKh&zk2g4&~O;(Cw#8_@Gwc&h*ouK-kve=Ry0i~^{-pzV(Oly zrXZ>jqF8Z3N!sh~LLW_^!69YOPf2v(J9erhcD^K0rr1z7!d$lBD9P04KPlm z;!UAv3Xj~4;-B;p>3p!0fRx@z|!%xh@;sa2Oo>kFu3N_N@(=qr% z>7UOL3!+GJBk+U(3F&0y#64#>Nh8kER{)Old={) z_Gb)1<~I8K$w2|G?&HD`p*zx}FPdl4E42WDlYo>c$mQ>Jrk)7Y7zBA1;A68H5!)Zc zI&;d{{SL5@tO*}@nVi}3kwAXbf)?m(0o`QE{vsdios7Uuh^6Yh@7t8ygNe`MoAiS5 zCEsAOADKrQ>mYp#Zx9=S0Zj;rv&=69$#(7#jS;)84)R656I-Q)h);f+ST>TWFpvY@ z=!Sflkk1bRloe(ylYSyTA(2HNs40;ERqowYzw8Srt`5mkeGvjz5&1nCiJMSfR}|q0SqBe5YAz+B z3&?Lpl%>MRC;6pxP_mF6hzqY^&#It$i)cYD#0~t940%s5%N?g^>ppLm|cKg3=BWoJjx6as?(2-+M?eON2l(B09E)z0>p^ zEmZ<1(q_M~I~j4Osfn_)ZoU!4Em!k31jG(Qka8fs*s0&^Lb$T^t|^T?la;(fap{%~ zcR^dyeTbJDc_q*SXR^)WL}n9_8`0KbO|+sgOdjDWIfpdJQd;D#V$^mqVx9x(x><80 zt4Z*<$tSv*H!HNY8G&5QTRX25z9gsPulyZW#s%8W)0Vk6BTg*I2@XmtEenoKkQoY* zxIi0CWrqioM^iDvS2VvYEONRD@x-)+p|aI^vf_72J0FuX%BYik((Cm_y8_f&I#6GG z-Ail8U!&(s3ya1HkO{reOO$F}xSPIknGqOF(U(rh_#T^=e|(A$en zxyn9jre2vAgo_oqhen~DStJ^>L}{7|H*P^V<=5NZZ$FqHD49=mTB5j6uS{A}e_@5V zUZ{M_<&T^|)9^+&gi--`?FNYnVOQ|<*@0TNhS*d%kGV;STu#j}#pqnBm(X=@w0n-I zIw9vU^Qv3DYy2%O-`j)HE-k}mBkd23M{s@OUf>l54Gt+SDa+e=GZ1=yAojFir-cnh z>}%&ZsmBKHnd+O_rk{FJO`>TfN8O7eWSxBvMWW!6VOt}nnxV9{T$OZJp%=R!)J3g6 zqP)WKV9|>i(o*B)LlL*mhqR@vW{APz#)9khe?oRdcU~5)dzMHjt$|1*fqKzu2qG($ zVhdNK?%W6a`b1$ALyd{b0ur-C6viEvT8N`3S)wCEN|0fvZzk@;`46W}X(`2)AvW>% z4^Zk8MWeivXlDOJ>y}CBIls=PnFuH@!wRnN>Ldj<88)`xK|$3C@euRKu5n-$=mo8M zkR+Ca%iY+W3C#ZBMR+JK)7zE4e1;PF6wkv`C|H)OlTaPJFBY+I z_8zjGA9r~xj7lz7nu}bWAH}nMtOr**&iZ3HocSA~T^e>F38iL@_;Md4RHl9f-6}kc zv8eA{r^zyWL&F&X>AlH%45q7vBUae^->Bam=8t)z-@I*x>{NzNdRE+f8`--Y;dJ_j zEP|$f8FIpi$J{$)TyBLj58W2-_y>7@=H8`TSBBb0p+iq(IQ^`(IFv0WwAP7cXN8l6 zI?-%TP(WWOnO30q7CZGu*W}3h?y#zWN{M-L>_4#-i+h7Z2$H-H|YjeO&QkmDmze0+t0L_E=sqbrmtbGZsQoZ z5n`gZ>A|)2(=w9EDI2XFroA;*J8v0-sKm%f|1o$nHS#o^iuf$()U@>(_iz_91Gfuw z=7zr`$yWVL#YCJAm3^@{*sd+u;bv!-8l$^sF!eEfKUUrIhWxnu;Ac_710wzwz0n=w z%6&6y@^G!jPWmpEH*`+IMbYUqfo<>^>zm5lyCv4{UnIy!{!q(XZ-l6eSf2RC9lo$;3e6&|J=>jqS-cjPG6 z4q|ALJR6P-Uq5F80hb)-ew!8Il+*k zPrVoiju>0)e`rA8f49+AB7R`N6JB}_7p4=5<1J0T@8hK?p{pAT-ZV0pnGcsInq@!k z@ifu!P-~PU&!Ah+#u=s$ndH2?vAQ@7GvK=IH+b!S1*dyNRXou8R2S-{Ap-s- zBj8Kwg5~MX@m_j4>h_=SzxmEfBp3x%xBMzETr1BdCQqWBC<@xQUsUd0ef~A1e!y|K zWr;b{8(U=suQupsSy2aZOOO-Zg>lX%Z=YU$Ek3oD?7})-@K*O z)84(##wV*bZMEg(n;41<#Vg#|b7*aod6e@@^q)=RwI%Nx-DP>cku29+S*Hm+fH8oL z3;$b6yIE9bhd&9ugg;9CI;EZBjzLdiCF3K1y1QQ3?9sP618+;Y5+^;`REWQ$-{$WI z?~;vUefha3>FKsgFs19l74=^!?Z#t*f2FijdiIsfKP&1hcv`A*5<<%&vCbn`MJ%VZ2AWO-_dl8)l3L`fZ-S|KQMReKSgbOK?LbRqOagUj+Sw zNHf&;S3~db81|)V|1kLt7m(X;`_uI=osa&J(!S9Zk>V2J)!_c=z@?e>hT$KNi=T&I`ZEkM zUVnc7#;6jvEn#0DHy4QoNjewEu`8tTZus*)Bw)>{cu2(4^RFrGQ0YtCI>h69d<{S3 z=qevm8T#|dP@Cpd%Fx>M@X6AF@Ty9_NQ;Yf@I<3T zMS=CNl=k|KDn*{fOMWH3{@c|`0^`yGqf;f=0t##&{RLD+w{xmh?tSeMP!&Jjs8)S| z!4_1L!eg#cdvr=B9;+-(b@)_W=0np*N0@mY+05oz}~DkA<{fC%mqkrwS1#(HYM9 zIiqb^-Yca0rhc&fqdHx^zRQ;Y;m<)QF;qQH`@K{ZZ|@D& zf2sTRQ`pGoIhLz{4TO6R*x0WyXUw?g_E`9f0NvWNwF&-Du`gN0Nuv!SYOx#J zV{VDNy{dbn(fHb4pE7>4?Uh%!Nuo{N&=#W;C4p%M_4>K#m~T9kn;aYonYY7W|4RV) z-?Fg(p|SXS@Bi-tz%>-Rj_SB(VSjf3u36YKA&P4aK=|LII{w4L{uQ|V=l%b&ci=xP z>_05*|JN)G6Zz&A;0v?ufWf%b0Kn`k0UEd-ebz6Na>47VUsDHcVLse{(1!x5zqm-g5V#% z9uI^q`W#pRe(jdOB^K5DNobF5?<{4^x|MpI=_tO+?C->IJNU=;GO82L~W z7=FFsMhF6bR&a&!<&11_T!GIGRLvw)X4a(S_*fWHqXz*8-2T{L2W+Vy{aYFB31fV* zBz=nJh*y&>qV2$L`3MKz%LHT)fL z;Q$G9KN@r-g&ou4!x$?h9^3>Xc?k8slXi*XKk)~|W^Q7m)au)D_?h4h^pML2fW>m# z)~7mn2Yam_PcMc^hz`Jl7v2N{5$@;Ba_ht$Ko}$17HPyBih@fAI8NLIZW}-9o07#@ zV~ZzIXOb3SRf>@8@Dw~`%=6&2DH0A~b=@V7ak%%OLV<3V?lZ_o`= zcQp>;GA%p2l9e$Xq0WtDs-ZKuL$HQvR*V@-rY+p$e0?H)sc(Y@3Ua~wZc(RvGq=yNCo#NUkRgI*h69>*Z}G60!FP|$*rJq0(@u5r9~EbGGC!y{@V_I zPWXCUVQ>O?rAt9vgmE#!)K833X2?M-nt{k(yk6+GcgdZBXC|@tzua|pWh_X4_>Pm| zembI{sAcJbYpvPS01vw@0{@b59RU-OblBTnT!(ixz2}~Z_nyYTth%I}3U(2feKv3@ zyMtqef58U8C~f8#&lM}w1$1Ms_+0D&CxbUBFN6Tw zu{K<4AWT0T!oGdf%P6O3Aqq?C6Po%^+C4PKC@Ri~l=gVkXDySyi)MaVA4-gt6!J9P z+&8deWTX2kr9{WT9K(%)QFZ`ySehVQ5Pdx;TEcq58B?NQlz}`7mSX_GhZ>D_X~bmj z`D{%|B+qK7)UKthLpb(K1h|rdzk>Y`04v5pnWKH#@AW=JQKZ-o2YEh8>n2Q!G}wd< zl8=Rj(fGvJSRe9&bD2fadOVXhan2@TI0%3km03rOO$L1K-|>ZuG95HmOInRa>$5i2 zjdcqs49LH^XP8ps?{ISODVB;)0XKNBFY_zcw>@7ipn2-0VH%$OHvc1kZ&L07FU=Qd z7qT2!&P&N7HMUnif&f<#0@YMDPt1~0KQy4r~W!&~H3_&6|hOu^G0G%8ban`TY+{ml0>ia{}KQ;w9Gm;PAA z-h`Nxr}nmRE#Q)tz4;M#$9%jhE%vUA{o}LQqsX%(SmPHtfWyeXNvQXXGungkn=`|t zH%aFMsug>Z%*Vf80=fB)KYHvzUS~mB2SPY7A`88ya`ufUr{}fet#n~DawVAro(37C zY(W$nq&5PrXRYhvRW19pAvN!z1nsHphmlVaFh-yr8xep z;i~>E5#-H8Zvw~^UGGb68^9^&h+6TDq4Z~te;^+Wr>K8!_Umz-iRE{yw=K^CXyM?S z(?Hukm+IFbjgcQVlP?|WE|%n5u}N`kd?dcC?}^MCEHr2x?8Slt?eJjN4|@e8Yz^yt z5RnfjN81whio=*3TzGXzmTu;8S20{fpU;G|G&=exo*^o+wab(86v_>GcnmZSp zLzb!SSpBPWtQa09-(52#xMH_!f+)g@<6DgvR0q9s-aV63;Arq=-wD9|=H_IgwZ{rS z7YN~J@^x-RxX9RV`Ge22k(Gf+_ucob+cp7-&O4f*ot9&rhV$)ckZTYT?uOK$Mgq43 zgzOT9?2?4EoZYCP_lY47w(V4tkTJVg|kdvx*5d9=TfuSPTmPuO3LwxN{VK=sryzXZxbYa1J zFR~i>Sp&H~h(N9+3m&J3om+o*iw*2e7J|~I=i?b|-}>9d300;|h(cG55Q&jJu?})m z9!aehLuV%f<3RQ~Q`HG&39QC+B_X(k5~#Dp_CgS}7RXsSq-=jYIiatBx+%)sTNL~t z=<|-<0wF?(tYk?OWHL8DgP#+mg%`Xp=}+6z%;e*9xa$K}$Wn_pAykr)ycS5ZA_P%E zCa*DgVhm{SMQhJfoit`MA6wsYM=&QNYE6)JT1Xe%oX3qh!mDOB3bBkvX*830*AdA- z%9UL==?DPPjgG_mO&Zb!~W zg5JHX0y;a>oINOiA@^rvMlns?UBVDbCNQlj4l5Y>l7l?&B3ZQ|F^)rn`WT=Bir9@U z&65!>gyigI$bjS`Ds|IOqO`M5OH7+s8qCSLoJ%-;+ypvbjO0SVOd_k4yUb7tFJB^; zSaHEZ9E)+G{!oGPLXot3Zh{yR1tg)EiYfQXc=_Vx!Lt33GCByTcbjQB`{L}q1l@8t_bS1K4+>#3VQ3We%4 zD%IJuO)hK2pgPiHYY8H#GBAtP*b+^M55QlVUqOwtM~a z;pRNumK&G_>#pK!MEj1z&XLIy@nN6pD{c$9am#R6@t^s6La8?=m+-sXa9m&O!wWdO!hMsQH`fGm*3r zAk6@c)?gf07rDAuA{~M^IT*E-I@ai$I@l*_feh2@#djHIFz$U=>A`Pli6b2Fe0mV- z%qY8Z5amjr?t9^wf;2#RQU!YmTa6Haqw!Eyk``E@2On;DrIqZ{NW=sGxw(o{MO?ik@*Bge@%A0hGZH9;zU=w> zGP(NrZiG|2SxRK3FWpeVfij$#p3>l~>ZcWOB>q`heTB>}HAB`$lXYhC0DhoN{;JSj zbzv30y2dPm{Oa6&vIWnxn12~TzD5rXl|qbVxl-pV)R2?r!g_bgCw;pWjbrP!H=}Aq z>yg7P3I-GiFN$z|ubt6mnMeqSJ6+=bm#eyUh-oXZathCG6=!lqGHc6p2=Tyxg6~ec zLGYG&TiYJq)+6JxZmm@;sckqoYw&vg#&RdtpZ5=3wqIl3j<9BVQ5pD9oH^(cFKEkd z5z+1h68rbFrbz7D#Fcg3Sha)DspMc!l#)$anF~8<-GYbHrpq3yOShVJ=6(qz9qCk7 z<`NTAVpX}x)A@<{U}KrZcgpT#F5VcI#HOU(W_>yZp%-#dx!rET@ER_WWbL~Rrw(v; z3Q52PtZk|I8XO~%gewm;SEpOKhe^wV)A-irt!oY?$Xkxww@kC5TSou%?M+ecl0jc7 zqFHCs$uVVcah>r8wEnr)t6z^M?}Q@h9v;zlew83~fsbugd)fOj#H|^8-tt6}7Ua0q zN0Qo@0+A&m(ceBZv=lKo`HW^uiol7yk)x!?WSGi;B2sduuf>U8+5MBpmg#e%hTmah zGu{3aAdhyv*>{4hl~IN`#dqKC9)BkaJ<^8u={vV%9~{Yf+y6LP;*|P9$MXY~`V%Mm znBTg%qjOLk{PisBm$dQW7z4_>e8z0@WPzdS$rlEV8@0miLsmA>V;-so{a=2^r$r@e z{)X+}yiO%mzBs%?hO`wr@!WDHC4cv2L4T52G2_%(ebYedCrisIkrz3AXTi|vNs*GP;fqY?_A8$oeEgT;Qm0Z9G^Jn9sk6=xd^q!XCNneYEISuD zz$-b=D-yox58h`w-ZZ0Qmz~>J!5NfO52#Nu5x)`RXSCj^k0ig1nSKY0qqM)y4H^FV zJWlcA%cUUr^Xl@Cs`2-z(l2+V&SH7!eGF-Sf29H-ut)N*#^S_pMp$qdg@k`_l<|MD zF!k)N5L$6B>|J%E{wO#fiY@8MYiTTMjW+*X2rDp=O!rey()Zi)ska<%rk+3jTVpYg zfh2oe7EZRZ;&-~xRo|yY&xynw2|sc?E)}h`#v$_E9VdDk=1h`8DXm>=9{Vdttgf_+ zNHD}J;PUv6dLt+8$sI!1qm@Jxf=7aI@QzGD;8zAAHj(X_UPhdS0J=%$fl)j@qW8&e zD^q!IHN_~Ek6{ME#J3V9=0tyD)G{6(mublV_+b@B#c%Xxg6|>j44irPepwy&+y+E@ z9TKnQ{CVfO`a&sj*UzIp3%*x)^Bt1MHN=hGuhPEV8O0}EBnw*hRm^%)x<{tfrB8Zc#{q$BEn4zKjO2$F<% zNg)({AJUYzDqYY)D)!dl#(m48(e8n=ej=&>0r>R7wK3-%l>r zudO%nUhvCv2GQ{6;O151*Kw3%$FflyU+^ml6c5MnagV=>?c$T-s8$x)B)6y~LJmc# zWUtLQWDAn$RI5snN$>hHVQy8dj7m|ZO-uxS4vSWoAN3dpBv^a@VqwoF6z}2OeWw05 z7AE@O?*AJLGY(?@2McR{^nBLjsVC*ESwe1|&VOfN{mk`x4&#r7^_^y4|HZ1EN+-%gflt=32@mEN%?tLkx?dv9uIO)iO%{b=r( zhr{>-JaNZKS=Ls^X;oQqr;p-aJ)CA`t$#bso94GVFWU5ryDYnGx4L}s#*=Ve4PtF` zU4JJl;kKDz+IHPooIvTmo1fq2zF*!i@%B(O^0!G_>7m!#<9^n5k00Z*4?KU)nzsM$ z=>CfQL$R43`v-nVw&?l$bi3XA`<odJ_J1r}`_B)% zz5~~Q5&XY(0o+nZ{a4xUI;i1MD4qO&bpc!_jOG5DZ1-2f*uTkk9Qs3l$#&OW0RJM} z70;F%b%$Pe0hIhhwkut%xBZ7~=lWxBdAPp(OFJ5ih(W2LVzoOM`8V0Fa=kz5mSVb6 zW7XzxqJZV+k;dxnYuPT0LHRG)?rE{XXjAR}Y{kprbmiu{!^H-N|B~%G{D^L-wER=H zYy7eOH`z|5wdv>n+}~uo*5=c%E8St38>;^%+kIOf&QNV{`+a%#WB<$e|6aD!Fk1~k znG~!B(mC(^PqN)w7;oSI2ia~jUeEbjwlfN3|A%asSGe`RWV=+yPv+Zcu3P^**)B?k zV>c&G!(ul#@t?9?W+2BuWV^hgy`qx3y}ja!J`BhH-vHx&X~S00ep$qD`M^={?5bo0UIHiIYowC^LEYubu??#VS_46Kg1NmQo}`_^gh zD-Y$Lc>E~7Y4i3_KwH%_fBHx7)vs6!8?Dn7q=MJW4@BIq=kB5H&rYN|$HXqJhu&R0 z|3($ibafJTT~)0&X!s;FsP)g|L9buPFdz-q(Lt>yk9lNdzjP`|f7jM?;@kk|_3h4H z3i!S4#mr#t2FcnuH6If4te}Tx3CQHfejFum;^Vch+6vx4!tYBY%TFFPsKJARlB@l>IVW;ECdmJ>(oJ7Ek#y2BGQTGqaEeka$uVW_P;LK-D>{@UYa~u6 z9DIpd&6Wv(!#Ush5B8^r!I>^PLdM01d?61 zXA37EHf*7=8zB+0b(cV1*+$1UGW6w^Q1g_sg9Sk>PRL8a!6zy%Cbp@%Nt==jAsD#r z!VkqOCB;*iP6PUngCg#m;r+n;ald%>ESakm>8Aw=?qZIjl&`m?abhRKR0^}T!9v-r z+fS}m9deAX{o+IH$;JYkTqlb{y;p?OLGd*lf~CXCmP0A2do{fGHVdPDhel(s(;sA> zn>~5w&O8J?=TLpk@#X_Z|BQUCvcx9S^YW(b5)P+Az1kSf`Kpf}0)K`Wc`9nBRDG&m zC@B4^SghO5u36LJRCdSSLO-NIvjum%%wx&a@VD4Z=hSqC|6_zvZPJ|J9cQt3Z%Rzz z!KU?U;cWDR_t$I`82&ueDsB zkQPo|@_gk|d9u78QD3-vch`;Vto>(EyUSR*|hU#{lb^h@m>^Y|#;W>Q7=+TZ544(Cdt z;hdLNspE{zpi5`_K{5CYH!2c*xyhwzGSsY?neZTFvmZ z^;5CgcUMlu&xx(Hh-jPoxqrFHMfAVor1dY0uc*%W9j9-a;5|bcU3)ovVD;5xk?F9m z-T~_<%HDlpT_dzXyvq9dhkMI2=BJN0NWRWbq(px$6Lxr3WJB^^xAnJyaoZ`atq<~Y z1;=otH6mose-TE# z({H9v3LfR{;dM5BoD}}aWTU_18*nzOJNNTekmteqolDM-k-uil#M7;8F3mq1G&a1| zKN75Io~MmGW!%%B^!|F!Y{$#F^9SCJCsWHL#k+e)p`BQ_4fSwitMsKxNWnxocAbK<#LHr?-=t- z+}`)y^caz0<_jU~ua@4Iz4RFo!x=6o89cwHpBhSx8de@Zwf0zh+Iu;RM~XR9z5n~0 z1NGUWFs3NB{EtpT#!Zzs?e0}PnDh3GwbOdJ3;DL+S48%hpRASzTi#&7(;ZnfPJzaO zix+{bCH|b~O)cIBfsrKYU~5a`t)jg(lyYZxcII_`*I}G zUkRDtK^fxBiSP~3-`09_Q_Jr;j_>aoZ!xWB_eH2hcWkAC9azr%qMrL3`uk68xe*We z%L}0e@dG~E`7!7DKMVGGk{I9~=+)dGU=oPp!VjF}3w(7(XW|;zt?BqAKhPr2LuDt> z($(MIjLuvu$N~SEVQ^6QFMG# z5I;n5);nG#AjXw0t|8=0d`QH0h<9$VDqHAQuS=F$Xxn5+k(^VeYjEj+eL;a|rI}$S zzKge3*souq^#x&KouO?7ZaJv%<~h4ox$r9dpnBUZF%J47OL)g#@G!!H6ubj>0wjRUN5Bae36lkngDFheWn1f8Nx zzBIfm@`?O2M-8}9^=mnN*HXtzvc}o<7^;r~ca?r7Mv<}GpU*`hpABH3xu*JKwCzzclC{ri; z$~!A*CuRhNA`0UeLlSqj;{69>!{nnh*b^gm6XU3p5=BjecEjIm+s+FoJ#tG*Aux*4 zPWBp%czhj@Rv2C&A69stoI4O-m1LI|5|v1uoM9fHqn)CYo77hLEWR#fq9Ll4I#tLq zc_1lCBq?!tH>v(SHI+JLYB04-JMEK88g)`iUt#K;dE(4@8aHM$ZS6c|R5T@iKKjFX zY`=E;K3?k4dHSk(O5}WU4RywuNXA*=+l$5wkG$wVNvYqcGw1JSV$)dTTBMhlr`ot> z3fxT~EqX3Noh2j`J0+94&lc${pCurhPIr+(aFIoU`Y;%h_0u^9$?;(z;RA>JYwh_D zY_GBqbxBzS**qIrLVM`j7LNoiKH%?WziiC1u1gQ!4G>k(9n}U%i~y{O9ApLHCYw!? z911XkSVjOz1weFd_uJ+Y*yc!{eE=kZzl9PQ!SQ%OEFjmY$?t_2h^qz=80X?m!Wf)O!*U=e^M;TjjkunGWQEf0#SC{(Dt z?u;RY!*F@Qx`iBKpcIbr0kDj!%V?^*39s*W36>NPxtD_&u1cx3cNG8;iog*KY;O;a zZ3IA>)mT}17DGA8MJ4!ZH8QmCZm|O0kMhK6Asoh9J)%lwj#|{cLidYe)x}zyhQjuR zVqC^@ggU_1TuacAt1?uMq=4a102UVoHbm(}3KS%^vLcGLq;|lqlsd#pz4xUsJ|n0U z3d|GK-{`C)S}jhrgyM?|V(&Gfi}Of38j!_}^me5j_wpt0LCt$WjAB#lFo4Tgq+Zm- zaGW2Y3nzwGkyjQYd7EqQH6B?21;ywkQHt4xX6#O&To;a00gzlrEL?A`aa4G7H1{sH z9uc-QVK{Z4ssok_a6bz;0dE5@EqGuFxC#KIjI}+Bt=Wr!18tkd}BBdHd%8z z1mJfRV21;rXkl2q?I-t|u*2F{9#h2cwE#xVSa!hX9zX)r#c~3~ya1x2gUF+5rMW6d zk>a2j-gVJPe^5?yzX=8}A|&pLwQT>B(nOjHy`}|ii0XzF03O=LWy|&(T-`);;N-nD z;TGuiWdQ-aP)WCpm=VsC(s_ME=2PnNw#-F@d&nO^JWDzF2c58cy-akl?ard=rKFq{1Me)g(x*1K=(WVt_9VGU%t*Q?Jyx&C&Ec9N12-!ZPk@ zwdm<;0^(D361e18?sXItmpT)7<+hA4O_Z1tcSX220^jl@uL|+6+7xKtEndMX!-VS> za}X0_A&Z0AVI#vNzgCxhLI83F)${(>Ri|2^} zEC3|@22iRMxp4KsT03e-W;!gUrACW!!79(gS)ikQ!vX~1Fu3jTX49~=-mG()@Y59d zYsD!nsrkx-S<0pIWO^9+#Ej8lXV~&EK5s{u_(H?Tz_XO@aNQEDnQXb}2IW0C?zaW9 ziV^!e6CX;4BZ?NiE!&x*#<8LS4V?viK0tDGy5V)FA4VU%Q404i0#n34g%dB()4@p9 zs_2$-s!|rSNlLW#+rm>nd8bv!FHb*;ZlF>FU1Pyp;c%oaxOq5dBi?c2suQ=e7@DY= zP;N|B2I0J`3`+GTOO}#FQNA*Hex-ohBak4x%TIqLt#w304D6uk#kVWnXh)$8DaqS%BoxJ(zeIIt+0jTlj{$v zLuk+&38WnYce!fn_rH)ufmG?bqC@Kw2W`EaC4}mA(tqj+Z8!ANr!k`&-VSpcdeidT zZ4vsLTIrkQ=uN(Rh4@zBV1%#$ca9La!a+t_46gLK!SJKuoHQPEVL{cK(EdLe1549uYgf?Bt=MjEaCt8+=0A;ztsE5P%Q z4`O18%JyhGUHDyct`B{t&ojW(3Zzh5kv=#8CUPH3EDSEM1hq`fUlcq~7v{4bCPagc z5~4A0K}rCmklf}kJAm_UTn7n69cFse2 zfMnlSKOdJ~2vcW*q!`1NK~j+3dx(QZ7Ux?PCGU?7y)~`}3p!q_vdhQR86edJ+`)6; z+s=i?}Q0$!5b?w_;icQ5(`0hcB6Q9 zU5Jl9NGwoH9J7*ncc$CF82qUr5pSZ0|NZsQ_O5bH3O#E2%)z19)J&X2+ACx04%{=`#Vh1*DD#o?hpruhSaIQqK}fvVk{06h8V(wqwok=T~4Cy*OfmUAHqf zGNtG$7v3@dj)2|i4~t+)w;(1i$;Z9o_s8QBv8@x5^7{b<$E5QAQ?`q%tY1ob%1e$R zDjn<<9Y5gVq=RmsC=zSr4ZaMrzQ5ZYAE}uxLZ! zB{JSgu{u%G(Wu<`xD+ph>QH%oE!!EmZRgH*DN`xzKX;Nv+CR5&X{uAg+FPXT z2TnJBhCCfNT-7}6?yk!Cw}iGUmeNG^WkS3n3C%&DR`SU}P4V+U*cB^Cha&&@3=}Zy@Z?K-PnXg+A52&?7fcp#Zr$bnurBO_onynfRSpTuX(gJ^Hl>`P3R%?^7WyG z`HhYzzn;_c7%_FJ{{+}nhi(nfe5oxZ6_1kT4S*xkc zfamWR40j3F!VP2s9>EEZMpJmmRlaWLw|iZ_zgo`3iV>RUnzhqVALViq{dhv+q9c$L zy5#f#S7^eAtVHP#A>zZwp9+s>u#E7r8#pkzbY!Lk`-b?D*iwl234d1d5Nv`jbS?cI zEdKpPRiQb~emC1!4V)R(_xphWG+Dp{?CUrxe2I1XH!Pxb^XDczT)B*sdKHD4x%?|= z1~0i_&7K#Oifj_!?Nl60eZCYf<<+2!D>UIKNs8JA8KJt$w^+8<^+!{}xh*8trXg#E zJPLyqH+(DBLHt&?eGILexx|JDbB$QRJ|awlVa-nj4kR>@^Sb( ztn6F5Px`Ze_rzk68?!ubRM4QYj0JXXkMVcZaC0N#b~=+_4F%jK;T7-Ou}yeSPZR*g zC;ClK7L=^c8ZtyGHBr1IJh!mrj5RRR$+H`zd@hYVFC&TlKa_+#{T|Gge{!tYn!_UW zu~Eg@gjJa3UT(Exqmpbg!jvy2XY)x2{6^h$1_paafkjf$L3CO>6nk4)$8=0+ep)Y1 z$yAbAOg%KdM}~Mg2ImiJsg*H#`c-kd)b>d%4oyx5#ba{?_Py>8n@?pb*qJvF7RXo0 zRw+uvISNiqPty_piQ!?UStf3RS>e?-k82C%7GL=&{hTRORc7Y{zo|GGqcfkk?kVYh zxVg!+m)F{a#?BPesQUA?2bt{!sWl}oy_WDx?V2)fr|e?; z0$t=|Rnp|J9E%al7Zk%oQH6@xnA4LFM&_`mv7JtGW+(b8RL$CBWs@@8^wF=kpQ#Lz zKDNH`J|1)po*S$Cbe-0p+t^^iUmRb@QhhgJT~aX}^}ePo+4GHUz+18AqQflyyP7ZG z=%!nj6yx9nMny8`uygRe%BS)16-g1Dk!Og6nth3-8 zr9ma9y$^8t|FoIJq9Er&EoMwb@P$~8m1tPJRG@v_gO94If>1{rl;5airJIX#>IirP z1?Ap1;TH}W60*8!M9XS?8cEzX)?297^2|hRc7Egqw}}eA*(>Ug`J-)8$M!Z>g)-?y z10%f->4z<5GEe)1ERLr#z-%S+UHf6{Goh64P~_n%ePZyNF^d@Z zSSTetqx9I?>-663tt|l+%y;Ln%fSamDoi3a%ZF`5uYRT~%wPW*)1!FIFW9nvx%Az& zenJ|HCs7$q6lnJW#J?Z^oT`Q(T;p{-H7ogMu&>%@m3UjjP30Kcez&o=OUKY^uF`sK z2QDMvLz23)OLUB?KN)*^}3<#RVj3+ z9PO=R6QBH9Nmur4f~!D6lY-j&0kv zopfwldvZU|IdiIJYUcgaoc$lH^EMCG@vd8m46k!a@^Ox6Kma@*=~- zBhci-c=`hXv$?e;00`(_68PS)L!}@kcw_Uq>slD-w4vbIz0~^*3V3NZ-%+r6)0S#s z8a#O5U*QQGc#4tH3eu3`1EPRHp7tfG_D(_Wr?zf75Dtj?KAyn3e4%y*s#Y{E6lhnT zbRyc-1QeEq_@C~8_&X7S4FD`kiLbIj2G=`tLY$~H zsn{8Fb5O*$UiSq2#71OBfR=d}M*^lNH~n9lK`s0$39vzoUeO^7!rypQSf#mgmWY~} zV$=hJMib={ENQy3e6xZmP~fnCTn9`1Xq`$$j2Fc3e~Ft}BGOrkQ!a!t%5V^-;V)uS zFoQSI4zL()47sq<{BU4d%xBsTCAafTCR!l6hKtk*Y?QXwfrA!h zkqY0_M^IOW(>TYV53C2y)DHR$NR}vZ2go8A;v=zDgt1!^5NoG%vP#;XW8~M2L>fs= zwGr=gQ_6s|iaEl%z8`hIt&Y2qu-p@gCXLAv9jk+t&H{%IqooZn z8gtqojgTEHyDxs|6HnV`FF}`fw@e_cAFI)(_{Jl||Hi}OH%hr69b=JD!iw&&%2kFw z-r7;LVlP07%MB|D+rb+C=e@HLoT8hzw{b?MGjO1#V0=K7YH1ucF0HphFkHb<7KTOI zj4Ew%9;Tt3NiI%i@P0xyeWFNc99|i>xdFX*fB}a!2`U#3k2e)ehJEUNVzr^5A5Kp7 ze(2l%*jOg1av&d2l`5g$6LSZ@@bJ&%o^mnxK-lKFB&{Rnf)R_U9gP-+bF&Lv>lg87dOe$M@<$jlXBHSID{7{Z31$f{vQZn+^ILF- z(IYKb&^+-co)Xe0W@R}HCdrL4=;5o=C})Uk6$l&WUSQb14PqdKCsw@GFCK@%IiWGJ zAu#-f!;6Xn0{BL#5V}`d<~Sg}*LfC&SblmmI}1-_Q$1 zSZbmgVB-F?@~X@;B&y~z^7|?;d(q)JKPdlE!X*iiPkVz?QOVK2$eY?<4vNAmrB*3? zSq2&J28t+tyJKAru#yNeUWr0L4`ExG4aZmQR1BY7HtbOB-D&gPUrAaluyTq`KtL!B zQ{Pt4J8~pVGG5Kh!ct6M74}^Ri?NnG6MJh3-33{RV6rgsppjczPj!0b8;Pt(ZZ@rOnU3sBD z&uYD6@LR1|<)5teqK=iPU9L_tZAz{|If$rix&h}PRZ+za<@)}9jIh@>V!f_YZ=(Bu*RSr_#tSRCjG3E8ANtTs)ZdC zc6~Qe-E|s0;75Ur98)IQU#z9j1ZEt_#}sf()eWyD0RId~@Lxjuu#1me(tHEaG`;UU zV&BAf6MePd`2Xgej~zJuB~AVnQ@VXaxvSc_%g|teleSA=w42p$00UuwbE1-2rvYRT z-?JxK9NHAdz>FlfPGCONOOoB=Zi41Q*g;}vjZWNC4cw({GGtAjXDkvrAuwz<-&7!5 z5;QSF4%!>FH-w$~bx8e-TX$c4$cU6{NP=IIo!Xc*`r?B;+VE#|S_5=OwzPzk4!^8uU&Kg~mLt}d74vYbr zg#)-lqv(6#tA@#Ka!)lxyA|Lyim^yhMXVRi|t6Iu6VMSt2W%W#CKJGWFo|vlYwdkG?CZ8pZz#yR zS+5*54HFPv-9v_5PQ~_uveU~ZAE?@R8($$PQnF-PE!q;e#$CNUUg0BLW>sDRv#&l8 zF~BIU!HZSF)vh7C^*|Vup;E3Hwo*ZIY)_kPn;%ZWwy)v3=ioV5q77`3C~i=$(9tMv zU?gs$FRsxkuBkQb1VQYun#XW#Y_M(YaMiA`foO!wcEHCQewf>D3RlEOXn4!E-}Tf< zu5R#c?8!px34^aGi*F4u?I^14cZbkOZLVmmRmqFB@t^F;pzeTFRCi3vmh?}TIlcC* zIpZuxRBSGHT9yu&-M3sJ_FUD-e8YFLTj>1V7u;8O1?Y}^tGB}69CLyl`XTN`hxf&N zP$gX)gOl%h3>`#s?)@z9hq~@$8SG?J;^m(1xiOs%ARiQcPR1@BmA}m@`RJ*bK41wr ziN`p>xHz4+JZL`s)uz~%S$=>xaQdnDpa;CtcWKa|a25!0k`sP3ve_4~aW+LVGR#3V zPjLoqdORL^v~bzB!qU|{a^AmxG>>^)q_#*cHL z%8+?!j;9K!w^58YGOo8e8(n+~j|0^=m-p9)rKe`3!3dJ_uJ`Hf zm6`6nSq_VNijRF!uL&EkiQn&wDH|)zHj61AWd&Zq@aB(o)6t3P)XgKW2T!jLjJq8d zmz@;3y&UI#3E2Y$mqRF-96#@);er!W%j)9Kqw1&g?FW-B@5|wXT_~VVv-dgykbdd| z@7w1c@cOno?_t^b+0-Y>5vcg-^^yZr9R_+%14*lZP*Bic@px3)-`7Nafv{N2mdDq` z1EHuCN)^9vz7Iv>a@e0A-;j*NewT=+HM=DpOQcq-vpiu0m-S=Pnd9ZEC!fmXcDX%2 zxuclL6%IkAGiTkO%$Ek~fhV3nnJZB$R;o0ApkAubY_`8Bt1Dg3((jL_vv{OkYcOA~ zvpRd+U1=uU8>_T_@ldxpUzAzt7 zq;oi2RxH<<7R8Dr&|AH-o-ULL`9E&Bvz@Qhna)>PJsn!Cx4GP1Uc5DrZ)DiTKw7_Z z-tLd3prKc-a@`%z75}WR!sa$P&urAXy8PgIULWj#I*|Y5eZ4Pdu^P|GWew%o5b5j*2N{25MCYiUL zy=Z#(Khfhdn`80YI;~XEvgn))=vF;qif-{TetMx3ihCH1B<3vY&&Ut zqmR6xhQRK4SfkmNz29nQ=-wISsc!v%<-N865*jo1!q8-5_KC4&n)blSXkYc;CF9); z;8@_B4GNvKGmQ|3JldsVM|d&=$9{yH)P>O&zcW`7c)(+fGOl|%=rDs7vP|*4!KaMV zfAX@*orSs8W}Qc;=X01l;M-(f6kYDvTu`xyx?Aiw?qpjbK6+!THOR0sTTqg4 zV_&yg7G;;WZRczL+O9QfmN%R4bcxc5Ipx^)gCj)QDMR$;+>Jl!#M%nuAv|9>;OBQs zh}e^?KS;Ddboi@h(#3Vm;3B_z{3k=#>Ew#-^YN&-JzDoPxV-80tdT+b&9LdroBfjN zp^N9*Ec&5ct`f?})4p~Oi|clBz2g1X437X`_Z*EC@53sM#mAok3m{)rgPQ=><4#8P z*)wUO5C0pbaFe&kL9>7Wa4mJ-2iU#=7bO6E8MiqFzEboE_aae&Oss-Hl?dX8G5Gzl z-vK3|Jo+yX%^^Hx!tf)h7`5k>UQ8ZVqHrzNpZ?~dk zklvv7yUxT2R&z-YqmrGo3_1z!yoh*T7E_e7sl;-F^={KD^%-A(b=Za{R^R2wgyhK0X zczBv}W2VnODL7&tUYZKHK+CyjIU@L=`cXjTkPCT1%!O1ob9O&(fM9tnT<xg=)V0v1Cm*>9XBMH_c{Oc%?PX3~o3 zw}}bton{zLZFN{T=nnM8n~Hv?3R$oi34=I<5>NL(3&Uqh#0w=S1J{%b6(3@++fRS= zwoq5fH$p$PGoaj zFcc4S)2m?-A1hzMEw;vr)!&@NYNF&a4f@+ypyb)(Q^-yXKe*9<#4Xn4c;RdMiK_)p zGSQdv(Xr@hjdblcvS$TZNf^tFO`Ik>He;k{+pRZkEhSg{F;_LwpxDr-R&Ah*Qu%G% zs;#=k?qy43MN`Zpb*}o;3LeZdQnp;@zObyVSFWgZO>_MwINnG$=rlHuM)&d6hILT~ z)9Oe@&oU{w&eFU}ma%o4=rNHBCQ8>4C2t!fCA^))Q{KOQT%Y`N$-*`AI`Gem-fGf$ z4Gw0001goL?|b%Bf9haOJiDbnT7c3ZH#0+o8_q5wSIYp?QZ`H)#iGI3)6gAhZB(yW z!#?EdFlwTW?S-=*NwwqX0{2y9n&r|q=Bfc@@~s&Seg>tXTQ_}IO-TEM5&dvwj1eYF z`m(0lfYR-lnfIObW(7ZNHqMl@w`A7r84uTX>vVYjg+zR!sQ_AAiss{J3S8yy1VEZP zK$o@P3Q~iLjC(HGnbj5IePmy^Z9bo@RtO$!pW1_a@+nG6Z&~|P#q_u~#)Pe6Txmgl zzHO=C`@=WKhZMo}{ttNo(+yJe8Wr&}>E}`<=n5BJn%A36*pYFo!XZzYx7kg8E z2}An3wE2!h_HM2zhpM}*yN)A%AlFO){rw-b&SP-_?zx1j z`$Cq^6L}x*g?##l(x08Ds@>d6^;Hj*4xMMZK<<@(`p4RY&T|t1p0)X^$Hw~33u_;q zjXnCO*7?p$=Wd>@yQ-(oyUr_bAkPjM!*efM*LAP}?=D*P^B_ytO|%d1J_*Ci=uiHx z+vINELze27Nr$exY#{Hk2*c}aLf3tf0N?4)>et2ku7@fgzH>u{x7GQs$EI$+ONZ*W z&AYCrE(JwFz<)I>zc9`Jg_M1Hvf<(3|Amx&&9;4IE7jH2zk-!tw(M)aO;S?g-=yrT zS;_w2&B}l7>3{$JAG-tpP0Ie8l>Prm%IN<$QsycG@Za|O7Tvt%(ycdFX z{{@_R5MTOSf6hD~!21D&j+0~%Uk_g~b-AI@m35U4)AISN_llcEJx=O!*4++*@um{? zgO{^;n)0f*UeBsLjM|R-W#BrlNrixMd&3-hv}fgSpYiu37oTpoOUs(PSBvuleA0Vx z;C_#P>)qevkJjbg&UTuosU8dKx3M1c6?D5lVx;juFzY*jAU}RUWJaDrKDUBBhWVWY zNWXj6aj$UA$YE6Ms8H^-7WY^?VWB6SZ8c*css;r@!v9TRUg@c+u%W3rBid6=EkN;R zD50py`Tcf>6UEiY~N`n%6_+O6>V4tfAYw!viaJ z{R66NM=w9{9V}pY5XP@6+!-ccd*qmdJy}s`Lu5~D0ea}l>m~{qmV>}Hl1;{p5`%ra z=c>Na@Ar-ptGu6eSaH{~LvedqW&2t9rQi7vPJlA*u!C_Oq9$?;qY5M!KQp)CN+b$g6;9czsG#VMoxi6ixPBK) ztSTrGby(nd{X0d`OQ|NQIY-mTocPH)f&z#06K1KQFrdSXT+f_K zwhX;k_t%Mr3GRfX^PI;txOrOOSn`w@N|NYcw$l25a?3fr4I$aSE-Sanv8@X2bH9mx z*P04#+#-!Bokh}In^IO8hHQi~>L+K!9LNO~-7?N8N~ZUaJtP!H{W)Y2AYt15>W zaGfG$mo|pBDkmZ$k#lp2HWLFKgO;;RmbetgBf6^;`V`&X-)f!NAPnlMaN7@KYBf)l zSG-IadLO69omdw(>VWg@ab)ad(BQwOa1&$)h(o>b*0%mGxPNJ9U0TtqY|Rk06X7ge zD{->VLz)K+@)BJK{NS0aFdTlN*Q*a|864|rp8tZK#irz_vJ13_SHeEy6g@e(i9uP| z>OprKQQ*GSON=xkXIc$su&%QU#7C#@pB`3%j7xH=JD^1?8RrD4PkGrhc>3iw5sOmK zX;W&#x(5a9Gt{ZcD5W{V$#I*aIjDRgzGH&sjf@c6++JVuheb4 zLk4J&>^#>!mu+yLnBG~$+T&kwmDp6ZFdjRKIcA|QuIdeP5TjLh*i+Y5v)nQPu z<_TC?*U=d7WHRrTOuPEb?a&&y@)SVWvCw$zQE0tB6!A>OuyM6x-nt3;BbbG^O*AUu zeVeEkdyo?GGU4MEnDx}*8)|(d8SX6h`Yi$*knKk z-eNI-Ue9N|^|AvSKM=ehOo6vWE8`UH+~D|N(vU%%1=UU|9Arj z9w&dwR1>lhDcTi(k0O6`@_-U&XV%{VK^OsB#Q`5f0b^i+{H}JwsS0A8_7Wq048Q$a zO-!XY15F+S-J1h{tY|7z%BiRm)+PsWIXP1f2JPDgg@Og25(obpkun;wr6spDYmrq; z4Y1-gw{Z=&b9I2l_^rh0=a4Gkr0(Fc62g@f0xB8e>+0ao8G4WD9wcc+^xG){_)K8p z8X5zwuFDy=%;a=w99Fdu=*nrEJ|gM!9JY-SjztkpC>kpIJDl*|%cLlL6(y{SlK_>| ztoFC8WrpxoDo992i-E&PcyEbJcxXtHdgK&H#MrS)*K@@5N+b!H$OL7S z3T9N>u=kRy>u5{Vh+@>%vu&_n6#9+u-xb3FXl!!F=+WBf2Q`;-XnZ*E7$oc%9!}&> z)0lRU=vPYo_m!Ai$!PG@Xh53M{falVMl8r`6znJ-a3!{hDPosA_ODu033MElSlnnx zT-Qx3z8fAP6?W!xT<20Kj8y!eqPYFyc*<3K_|^C-6eC)gga{7Z1aW7VUl{Qm&9sP z(QKm3P*S~1Tsw4fDM%!RW8CjiIn&kTJVicpH(}c}JKd3Fr&1>)93M9-R}U&B@zoTC zBWoWj_aHNWZ0A(}G&>)zln67GO?Fkam((_n=s2mg4C3TeGyR~jl#CabtkP7M=QKnn z|8dOpJgM}bE2-I~>D9yOr6=jgfB2%)6zgE3!eCOHVdQLDGdf^0y3%kOPo%+dGF8&j z)6Fu$(bLCD1wB{8Cr|vdv9ny4GZxb1mfW%!mQoWmV%E%*g>e$MfiKvjT-h^j@rP~^ z2dx=#oLMJs5sJ^*D=?Y2ty$5o*aa?GCZm}T8kr3%InSdx0Qc<5(i~9D+=bR`uy8C` zY5!UrS7>u1B+VQi7#FD4Tp8y-o{E34U%gNB|0up>V{-l3Ud<(d6$f?C+jYwZq0V`O z@u8-UA0EkN!Oag*$u|?tTRYJwFH0ve&qsSn5=_q*<}L^+%s+0;uU*X-KUJq%E0B22 zM1?I}D2`HY6Av2wqqc^rDeXnnR%kt2D2kg+)>fbZTSTc@@Y_7dysc>3q;TLUFG$J< zWi9iiMS%0Ps3)nIqpaA=Jtvu}_!FnVTT{(cvm|V>D6}kC9oSORR9F(ttrvn@8WXN- zLS1qXnUmP|d$qN6RXivAwJ4t}PBPqif;00^xLIs^Sz}XKMcXgmHto&Q%#zTuV)Zg( z*s|(Z(X6)e8uRk<&{F8I^4ZaXE_aLCHth$E;w;ySjR0!KuB7IE(a~6&a z0RTlHN_pTGBCsg2$BlZCLIwnJ@}AXm<2CRa;6@dxavc?*^CAq4gl&|j_j<$1&#~? zxl;q72nZ$t5aPB}=hwy$w}7qyzK^GX&u~M|0N`Q)a6PTbaN?fSt*A^bSt20!Ypocw z02dkW;)RwkvgLLMh_z@ldU8eR;m+3rATR>xcu*i10k~`2?c)G=00{g}YfyO|eMGw+ z4~79=J(OSlDmTiPEkv5>096FsvjD(=J#~;4fCd`w-*BBEa#I>vi4hM#=5m z@JK%%cR06bA!6)7_XAKw)S&YA`RuhZ;^pCFqL_H}LV+Zr_|-!aRgv=cqsfBo!@3NN zMF+ffz=D7{(4a8N_6uin)N8eIQ09f3Ht~Lq42c6^YylgCLa!Ns8{7er3T_td0V-Lc z@ZlPta^x2aWYC$ORq5*0vdVCeL33^1{PsaT2@Hb{WZjCoZY@q^{N67~XGqg;!8_pI zK41;+_LCSu1Q>w;sROG8+yZ$9+Shx$cn3J}TMymLxW;>%@p#{91}NS}@Er$(9lC7o ziv8eGpmRHeBROo~Kvz#Ch4Gs-9!4th`<;l#^52m)$19z|0by?=74YL~8{EMgm<`(F zh_!VnvKcY70Isv~QQ3*wVhj@+KmZSNyT`D_#`py70J0zeVrH_p0vRs0meeBV&{<{G zbBffnfuy1{yZuWr_R;b*VSJ_J&&R7Hr-nU;kjpzp-n!jAdJua0#CQPkKU(m$x|Erw zB#Nz$Xs4gwIqJ*DJbC+$qz8B{JBxXzasJF8yvz_<)s<}k0xO1s4FNt{HQSNhP&M6p zk@{2cC=fMsZ{vN=!21!?^I4RrN%PD~8=hfUgC?kox!H#~gx;QKk0JD#Iku147}_e7 z*wL;Ho=|-5j{rb08VIYLb6*+y?kgZagJa>XuBM`yWOFzkYPRfsCUxUWw*tTw0g!K# z44uZiYeRA9OD#ha+!y0LZ?nOM%TP>{;6eaMMQLojhIfBBHt`8Kw6kRi^H_jISjG*t+s01U@>poIW$SsV*qgU1&$K43jGP~uLuq^Tw0_c9{6w>5Y+66}m;wh2u0SYaM2|obKcO5VG zWZ$c^;<6NGM-i*%>?@y&8he5I0|a;H3l?5v ze-y5O?O)KHqErCz^+8_wK@vYXF!TZBpa1w+D5Ci{8i2BFVkn{06?pxsI|!oSk$DAR zQ}+T}fBzc~poM>6zY_%U`jBPg>^ZXTk3+|R{K2y)2#7+%-*d$sxa-rZ$^#(v<^6^_ zegwz))|Hp+jS3=^a5<|?QuuDT{N-@+!f*G()XN6)ZANEs|Bcy4K%=Qf-VS} z{@2ED7yOSi?^l`Aj~Ub*fXBp{A^q`p_;F;SY1b^|e1v1ct69VG{wv-ldg}*~3V=U< zlWu2e!##)V)vO63s6YSVVb-HL{w#eo$ekB*u;IC(HK$+9)TRX|*w=t+&g2o{f;jd% zn$QUD))p>fQyl-{e&-3RZ1vZ+aH{o|E)u{B;l;43`SNq-kPeUwy!oaB65ykTyP4#x za89Iuh{gCqXtl*eJAkrz4^{EUkDtE?xT0bWGL&;G4kwGRll)Hi?h4EY8Pokh#Rs6y zT)bw399CbUR0A6IKo+B48@0~;Y_`gEkPX&19{E>;SwIkX0C>4qm^DBElaMgrU;Az9 zGa#WLXsBQNZA{+*|JrYZ?$Q6>N!h>m+i-p!%Kj%Qlh5Y!`V^HS>H~y{MM+mM_6P>$ z;o=*$=wJ6K!~e|3?1=3J`H2iC#H(++qpw_zLPgY~?kgk|f*ak%w*u$`3jjOE?Xg(S zRrLcWq3!|n`GdCvebZIZKtBH0e%t>fW&iBA$q$kXi2`~TuYZTS!U#CpKKKV!!V*%K z?DY5p&7ojPIT?ExK_Q@9#Y8e=@diM4(a{OvWncgLZNVe_UbKBBI)}kzM8?qWwdpHC zO!B$v(0F&fJ($dq$kF|9f4o=^`KE!)oY=lPwj#MJ;JmJ4e{)tEdR0J21F8bBxmBG{@u;r zJ)S!&Ar#v)%XZRkPK&(cUhcQydS35ePM_7l7!QzR{m=b2mAD}#37LdxDGH*p3VyHv z!HT@&f;w3U$qvDGjqUK$1u+BTCJob^Aa+eNuJ3m%%>cBCHGgUdVlbWex1$vX8mkYwT5+}n3P(;^lMC>F z3)c=rWCRR&tNiT#R*_AthBx#zu{7_3S*HR!L z7o?VwkVxI4|H9lbDS?jb-_1%hg(}H|Zs22L8&NZ;wZ=sWhnOC|7uoVV*ObOjKj+=~C?|y9-JNUk1N3ir3gXz0{5oITq|G_D`vk+3u78@9 zIg4ixx+TU-PiOD5ni1R8H(of{Xo2_tG%JCdJUAdrgFF%#({fwo@ogJL?R&)6>ZGrF z;AEUau-3tz*iycipuT>v`~FxrNn5F)+(}Gi zKd~$_W|fmcz&Nkfp?(`62XTsici#`f^b>p+=KQv``NJ3v$6#?oSj0jH04lzqhtk+0 zMxTCVL{Nd-wk3|uXn$^3k$?*6SV9LU`n9nVXo!D6$%ky4>)O_ic%^*AT}n3~Ozp9U z{|_l!lJixr*gaJb8Hpf>aY9{DT$CRvp~d`%lz8O12c(G_ zQ>(y~lPDP_T)q{w-(ruyK19V_euqX@Yn9P`M3t=s@1fa-Oxk5qGLObLB-k#J(PN)a zo0dgkM0#mr9sGxV!|&osL;fBWQAC(S1L>OBS3W_4~q^4 zEYr0%%D#dc_5!=GOdLBnJd}~LK$VQCO(}T@%^Wl|eqjYhX$ytiGn%Hj9bect`Ej8b z9D*Ex3;?wxqydxOP!kp^Q_hsO0)u=uQ!a#^$_4Goe(M7$Z6;x)gI1Nd=k+KLaxdwq zvVn#>E-QAs566ce=fs?ni;Z%twZWp;{Cdf6GSO^oQoSgxi?POS9MwDBN0kDnTV1#Mx#(XP29Zd>B@ zfoLfYc?|T&hm~WYR{LQu zYhKLjSr@j<{9d#PTL8h7;~>x0SZ_Ubc4dsF7|&d0)e|L78?D;`&vqdjL&4=BgKuJ* zR^DXV%FFy)^U6VQ=T>?!21l}x9gL@yVa8piOJvYNY`AI~ z2@xQTqy&6Qj5!U!=gls$5TCMxY(El#e#{{v@?bi9H2f!|Lu#$EF^xpH4)?)|Ge(&% zJ;i_xBC12?LFD%mDN;kNs%ho#@PtK)?8&QH3y~B~Y%NSSQz7E_oB^J3+d_fAH)Yfo z7b2&~unxHWtLDa0zjFa7*5-4nA{Ehp(D2R=PaEf1snK{PsHlDZ9D z*4KSB9mV3Iv7B^#!92u6SM%)qRYeM@C##%AJLatOFlfGSy*PJ0WX0d$3`s>XV-^8p z=k=_F5{s}>&*Sj@8O<`J)+JV52FT8UU#PAKGj8DbQU3FoLM)seit zYQuX|hZTHk0u4A*YDCKV$+hJDEMLUNNA^=gF|{w6I`?*!y z^RKtpb$_IRbk)Nxewm{0#{Sc;jxl3&bSsx*tV) zCQqB2SG)Uq5k9ZeQ~yM-&NL1PwY>MYtkIwW1$ht*qCjW=G?ll)q6=ISwHX@l5zF*o z+}B!{rYn;mKoId|3bj;#^6CU2Lfv3B|L&0@=IOPKCC^9i?~kq+0Sp?lRM~YrgmYs$ z3M0&C5Yk50)cV46QqveARC&N5NM@jVqOb8l&){?xm%x^fltB+Lzzfy_T|m1i97RsT zg=3||o&5OcVtoT6I9h)9aqRa`oHjpO)bxx17%F0deM39vikDCN#WLxUj~jM*(yN&9 z@;K}HTl=m4us&Fbi0_N`m(^n#5l{_u!$Y^=YCwx5LJP_cHlGZrT2?A3i=i3ypfxZf z&LHpqL@Z)~7M|$O!*1ep9Mm@|rS9+N7ZO!z4@dYaB&7iwPX_t_a2g~IwYm?PIV2w0 z`gXY@6y^48QBh5DAPEZq1gjXWdVQ*j^5=%G?42KI3 zJA$XcmLN6?w~#pc9{9SLoqd|M+1Dmsotc*2D(jD&Sa zg!hc7-?K&V#y_u&#Ge;Fthe?7uw5*wL;6OhVc}g*Bohjxba4^5gkoXT(J~hZVh5PT z=cKamrQ%#$(^<#r%tu3xQ|=?a<-m)i8jX;k2s5t=#BH#q@s3r%Q$YV7HK~a22^~w( zt}n=>N@9U6=#{Qimf_?U4BwGf3WKe$K&nnmuSid~{al@5%RImk^T&By6UlvObwFFC>N*X|URm9@AXAHA2AEt?3>MY9l^(9)o3 zhnIRslO5NdoOYZ%f{_CdO?XjFPA-fqwGw+rOfK)s!7w8NbKW`Ue$!7xR?fgk|9Pj~ zw4B^BngYJaMVHEz#!hA4X2_aN0z89#n)O)Te{M{#j!mVD@PC$L6Ra3lrMD(QH1n(gF4iiO~4(^I7sv{B?ZJe)ZA3 z;~y>1Q$w$$dD`+62TG5sx)6JYpK)tg$w#tl@a>cG+bxo*)q=U@t zjq@#Tt(fiktXWA&jVu;<^SG_^LMrKH+_Rpr3stxC%mzxrPRgoEBX;ofAv-_2jA*v} zxb;03vl7V0w>$|HH@*%nP-3Vt{-s6ZeoOxCj*HPG=bYLF!=b}Fk*P9Uq$ zX&x*J!BA^u{m?hg(j`+>gDJB^Q;mcZGoV{CQAx_RS3xOVpzc+{$XXzCTC#jtgm9FC z*qoP|Tv(c4vV*8&Z%|BnnN{qZE0bD|SXHqPTBeg)`g1l4O1tPfxQvOigcn(8c2MUr zx$IlWvIHWbud_Ufz7lARVhu6q#@8m6_ai821&H?2&-k$HKQJATx)SAuD0D5JED&AQ#5); zBb#mQ2VQp$TcoqxQm#tB3*TDFAdGs&c!bl4c_Dx4;u<6I@J;<%dgXj2#`<7S#_By~ zA;dcU+f=Qw*3|~nyHWkR?0W9QN>ig&N@`}}237^%cy;A>&dT(dov3y)?JUW4p51j0 z4DC?bjUl$Qfr53n`;r7>?cv6aWKM0$LJ61FjVWUoiA1SrsSVc%ZNb}(`NhmM-sSEO zzQ#exg&-YUFpdz~O>Mf7sfC4=#traEZD1tripH$cCWfx@&FJ>Urfa#j9l_QC#)jy` z%9@<&hL!SRp>E8^pMJ4P$6ajf%B`VF+0Ki>a|n$c?e$AztrR{OW4n-a&3bN-Rr&va|6Ru!{OY_SK+L9ekor+4T}WNo3)_M`e$PL=M_z$ za+^?1`WCa$KnN{h)aU?_KAiJLK#B4K2>M+E<`craYQ8=aq(Lp+wz`wztG-BgXETB- zXU+Q#ruBMn<=551YG#(c1R3ae3MP~n?D&flMC%bc6Vn(F;$mv5I6@B*v^bhOrI z(v<$@?+Lh}aWbYq{c(u=CNMA?+QaU5Xw&Zl{Iu|{x zT*vX=$BCb)$(ZOVs%DLWX4E7&G0|p8O(&*VCmENAnc^o2hi0Ld@Hz5{S%~Hdtfx$P z=FI%3MZx-Ukmkkozw^Y=%aYB#n@&Zf%mYnM%bR8@K2Or4&8xGID%p=}$w+3tT1MeHj|HbP@C6GEOss@x0Z~?SuZ2RFa30^W38>j$u5rw zw~mX{i~M}6iZ1gTtj)5mvHti@Z(TYe+Qb{|-XLB|bKAt8Sl>GvJSky){{VCY#+1VF3w^09e<3Y}fqa*Wlgj5FAL*F4tj==a34QFdWh_ z6fv;Fw&qLMH_z9IDJ#g$L~vMkm1H;BY<8HXXJ|1a=-byA)y6n3cG*F86D>Em6wCO{ z@Px}Zx`X`RfOeV~Upa1@7<_wie)~9$TT(T9(3F(#-SAW{_MqdJJ@h!#)%HIZ?W;EJ zM=;MAIQB`3Zh+AkclPJ@!_YC90uE5}4hdEcyxtB&sdt=LbKFp{ye^U3O?MOv4xCtN z^Op|jK!`705H z93n}q2T`yG9EArky@#IyDnF-D)m@xC3CxvTh}m&=*egZoc%6#rf7V$AAGd@rkJw%*nZ+{vs_`OmZ(YL zGL7JZrSar=wCJp-?%?85knEBGb8eUO)K>OHIOKwV_2kJhnQOI zh2`2|^$ZM>xC;SlhlRKr1U~&7a(euH3co6izx=m|-jgNXI*mTDmc4tHK7(ITiR`^qwlJ&v%7N+9iVfNOju+m(N z)f)0OF}C1Q*LdHlpx%(9+cT}!JFU~l@ZL4;F!XX1%-Q)kF3vd9 z`v@5R+^+UEdi%Vr=DAq*zM=T&M!LV|0K%#GWa#hS>iK~6d$w=AKikZ`FkC-214BuC zKA?af|7TJ*OAL*S^$#hlH5iKdB4wV~b^l4qZpkK6nN8;^%OWt%@Ou9$2Y&H zoGXw{VYWKGr&{=jltJJ$lubv9)!JX2KG3Yx{2Km;l%4k^XwLpa%IG#)?2qOu%Wumz z<6Q4v0zdgb-(S_HQnWYkeBNL< zzepJ>7Lh6RzeyQqmRAkl@}gTV?0X^Wu>+O2CsjKDvn3ctC4`KnEyk{1Q%V6 zQw+kniYz3yu*uTQ%36zbOt=rpGwjB=inVN;LJtjG=UORp&Q`-nqqiW|DE0&+!U2jP3|<+oxzP|K0R9}G_`||tri)5xb3v{Jk~*$Iz&dRw2h0*X}Dig2kms; zt*FU#&40tk30v%wc<9?sOkC)-=az=5+HS@&kUJa}*Oxl)PTLtQU-F!Ax4&X4xm^(UKfo?dom5hD`heb6Eq)QX%KnvGLPzqX)ggsEeo}o$A>j# zsV&fD*O@2Tu*e-ISk^mOrrrK_q!;nQ@v&->p31V$NjWsusms!QurA28+YI!~U zR`Kz;A5!#J%%ZPGXm9g;pB4uic?5ba+%w?RkiY|4-@oe*A({HttW5@4j z;*&B2+!rZB#L->b4deNI7L3YY;z&#s@qY0SEZ<~1%mS-&Q_l6^Z)?gUG3PodHGF?E zFDd_YcPrv~s5h(X_x9*%NGamE>?E1=_$}0J(tb6_1Lav+hu7UvIL30odpFAh+vzqS zGg1H|}&d?h@Pr3Bf(M6Wk%e-Q6L$LvRi565I*y?oM!bCw=(s|J2OX z)IL@FoNrTmzICns&}-GZy6Ua>e(vj{ljy9VjtqQ4Z&-GtVHvN9Q7cUW(FTyS!o9%6rUtS-Q`_X8a&71p@ksP&vOnYp3 z^q-8M;uC|h_n2?v<;)#^(G&hOd1%m-(+jRi-wRSy2x^up4xJ$^tX5x1yx!h+;MGui{rjpSTbr%7k7S zpjz)B^WmCo8h|G=tv}LgeR(}L>TLPZn{})ItwP!8Bcs-r{x5mlxd1*@m!+v%7y7t9CNV{# z+R287hTObUCf|aI<$|~F6HYPpQJb$LJ1#^xO6U5E3ui3Xm=7AIs& zdCrH0VXekiZ6b#I=#=qn!-dv8>K|GjOTF4(;&^8H-+RT)%FL);gns^E<#nwc7ump| z?Yvgu16!^$FpbBSY+vXBU%n}m#9_Ru%Nq0@Yp_7xzQa3;H8|p0E4U4hB3{-m_%k#z z6P@;k-JiKSRJoimKRCbORFy6AF-f+hzo{Sg_mQ1-`5%(&rU8M!Y_V_qehRGSL2-c( z@d@QS)E}FNo0Tb$m$rRldvY*gT^5_d`n0+q;s`JZd8FF>R)N@6)g5 zF&m$c8Go4exo4WkT{=EyU6=3kUpG(q{QZ~%%X}b=)iN0@!2T1f;y~7)+!!jBb)a*i!CS%2A!KQkXGCA7>I3VbS6t~gTt)iPJ<^QrtB^Redtze-v8 zf164fIx^CK6u1_FMF3Ku4ebA^6YQ@fei)leH6+60FNg<^&_M42b2zD*pXbJb{5EOy%H9gk-jKW(zCBT#ouL7-t@pGRaE4o-C#( zK)FV|QAL*SNCPv{FPlCGRU&m$=@#db-(&yF2}XSngTU?jj}r_QRerR|z6UviL?(;x z0=V8ENB=J;Sf#dLgg9?Yol$L}GSoRuv;MeD{(WZ_KTe6&^1qy5u4gM9g0PtXIKkQ~ zVi@)HQkxx<#1aIv^^|ySk8!NOZIDj$+@HfMdq5H2oM7%zJriY(sq4EBw-(^VA`hyQ~Mi6HJ@f@{km&{4ctXe8#e<%;&fX<*#E@|M!IJZN|j``9Y$AJ zydBQeaIh`*uH#=$uy4jNddYumc?HyQ-2|WTcA`Xa&3ED?X-cRh+4L6jZ4_AOcN10A z%y)lim^^+-)cVH>_WAZ;HFhN~H9J*4e26&Bpy6;Y-L9YBR7WRTN-xuL{LKlbur;)w z?T1jBnjL^^agZBIQ+n_-GONHO@86wZ`9XT6hlLp~M~6lKa)Jdsn3WX&yAv$K7>e>A zPB2U1THFOobE{#zlgeIP%aa;u`HM2!;eds5-wB__a@(10HRjqyld{u>RTr79`t$(Q z-AttLY^JVGyFe0!T5o) zmwou^KQ8-;T}$l#%?Y;gU_V5cU}ZndgzDum!a5*ZW_%#Rku$cjwVFM?w$6Ax@u3s# zW>OT-`erH|CF*AS2_vF>=2*C$c;Zp1oq0^ww4%OL+V<4BlF^s>u0l8FUrw+FA>*ny zCz!x@^!wGQVY&M?xBZIyb+3DO5T4%8wP4!HhwaGos3!9-jCjrN2}J6T znSPv=k9!%kFArt{E8Ls=5%KGfhs8yeJfVe{S}c2crUJz$Pg5OFr%gR1Egr4!7g|g^ zp*UXU&3LvimxFm+URR@>=P%c#D;Tdgv+B05w~K;E002BywGhmT3=0JSm7TTgasQ(t z05E_{-VMNF5&{6>$ql*y7}W|^KmgZE8#C0UHK@Ea?Y8*6aen zu`;|V3cL<1yI^qLK*)d3=@7^biU4+g&wZHws3~0lp|^oy3^)L~8Q?Pps~?;n1MuRR zTo}bbfQWF%7u8G>7MdiH4@EYCL68KfV*p@C8p44H2BE;8+daXoLNHlhvtjXT#R6I5 z!qD9P(0Ij!ky!EpjO?L6{4UTP1wakqfKs^OKqL^!0AR8+i^CSs|3V!EP<}~-63!%NNOj=`C}50L>x+0gVYh;#+C$UNJ)f4Cyh}X3#`l# zV%-<*L7t7XhBY%3BW@N5w3~PnT)Z>V(i~FMb5wwsb#cQ_1CYy=Dd4((Qm4~PfpTmC zhgSQ~<3&(m)3dN(RZ%1%W)VNclW8DEERrCBon!zxdG2{cp5U&^h%1UH%zRrY)rxy3 zP^FdvgEbqjuDJ+E7f%7KI}nk45HOeT1)jf6c5!_a{voYcfD8m+{4tA@`i)tnSxW!e zCOj5~i99#f9RQ0vDVMqZD_25lkYSFSHq5~uz@lP|EnKb2WaCT+Nd&08uN{u;H;-k| zeFyw8$PxUdntT!)iIulj8VIPDHe1aR;iHQU*uKs~0sEos4uT0NuVv`Dt+3Ezr{F}v zT-u4zbD*Kc*0e&`z_22qWZLLo;frX9U6(eVLw9q4(T}tfbd!&k9S?^JVGl1S076!^ z@6a|SwL4EgW8skDq{R18Cv}WSRFc}E#nlZYQc~|Xoc!RC41iSd`5F|I0K0f9KNo8n zu_jkPxO@&Ndf`fIVJryHiY-(7RG+%@SnkRY)Fd5G4l8~P;(#Q*gGr&nMVu5IjJ)># z&4+ZaH9QOBXCENxK<=&dbvj0NI_nqqdzH8=IjH+}!uAg^#!@lXbw?HO9-blq9tJQ$ z2?qdXoIA?x@E2BI0}K1Y093W&;p9TWSc;n@IH)jye5xq>9k%a_785uv^W<-)ILxp$Pw=Vcv5r45mEr1)?L*0_}d}uOHE>6rk4*VvBK-`p*ggb zY+>lbyQtidaTxk7SP~1#2rh>qtW>rau39m^hB#9IYjLc8k;dQDw>1LP`9FEZy#$aC z6Dm1=hK&7yB&WV__eLV5<_96u~p}VHaiYURwm;=}Cfc z$QO{kh$za4IiyD!yJEfKXCsX`gxhp;sTQ~c$V2^vm?r%kVL=)3xPD#m@*qdv5A*z= zHrl1imv)z*MUc)vHVfMUVIQ8!5pXJmEeOQyEOf|iy$E2&N9|COAQY=mj!~ob03cdZ z0tI@P5C9IwA3?v@XRdMxj@S=C7eHQz{gU58!WV1zp(}?}*CuASJx!65YWaj237wub z7Nw5pT{io@7`PU|G`^4nu5yB95(1)Wbiv$fKcL!rrpyt-!{UHKVY(jWCFF_W9M4_- z_&mOW=+ZOEkq*^UKLET(NMM(+FNoOeNMKQWgAp}u`Z44EvnfR>3FwgE=)AAzG4Qf< zoO7hq2=4tw0hgGQ`JRY&KzJ3u%Ta=NB1RLjiHd9FQ_(k{=vf^DM1_{|o7n{H)8rGp zYH!}ghT(puOwfJZyn|PIvNHJ!M5hyl#WlkavC57`G3y!>4&a4~l#|`*Nn~`^;SF7a zMf_3CgkbT6d?duRePRZgpC4U9w|-htokikHrNeBFDAnK*3M+n%8%Kd|=1BI{$ zfxj=Rp}3?G=)xE%Uxd|z;70s1q2veMPU2AZ&)J;7X%=LDq3s11yFQ{kmd$_@eiRCc1{`u zVYvdcB<-^`K*Iz2TKH~OZmtd?F4F_z>FVwU#o)VZFLD5|&Mbt$FC5E1Y}Y>k3G9kT z?vG&S^7}y*cQOd52wdV6Lt@p+b_xwU@I;6eWq}KZhPdKx`r*gvPa1_Cde9K$C#)+Hr) zL=t3t2#H#P1WQ4hhai4PNyu#JeZ>(fA#NRrzz0NmY9y@oAxO3h{=91%nPKqcLI$$G zFHUSMjD0#=ZqRgU2pUa#k^HeTFAhi|*&n}MuD9m((%fmx( zRg@}F4Cc20b1Y+trGcMY%?D4$pN1A5lG>X&?E#41sRJEz6h-aTVck#gSvjB%ILsHW4nAP*t zg`E?Y@bEziv~dM81Xy_<5FmM8LK>F+6L`nOkCn}_zycD#jO!{*RD^k=08BTVa<_;Tyg^*J2C0xS6RvqJ3bpwhJ%kh$oT(LEQku%$ zTFaS^4Kth`%$292R42q(OH|{&OW5C;|fr!1%4y#r|~XvPyu%(GoL9n??;0*6;C2)pdk zgC2>n9u|JZqrxDz;li|G4@uU0N`nX$i*1%W74Wct#01y8;2nf!Jj3Wa%LIq--B|XK z%*gFcJovlX;Oe17HVsf@Yo=x^R)$Q=RvCy)%6^FxfS%Dx#*1&Jov|+I$4u+bEZOFk z(zJ=(3c+{nZ;o3(ZeQdC^_YX9L^(hi=NtFZ6LU}$_iyx?EO`I0K6jTXy2y)G+zJ%@ z;gLdSrJtI71Z}(n%t!fFmL0-OxQ&Jbn~XRv_(d_O14|6OK30_!!)^vp)Sf?5IoB3g zvKAq?+y(O5geJ!&F|s%kQjXgZzJju#5FKhSvu?vs--H*?*HsYnXg$kHB~dr9XW8N0 zwKs$jw}gqzpfoemH9wb$aK5{jU}^*s?+-@$NP&Dn4y5T&?b0?P>;whq7={!8Qp>oK9IB?MIt zLa#Ix#fNj~g&Wu$CnG$H1DpcMLP#sXtNYb|by|ZC$Mp#d)}b$B!Hn55Q`1_Oefm~Y z5U#0QPe@stE#26_d;V_Owkd#47nC;e13$T*tIt5^tJw7)uv(n3xeHQ($uOVt*Q8*Cr#3u=#>cFzrICx9>#?u5>1 zw$EIGml1PAzE|YhZ>v_An~C zy`mP5k4e7TXfel4u|jFT@-uh!0)LI$aE+#BVcDDX8hX6&)cVtjWMGYi{@QcNMrU1+ zVvXc^#g4D@L@xJ|pYUL8R`tt9aVkF*#nkv1SV80`2it5Pf7h#bt!D-ZGcuLSe?!oJ z1Gxi>;uW&lj{SSI)w*qsO=;7YVw2$KmVWIAa2C~VS`F#hucHcV%u@)pPiL$5HrnNE zR64fJ0tGR~c#IP5b^At>(jSrMx{&Q{0h>)0;Gd>U{5zd0J`4z27D&d2Le2-I&;e#V z`y~Uj!&8|q{grcuXI*`qOnIDwLY_o_ec>Am?ios<9OVKx%leL7GMVA@mPbX~#1`Z@y$>$qC-7`QB>yvZ-d@>b$?uh2HkU-o1@m80o(a zT3l=U-dS|sS#8|;fp2Zd?i~d0T|e*78s76kc!lEc68-O;p!a_7nX0~>#&s;r$pX&QE z4t>!#e9_!`Y!QB)F??;Rd5NNUorDU0T!X%DDp0Tb;{1uh+SMo8%Km$FPPz}pUQ{4D zKfgM~#9GeAzwG?`V2gj94Sm^w{#DQe07d@4Il=y43S4l6DhG-`#iB^X(o_z=6v}0u zd9m94RxVZ5mj7X)daM?zfhcZ_q?V&zX*?1?M>l_>)nL7*ruwXQrt@}U+AkJ9f2P;r zU4Qf=Y~kGCH!eKhKTfdiAIiXw!EM*}M#GAzq?H+udq!iKRgm5jO{d|>Jh^POL4sS0 z`3n0amoZ!yKda?>>y3VN?z5BC_V-vSr`m36+dWb5R7Reg>~}{}5%iZgfjp4r5yjwp7?*LdjCV!`yZ;_Z9C_n zAM9D<203vw7ZL_s^!+9-QFJ407^D2;A9zC+_uW|9)y6G!!%EOzqUE^z{<94Wk5u8u zGp?g+`7^HF58i*dPxecFc;s9DoK>7eoMTKMk(8XZ)+MNqH(gLS+r*#tl94gpj27** zNyjI%cvto>IK9fO*-ji?`CC>g-_*~LwmswqZ>XQ2C`-S7JsZ$JxEjuzz~2u*wdu^d z4h;Vr951;4cK+<4CZl4&A-w87y@6=_7X~iBT-nmT2)UW)6t@$#z7j>0*=3XFKOFPo#R})=cM$M#* zE&ZD{K7pcpm&H?5Kwup%g`>HEg`aZN5JoDDRdY|u=TP=5Wdd!x)9$0yey^q4wb=Bk z34Qkdn8EgCx){p7JO?+#Sw7$MEYgH~%ANH6m)#6W!yT10DX0Sd;SB9XMv>yfk^-au zlmpu%tvZs{B$IAD#YhmX=Jt}}siI0k;jbdLcfZHb)v#sJj=%#pDjM?5+);tqIpX(xD*Iq+@f*7Av<>`{=3M zrK9$%;<20tD5W_`DpmK6-5N#)Rdl`-SE{%#*HXVVeF=It+aTG;Z2cWuyXeNHu`RLe zy)&xLGH9XnH#3VWZP_Z@YZCp0HB0!Ge4ow@%)IOA-6l z9r%5?sr1Dgk%5*+*-Fn6IDN!g*N&r1OOwl$?$_n34qdkQzP`%(5+7W$ErD0@>mmY|AI~bc}Y-h zPdBNmJiEKLZ$w8v?x~A-56k*7<%QAltuZCbP}U3;wyGRTuzoUG?M>}+t-SUee9_=M zCJ^=#m&t*irSnCN9maCP-12lbtdKA71e4o*vw&z2}UYkE02mg!`Hyaq7Ik++M?i?q& zk8ze?w>!D)Q=d2gw8wDTU2WPG>vSJ6&vKe$^?s*d%VYU73tTG0KP);CHpg9iTNe1? zm;{kGtzBNKrZM$|h@&-QF50El#AV#NN@0P~;iiev>_X2UVe^Ix{Vq%9dvwlSty;%BSJak(62xjE-EWb3&1E%k{muH&{qa{275?{nJaCG@^KhM=j;>1Agl@~$=e?{r@FZK!7F+O93= zv8e5JtXWWRBL+Hr;M@JO;2UFT2Br415cY*L^V`Pt+spU6@%KYJ@QVieSK#?WBz^Ub z{QCmmKBy56IukGYdvoZJ(FJ@g5~m3z#nup^Pa$Po3_v~bu0RZ2g||ph4PZaeyu%CN zez2xm42<|50FM-Ob{81>IcWRRH=r+2GSp6dF-YnmAhjsEVm5b71uPqSx_U_#a8E z60@j%eEp~TXhxNAL%5i;1Hue0r+BWIa6I25B&Fxjm_+>0zoDjk__6(W5pV=Vhialq!DA3tvwPHHf^Q5Gj2kq=A`VYr1<+d z#(_YPMv@ITpO$-au6>d!O|l08k4SN#Z%J^FS#qGcl)HP%_mCf6B`JuZew>FXn8L|d z8kX^oN#72WlQn&Nxq{No325$96Q@$-gwuY~;}#xD2D_(C4yHIYr>Q5Wc^@X0bNioqW=;)xZ$jxkx47f~l%y7^r~YXUdt>GOC{8>J`@Z~`K9?GMiJX1op8b%T z`J|ck6+Zo-#D20Q>6IY)gGNq}Qo`5V9HeDC*zTMimkcS>Y;=n(IIY|}w_JRNEKEoa z&Oi`IS`vbiwa}cK#GUGU54G?gbpi1zJxU;!6c)-~tSk z!otAhc*d7&MDkKEZk5AywTmr$$=090J#AGNeEC*7-FvlLNs_I$pPS5 zL5N*|)|T>~<>bEMa#&U%k`kbep?pd!ty%(rN)CWwEh8`kA>=s18vrn?3--<35ibBO zX`DkS6{!haFH`{7oC=MW3b`o&EIF{70R%t!4}}j^(KqZP&=(N~{lfg|2pc8>fOH8U zSFF|-eY+C?dN%;lRgKvSbRdX9rME<>Y)K8eVGVX`BKI-iK^nBr030%F_>EtU#0x|tuNuUc zL^7!Nb1R39Z5%zSgj_T{4%boH1F$a2FuMSln`IcRzrcn7v@Q^&x@q{AKAd75tN{R$ zQwCwJ59O^>t^vGpzbqL+s6yN&s9-n8dgQ4_?{uzU84#);0NoD|&)d>%;^vl6iL_PT z>KWzZ3AzifhUEned$yoe1L{Xw5rQ>Q*??~jIDgdE(un5Pqc^Z#lfp5e1Ih!yWNjms zE_h#xr5e$`z*B?cU)vg9&Cdu#^Ltw#<;`$F%u3bKappd1J5o&(`WE0v>f4$FTaExX zBg%w9oJct}{^?nNSNzbFI`RDhnJa+X5#@(>$`8-w;q#qfzAC@RHcX0YEY?=Sw(bwN zrGqV9{4 zlFL}oB)4VyEtqOd%KJT5%b-hrq+0+uPmt=09C>U%?@6;p`2a7Jsk(wO-)9vZLDcfb zZ-XZXIG}b7GAU81bS4d9$}FGIC>nD1CG!Q>T(}6a?o7a7gD|;2jO3|JlY=6C63p zi}nkm-6t?w-th#eUK#CZsk3*>%2_oWv;u@hjU3i5&4L zpYZLOkmdv7qSp7L!npBv{w}w+Z3{C#Q+Q z<1c0HJkdWVg3lqWXu1xl;{fPbb3D=1U!7^J_9-}uMmWQM z5_F~gRR|n;;~EnPp}YfZ-L+6YLyewt?J-G0GD5Onh63z>15Rb0l*8~&aYv1|XoBEa z0fxl0KR9O@4QuR0YhiLK7*>bmPG=RyK$<({tnHbCCR0wQv$xN4yrV-771e0n^9XUj z_+G!7c+W9rg2+&T*Z?4wb=P9sI1h=Qm?sE#rC%>&5jn0LJ??gjP-%31})?`KY=w$OMQup0qn|MvCirWG_W_1$7~;0uVl44l%-pu>|7TRe3TmzyJny zqc|PX%j?hEMUBJ z?tY95Ar^?|2gEl3mcMqoy_;JMS{1clcgK3000T(8=7@WZOttfgXM)mCR_^6GB2d>D z#Tz$W0mv6MsMT-u$VE+VWv~Gdfpq|me2a(q?bjRAPC4lXw)hGF3BMXPqBen>tJ)`9 zTK%P+&!dFp(`G@Nd^kIV{2=8lAR*t{N#u_HS+jgc54Il=))Fv`3WEn)cJBdpdTbL9 zmB3|k9-zbE80@-X0du{9gwdP;XvPoZ%I-IA<`(151oOd%0-!&-lEe6}b!GS4Yzb)c z5F4;7grSTV(P}(8iF8qeMKD8jP)4W+%&F`}0WA|oujtnu@RS2$yn)fLNAzfaBy`%; zt#?wRM+tove~beB(5i6Bcle*nuqFZH&n0V3eG|Gspx@|%{2xdJR|Cs}8|l;>I*f-r z=!NG*-uu9meXXw;1Yu4VP9 zW^v}q6obXM-$;Et6#(}2y%3fu!n4&uCc~0KX1eTr?*z zcHNrkgi!$)F%ERH-EY&`>RG?m#Jq8Ftt3#mcB|?(sRWL7oZx3|Vc7zXF?J1NIL9r3 zmf4&rireT0O~{Ho5q}@B)&ScTz4&%OY}SWJjD6MYLpz(zNw=$row5YmGcf2O@Nd~K z<|iHKFFl!Zw4IzT1%CAQy&P&F?0){{HOyiUA2%Fs7hn&*Hp-GAr`oB+ zc$@>C@_z`0Yw`Z5J1^^B1%e3y9WpzJ39jSLGtI$kjgh7;cU&&_$ z6mI=7ft}5gyuNihnyb(s$kKgwIje}^Y_uk)e@G+fh%age_TFd4`JT~`8L|cE9E?0g zlD0nk{C$0eBC-kr5uMDrp8?uOFb^0i1|6`5@v=qR9G;W!cT>vjXagwYqlGX9;n+mM z5>z#!4KyRM4B4#Z7w=JzzF9D$a5Uv`pjmj0(qu3GD&a!H^&PNop>apwYvs zJPw252NxNzYJf91s+3Kw<`=^A@=4peakoL6`x|wVs%G4fA{A~>4&1JC zfTjIy!y8qvk8|U2`7}&FZ8Hy`dxd@7xYqqMUtRw@o=KBoh;l%^fzODX5}!|>@ij1r zY_I8CjNlp9RzMfY!UigQGpQ0+FPO0d zv^T1rn%$?!ZlV{AodPJ_v<0IhY8o6fmk1>3!VczTJ$v1>9OEcT!Ph+%*_i7yVOp=( z{vTyn;RTUpe1I`uU8IM_8&wY%{Eo9XH_eHT8ucRPdmcm^DT+&sL2b%y6Sf;dmM=yw zZSFr7_BA{amWwfIDiR?h8|9N^R{jHvH~Go7;h>v1&%Axmo4Q!Y0dD~DwOUe)J013f zOHu?98Dv@Dh=^*}VR9i;e0S{jDKMCwb@7rSdB z&C>9lrq6|v37FG)iMZdSwdUg;ie&uOkgLVI0XTv9 zj|baSwxQf|7PwIKNF4<+A!swV`t|_l#N#oF&i?%b`g~ z$$QK@8hUHxS#yQTt>0b=0RhT!0zr}-ZlH2k^<1&$(F!l-4IWyTX%Z%~n&xfG0_>MvRgERD{5Is=4FN?VxkI2Vdt4JvUq9&?@|UB->HcsT%T$1gw>DoDqIvQP<2 z89xI*ogx?sP#-CiP_^UOjwo&?If>il%yX<-?=PeT(bSY!tCRZ+7h_3=tq4`)P#Pu% zsJs94L*pCK(HV;Re3fQ^+n8c$x{KaI2LOt%!L@-NBFKC>@=@Z%dcL2sA=rORTGk-v zBp`>D`!}d8Z5|nAu>?CLz6&9B65eG+861O;kJQP)7b^4vBPE4Q8jYC?H~a(2N`rd90BSN)-Fep$HUElTP7UG#TgPq+m>P{HZ(IaZ7J95|wM^ zZ2lvW&k-9AwpyiN?5mlWt4F)-8Kp&fLPoaa2_L0^EP$aJ8=Y_2IVEDjLo78d3I1dK{D$8e)3OF$dQ}dtOSp>lJ5!V3HqN1X3%u);dInm?li81OD62cP z<5Piz#{RY)v3Zqh?#mjah00PA-HCc}m3%RpZ-VTVj|+mJ(KW_vs}VU7Q}! z$kEh%x?eJ#yX8vJe0vitj%=WZ+#DLTbyQKV-|Rmp0jz+;F0*AOg*(^55uQ>S(vWF$ z0mrDPGPNwxl@FLuinza{{`Uk10M5=w_1EpAJ%61YK~shye!X>URdV;w3ON)09ZvS) zyi3-n23yV}?iwK1-*y-~2A*lsnmj78Ed@ zwNt@UZWRm~EaT~?6f6v_9jBXoFKdHY6z?#O6ny=nhvhjn@K>~?(_30gFtuvJ=OL=s z`)Xw>WqW}2shRTLz@hl%oRcDhNLjxrOZWBc2Sn@<-S_W+VCKp*pIBHPz^ExR#}C$v z=k>S~zMN9_D|Z?a$3&nI2e7R%Ao)o;D?Z^Jyipeh6D6V(r)W#3wsLOTCQF7{`>8o! z(2^jgQ}>J%?{Rl*o@B!tBi_)G1kHmA*0Y=xbFFoL-tzV#dt#?`RB+OUY&c4n0xXoJ59^)&T| z*|7JKJq044>2!K{+lUcI8*dnUCZ@X32tJDmcfsyNPFzR5tNqNU())Yr^D~HVla3or z6I+=3cbg^o-3%CJCz9vnx7dy7>{d^FO%$uBNN<|Z?~6AY85#ErSHwZDLXcRjRIB)C zY-@9+$VqZdYs**|$Ae+tvt+LZws>Bgpigsp&oeqHWna3Yh?!@-VNm~&)aO5sV#;ta zSX4b0XpvIk{WioI=A+c#s6_n#RJDElOp*8F<)Ys?G8K0=wHv9IY(?xQ5Cg+q%%xW% zT6o~kCFO`v*D`CRaS)F+9~$ar|K!L(5H?}Xlqm5IvX$s>p%XmctypNF%3wrW@+;B6 ziT&roSgxKfkZMLNQMp7UyHreE`&>g)h}_)r%}a$QmkyeetG zgO>(3>>0q|+dNdenBW-HvxSwLVkPSsZF?tPMQJ@ zFZ_n1f=Wi8KBdZvG+$P_x@)-B>1|t+neP-QZ;{;KHPXr#Poy=18rV}jirfY_DmyjO z4mTnwJi_SJ-=#8|m&?*w7nVWHH-Rh@-#XA&H+ltbjJuNR_y3GuJs9;gI)Xh0u;QG$u0KELE^@O81a|iTxX@tsgt8)TU2rgU*$6G zWOE--=X%3-;3T$##*YSNdz{AMuEs=UMh|Ak&*a^j2B=}!aFN) zjZP$AQvtLT5DF%NnRt&n39#1Vh!rC!w~Fm%B{#E*OD~g<_6QKk6t?luF#8lPby!mT z1k5QHM$|jB_A+GWDPm@1m7jdsxk}$r1v+~b?PsPay-{(#50l+0w6agrh#^<*)KZ*M z%9ew+_(BI9rZ;CFj|DC_BSv8L*T+3L=3}+6} zpNLwHSk7ona!k$oR2hq@ZVXw3<|wClwAFGA=^M5BLC^wYn&jcLvO-^&!CdOLf!JQC zxfV!BOf=x-(Je zZ>pd9Y@=$gPmyDf(Q$4X(Kus2zNh4~i>g4v!*G<7>X%5UKktd6C$}$UsS@96qs6qN z=AJJ76zhG6!v{u?1?TAd86tz8UGf# zrA~dFRv23O?X07oFa6VUb-`_Xpk9ZF0i*geJ#Fghi0a_@ShPodfA{U`H2fS-iPjD4 z+MF)(JX(qI+7dtV!fv#{7FBgY!f=5uw6<>T)sMrzTeSOSZT-`_)2oX7*4iKA z^%xDkapv{C)3rr6y~FzTnKhhO^0njLb-a%wr>E-|ugdxqTD$Q2mn8iMII-7ra<^g| z(-rHH4jcFFs}H*Ij|KX_3-n%2%U--?{?0{X01cqVTF zC7&19 zfB!nSxy2~3!tArnwD(o?_A5ifR}k= z@L&-0xeR|8|2FmQ+u-sy!M}e@(RZe~c0^pJMM=@c)pjVIjX=9el0G}Ic}CMsMy-Q8 z(tjuAIG9EDj8v?*&(V$dNOr$)=qb1mDT?o^s2VrB?W$EyXf#Y(=NfAYaH#3&>+Z!| z_3aMa?(!h->C>zlW+iCTn5^;{>k01}VQ}gp=-F7AnA$9H_hSnbnvC?B?AGsDy)k=& zWz6OY?e9#u)AzJYOdMEDnfdn*zwA5f?YLs-x(AzL>F#;_HSr+b;_o+ooipt}-5;l{ zQd(e*ALRd4&-3|`Tc}e=%3s7nQ<`+d6L3V;a1_)2_U#eJ`cb7?Z%)=>74C812g_=V z-@mfvs@0b2Opc-7EoHNgo9@%UiI3~EOGu??lYfs+lXYb$ajmM zOjvLAoFNU`oRArvv=na-`Ka{ulMVG-A}oiQ1h zb&$2`Qf{bY2uz;An6X|2t1ew#&c<#Tr8 zZTld9@}y_>(r}KKc+RVN`bw&B`f3YUkhe3TU#7W0IkokawZqf3t8q9-NdEN0!wy;D z+pAs#N~4{|%tg)Wg{HXO)8C7remht3BXHvc#()yG!X<>(3^&9K?>&e>5KI_yd7xyE zw2zb2aoM+HPxE+5ia1KH4xz-mLct(@XKFws=&(6-iOq9KldMi-`ktP4g7#jI5%U5_ zOT)C_pqcNGtayd|_X-Mwd0oVEz1p_VD{#%u$?=Ns$f+RteuI;nR-Pxuffwi7-XZZ_2c{V#?0&mba=B)i)dm>LJb${bQ{KX%#3)a^N;G%}MM0mK*kN zkkmyT)5T-jnE>PDTj%jtJatpkyQ%nF_uxCT1;$$WeT&9Bp{fJ(4VUBjJDwMp!k1fn z%wdOnM?KDaON@Kd_s7oJQnnlWE+MYj@vi*^_Z|auR;DK2RRu=0-~L?QPmQ~tkhpn? zx(W)qeQ9w;v3R5EnYM&fX@}B2h!weMpxKIaK8P^5VX$9BNt_ENyTwXa$Emx_M zyIqL8mkT^z*E}TY_XZ`qN9wziR6X+cT1QPhBB;0@AG-4qyH|8P=2R8r>i*120i7FMJzb+wxcAP_K~lXH-(}hnbg|_ZCwjk4WmT!|z{{&T#yE zz3F9Mml2Ji^AcXG$)wWfiEI1b!W=T@Ca;^c*)g4ai<~|f>VMm;{_d)??=)hKy!Sb< zom9fJKhCyTtMWO;%U-$n@xAumMTgSv_)NU_r5AwSZ17&VO5eF&ow<5HEb!bHL2Z9Q zpJRNw&%eEf2+t!TA(8_?*pe6Izk^WlK3E-GQ1pgEXup)3T~hW(68=NgyL>ko`$pAc zGQaxIR6Sz!;qqokuTVOV>($BOHSJ`MNC<@aUsSzs+d4;eB{Tm}_5L6B?kXs*uIm^5 zYTVP^xCD21hv4o62$tXwAV`n^0fM``ySux)yE_E8APE5i>CN-L-?z`HQ~Oly%U!kK zbtBpZ6?)B|FZ7^g%b7;~k0gqB%xewS%l}gKl)i8bj@nJ=f@vM z8O6zmQP2NU^}2sut_nZ={72PeyCZ+RSlgVhwugy&9|?Rv`tbwy#%Fm_cGU+&GhQWAG9sp4wNbwKfb;)&}Rc@gOe$6NwZwGfky%$K6Ha;J_1UD8pC^NpbpqbT(q@4uI(b*D+v#VXE) z8FG7!9!TGI$`vM=r@7O*npyuckJl!3jY+W16QIj$W5WA4i*H?!=(ig<)nU$z~ZIVAJ@bRE7i1}#D$WW3SHinazZEeOVnQ^*`TbAGU z$XG$B`&eAW+lUrh)+kzNQ_=bO$YfJ^Gd5o-a)`!UH_G_+U2Up|d#Ra(GTuSWxZc-` z>d>GD`iAD$;Vdn?cV!o)^>JS*8ccQ;&z)qhgRfq%fd#%+ zO-wGMX@BB$I(!%@P2EsI<(d-U62|L{S!1r75=YOZ8>?yBDCm-8>U2&vtwL%r<1Hp) zpV!jAIGHULK+9ZU*YM(5F%C9&aQrZioETye-pRYJD_?PApr0Mw)bVNE>x-@~7gFQ; zoBqfbRS#QnKE|mlvSBBbsmmh6<;}aFd$EdLi9;-1^fVFiHeCWb%=5OKA4Hr)1y9`H zD>QzWy1t<7xk~&icy9LaT%(sa>@9RzH;+lAU7r2c{jwLmJE`{@elcB0KU24`zS;Hz z^X;tStL5Dyfj1&|t9*=RHzE&JY`dE_Z$uv)zp%vLH)VYg{d2*m?Do<}_@M^2b-Dfx zX89|f8}?)OTl5{{m?q!hZlkr$r!5eaD zZAesVEF`{UfQGX+RK=4LC!cn?1V_J1}iB&L98fH_5aoxGP zq^1rUR;SW&!<)L~t|uCHe})NTXno3%FfC_%>4Z6Fed?4aEq6Y{R+a7=!CyBOuNt3XWezsiQbk@d)?G$|9zqp zgJ+!ag*N0MiO@@6m(2unHsoS?(MwS=&W36< zHkPV*F}}@bTrAaSEYt2})UGdEto+@iQ>4V2E68-e5QZ zm-WU-ZN6*(HewJr|4sgAJiTU_!Dt+LfFF$_)OM!sU-+3vL8@BORJNEun)C_R-gvNZ zFr(qv!l8PRe7ZuW0*~=RiB`S!rgi=Pc(H+D&}+peN`wmY$Ra~x-V@y%D=j>8#bkz+ z9LH~mmE(L=E6GlQmy-{_?Y8@&)s%P`PPL}B(WRo8BmztaV=taCNkwb@QFPFoH;2rE zdk1qRn!)6iZNIFSYj7n{UVn9*n{RZ|8LDh=9`I$;{X=@0;;NY15z4fD|GVJoKrT0( zHZ=Cg=>((NG+9~w&t2eFH!-Zk#?#2{`Z$qRbvoJU$(&?Yr1$A!}_48PQ#W0vpUzH)>DpLFyP2Jh;)^ zIK_YCXQc;82LIq^MnMdRDP~C@4_#$gb*C226Cm?zq7o&1BJ zFAIhN=@)#*>^jVtQsLY=b$VVuBg1sj zpy8WV*hp^jwXlg~2`#62VQ=uDZa2y1vXz!+#@1t>wb{<&#}Hn%+ierlW!dpz`H!xr zyR#qN05bEH{4cB*{0!xfE1TB^?fF$dSeE&E00+LqVUWPG;vf9%{QAG}GaU~OPt4mf z^WL)BiStlGyOYnO+{+m2qr4x+X{H)G3k##1^>k# zmho#tHJbQ7>D$?-``wUR8b0UnZ_93bF_x>%c7d{X4+kzPqIHKUUoIbxa)MbOj|-Cj zmj8pFJyv84Yd@UU3`cFBv5njPxoA16`g7TlzS_3Lp1t|!YM}V9P+aMosLY#Ej_Lc* zDK>ns>woaGclCzV&v&oprk)3eoALhseo#@(c*x4FX8$P^&(`+X*_)mEWZiE6a9_H+ zo&5K%_`quvrl|t_!LL1sT=}3VK;iQ~VMHthXFv?i89Z=^dJ{R!KE9JN_mkmx2Rn2G8}&UuKOM?)&? z?IabXlwU!wF4UD9OeT~d-{oA#5Sy@1BP&0qk#>_%qEyIepFE`1c9U2WQ7DN;4j`cH z07KT>VgNaS8ejzU7(@a5dfC!5reY(E`ocU5nfa`G=~^?f*uEeUknaQY%++u z2bkW+@)m8yf#csvJ2VD3u>BOxISbO|v3uC?dnV!7b5iG(P!K!`VL7!Fm#kL206>M^a2gt*BS?lt)r)a3p(E{xw4Ym53e} zF;qRA{x-L3ZwA4HdX|UCh#etDj44%ODo4zy5IxsI-kj6dMdD{V!Y5T#3X`d92{C}E zGDJB4G$xMvr5RVuM`rRP5DZ73z(d%BKs)0T#_CfBChUt&Ms*#@96i`AfN(tbkmSqPKTgmc04l_K^@%4`}1#6;v&xX@$a zoVCgk1jH1w6FPT*;n=KLOASoQ*+szsz+rM04zDLZ00tdkTD2y(g!pMh95;fV5_$}n z74i4%3JNiFdt@K-V>*0rzYZ;iya2>H`D>FDUv*DIi^gL*X%PT~7lChx$p-=GDZ!SX zb=u|z22QbAfR-a3U-|7Y1@hEOmNil2a&12x@&af|4;+bu8Up_gGg3&o{L(m$c@ho< z41*5%%dq6Z(W2NBX^Y~JItMpn){N51j_Y*$ZuxH<-PrksT0=P$@^v7EBE`pjdK}0C zYvzrc%T?tG;oyHONJdN*Q%)?+yuDiCEfWCX5qbbWg?dJ0${tY5$IZ1GHwv3EEjHpF z0C~c-2ZLNJ@fDm8g3lm;HN$RQ)v=SXpaE-z>$TQt*HecV+W}1RP)sEqbnL>K@@#oa z?QDe-^mv^B(EA=eNgp3XrJb}dm7i5GuZ+~~Wb^(Is=r5Ip9AeUQbdXtAsC_g4Do&` z!eVz!Cs2EbQlLliWl-J#tfr01tT((Y1#rBMI3RcNad|`q}?=EaY zU$Z$?dh>^bgYG=h`bW^!ej(c?ld9#{Tgor1Ole$ofNC&#H!Y&$$0&ms5^S>q9^8=+ zvtHPa_Vk6rGAJ1oR79@h=@br&^ybJ35KzLRTv=CT`@wg6UpJxZi1&1y{(UDT?q-y| zq9~t+>#qbw4${I*X5W1J6gTUwGl&3Fx9Fo=Avd?%0pX+gjyiGr{`D?6#4zpwv=t{k zzsbXK$)fNufc;REo+wWmN8Xz+QU?NJ#fuvbsXkj^YYTD&G=9M#q>5|M1UkU;yH#rO zJe%6%o(HS+#bqNeboe1Og>B`*hWZRi+i1$ zMn=HY2UBrouuZoV!V%L09c&gg4j}iVwl(2V+Wqp}kfm z@c~1`K(E9=9hTs8e8{TSpwm510yxN5|IZ|yreve zdmJYy2~sebSV7QQf(VVBsgohyU%(Y`ItV2Yl4F2mFv#$oftNTaE6Ec{92@V-w`v&d z6$0HEhQxn?5W>{FgIge<=OCdWP`eb!D{u&e;u~>IFuJ23{j4Ivl_|V&$ZO*uGYY=M z5r|KS1t9@Gf*j$(TepQ|D9kw&0t!{E3qu$8AYuqcA}+R4GvdMOF;B9;guDm4kB9k@<4KOE~wp$$K!$ zl}&d52wx0@>ktX4iG{d>xKR92)uZVlZoWfcgpu$zIY>+ih|&u5QgCN_@Tukdist~r zg~dc7aC{}IwI?J5p|pb0)IeMGVE)p08)O{pQew=O1hm>13N<%0qcE~u*E>rH*g+Z2 zEf`lFgb)hCiHW3cg%*5?%O8#;gT#rSKt$vq6onwdnj}JXHzJ4NoD^)8R3a{S=&Wpj zlfbuwBY)&sB|L{@O*t?P0gmr5fpTmzzB(wdIfafROf}Gkf;^R;Bkbz~HXabeTbE*R z0{J=Yfl2|esi!b=B*Mj}Xz!)+I=Yz3gU_2&;W-j54s0jihVwwunRinZ=5abcLalY8 z5lYh4SA7&y0^lK_d@IW)9Ez?|Nd9qh#z|V4ai*X#C^r>68=Qb%5`OSIOBQiWBq^yd~ffNarK<5UEa&lRuK?LP0W*ok{2D68%#p(;k(0_0-$|IL;h4j}YkH;b20UUz%M#k}v5CgQ zZdVEYj*0Nbk`!`5Bv$k~!62|THb-+Fk#Tkah&04FLmZNyk_$+UkqVDNMg?#Vkn{Lr z3sz=R6(DXHY1njY94W0hYGX9|VGzZ~T>m_f>>A{)0K>A~1%7HCY*xP(TK@YNuAfA_NN4yY2e&3X!0o`QcOv>V;S9b=^JsM!ZnE27_>Yr zi}Z$AFSg837q5OSGxNF}Nj;y1q9WnAEGYzga>Z59xB{7?=%aW=9AokJ5PoVKw4;o0 zIgKp$r~AyB(4%`w$i4yk`7dvbzR5;Di;(_G=Nmmi&v?J7OfMM>xYnTrBQoP zR5L(|75yq&h9MYo)x1_UuU7KReXGdC^WDRstHEV&u6_SLLbloB2LNX)JmVX`bZY91@GAAq@0)#{RT5yEcq1JlXghDt| zV^xW>4v^YfV@Ly$xCaJ0J|}4)<6w9miMNGf28X z62E3W(`vcm#%oaAc6X$$X5YhuffJDAg5bjJXC8h{6GS z<>fjIW&uIldICp(_TL=}`~#>w#jn)LrHZ@e(-Pjvg1FNH@N@hZQvAg+1`#(ZT+%Z0 zR`c+4Kv)qjIK7>(BjPCK@~s5{z6ZdOumz8D$Uxn#NxupWNZ_9+6^qSMGHz3B2e*Zj z#{cXU7w?9m520}M{%$RgNeicisdu*3=3#LclSS0c;+M9)8-AC8ZP5-1pC29zgAn)h z3a=!%E0$1~gXTE$7RqCjrPBztp)~t=5*cmsZQ*C34 z!gxH2^-JZYa$~73j>4V7W3-ebyTo3CBmNx~q-*^2i7Qbx5tL}VL!%00HRJw$8;kkg${ z30X~J6n>@E2Hr=0iCGHEVoUs4X0`{F!<$oQz0i}Efi!jB3 zYp3jvC+Ux9rs>n4@ixr+*IJcd^iT$;1%%<8yL+ShC{v zoXJSJ$ZKjhrAemMQVYW%iP|N7j#=`^%Bi?z59P`(iWORurJ(a=CCrS3JrV5ZxuDG% zkJDCx3rhFNWz*aj|I{qjaHUNtIK+4wBXafcEdE_Yk5bs{Pty3`D+J$Ft|(&CH!7`h zrE}D8|F(}oZLMGJ2c8}G&#j|!AYB$B!w?~EAfua6=Bx0{R zcg|*(UDbFXu%m8la?I1WNsWtOD|Ve-bnej*a#L(8D>?#*))2Ey3bw>)WbSM;^P*gT z#Jb&wa?Xfu3I|sZsS$Zm8BYsi(Pq@8dP#;j>AM+L5s6)bXOs_xrMLD9^3+BGzA=*7 z974`qTIXRI{Pt0-{8$_b;RkZ_$FC%h5SYMPTWm3ICy7vKulr02Jf8B$R;ftAG*-nT z@6#Xtr)6EIGkrUn>ZcW?XOW%qb??ubyw6&)&Sv*cHG0onM`I!lR@s@?+ zFn)46hfJLJ|2?0H5~(4*P?3~toV2%;^zGizrVac?S4FV{g~>#Y~>Ljt>P+BIeU74RgCk4$>Lx5+4dEd zsw@f{&coj;oDUbT-~NN2-R57DY+sYYuF1)61hs`BY&W!Q-3Z@qI{Ys`_TK34-Y}Bg zzJhUGi)TseO57^=-u~(o@}#;Ih0)P`p!?RRy*2x5PpPX3gIyAu?@(=)!K&^vGa{!3%~P9)&&EyvGoxZj!- zzaPYZecHVf$@}eDUB29RCzpJK4R_zYB@1l-{s%wnzJJNOjLKe&CVPl`^AIcf+eP&u zrJFn;`ypfdAq#e!-VJpl`-MM!QTRqKj_Wa-O)}{N%jowXnt6}9#=CfPj|Ux(E!ltY z_bHp~@p-#{)@njsw^@o_oeysR>Ui}hm+DU&8@`{aU~?}owZtFO=_eKA=jy0uVVuWF z*pG*e50rWVk9^%io!ifcFv^4KpC-|IN84BND}S%HiB7Vwu0O!;zQOLZVOd--h1};8 zPHX@|836AKhYDr>U(eY@fT=z92{iWQ;%Jn!q~sySeTh`!MFE7Ghe~N2#0$)B@iZz~ zB3^%$9yH7pbN<247#(S53k1?d1Bn)M)k?K0-w&oGQfXGQySQeK{-V>WF`vwm7UKEu zIUBybcdafL)}O?Fzu;#)rEwR;?`oF)kdet`NU;631~9sL?Jx*#dPW&3xPn4kZ`3Eh z3fUvQ7GzQ%%~OtN_WIYHjq*3w*MH7Cz6X6Xk1y~NGP?{ZbOGFG{@1BAgq66R@2X9Ha)MZ+%14^Zdk^3R}1Yew$t4VzqSXz?gsOH3LlN2~d z$qxP}oJI*S|8vCt{|~2ygoF$a4>vbA4|s9>yP)#|r!_mXzQAcOm7SMBo0n3~zXNTG zZ5aQZX2VPMN}37s5@_@PPP6e+CI9xHn$ACK{h#aq&=vR(oc13$?f*tNtqR4B&!>5l zEgY89Eavf@g@5Pk?Q71hS0RAU4kk*${dO3eXv=;qu}bYutm$Qo_&5BwEr)UXT{YXO zs#`HAuh@S+><5NVvF#N$tIVC2w~Ml!6?F&vIcmyQ^wMm=n^(6w?g36@N93UbDXa65bM^=H zGP56ca{J>qjoWE>eD+`Zz&BTfGM-2zJ2_zf)Ui}MPqYr~voL(zKOkxM+wh!pc7h%R zi9tW9T*DJ?dRpYL7$$P5u}e}`dm0p^2%-q8Q zgUZjWSh`(FofXHxfMl_R{IT(x#XckaW=>8P<^!SNH`w#=4jB+t2?=t?*n2XOjgcU_ zkqBhkLaD?a?RAI5gnAYPxblHTy=US-i0|WYmC8Rn&AK<(Z0yzeb=A+<#THKFF_s@m z$ub5eD9aa;o1Rb@=t+43&S7lfeez@1b5i{aA=?0oAa31FNY0ZvXLM@TN7n$yng%6~ zPY)0~4JVoNcvJ3&zW$lsf%NT;SghLMc*mk2i9;2rFRd;4N7C2cmjg$TlT{d%&D4I> z+4zxs!?CJ2rDl#;>^`ey@XT50T#gK*l}e6491~K5Q_HxyB!x9;=$%yZ;advIVoud4 z&e9BG%n!foeorK%{S3M?ICvxUdw?i!CZ8>m9+T|zSSUS57ONqeic?r-uBdd#>Og^* zy21i`VgvJ=N)tNGV`*DnTxC@)#otB*ixuy+6yJYBKgqfm!nzzR`H+aEH|p2Ak7`l* z5z$6%8E(17q_iqGquj7HVYYLLp~B5J^Zj!gO^++2Iv_I6cra|GhMTvxU-z64{r24m zZ)u%gZ-sec!K$Slo{HaVW<9-!)u^zg#B6knkIU4$ZLY43lGc^lAJFw*Hgrjh&68*! zZHTirNv|3#Mp^9tpc<6meQ8M+xqKH8zCje2R5$j?&Rz|9vs7VOX`<4|xw?G*^fP|> zx_Pv8ce>P|89w888n%?Vb^N=s-&KiDKXff0wr-$@t-pTFxknRiJwcb-|02$N2g+}6 zBee*^Cn@-)N^HV^EA937t?_?Y`%um7)<;Hp5ooV#j8SaSFF#5aB2tl?^=LjoeF+YW ztlPt}DH)_VuQ4@0-<$0rV7OTfx3>{4d<`2M77l{OG!yL8ciN9gi)uvO*6mX>r4H$R ztcwq)Hs`}5=+TT~PGIRUpSI8)G3*+P?B2-XKpvbhV+DItksNaK)xajTeA&}BnaNR+ zho+oGp;_NBj)c2grl}DdQV=gJZ=r3BT2ZIZx!MG!qk>xI>{V zgSvux^DZ4X(bAZw-f?Lop%2cbAb&G>bB{$Tk48r=%rp4Ww91&OMo$xuBZITFxduE& zs&A20AI=6=2BKcotrMP`AzQ8T`QFtQUYu8_v@B2JeQYY9%+_a1UfU3jZZ1W+bolMM z0^#Me;jbK)FC&&YsM>DY_R4n4p5OX;H`TIU|HHFbXz|v^;ff*D93tL{R>^^uPQ5;Ul3+RSie*Y`RFD8 z?m6w`uq7+$gLTQba;0CzaCCSK2 zn!#=Ki^%Du-ROWH?Ur3O8EkP~if=@h>=o~-e`H;>YjcbriNdTuOzL4*DVl=dtV=XUwVl5ovfeDu9x?)1#O96a<2;) zvOfvGADWdvH$4GCpg(@EKhCi~?zI4YivKDo0LM5$YQ&oD{_D%3yv=d|2BL%7aR755 z0Vlterd(jSW1x0#px!a@`w)G(`@pauJ2N>_Qv!&eOVD0Y;Kfmpt=nfhq+kq!U;~Ty zGt$AXB>^5G3SKS2`agrm5`uhIJS|47M|DD;q@7YteZpY;uZ;<;{O&`(Ktj=ELK2Sk z;!_|g^boj|(7vY7srV50+0Yz*y}T9wQnxS%Fne@RF>;-R{GQ2E#LV!#6A==H3!W%0=|gM%aNOr&@?BsUm~;BQcVKwL&7NAraXH z5gREwJICNHf~YL@Czf|uUKmB+@_7e+D4V^fC8!#~8eLgLru;=5tS@f3maJf*(GqwzOLMuMmbF?{h- z0>pv>39_wjG6KPh?)I#qA*%9`1tIvAyouGZ33Q=}{ElY&qlrJ>61+!Es_XUZkx6RG zO;is}!u=I%X>Md2n()CLtU#E|w4C5d_*rz-#$8@fLLk}8JsC=vQkk0+pqt`zA`qGi zws23OLiG-BRg3yabo?$NzLY5OV_d9z>V#8B#ZW3~Y{Ct48n1R@qE%YKN9PjVp#GG! zjF!}h*i;(S^sv^{x|6he^K_Tc^fLNXC%N=&+4PQ~^fcp?fzo6*_YC`?h@O-5u~l&7 zgIC0T#*tNgvwY@$QTk+PCU{q5nL%TN5W)-#4XY=}QZ30mOeNfQ$2m*QN=;0#ImyCn z%^YILPEgOjJ0bX58t{Nh2wu*v{g~N~nuE-cvo4>bz>}%%mJ_m^MUs?(@)!>#$_1h2 z;*^;RS>>*jCJH#`YLw)VT3a0x=1~f!1Yd{V2;}Ib;(wRVn?*^7Kh3*8$$N5-=hn;r z(Gt%$W=YhRU-2=|!9AD5nqc-M-%`E6+_ykR0Z%~?Pr0ptj|Z$OXi8z7!Gu=m$dUg} zL4|!Rhq|m#Kp|IWtT5pqNk6U7f>HXTN0DJek>!3N3Ztc=USYXBe)(|GTjX?>u;L#6 zVo!x49i8HZ(mX#8nZU>5e3z2Sl9CYET5;w;i5*8_WZ3&Z0;REN>2cPj8nLDCdrQ+E zak7XC0omf~lc?-9I}wjED&&H)wK(3ed=s?%2jpUeu)MJ{z6pYBz6kDsX4s=4l}fitHm1(gqa z73XLWZTXMuxEiuhalU@fUuqo~!&59r`~I9C8d;vc1wIs3G~GieDYT zd{LbM(5n~#kr9k^^$nREj`~m0n{pgPF%YFg;|q9%%?@Dq0M4cSlI8X26!m1wjk3M~ zB|8XC4U8%Vf_E_gDhUER2zJod4(kGxVjxtkB-@H=>hwAvn|%|0$mt7alYP7=>EiDnh!-1icQ&4nErk1u9fZ-_ zjQfJc8Fjo!d@q(6HhE9n0Kc0PfT`98ChyW7?ZjqiYB196KUhLEpbncI z{zfu_(mQ~n2H0mb(%X*Im=5z#3{?=j+iidyZNaE&gZvQ!;2GfUdP`EqSc>F88ndfL z?_flGJHl+2s%;YvdlM%6%O{ADxSg_mth9nJYGW)JA6L>~z)MJr5*V?F7{X*9>&X~% zN*Ix_c4yrfM4WBOVd4+49Vs9loV6XTs3;nUfbfM+!p*i|MvToq4NQ_u1$wHw{p_mT zs0XVxk8SiUuTLf^Xd2N;Pu>cHC#KvxLN zIx&seIeSeq%X{4+);oT6K27pzBtQ{BiJ1duf>E!4S{vZ^`7AzYP862QNBwEk*-D9KTK;e+7Vk zwF9H+lT5@*aFC$`q?UK`Z9fbaiM@bO(eu(1sH)G z@MLP_GyrQ%F40WRo9mDDoG-~^^r^RlPtWGbZQ{OF3d#w$n4;GyN7k7KuE3aq0--ic z%(~L=eT*0#aMwK+!AlO7wr0Y0yib#ewc|(VYe^VWd7qj-V@`xhf`*^kyelS>S>j3X z+TSx9(?zW3MhK`x84M^DlKK( zY$DbUllAssaDafft$dYZx38y=)tYuNrDxg{qa@FD z1(7Q%8540L0Fq-TbH(6U3jii3J|hqgW;w&1`7arGdO1_Ty&7L3cykW;rf6UxEk=l-<=NEq~rk9ojSOg zizvHu_Ksa#9{~{fdw+*q3ijbv=WLwWUKqo~c+@eH!%<2+$oMM|8v!7bUl0K2SmYPy zUjA2Q7mApZmY#h@7?*%U=L?*+Px?K-eE`v+*`)%&6Kgi@ny3zG{x!LzV*6vi3iOke zpYWvs{B7SY{|b9>5B0v*&mV+O{?gF01E7I{m)i0aD~OonEMY3lL=d^D|Tgqyd|jvzI|tyYe#ykwk$A za_-&WmxIHr{ssUvo*@108Cv4I<6!+Ye} zE`E$#&Tlt<`M^u75WW#eB>QN{TG>PMqM>^htq0T=%|{4+((*dOB!4VDU#czt)A1(z zu>M@v=7I$Cd`<<-63LeYi+&2M0PM(`FmrC=)09xI29~1Nm;N3oTmo&~PqQ09+lL#x zA0Zg8_i`%v&OglIg6qql2LNLVKX}N$;WQ~9G<-BsazN}~aGIVi`QG0D5>7Mh`gcKx z=hN0es^-y4LC4*~AXQxoG4Q3JQ)wg~(4VgyEy!+^;|mm1VyS_R#Uy?FAW~B2_eNGo z@LH32hU`8&t7Yg?Mln50rSR311U1~pnm=CBY@YujlDxYz>I=jq`zOst9)c~kkVyRC zxYQVz&1fk0%L={_ABTkcKIeNc3OsWzSlyo_;GdY_hah0&&6EGc$zM0~Rvab&Up2Y!D>_!>rJW~(X& zR93Yza(MQU9XJTrNRA|gd8UdRLZ5<0QOkL+lnZpEi2-3KRz^Jjtn5BrXwu*vA0%>q zbqXAs5}>;^!S7r)umd~S7mg>aMuDk%fK!pBdB09E*@v;z2b;mUt`wb1X~Y*(iHjV* znuPyVE`T#b4u>U8;3G9p>y`t$t}!{K$21@Y;Lu>?>=%A$NQ@!$wfopcBa28iJ(DP` zg9*&@DjPX|{189u63+A+1rat?X&x;t9rH#l9aN^00#sQMbjC&u4KcXYq?@-@zydRh zG=_-57;_Ns2p}bMFkm!4@8{{G#>Yd>rHo2>f60Ps!d>DAipo!1Sba~^Y~VC4&1dLB z6_H3y2}56=pp+JIT%G?+!wqK`?oy}ML^)^;w6vIqvle2!!()Vhiu|4Pb19JDB$TeG z#Uz|CU!x$1YJR5{^RP08V%cE5Q3=Z;{G3r3S2=3R7Fh#rD-!!gVJsG-gWodq%VDc! zHnt64fgfDvYN=tm^Jg(2)UVlW;WLR5ydUh~d-ZzWpz_XP&bPxho9b>Pq4Q)kllxPD z(YtD6WI5J#<|2LUUY6pwD(Tv&O5sM<^{@JRfJ!brA%}n9w5zb+RbxB_-y>~y_szU* z28(i%^gac%TeTlIa&N6UOus=Eah@e4A-c|E<@OTbo-A`}J5_m`q~|Z1WG(EE;81>< z`ond@c}{A?!+AHDuFLKF^JzwY1n2U`mpYCBPYGM)fhZ~Hhu<@kXxwUOet778UK5?k z`O6Q@Pokn;zm_e#pQGcpM}WM^=+y_V@2YR&7#6m$+p*e&^iQa2HasF|5I@B*i`%^^X=5PV3s@xGhPu*5Z3nZ?p8 zy0mF#-N>XvcXvlgAF1eqoWn_7vII(3|AEs=eIFPAG&s%r>yTi%#_ueVV-tm zZIts)=c3~3b9AMdz+QYl@Jcv^#(_2l2ZFIB8g;=_OzL{C{4zZSqbuz)ZHy3wR>C)U zir(_9%l!(A2^eC^gLT0(8`B8swn*ee>tL5Xi1IF!30BuOgvH)$Dd^56X%~LJEv#26 z_5mHw2V?D4c-n@^>?kkz77c!~3l)&7OSMyeKd@thdnQbgrqVnt&B~jP25>NFWyG81 zBWjoGoTsXIhum6zZfrMv$Es6SU$~g*IjncJ^cDdl5SyJLwRnwb9i;Ue()`kL8U^`SM&x>H{=-0K`@k(%&s^CK4p# z;C7Ciu@s9VOxTTAH6A{~`O2_r5a%>K8u0MA0#H}jQ;@>9y{c7%HVk;!-ttx z;&8{f;Es3CCOVD8R3VW=!j^&`Y{!6uX}+ z6cQbuzwf_Ab5v*gWoG+K6)>d)BI$H(Tf9hjK^r9JB64XVJv(^Vp!%HdX5JLOpvo%bwmFJ>%QB%*D_6m8OWv5jq)3n+$ivhqAJQ z@6#yBg)f8!K5!Gaz|L_KnkNLck|W?Ku|B453!HpF7UC2UrD$SEXZVvi-B~}eoSNwA zqMi^byh-5Nw!9f>A+VZG@rYMZUzDLs8#WL6dFya6#tluW(mAyIGSvSRxxqcYR%gQI zFKfi}PTMVjEnPeK=O(8>6rWFynNuSPSTBy?bt}f zCM_668;R%u(;Kg={w&EQPj;rYSZ)bD%b1G^{-4d>UGDZc(N+eIsk?tOTaGS7@kUlCmI@=4Iiar@g<9BI zN@~7e)uta!yuEA|Z(1niBE7L9L_Ag_4AkmV858}K+gp?}K;}O1wxV9Hpinvv!#`CR zxku3N7`*C$wZ9`d>JS;_h%#UEvMY!ixyKzZ$4~I@M`MuGdMg75Uudcn1>r)&TuFSD z0O&U0*{&w|u2KY)G^cBD?#KAxz=`t{_6s=rVD`o@^$R{SrI{HFeL3f7ym{>!A&j~L zkdye>8)I3HVo~p+iRk4y#Ysk4hj>n)@rgr`W29f+cE2v<*pGIV`3!Lih{JIFhr^XP zzHnuRI)|~o?Pg!VA91WS;Eq>)i*n=>h4~SWaY7bj#m9PJ;MgXG_p@w7!zf5m(y^~v zvmv4#mFGw^Bq6~kms-I_3CmI`3TJ^LwSBZGfl2L@=?`aoolV}jF@c9tj_9pm@%~sZ zQ8L5c2pQ_Q+^JL`Sh%}CJzq?r%(tS-S#f`_(mQT^gqUzypJ=rwqiko?Aw8n`r{ZSV zxH~slg;exnh+ONA4;BMkoN#!fS>)iK@sXd5zGp)Y6cb+agSore^*&hf?NUtyimMVN z@n!O(+>T^XqbDmk(uDm1Efeaf$}8l8%_d{>KPO>DL@hz}WJ@(1 z88>1`+*pU~C;<_py-F25Pm{+9lD?s64YaaXeh1J~0{@ z;u+#yx_A&}tRbnHfEe{9X0+5@c@S;^RAiQnhBk6Sz3AoX?iJ@ZLoQvaevl)kN7#_Z z!KiK>_G~-{{l!W?IA`LK&{~6`OhQ=oIgUm;gg9{8j)I7fFbsxfBxnAa2wemvu4Rrn zah{P;6P2%smrUqOP15kbWyDxF9sB`Mg1MXErgfp1Z%2 zh!K-&D8Hb@QY4wk=#HRH8n%G=TJt?*0B4gzSz60@Z$X7cN`YmZmZeb?cd_I19`tu-#LPxtC=uL`oY>l+!W=X1V| zT2y*^7t}j=gkew**<86GnwuZ=7ZM%0;=A+>oMy8R5t(!=Kv0u6FgX$V* zu}zTE9e4iues=Y}XxpKRo>UpmVZ5^?AGg*x=;gz0UbIOl#*Xa12vV zTg_#4xsVNYD+RG>=dCX5h*MTyAwqDqIrpg@xE$>aINwq$nVZ5Vnr{0;%oY=ua}ze&^dlC*n2yQ@1@| zq7UzC$iHN|8DrYb!t~^^Q%-1q z_xhMck_3vd%zag)h~q{1i)St>BrqfiBkIab&ElZ5=A9mwxyU4EHNk$obVgW5h?d=f z;a2E&=IFbmS4MVf!a*7lRL1XR4wKGioj&h({^5EX6`?1Cf~I_E9fa!ZUu*IHWlVR! zX42FK$ujL7omZfSu>~g9l-Wa!MF7f?YZR(2sg9EWaf6;EaB_%`*H9IH9C~L({c@I! z^gUeWeFx`2w9Lux6RX82~7GtJZ)-)EnwOYKXtk`iDs-J=)2R@xvSZL{Kn%Sw;*gM!3* zEffp8i27L18xY^e$=I0Vnw6?x4SS!j(Pt`U*$&D`#1mLgh?>oKnS5i_TXgW$f5}X;rpJ-g5D5UFFcf<*W|zC5al}J*X+k zRgKTWdM|4Gc*}bHa7J6$j+OTmO*iBBlg5eNX>|r_g0705_WZc{y#LI>WY*5S-TD61 zrj9N2YRdW=kEwN}>D<+-Oob^wJZ{3A)W<7ix9Ep<(~k@*ZC!WtGDNe3t@fy(bj6b} z#np~$+AFx`_oqv!1QnJIewFwA(>lB;xh<%e!w$3B|AW2v3Ti5D)b$e*dNF~}iwV7n zfOHiTq=eq3_YTr~HKBJx@4fflQ32_o0wUD{(nVB|sz?ss{`THy&)Mfc|8u!7zN=iW zHNTmxS@W#-ecn>7JC+?^?Th<<(qy|)`P+9GCumW^Zbu)n6sI-yNLOT1Z_>`>&K)7f zzplgGvsyPLGfAM5herkO>@mlzLYpp~IIN4p(d(Q)g(FEx$3nM+xy_dt$@yM!JK*16 zy}*YhAgI>%d1GfkQPP}yRf|6*Mg5w8)p3jY(FyPTRd|M%FoXK zOf%w#L$+Tfd437$snfGl%Ux>MaX;leo!YCgl-wejfD5FZA4>fjGd6?*e<<56dG#X6zJ6yo8S^{@hCB z7gK$)C3_xU9T4SUnON)}M(_XRG9WocBlhKq-&{bd`(e5}Bu(kk-yl%6U58-bw+ubqr#+f_-IB+G zlEMAmP6NeWFX;VV;wguSLu|Q2{5T4T9WRC-y?yoePl7{;p8u7k#nr@;r%UryUw4S& z_|@y(tLJa2%g?V6^nc^|{?5f5y(`X{yd5&D^cQFw>gWAeAnxxH&*th&O8kfJP=UqJ z(Y?PP?^?MOhYDPVuHWkVqGbDAGK^O#Owc^6H|AWIca6Inu@LSjk{m0W=+ky_yDE#p+bMP1L&wjl$Kgt%p>VB4>dzC{> zajt`dqQ=F#nU;LlqwC)6%QTOW4Q7H*yA6i#xBS6 z^_>@W$MQh z+xh7j_j2L0&3@Z+0t_{(DzokKq$^Wu4i$HDUHdL~uuqSWb-HkY{HTu%Yq-iQhpec8isk&DAEKi_ih^gx!N{lR6u&s37_@H@G=Fijo={BxA z9q)}*OZ^xm?(cLh1^sE%U8w8a@mtReZo-YQRSESS_VvU2qelM-JwIKQbhrF6%ry); z`~ByK`tL>Kro4{?A;QC(q#=vLr1!6cBZ<2CMMh{%)Of3576T&VmEvmVW2^}eyxec6 z+lk^Q`Rbq2O__Dhw2cW&ha67phfCjx(+vE6IXyVIx;GnrX}UU#Vh%m&D5ZU9{2G1# zqusl!s71h#rb%e0fk=Ce_@Y_xq3(iV)L-!xJEf7+7RTM%t`%1$lhda*CZo-3zH5|z zFZ;GbB|nG0l=sJmk;?`+2Twm_S&I}1vk7dils>o-r)kV>j&jLL@3`Imw7i`ge0{p} zSmIiGUo|@H{l0dRxy(U&^LM5XjniT02CeB`C*OM0L%qND{Ye)5UPOq$e`IhgW#wp8 zz}@G#$5-gbuW40_j|XE!vJcNR&R;B?tpwk7K7Xcwe|RYt6B2s4|BhZ(2lKc|_KLpW z;sgHE(VF|wRa4TlNBG{h;?LK=k6&IxA@&UI=0F<9W*}V@mMjFG{s$c7 zQ!|9t*Oc#CgOfzPM^%LiM{*CmCsBC!z@o4vimiOz+|n?cqOT>|x6F!y)$tXp3Q0`R z5#m;aR3&s0XQTjQr>-u0T;+HWs~p0fn8g6&lWUFtR$3Nc;5d4xj3mMG-Io^w6Qd$J z@`*^Gb>$3tOk9XK$={QMd2<3G^+qenYhW{V$9f#I(VAkq!lC}+%Qz~YD$xnZiJ;+Q ze_TeGdf%#oog)`2vl^F{HozGqm@B5{HLsAIILULLZ%Sc*?!hTD7e7du!?m(4^CzCH z(!_Fq%802IiL2lea;=?Stq{(BaT3e@&{q}rw=L(KX=f7WG-GE^ik%7JK2_XObJU?> zA7aTCtFL`6F_p%(^nqLIUDeDZzk3BcS6`&+^?JSA?x_*`n98j2y=`x37dtKBkhF$lN(a zcAtN~FVaVpixV9Qt(o}z znyYcip- z4L!}uxXu%f^rUz91x!XqljR$==LH>Y;+H*=BsyfapDJm&tZGj!Jg5&Xb7;5enSYU0 zZhYwA>YZ=ggAUtUH{gDZC{3imJi*f>C4NH z?t~xL=Ffr4J->Y?u;f=G;CqonWOQW_%26W6vH|u`S>~wffDN+#*_ZHX;h0c-t_Z{- zbp%nx1=YM-rCb^r;eW%GKuNtx@8U6LMey3iv_OGr?Z>e6qD`0iD<+`3`uKya%@lXF z?4@;vi5H^BsofJy`DppZStH%_UcznOwU#*b5uvm+maR_Dl|B=p^7PD^PV+9QQM;K2m)$|?hnqJB*FVaIw$hXGM_zfq)Mll2!4noc1<0xym8WE@!FoQwa!`|NNf}?I ziJpoj0w31<%-78a(v&BOsEeX$m=FZ@9dVEEe2s@5&2ARz6-tKg=yx|Q_{(-Q7H-ZZ zo@OrIn1kv;f6K3rT^3)keGnJ8^AvJuKS8d4+PVQ&()*lg7rS{c^)bOA-jODIVJxdP z`OnpBS8rzh*Fv=BZInogFqMznXN5WKll1=Gcju-wUUz>!6#S-@KN!ik8=KwePM}yb zMPudFNlv<@xf{Gra!=zW^Yxp6`yXb8&dw>1W_TqGOg*K?Am*b^jylQ%o7VzeY&;)l zc%5W6xSPe-udY7vbYE@%ENWxhXH~2+`>-=F&}G_|xWYTvJ0*19TVBj@!auq;kJf|_ zzl!|j(`xcbli2E=h3!vd_SILq7pG-YZUeO&@kch zuq^T7L!uzm+W+JC%7gQjC{Vyl7w?}PaVM*!Z$}$Jfbq~De4lSOUtAyJKfeEd={OMl zFfjEvVPiqv^?}i5;G}z4OfIp_D~!<3`Ca`P8KoAwb2q=m<|iMb+A?w;X$C)6G~3}P zpnPTV^3S+)-mKAW*(7nHS0B=uFVRBRW6!pO=I_5O@hsLnE%|))m0A3|&ZGXa_cMQA zGn*}Lr<`8&y8k?^e);$Nvqx8(ck!3+US6NQe02S*8UOd!OZ+wd5rC)!aPtM7t^~*i zC*Uq25Q2jwNZPRV8Fi zaPqDa@)vN5u@Z_maLUCJ%1>~rof4|=@LOjkx31w3qEZMI0!mj3WjjYubC*&JA!sB@ zX=D*F#Zs6Cg7!%%tvQ0uzLd@lLGM?3BN}0dE@enYFlLo979p6bN|~Av%w46-FAywa zr7Uj{tc#_rpAc+2rEK33x6ev%UnAf|WpFBX1YH?|jh&slj9rMGL!yjBmYq|vj8lW1 z>q!}xIXky~8Mhldk6#&27&~ut8E-N>Usf4k5j%fX8GjSIKv$W-3wFV=GQl_OcNWX; zd}0^cDHHn6e)p{G?lrqGQMoV`hX`G{2pfkece$t#$32Pid$Js2isfP&9O6&P#mzY+ z?8_zGI3)ebCBrzRqRXX{Ii$17rHeRZsyGCQ!2d3HgaZWkfz$+l0qcO6>+98P1Y1~4(K2SNy9K}zK} za!1-5BN=g<_0tJUfNrEleLSn`lPY-<(0o;t2i#^j@fIC5Aho37V}F3E1_K;*lT{@I zmlUj@m0*D0^l~^{ck5=qGBHv-z!DiTOvt0=NOHQp`L-mb?5{Hft1%B^7IwVw^4eQ! zv3Wz=g7edgs55$$^t%6ioEXIPRlXO$V1H@D>BI1j~{P%g`WR=tgQ#pAc)?9ny}_1dt{%6abm1eq!QS z7ki+t5KcucU}EJm4jB1d91E;}xI74kaC%^p;c(m_h_t|AGlR7;3#X$dtH%ib3WPjS zp%#O4tCEq;!ZRIZPfARG`*vXLD9Cu%W8vt*!7%W{UPF~z1-U!L#Lqj-lzpx4+?b2H+21m@tsVfo}k%OFzIXo*oyUpGvs^t$?dKKzZ}F%aPJe-7eu29 zca%S!<#PiC?4%)jr(Qm8YW0^j9$3Ob$DL#%a#-VIUj+(Xf_U>pZlGi539{m2xYF7X z#ZXB4BoEK*pbE`X;>;Pc$pmNh+wUlNf&8v8F?Ef7mAYUOEpX*4x%)c{bGSuL%xigm z!t!nkK`l)2P4qKeMeq=I>HrCr7e^aNlF6wkIiHn8`?@`y#n6sT=kz&bBZmcHnkNIEBt=;&+S*(zi0Vo`IdR0piEhe26VBGaCBKL^)B%p)LEb0u!~|B&n~& zz<|xKv}kU>@`4X1wZtw%gIdf6rzIEvLlg{P8dQY z4#-xg&c(byK|(@*w}Z2Vk)mLBBe{RboS4&02!~sZnabqb3kx>Lz0Npp%eV}V?Uh=f`qeMHL;v6KH z1Q`c{tpi4Q!BLD5H291-tw+pKD=Q)u+2EMoXS%NN8hE?wEWPJpUv&yCq%s`V#zaXX z4}7;;lE*NCOFUKJBNM|A@~>kk4dGljOK#K$Vq@z^j(~j5*t^V_JJlW-xavUJuj}?) zK{ie++{q@AeO-x%twaDmVNZBvsLEkK1Lze)6XtE=v4p~0f{~nP!f2YbRT29fIqWSI z42jjEwgug+*r8^4$N8)*ahImMaFmBOmgNLaB0NY4j)O$kc^i=q4HAw_;=pvo&qTEM zQ2ZrWGF|`zbjT)8)`B6HQi#`WPe>LX#3sr_60knB7*m|W0pyV&aeWd(A9gj|ek*1O z%ZCr&Obs;$ID_|VQNqY4ZSlBD&ixc^$+jmDNK&mZDVMRp3X3zK1;#KfaXtb>@kXKk>x9{={8OI8I=eEPdNQ;g2by)_RDug4 zwmOn{FPDE?V!ptR2mqpexSNnBt&YQQwfV3T4yiwyf0FyHx|?&-(MEZGlC(&TEWzv~#Nq{n)2!7E4Z|7bN%?S6 zFk^z^(%v4v$-wb*kr1))PtwODvW!%J2=?vNxh z0d7lH_|fm(QZ5dXv7tW$cLZ`U^R!OwTq=HZu}GFBQ>fxs49k#o7AJDFM%!Q5}d z)+*@d7fDR@>e>EiVqCvi_!-!J_Mh8`Pa4*MBr+qQaLy#}`i<~N>IFgsqlBtDjlT(I zvrbp)dCc)o{d=C)fAAmgCEbyA#dGs*GRXz_5aV72jPI0jEq#xAtq%OtL<^#%)QF|= z=*-cyt78CMYV!*I%7f(!Hj8~F>Zx;0+6puZ-f z%YEqe?p$Xu5#$&YDSqfw$h^hH!4nT}G^3T1rRftv*<^2;)7{%K<82W~Cya(W4~VgV zy!_F!+h(+ck!c5Jk`qd!aucuUM_(#BiR&xoV*8jYLB`+^{j)IodvY&$FHZ)vWHjlz ze{voRU-p~L1i0r%rhT(+eLy1Yo^JXieWR;mlJ}0~@0!?aUVBbi?V08M)`=I~bInuA zlA4*q31;tX1N-oXikG&vAstsueo{tWljpTsVf>6*!um5k^#{}Pl`4|)!@qQbS}*3W zhccDOd1%8U!!{%^wnyp!5}I#Oz}Gx5a$$OMDeB0`VBkbZK)KDEyU3x5LRuXWj z1Y_D`_$wI%cZ9tY!LnODDaa1DJ5raHgq3sCF%E^p5!%lUU}k5S%yId|^DqUJk=&ex zb*ieA6pZB}LVE+trbtUm;>Tg=SI0xEEk%n;MGSQZIl!284QUh^Xvc_Ax>h$A3Tehh zG6!IyQX^UCl&w91hf54*PiU9LXg?T4CuD~__H>d$^m2aHdN_y!saDu!fKF& zp0V!uo@fh4dMjSqV6+86kCh%YPV6WoMLW)cmo~@K{GL^;o+t4BGK0_s&m%CwpaD$M zE;=N~SjozTW-v|+3aFBzb)I03tcVldh-OX=7$8W5qyoDPX?n#X0#WEV5*o*?1VpN8 zfF3O&H*Lj4f+GWMEgDAG61y1drtO*3>KUb28sS$BiLQRO&J(>ZmAn!gGO`Sz$Hmxe z$BCB)t5%0CFDEW)t2Yn_3&$n`_ZdEeli0OmvMwN>GtA_UjK_ItnwObXw<3g(o;@I8 z+M0;)-eXup!;TzqtgZ4>Xb5l+C+DeKjdmkKrrH73TBK+Q9btD@l5ce;N1)SH@XO5o zhA`FGP=dLT@QX;ENxMs_w9hxMya+U(G_@+9J^?f((k@K`n%W|gs)%()OIzI=g_L%r z0u5pGqiI9Cp$es#Sb9zCNeGZIQ&Soue;FvX&k$*wfjCML!x|USXAnVE&UjsWPdpX0 zBT7>(ECaLd=R`7YXOgv=eO|~wATm=#(%A0$jNv z$$VP3t!#6Y-GPI_aK^-2e01SXG?zp>II!t$7kgG(OU_j$8TU zsqPlUdFW_u$gb5CfsdZ3hr%*L+ak_Bqky^6ka}E>Bo5s(o;7-&r;MM}_6hKta&U() zg~ewAB_tqYq(!=X0b@>(MrGKj5zVCpK;NJKCm-xrh2Ipt3xSnK^0uWBpRLjbq#(m8 z)+w*thn_vtiLLLfp}_HjC9)n{iuJSu*U?j@BTNI|~$`eI~)^ zQKHydsxVa6xvlgt2C~KnS;?{@M0nQky6)`&7$Gb-r3JFVG#~^}eI^0XPgGKZqs~zs)?QJCOD~>&D7FHni`gyFL z+TIM6S(jDS`ne)=r4bofBEKsXBWvOCI#NVlRbFlc88nT|<&>K)Z_4_MuS<=-OO1*^ zkTgxZGkxw^DS4?muo4`Qyz!b$HZUsz2Jw--;ZhB1E!503j>!DYWV;y$&XK%nFjL$zvk zHD6cJDzttYQIOwTqEJMR?RA*$E`jz>4TW9hRmQ)6B1CRCB@H{}LiXMFqP$=2mC$EA zUC%<=?smWb?R|mq`h>1}nT34FKz{pLaJLQK$~9vRL4Eez#_GjUpU|cN&E9nW0ezpx ze*OFVZMgOqC;3fsHZN05=ne&*|4MMu-t50nrDd(^UzvV+>@rBqBKWtz-*&F+i2Nmf z&648Vi&p-UX(^oU{Gk8P&G7?hS318L{a!w$j~x&iSuF|smJ!J`sHobt%P_f~Fv-*~ z32&V+S&?+SdeQv5v-FCgvVgm2ro&@3td`}K1E{Ea1{!_UN5f*=*Z`r*>~gH1sxDymK5_F<>>(_!qzXQd~(Y(zXV}JA#ay!-ioEay}Dxhe)X1s zHGyvLEvPU>lm+sCGQExe52p7|p!ZL|*MBm-o1K;$pm&4yZf0Blx8KY8AAYZY8*HKa zuT1ZsgDwAJdjElr{`LDm^aTE|Ob-R%^|&eU0igdJZ22eCBS8*E0(ntlh8WL^>Fj?n zy?rQ>00Ls;Ea|}v13<)%|73bG$DF5xt`r^3E#<7y6 z$LV*`mc!s*;D|8uxA<-O4R}cu#+C^xjB#Rp@4$=&Kw6Ca|0?Wh>jLF40D@Z-xSZfy zy`xr&U|W)5P++J8(wn+!Vh-q7NlXC5iT^}ACZ(`slyf5-8%(A^;szB!L(7;@N_fqe zR4A<_Ao7wDIh05q7h%Yzv{+{O@FYxV`BatJG~G+Ihqcuy{Zv39Qt zbl5$sBl*H%36w3f1&c3mQvn)K_2yIn2Ym4(wDq<8zcJNhD4Cm$=E4jJuq8T@p{_HC z6bsa%+TwTkHRlXTXY=fQ+R8^KJlFyDRDyt+B#;e$>CW;ML}O4`DsB8{S51~DaMicUbOwJO`EECN8hRng&gwu zB?2xtF6vC8(GS^em1_CZd3y!-f~6Vk6tWK6OQ~T@c|-IMNLA2{J97gqN425Ch)NP zb+f0De*nNr2P|#G-t!TCD)qfz+udA#DYG*Fi_DSFWzPLs4k!>zQk1_7~DFldo=tMb@ zbFK7J$!AedwKo8MxlKO~37@-bd;6Ts^VGEienFqft_yiH_XEMeSJXxX!S-WDf~kzC z)rbH?*n(!v)%_CrZ`}|e1rkU%ar^NTrRSd!RpBg`iGXL1tGJ_7B8d4^t(n>eC=B5d zMSP}mv&UKed()iO-lPrqYv1&?LqeZLlO;`(907>@U>pLKFqiyZcq|FcJ#Gw9Cc_9v zFzh`O9x<~N)B+M4Y9nwWniAe}rH-)#_r2m>sYLU3oV4PYwE!dp z9zbTUEpB>9EaMt|sxD9@&>V%)ykbZrwS*Hev>*%M3J6NhV=cIe6~(wAFq{_v`Xzu? zMq+>{GB60WHDLmI^=L!wkW1E+i-fZTQTWsL5iJRTWHCT7>kcvlV0j~|aDotW&I4r0 z;=P1Qrp?|!I3GTZ4dq1BH05~0sbVq9f^e*JI6U?J0X2~j90<|V1ybPv+%`^-Z4qGv zum;IaEQ-gFXSBh|F7nWWh7db1Z|>O3Dn5Z0MPia)@Ix3Pvu_#rSwGrTcL*s@0C`IR zA1OMtjV0j!`8M)FY6)ZM7LveQE0;5agUO@B@`8|n{6?a|I5DVBY7NACDDyU~@+h&i z0I_20+>w~GM2*(u zfCKNz&ehKRNwgprH3MBu^J!9G2zQvMi{&LbinzW7E3}y=FF5f3x-;QR-u8z4LNYb% z{j8e-KW>iQwof{+6e%~gngiwr)n@{T*}u*1if+~QceJP-|G{-qE<;SKtrFhOGy{D>sc9$<1<2VyA!1jv*SP%i`c#ccs?eL46X1&MFs zh+#CuHL_LAQxT>1hEzrv>MotqF{n<;FTF-?q zV-iqa21#gY9tPfBEoQ@aUgnt-mVxYg#MYSMWV?=%q&T7%#}26!h6n_*TW<8>v`mPiBYhvr+S*{I)3KeJv=ISP1LisCo#p{;EiiF zGCn$Tz0kv5wbR{dIkm(Sw$ofHRqd$Tf2)|eetspUu{aGyXsawcz{(`)m=wYgspv^b zYWorDYbBWG2nMkcb_)%wln)kbRlMS%X^MmbNoeSQ`s*Ia-G8TNMZ4tBNQ_VO6kR1?+GXx7vxi~%MRIgH`*5poDL z2QT$%b;Mu#7({Ax4Z>Icg8JMC=Ao~vw-;fZ!|0?R&5YNMbsU!?C`F3SX(ZP`Nn;s5 zRfj9iMS-yq1>NB~t-3YXm;ytXPB(7?8it7tnvP@^S$^iIgwjioVYf?6gI8K#cF_8zc34Z#a6H@3m<0`*;q$uY!7UW^>zDZ10is#vkTmi6r zG%Va6qL~rbLYxEz#@AQ@?@Lk7Pb5}VLt62t@~nI?3165*1~av^-Z7eHBs&IJlD@H* z!jX!r_QVYlB`cnV{~%1&gn7teRY0|nLvXb9P)2S{3fwXHt#~>Zs$^gM5%WrAk13P+C&-*wOL0oj1pYg%tzj~j8IIV#$K0cIUnQ?%$Y^R@-PDkzl2Z) zF!J!h4o|!SoU(ylnD|RS=udybT*!^+LhjTCIiA|O0_p5c(Bg$XHBb*4gFd&<8)GoE zunLx`HTqVOXPlLF50#5qinxc@R;jU9l&ef8g=$z>0q3NjfFztU_w(i?Xbv;-g;LSJ zMvyH=!| zv{Z}~OUDF+V(c1>ow^q_o*2Oxx@=X&J-KqIMJMY9R0^!4sI$RAHB(T&tQr!lx-O^k z@h7@JDvdZ43g`xHI3s`}#A&aXs1wM_vY{62WHgm4jf%fZ4h$g^c}Dz(wi!gZ!~u=W zz!U=>Cp}cw5f^0gGVvi{6PZeYwzkVk9UCWi5klFS4q5U=hUOa?wd3mT9;rgxJjc4Y z3QFxJX3v%}RO_pl>f@?1=(@A3eFJ5UD=DJ&hhYo(Tn%A|`~z_(QzJpP1Bk(L9Opq> zeID9$w2l_9)l5eYm9B@>Ww+EaA&h$4#}OS~s18x94sKr$@6?hXWEp!|GaE^&X)Y}HxSpA*0g?X71f`cR4O z5Brjk8{ZZ|oftONAAS4E8fqW>^^c#&$}k`z!>oP)5MSls)nD}$8vmw9Ej0*7C;_-D;Hr>wBm>Tu^r6|9OG*n>x1fqJuUYw2=hV=VDRx4 zR@h<>;6(M*D0A0@;PMDKq%ZsdYgEJYK*78I6m~&s#j3Ghp4!C==jB$O6NGsa`bU%L zc~fbLocZ7SOTR&LXP!5Ga6k5%mg#SdJRgL`PYIS!bgoTx%FR%fPnnTUw+}#iXH;-k z(7A>l>!E3Ok=F|pf!5g9A^J&UANuvq2D@EgA7;kmm;3p4rnVcPQxwCUY7JZO-ssHD zY!>9a{%|j)>dg`V@M=gaQR|ykl}C$-kbB>_js@R-7fcv^3IQDs(Oz~ap>o%sJ|t0} zx>mbSs7}K%gMIX279u{;n#eS`*!DWV;gos)8_OKk#@sK1xgToPcS94j8D5;@3!424 zdd+m_g@LmotV0iySjc-C8cp5;Y+k;7`XcMW%w56Pg1Y03heM4A^8%C|svqBR74*Rq zm>zu`V`?-Zn3xYx={w;VWNw|*dEJ>U=wR~jxt=P_rO-{;b^dc|%ml@|=+bxLqwno2 zwcTGs7{B$*#m48%Elt|jk+V!WxW4l$gh(6M-v7qcE;AXG>Zi#FweB|_Fc!e%FCQ&c zScY<@KIDmWc%NCgL^(6*rnag>(I3RxRQC|p9kS3d@SNt)DtNM2Yp45-DXmdVL-A`d z>GOeIpWfb?(1QvuUi-Cz@bZI&`UaWKDaz&shL3metSvP57W#hdeEM)p>pUqR1A+gqsPw;KyD=H-yk#v>fy{2(eM^7;E=6$L(Pnfis@}Y?<<4UQ5SZnGk(kx& zaD(@*taQMJexwtls8nOW)ZVZ$eUm~C2C=>~R<0{FW4Lh~F$twEX))~c&jf(g@HbF+ zIQ$zlBFh|&-5PEH0|jqvWasC9Sb(#vH&+K05FulGm!+Zu)-+c3x$9= zKhOg$GoTL&m--aK&bbDHbHf1yE3~*300?7O94ROZ1`wVieA1#B#G}kz;1Hg7Ac3wu z4n@;bG{lVoA&ddBhR?D*BVZ*V08@2TE~V(nab`P`O6zagKv=X=<5HZQShJO%IPKuV zr8z4e6F5rXKvvQn6+rnSr(GmPPc2TN%~dZim}xX{w{S^(%T_VmEpod=|9S~hJTqrF z3nCw^{{>Qt&>fV3f~sVwFyN2IsoFsu)^$*H}*+U-DfJDf{JNP;2|e<1kBQs zN=S?51srZ9Y_um!=-3S9dN2!2(bg)eqmPl-uchj6hKy?g>m23Oq6FXdad}4qFomf; z&Zt{TH{|#;H<&f)h|PzYgailkd3~#JYp{=7HjZ9H$VL7qYKwBAph>NM-%^gp*Y8xD z6!u)#>UosD{St*bt`+&7sIqNLr+gJ>a4<9`zD5efOLU_Q`e>VU^!>M5<$S4>1U{3V z+SO#ZpNn1eMn$MY+!G(^nLoy;hh@z3rgmJ&p^^#%QB*CaI0ME2p9_V;s*`RMmKa&U4I2EIE+c+F!w??CTgR-uM}xFzbaAy@ z%LYsE;s6;x?hpZUf&9FB8+HBt^R_UL00 zqHPFpi`4otgaWApd&iCvgQUG1)Pj%yS=Dgl#gUo9{TME8qXK%Ke@V23Z~n0$bTUMd zJ_Ue=ZKz0u1{EX3-~=*L7$P!02)W@8gggt{FlURJQiK{zIg4STIetlM`vcxHhYObZ zrCfv@C)iGy;J!6qKw^3ffAFCU^<*V=+Hx)-)rVDS%TT4rYB2s~#~@OSW4I6p;K%)WGb5mtMe8Qe0wJ;#ane%3Easn~5$rjo)QV!p@mVeNP1!6Se9!^L=;Yw=D6%B{UK&{gE zOK8EK57+R(1YXz@TSn&_vJ7*C)2yN+c>%a}5QcbSX(4OfHjjRTPZidpjuZ6d8NT8p ziI%|uEeB&jq|V88b)1o$+KA0yCKQ-UDWhzQfOfV5EOwKywDd(-Q%+up)!~|t}b){`?=Gx!n|obi5QEGT1e-yJaC(aU2b`w=3O`( z;KqWsgqAIb<2$zVZed-)e!=fBtLkw3j~FmN^1~NrI02)U3rp+Q)grwv#CS-&F|+WC zN6WKC zls|o>+QN&uT(=1qKcFK)=kVA*Xx9)N{Fp4i-b0{HmIHL8Z{7>6C+hj7*%06u!zogO zlvM%kfinNnR!DQ7W|m2_&!``8V(2Gs40(4lA0#Lwdq$&?4-eCh<1TsgoPDBbUYnOk z((?a4Xjf$_sM32TzbFHgP-E>^5t3m1Fc|h+fNf- zzOA)+86d-vk4&fw|Mf;#S@a*Cik-M&@$er(`yzZjN9TUUWk>04)xV}*cxb^FUMEo8!9`=TLq-6VD$lDbvrls2>`wupRqKk$6 z+FoXTvKDFFq%ul7fL3w zIZqh1WM}*!whF;_r06!N^`Pra!<<-~Z466mq#Ca;wu`!^ItaW(4csz5a6oOBb0}^b zk7W7icskHtKp2scN~u^V6d+Ke!n^IJkA~!*S+Yq+=+Dbk($iuM-ETql#_-u5+*L7) zyYku-&=5zIouTN}NEGE9fQ`W{t%e#!>qUu)rSuG~j|?BqieOBQFg|@0R|9j!s$`asJx!ZsXP5U7vROdbh#Ivou!TO%_KFBau$$FVwiuNLJy1p_6GJ! z`Pq{sjrBloks<>wAnRL@I{~5399?93blNA9m1|N*cGHOFQegNcbvfGjZ2jQZi#JQh zo}TC7jHq-fs|@jXuGAQvg^Pp?Y{m=vG(>C0R7EnYQu0={nbhPnQdF`X_L){K#Jo09 znmEK}C?TOI6%EZ|Dvi+%NROU~6=%p4q{axNZMP!S_4bnk#Il@n!zrv%&PcFzTM&j> zL+oVs&*k7W5pP+PTSBiTNe>M^BaOH-^H0x%*vZ%_ag!A#)nU$LR;yg0=-j`f?tdzu z=q=iNY^MN>MDOtC-QLUK0|q@a;;P+JuUd)xv#j8L{W6aV;aRQj{Rghj7MiwQ9ZPH+O~vY$Y-0cpraSs8<;pv zQ%sWQqeg60j4BxIDJdAqBmw4P$7x#WH6wBhHKk*GR%jS|GCp_b#wlYGBTB7nP4DHX z7fzPKCv$%8+BHlTe-kaON0s<(lv@Qrg!wCotPGegOE&GxZ~0bC1Uggldv{jFI{6l; zk%d{T7+V7?AXXJ>?_v(=D&fxb!m9}e@ley>5Ig5838#oJUn;5f1w8VK*aNE?Vqk1} zg41!;-hEZVeN}ovMd;*=8lv zk+Rz+t=b`^n&Tx+2bu2JzHANa>bMiG0wJoZsB2P7D6-f);38e?c^aD!!TXv}|-T;~ZGE6D^FBh{vaM1zp3mYRWz?$I`BL6rKPc;1s}+&ma0L~g zirF%z6n3*IF~@f|G{#Slzq9Ur&7)d#+FbpE#pavf8Y}s*fKi_P+ZzjCSL0f@hi_Gq zYIoC38THrKkJH_|A6{TUdiCJxSHFES8pJsa7ci)!0 zccx167u$bVqg!wOy03PBv4#FcvU-2lVP>xT!Kc^#-9J7L*1w_BVA=ZlWg=amI3T3= z*RF5=<6;dnH`M<7yKhH}p7)=(et4OH|L?<;KUl+F{QYzB>)`X-moM@7m+y(!FmONZ1p{ji>{Kz1-*s&)AI^cr@>qSk5fRG9+73&6jv^RZXFr zkTD&H#XXHD90^i8HJix~&U)sOQh`QH5wdhnTN-j~wOeUw#+kP1T8ezz8G28gwlfXw zYqzsZ{r0!BE!$3Pb8NGmc5)r7YIpLUcJ1%vdyMhz7WgbW?G{QW$L$t{obB%xV~Bz( zi=v=p*`=&xb$exr5-NzYaFjDcYPT|3PUT~ny8WsGzpwk%msV31HNmMWS+#+sWMAtV zy1w!UWUS(=zM8d%>$~_g@6;VM4V--y$mzc3|JE`>=kl#}g1i1(+l<7)xAs{@fkvev z4VS}~_vZD7T_5}o4!hT*1-|!eWx42f?Nrr&@B7wevIW}f6Zlbl^v31K|6=dHqMB;g zh40UqP(n2`frM^C?*gI}5fh4l6hV}xAgDA!x-V`u5)Md;A{k6V5WmWRfuwe)E4{SNHyU?T4OUU*COr1RS;akPL6U;6-H@ zO5E*ZSJ~d}Z`YFD8{o2Z-+RpCT(>v)MtXd2=ywqN$6?Vs?jJ`aE9*Xv%0AfsICeRn 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 s1UvhG-!xp7w<>l_|=H={Q{k@N^ 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 DWVYLY literal 0 HcmV?d00001 diff --git a/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png b/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png new file mode 100644 index 0000000000000000000000000000000000000000..ba89a830c63ea55a478ea4faa6a16c70056d665c GIT binary patch literal 19799 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 O8Rg&szJIxIWb!{k+5UV0 literal 0 HcmV?d00001 diff --git a/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png b/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc5c47000180053ecfc7146c0cbfa9c5fb4c4fd GIT binary patch literal 168529 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ℑeU*_r8WhAIW$b_VvC9`n1v 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 z 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

    L3(Yt*^gQ~ri;Ib(boiib z_?XAic@$thFNZajx_#-e!hzHxzq|e-d|sHM6K0LRHR3_^Kc8(R|4X4L8sZ=Q8^vz? zr6B0=!8e#{bv%UDW2kNaGUQZB?H?YNX;8rv`+BA9qqDO!;sY5UJ{)i0U|?Wyx!PjW z$7U<>HkQv-x@J&m=3cS-8j(c16~EpLb232Zt8j4FF|b|8l9qAG<{gee#-FYoLv3AM z&(3s}iAh%4YHW4#rJ&0OaCzsKmmPKQ_|mXU_5!FvI{Zj6RpLK<>WZ?uG1!BbnNT1940WL|ZKcY`Q)*E}vD!*BN6hjZ-?0`RSwe9qW zO_j$=N=mqzrMf}Ce!bG2`6OsVYWR?ZfhoR8HlUvR{knq=db3I}%s!xP`KYlzR74MF zZ<+d;+%!vEQzXjUJ`uP*ycxI1tkOF`X;|irrk-^Ltl|5^MNR@(!+Iq zv0d#9BswLUdIf&}umWMU#ZOX`?|+lb`{FfmF%fIpyhvk4Rp**Tgfwo|p?I zys_D|M!|i*|4S`j@|>|S5+&$X8L9GT&W6MqF&1cX>UC=v@bAQa_>k>BG!_K~>FZZc zoO_#|EC_^rKvB_=Go^_p9`M(1Z&VzT;eg9O9A_=PYB`^xqR-@##_hKm3(Ixhu&z4X z@Bo!0LE*y`!T%samQuu>8|=cLW-#-fS65eC^@i%V_4i{Ne0Ob|#y?Tw1{*}2R^Q)K z+n^sVVgOCQd8?QsA>A@~()pGozV(8Ahat#R@M|MyXKt^$O*-0t&~I7I)^fazv&NN_ zl-$@Dj+c8OD~manKh%1>FOhIJ@es*C&qBnG7(4e3Pkqz?OF%O&8EhkqXRq;J{;p=` zFrMrCdYf-;dP$`E%`^(6MVD#_!vdKA2z;untlYrbL9M=76b4NQr%|(_o+kzd#+k9lrbY0e;uNf9QzuTqf>WzH3k`+pl7GN3-+W?MM`Yl9yAd%loz}FlA7W z6l;~~)=Bs2yjuKKs2-OryEhW<(3~1lzGgayYx!qsqCfgt$B|9SBB9Xk)~ZiEM$HU_ z16KbDmWXtCv5C;-pQeNC#uq6(n_h_4Pzf#NHb!6?ph&bcPaZ!R6a@?bnswiXkgcii|u2% zB1s7OJCFKC<97kdCf#(~!UAo}O)W-2#vg>@ZfyA~q@WbJx_&3K9J9|Y;EU%i`KPYG zFD4L#Cz5-`KE=PzDt2w%6f=-_)YvPqCZY^4`ITm6J;0?F3DkPgC2*YPt@9I3Z0Lct zy>ZEr2>%P@ell#juBf5`Mc#de@;*;;6W^yi35pMgQYG70U>N$yR>=K?ufY5X3KEnD z4KXSuZhP<Ja}l7dvcv4C;uRz zYn_~7tbfV05K~gr^<{XIB5T`utjJZhl~ZYqHPZU}UC92$Ff%iw%)aD;V+BMKZLnN? z)0Pkk)~{efZZ4JZUkmzFbH3Y!lXZuq(8sPr^}s(&H0cyY6cnTTr8HTpvexEKnoSG- z-Yz>lU@1cSe!7##(d6;$8Io?b)pG^Ck1I1ZHrnOJ$h*5UQ&Yx0g9i1NOmubHwGXFN zjIc>%W_I@I7LVD2JxVgSONnPMWq}4bqekAo=mBKlnA57Or%QCIbeTVo zJ_ZLxikP?1?w`N)`kaXGMWh*L*1p0)p|Z4)vt4aUw7gURwd5}xFAI1T8m}=fnQlPt zrD-HDU7WbfGr zDv_UX`KNTIS_(LM z&_Cs%V`8oXW-f2-`6KoLIlnErrjcS>KjX=3A1{2JP=B>Y_Oj*Q+2i&NMseT%Wq4a7 zSTZ<#%O8c8N?jsU^dM37?A-LOzQKI?n{ieUa#}%x2x8H@yu#*Qi-@S`!DYj-08K(b z{Loa@As3uM$-Q2Tzwhc8ByA{c(jh4F$-b|=;A+}i!2kBjM?l!LPCOX0wgTd+2}Uh=(@Gj*aZn|Rt}5Q~mD;tuJH)WI-uZNG!DoIFgXFls z^c3X9`lVd>#qCg=44Khd``|0G z1$N4*zaS7KD9jUZ-{8i<*_gFRO-Kj?C~szF46RRzg%5%Z5sMV2+(pshAF-~}j>j3^ zZ%-3nUEWZ`bmgBA=vb+gGLi?pg}pR4fXd_?U*XaJVIg;wO~W1kWl~=?UXZzadX7!l z1D$2q=#KnNUy!Jx8kfk{&d$WfM!_CRq_rhfd`K0dBty}P}=4ZJ|V)l@x&1x>W19Lj&aYJX*jmq07HL5lw# zn~W=4A$hQbQz5rN{iZr+&^uR-H6#O9__7D|#C7f1NVuMwiMQZR04uEV@z%K2SpL0I zyE6T6l@m3zPom&p)i*H6DlRTgI1!}Ah0WO!z&0)?N4yX?R}{>XDWVtCdtZjv**@Hk zTemmYRZYR?#1PqJ9@d<2Lty-;h!48%V-e87>r0n9qX?l=&ofjO0jwm zMdUf})W-*R6%cV-?c=8jyU~KD2$}}c_74#{dXzsqKQ~@QHvF2qPPtNhq^Lb3Zs?PW z{WXbHzEgidoD@&218=_|)6xt`GsL5(UGMl{cQ?M|$M_@^Nk%57_O`a?)~8F30>Iu1 z`q{Hi1wVr_ z_+@u5WsypD7&_F?L;DF^yC-m~VmcXkLZ$^0g+;;HmDjZsp? zla~gs{0a(~GsG@2Z|sCuE?1qj-*FOjp%kj^y-+2#4_Y_-70nW8`JdzO0oc&-RQX^J zIzUXIcjIJJ<)d=)8+ZHr?HMcB&ownbxNKV0w`AUvVP{J+iY?_%Z1BEIA;|>R?;xH4 zaU(g?HARzDx!_EthfBZV{tLU}z|5=G=PgI0cft$s`+C0?x6O$@pcm2Bn5M7(JwFF0 zJ(g#-(~dP~5|@!51Z8WKG#~BGlED_zDG%Xv5@AZQHG4B84qR>F{jcFaaKzXyWeX$Q zzmcJni+{EPp(29t< z*_r=Nc4~%3Uc+}6i2DSeMG&Mni^shu`9nBTaC=|G{p^mbt1A)`CMG5hg$SB##@gpE zirJ}iydG^>Y;tcMk@qJ0vC)#6zCFOhd)KCt;aA< zZ++f-g^9`h4edOhe8>7}L+&S;$?s+Doo|_b8pWC>fM>{img~an0)noBgjy^Q*yDk< z>_9*KqwHSuIUi{;7t;{;4H})++-dI8DWFlt7F8h$JoN+WMQ&&u^d?~nv-AO z(rB9hndsJQU-{P_6wrOidk#&$vNFZ84_;rL-D?hsk0+uP@d|7>ru?70qu~=qSa`Jk zeh@E$>cv*-%<>#EtasgQ80|ZNoimt#KWfR(BK<_2g*-fCFor_K< zvjpPl;XSdXaROH?MCeyDZ&i2&gP2F8&rY5IhJj)gtWsi zMlE7K%_-TH;@w5Oqm%yeK^eNlD7Ps;j@*KZb!zFIKpvPOMP@p*;LXj;i-HtMEl9{^ z7}!2n!I{4k(++Ykd4nbnAk`tk14O6yVlbNBX-K~wsS!brOF%(Ef!f|d-gJwvc=Pp% zUgAO(2w>cgg>b4YhPqCKH#h2dP^ilChAaO=7<@q+DbW(;;JA~i55YJnLjnFH^-ilX zKHkumL5gi8M;%|RVQaILr`U-|qxn10-o9MY&{neEWwW8LY6Ku@-?90|VH@lia&3~^jfyTHSW2$9VbTjIB!!Ur@) z-sV=}XswqBhgO8#t9ff70JbpJzdIy#-CKyd96`aEB94ZNyiZ?|J3+)bEp58f{3#mQ zR|+A9-k9~pr(cjUh3HheYY%v1p~=7oQ+h|hk9OU8J;W0r*GJ;dW%@^ONjZyU%is}> ztEl+hPTrE{gmC^+Ju}GEL_$(fP!RFBLQ_cM?1*C)OeudVvq^;ThMN5vWSNU%?SRb> zPB&NRx?AI#-4L4kNOq0Yk%h8A;S;}IIE1d5Y)_QBJkjBJ{`@(jut(DgV?cnX(y=1K zaV>@$>{vA#a$-4}wVo)CpJ*8T)Y?lQk4r+=km4i1b)-(!ALFzAW$wpUSCSpz>s{X4 z3vsfu#nZ$|JKI+WG!@hvON8 zxjxtf5C`{qe{vgO`Z>CK4?bt1AHCg7RbIh1uLl%RHuHD3oZNEV6C0lYek)n52 zIZ>kHezZYg*zDE&;~F@(3Y$sJo#`g*cjxH)r`*z>TtuKB%lgW(SLK`R6^AoIVebCP zFxWG$>y83va87_|{>w~1&-->2uW)b$J<-kcYZHuhm{H~jnMd6qWZ(yDhrA+#ng zSWlA?0}qwSV)Hd9t#k6cnMQ=l?S6eB5OVula)hRq2_Bpfh&466Z5DN>qPQ2H{kg0- zs=-yHUT5n)%u_UW2+g_aqo6cGEP6iaADqNUNCPil4i^}S52OiV!=8gLCj)=`64@%e z&Yer{xJZIa*8D1TJn17>d*FN=3yHkb8zo5r9hL&_O5V^s=Ocq#O3>Mu8Y)}ncOa`Y zXWz~rxHA%O)34Yu4*dMdc0B{X3cL2c=vSi_WCm24BYWH6XW};XzseWvY?Ba#rITn0 zJ{Xu#FYsDF*4QjBFRPBx70moyXu@`LJLSqIdX)&_1*W6Knf3$_r+1+ ziB7v-oqd+)>0gi{L^*g0RhZhOsId1`2aJR&{xO?=_VmbB!hzJu{FCovjPpD->Z^~U z@ky7rgRKiKdxvf5#)1^hXwhXWl;WCnI{*sKRDu+B;;@h zLrCuz$c1Wh=q)81`AR}9e{;C{svijJ)@4WH;$NMAXhc1TVd9q2(MeSU;~0swYQ5VY zEhHWX>pgY&oLlXMKHc^K(?L&EoAQmM)+cOS%-A0+31P28`$-u1g4NNh?vhmYJJDR-B^^9dP`{b0a1|H{OZ4h+Kk?f?b5-K}_$}2mHWR)1A5VbN zJzf#)PF}F+^-RZlNfjh#M}K1Txw0mJa$iz8v=SJI2CXV=+Sd4D;5BM@u{gJzx=p!rwr;$Mja$gN(*(Wl35KOaUHB^|zp74OzD&s_>Abaj|Z_ zl0ueNg&k-VWRizY=l{$hFsMp?k&KQm26}muy^Q%ETr7bh=>&~-Z858tZD$6(b)XA40tih`8JQJ;G899y?~_Il(9(Y0pzAPfk$B<6gNA|(GNPm7d&Z`3!t;NA1cnU)6~~2m z20`73h=-1}vkciZpeCo83ukm@zhXl!8XK zHt^8kA}#gxiSOtaioT5+>TNz5CF$Ve!HT;%>6M|Ca=Lv@v?uOFvw|@nL?#IGvvOJs=eISA$tZHk>w7Pn)+w?elxap zpFHkk^ade4Br!d-!jq z&8J&YHUirq{hyK&W88CAHt|ozWd$KjFDW~Kz!Q4A6$ltN&&9IC>(_zM%{C=dq}?wv zgPt0(&WXD^?;dy|JAa@e<|+SptWY_!m6g1H$Y_6VYOTq^o%cacDc_PIC*or4pT zK1?yL-@ku7J0pe+Shs9|!4Md^;>(xTx6?&MAl63+pCFHkJi<@K0ib0`aKJCw6-T`7 zm^b;+`t0B0kTBx*Zj9tCZ*BPt&Qrs6NA;~1hQU}4%RQ-)8fPD_4Qwp&GgaaIcM};B z;)Xic zvCl5+5CaJLyj>lHCD|@CQt0UP6+ZkK{p6f0wzifZl(>En7-x2#)e-uWwPP(BcUXPd z_@BKLvQNuL3_V$`xn@|y5gnbvZ$}BOBO(%DxcJd!-7LZ||5l9$lFtJ_Rh2-KS^%k8F1U>&<=ut|-3NsDmB-_k z6)gTMmSH>4=OlyDrol)Cf!LuD5t2}5{~aCz^$xp+fb7JhjR}FOGg2up!>rbm^raN+ z_{$T!!W-jNn9x48joxswzVt}|z48p(qq9ppWZ23X4&OHl5(X}LXcgX91e2~w&2XMp z)%I@RZUF~DP5=Y&0KXs7049fiCQC#VewXCTEih}HY7T0{+fcxpSf-^4ddK|ukB z_Hz#pAt;3qNOW{`1XmOT5B_KHY?fEQ9y)BUyp*jpEq?9%joN1NYgc8S!t(2^2x;&1 zk=7UAQrST54>PJigmFRCw>Ui0*lcWUT`i|O)2PdBcuud2$k+xQUIk~f0EiNkz)MR= z2)nEA4A(i(iM%_yL)22)ky7i*x}65jjI(pKy9>EVE3JM3tjm5qfL9I0S&U9Mv3|aNpbYWTSGg zX*KGPTld_keh*$~bRop^|A`YhEH(!LV1k&RAb6@!gzh;Wb7DF(8-ZNKrVQoR#(^%_ zt%JzAi&8R$QwfhVS-}|}zvcuUCJ4ntf%b=dc94`vcxrOP)?5QfV~7va_7$a>xd@)B za$EFFO`{X@3Wev@*vVJx$l5~Vog_Q{2Ni!%YdZlT8cFpOmsu&THH9Y!<}6T<4t_B! z{di*l^Y4x|>B-!X6u3(r*SDU?xFv9Nu(4r(`}WOh_?cj@u{F&UE=*C-BRx3g5T}QQ zW2-$;(i{EBuJumlITZ;6g&l`8>+YBBUNh=^HvrP$+l%H%wjt3^Zg;-8nS zbT(ge>BVHk{p+MT@?D0(764toLAiv=GDJ` zE~Gv>c}OjYgoJ2GOhWdJ^-x?f3;C#3;M#qfKHQDdr=sGwZ->1KogT+KplMKR+a~%XMwyn?bC84pYA5rm7n{V z7R%8(l&ppyryK6ja!tyn_4V~*!H-OEa@jaI#8B{A825g7= z$_9C!>Z56F%ga(siy*H@oI$@=ysVH%|MhVjKl9z0`-Tm>LKA(4;3PogLhX?61zE5w z&Sw}fcK=9^BY*6IhD&?pP?`Q`DAR0iiYGK8sw<_omV9)S@^|o&of)8vWgpI`e4e73 z^gc}Cv&8i|UnkSFb7T0`4|_~hUcHi{ofFH-zEUvs5u16JXxVe@_Vnv`DodPH^ml~g z;zJA&g^%A%A%)=5oxkp$0eL|dpbIGzy|iYtzRi(wMSu@7?ZqJXOd)4+89i6tyJkNH z*)51A?tV3F3Vtt>lya0vqi>TE)Wi$&4{ER2Fi35~#~;22y?j6wpC_|Cmg{WeJ3iQx z6I#i;KC$!4l4RY;unAWZ)zS>@LN^<-n{?L|;`$$v~X5^&FGOX$I+FOJwmc*{(5AgD5zjy)*mkQY` zN(+-RMNo+Yc)Plk!(RVwye+Fkb{J$fGc(MrvfHf_kiE6&b$Ac4U992b6+PsWn}EY? zs^&jT-m1!xUq8|2DO0jCQ1L(n6s|^<2-gQV31Zr3uIQ>KQoVyKi`@~7*8ydt_*J$X zQ+$@><%wLhPY{Dqm5lOJ_ICTWQYZRmc=W;QEl_0nCye8U}{Mef%XL z)f7Y8-@pYUw%*j*Pe<-QC2*`=$#OH}gFr9;I?*!uX@UO~7-4W)l{S6!wV6}ufl(mr zSTz1UprgU5S`C4nwlnp9iFzOKL|C};4v#kZ&Mq%~k8D7Q2m8MFcN-mIKN-CzrOm%{ zR3#r{pnZz_J<)=Kk! z6*aYX7nTyHM0qDjkhPtyB>_K)e_O?(k-P#?1gHlB3zAm0w&@wy z_eVbahz_JZ`QG<198vY52{Y+MdU|A`)0`B}@x%A(028r^esfY3R^6yGDNA(D%DGQb zntm=r_u#KB8Mp6)3>SoycQ;f5Nq-=N53^Xal)kw7mXMIpAL4|e)0KU+J0?_4!()mD ziylKk6g@h=M)s0EZV9%wPSx6B(~5cFq$*-Sr!%*Uvusz433A#E>;Kx;kxU<8Mx&mu)Deh9v>+_2M*`HO)l4qWN5O5gpWJSmw%`8G60i)}PY_Ci z-sEw7v2zL|5*&1>Q_Xg4gz+Di*Np>{-r_8;su*g|x9Qi7hHwG}IyJ!C_>!w*)c!wQU<7ngzg?mTJG5R+*i{a9Vl^j?`6(iQL#meU)h^euxFX&*Af^5B= zsb(6e7?P>a?jSid9uol0_W%7W znz#;D4Vwiw~KY z<;UQ@je>NefI3mUw9(HP241SD)8~*{bHfI0y zR2Bq?2!twMQk4oJZK^QqafId*@mIK^Q#CeZxO76HX>%e-?`sN?!Hcl;CJz%4UREOr zJY;AtF)y}sXdfxVqwkIUWq!@H7pHXZDfle2q4gTiNTY;sBc%+1;Fmcf!@m-5N=Kf= zC9ri?2UJ-7YD5RR`*!-zQ%Jrz{c8XZ={?vF^FAY*RLGqor`hcMFejM?@1lXuAt0Lt zL{tzNYWRVN#V@AL`k|wfYx@xeACJ?D)YQ}$*%K=bh#8^qVr3PI5k=WHS=VUzv8>FY2D6H;0nRW$tD>UCn6&v@ zqYm135lze6r!;^@wu8R4__zt$u&4HOtvBA6`)j=nxt0k9gin_@+dE|FE`+Gz0lgou zj^F=Yq?sB^Coi`55s;=iCIJ^4E54QHZR_st|>gy;TSim04z?U9wk_6++7_DMg`OW>$q#q-CT;ds67R&fWL- z{Qh`eJ>SIb^Lf9|xz2T6=bU_NtdB`cOGEvsHLR`v@R1aQTY9z?kRT`P0oJSg_tmwx zOG4*^s|&srt1?GHu!)`3tNcZ5ihGvc9n{-t@9@DnK!B8%ni>PGeea#BmRQBb#d%=g z)z#g+BBm6oZEyroe|gF)i=0yljA+&SpCW%}w>s~Yj* zgNMGF#KfEFtE5G=_2(s*NvrTy<(=8EF~nM>SSoe;m#2n8Uoa7K|MIz*u|9j2{Ay$5 z1`EgUYbeFi{7%RS%EbrN%jGcV(-{L`h0y=t=AC!U(n`<)gyZs0MS~rM*0k{=YkRM= zvvXqd6uMLxTx^)M8=aiIl!s?ed3m`$PCpoyLs(8V`S!TjmtepvRZY!CVn9LEoUWI~ z)WD=9T+LhFxfMe~oI>PhOnY%-@cq;6e=YVo zY><1xnsn7GPYM6#V*2KdP2Ansn%GEHy1}4J3 zr;YIQlu*ZZFFGM0FqK$gm!!Wp{j|2(pu2}}3MaoLI_vTsKOAiIh>4F^J}Ld}>sO2) zkWMpqb8};X$PH;-S$@X*4(-eG&H1U)}y|UZVD9k;}^5aJ?HXS~qpPDZ1G(saG`iZHpk#N)nIXW0s?B zv6#9g+U58NK=ljOwW&&Q*s`K{Z#;6Qz3*`||7E@=w+};JU<)npYy;7HzFJSNSSg}`PE=oB9GrWUkp4N?yXXOT#sWTP^*0lu@!zMXJ^bW? zcFr&F*e1{{qO1w<2E>(r$Dxfmc38Fk|4r&lQ$K&UDaw_bX3@Mu12W3KR7k)56k z++I8uV%vJK=Jua=Aey_bfAEMDYC5&qeJt5rW#x$oz75xvXPcN`Q~MD-`Fm&aX1y~X zlFD2cH32=)_O~6w9g)fMGvYEcGy8FJdairZ^p>b-cK!p$a?#_Y1~#6cW?Yi6Dd(N6lw#KT9wY5brT)1#GY*Od??oSVPX!#K|z%Gy`^cm;y z#pW59%>D^%KQQvxU-eY z3YXk`J8isBQ0>WB!dHmGqiE@QF)MTPh#NPSZ+&(9Fwmr`1fPNGA~iLE8@oQ#yIZ>#amq>6Ms9q>9XMk9|`!mo*Kv;s6MOCva`pSuwH{XAEzxyZ-{U)xf z_x^Q~$&i+}N+_|G4ms48Qm?J8=?*jEwHmS-;q2uI_>yQ_pWTR^z^ zZ#Z(?Eu}V^v#_X$4ba5K@{gCBRhKzZzb*Ffnw+?e7O25^$*>50DK{;3!>4HOHI|9Y z%9^b`%Y-3GaF%C`KY#x5!&^(o@F_Sc{LIQKy*m;oq%`hlDzBq$ ztqphYV!gE(OU>Yy&!ZRbc%Y4l$IMLOn7vZ0>!Nk*`=@1QHo6(dl)|ft1d(nKs9Ck`)yeaHK3o_B1!&Z`6BMD1t83EfRmarl z2<5B8Ddc72vWm3umZy2rAd<0U?A89b=GN9am>@)w5^aRhL{^+tR#^5n)3O**GSXhD zn0~I8`qTZA&vkTkprp8~%0#(cIeuLHQlWuSXpf$suP@E4s7>ICdI4>d_66<`iQ#Vc z8WMf|cSX6}q^!Z5UdI4sj!LgAyCpP49i1RvH6uhedqRk-J^RCo+&IC z+@Wbv-UDZ4$Hh&0jX!Y2D}o12Ib>z*%?Dh%J^R-6Ch$=g|TQ@NqC&a^~s2dkO9G%gAHp zI9XZyejre-@Tr>*d(Q;A`FnUoA@LUis^9~aq~Q$r|9Ta^MTf_bU1`^r)Tcj2u+8~Y z$Bo_F@NGpHkc=<^DZjit^_>luu++Jf$II{&@8xP9dZ)_8VP0%UJCk?KyH`z9dxpTKMc{%j-A|WNl0MS%vaQMJ zx7q!Iix)3;eLeMBU&U5-O+2fm(Zdx99c9wEXi>eY(twqLzoS=TLCsM5i~G3|$E9TwM$*jZ7ln5*Ui)wu*r(Vl zvB%fD)AMcqCYx_vxxzbb#n)VKoS~xUDRJEV{7v1P!Vg2fLKUX`y54nrlEm`aV8rlB zqNV|6qtDR<`zldwX7c;%&DwMUj)^p{La_j(n-SZOO;4W8zBBb(87;8y{L*ek2o6z%EyLMkjI>?Ebol@&&A5%Jk9dVXr-&SGFVt-vM z^52=ISB{iz{(nzYdwjK>lQj@k&k1xUw3x2*FTjvoA;qPYa~_`$TO z)87pYcm%w-E{y5ps76XyARUz3VS4UZ={R?#qn~7TdEfE!$kZ=zSEMwkBO!CGi_*?64 zfMMOcZ=VM&Ns0bz*RH*^{-QLl6HplE_U+rLAQm!_Uc8uJCM|&uz6h4YA{7-}ebU_> zkF=CC@rVV%kCcWhTVEhemk9|A-&*FpI`rDoz}^_zH*f()Q2bL(3*&c*udVBZB^s$fwV-tw0iD-dA2T@jSNy1|G56)>Vj??e!tKSqfew=px zOK$A<6gJxxuU8amH-E~tk+=I8Uy=q_1gx%$tm6$-`!J_hM8k(+5wn&T=T!wO`=Hkp z=BqDRA|N7?0Lua$$@y#I--w{&1HTs{Cz}y|w-}sB#j*pv9MuRVP54M|zP=Xgj<6jf zc!BGiII1@_#!9C$T0o#Q9XS;f;-cE*uDva_L}LeH&Vh@@v%d@>iO$9SJahGS@E`}x z>vYwRX@wDG5M_9Cd;1nTuwE^KApPQ)NAO`$%YM;v)WvFuK@Ck!OGJe8m5wgjV7OyP zC8FDhmafiD0X*Kgv^0SYs|5XCVsYfIO?h-s|NqE@__$BrGsXnb0VNw0rQm6QEN^ASbcKom+BH{LQtf7F0x z$Y#UsPR`ExC^+yq8Rvy1Bo0?rYBXxTlhlkqd2-(R>VO&euvF(cT3T5dSz9L!qM9DQkkc_r-m6g;XSOszH>C29x?y!a*eIeMe_6WKY#x0#*B^6YN}<7l%8(=F(muU zl&fH0^R?yo3*Ij=X8Tes{Ymt`L0ET;dRmB{aTUtXew>B*ozZbRyWWfJ`}Ohu4iP_` z;9PIiLewpYcfccp(fAGW3^jd;-df~~C|4^;wPxsn<>o;Bp zcIdU!?ZRSji#knS1Dr)`SO_0UGk6dWYjI3b_-FIQ+Ne8xPbqrNZyN}?6$5zoUSwIJ zy(C{7HrEy-E`!iISZUA_pLbRMh(T_BUEOqe0O&g4$gnBnH;~rQun%4p^4*6ov7qD3 z8cDRZD}0!T+7F(YmZZwK=H_O7pvo^_hpZa?;Vq=Oz}pQ3l$L~!1&OZ=&3>oaWr-6w z4}JY$I&ie@-G)2zwL)Ge4D>#FLDlq|dCrA5T(i$* zZ}{_z`vV#?Nwhg_D8uD==kxa)omOWIK3X^9UH&^DCwmJ2!XoM3tQ6=Um=!^ia|qF7JY> zj2WL_ADkU`0aGZ{ zP2=b1?<#Xy7kmH@R3org$fF{gP9)<{BetcXeL9Cuq~N*eXjXJ)5BnwCEI~GhxZ}k{ zDfjmM5S=@>5D$!!#C+g~ii!$)k}OY8*e>~d!Qav+3xS0iy>D*O_?M=kPLlheuFkO0 zUsB#m`nD@PbTE~&A}&Zdp?sLyw@u1QK3XFlj}s4tbHxf6G7%TA@Bg(33FP$E3nK4> zu6db%Eq>J9-GnKA{qNtOuiW2J?SZ%KGJnAWsxt{f+wa(+VVWcoiR_e}lQWG4RBkkt z5Mp!k#k{P%e|T@%!d##B^44-(t4I9|%cV#b0k3Xvs5n#%3|X@F3|~EBU&keHD`q>X zY8Mvr)?@2+|J%1`x;QsRNjRQ&ng$ZL((f@hOW((j$pW&b5%vA5;-dKh$oZBR8TyDY z5R0@z$5atOh5@_IrUc57S0yyjzLHA6_K2+w+H`3AI)ZGCyuV%>JOL+?gM>%l~zs!HsJT_gb^ zh?#FqOiVBd!dr)@3WK)h7@L^XqU#1pQf@FvD=0X4??v%mqFDeP-$cpS$F;we)zdqL zu#tH1;0#1J0S2RnZfs9)Z(VDvW$>--Z&z#hbVSfu7C6+{+}4KXYRem(fsZ^f;^)(3 zKDNecYC4?Vd6w&^)Qu&j?HwHqKn&*5M5M(DjImdeQ%<1{`5zlMtTntWG<&wpk|jq7 zG1xSI)J%6dR#FX99-!rqTahZF?|qU<>O$1Q_h6i#FT`B|G8W{S;zrqMiTj;5_ijfI zM+*LVR8{i46^Y0jiWj`qMUm8F4j<;d{da1A@x1On8;vqfz0ffRfN0U}Vh&0jl&g^` z8}$5dxu#on@Ywi2Is#V&>6f$7UjJA78P5HnIyF3oSX^w{Ksz zRgX%;Af-QJ0jIq}`AZIXGD`!-W;8rJ-H#@4X;CN%!A zwCZK-*ts+Kb+Z7KwvpBz4zIG+JX4PzJ+r4B5D109yp&%rM?#73+U3QI3bUEbQS)(` z%bfA?aT-TW*oh258#Zic{K2m`5dk$oO++AHsWiKxAaIj-N>kxEMZ^23Y|ZBj5_pQ? z2{^X~Ob}iW9XewLA;U%Bqma6b!q2ZbY(8E-8C&~@&E90Cg z^H$UWN%IcmO|t>VPOLJVj6kt1r*jqu2Cvmpeby!LWCH*KZsfsRLyXxtC8aw#h?l@#p> z8;6fR;@9qS>m2pivq4-@Kk$z$d^%-lUI`t~`1Vv{SX9LZtc)(n%zAuxD8$0li#O}k zsT448gv7wMd`}UJDp0^Uk>TNCRSE9e2!IXTYjt9Rn{qS`fof^d&d&!H!{CFA^0Y1=T$&^D~^Y0wX8o^x^RxoOyTen5CKb4BNqaj>}~hq`+7q@VT6g7IjY%| zH-O5UIcJf*>ydA2x!yn>)b|Q>%%+TO0B(1aM4KNxaJ*?c@3{sgQX>Cwj=3Du+lFve zI8LrSP`c;v>%0zeu+uc$BI7#4)aBYK6eaZ#L%ObXvEY){B}*(%J$aIk1)R%W$iy&{ zZ6Z2ET*9Ed9knWL`8gH#`yd5=&f75>`iHrq4$%4= zz)+9IL}6G1-I4GP&KI0P*Z4oL7E2Hc5m=Vcw05+AIAQTLtZ8UUk!&h+xdL?JR>8le z+uGV%HLzDhy+kg-Qg_d17-%Fs2(7Gi{I~_-)62$+k(qG#a3h{0L^AO2HkVRH8X!^b)4m@RVEnSP7x~o zjL~)|c__u~)a{ILA*Gd+EYA`;_20Uc4=!lJZvoKIaJMQ3*3TD|UbHAV<8lW>LT5(} z9$+@UJ0xIGq|EviDTft!p|7tmZ_h&Pu|p>1F*PY^#eRAW5f`GPk8Fz~MGheuv}z>Q@nI+1Ci!|$Yo8)aTl*nIjOS@wC$W23;svq7?eLm{jCa8 z2gNKBDyz%=3RLi59;B3PZEPZ>jpC4|?7xU1o0`GDn=Gk!p^K2mBo;)I07y?%W&Zrv zw|II;$2+_BjJcsAZ|AN3yZ7wdN7w)9t^LcOSvOKG0l~2!CQQJq#O~E6bq_{FuyBAX zY<%@f67UlwZdJ(NsRKaD92yR%<~t>|za0cK{prNn4YxzJ-#j?cMo1e+HV=8v@)lof2a18`jI&@?OWiNEZhm6b)*$G@UMs%I2KWsAgfwDR8 z`^LW(KWuXj^@U!hU0GEHq1vjn#HR$vMK^rPm3it$hlbdfFJDg2=>3^fVRgtS!rdt9 z#&9SoWpq|}nz>%zagah7NGj)wM-1FMQ?Q4qu2?ekD)m4Q0I=|wnU>UnTc(|>bn4!` zc|$riosPcY;e@_EH_&y;8)u@}#%Opd|L|PqL3g)ievJKpeg>vra4~`bfTwJIl_93F zAgfx+V@Rs4kn`cv(^dZ6M6A)t)0bk<#@m0!L2xXNlIOO;FG*c2;5Vf`?FEtdV!8yKRmhlh!n_HT_Qa6J*e!Y7Y`xhMV-Yo!e_34Dsx<!fo6I93Ejp|}pa^IToeU)_qiBrqVXNuTD!f;JN*ZJfbg=SyA`zUXA5h{;fa z6bL+K?|LjdyAL;xniuGp7|Q)3-)8HiuoGQ%0g9!4;a3Dh-z$XY~UbjQz1>ssHi02 z*l_O+>k^ljmxpA)iI7X>gFcK6z=mg-*YpEI7?Wv6R7Mt{0d|R_;2_~OFj1Rj7J3a5 zkm{b#ZfxxAY7&X-eIFLhcv?^*P18kC{wQB)Yi%VzER0zo*7NCDgb`ALJ zS2`!Js5%=0IgofsB5eJ-y1H&YKE!ukKJ(Yl`G5E z_A@p~t#=G)aa6u9$Y4aEg^Nk+L)w7xb{1?o=niru;-s_EcP$`mDr&4a^o_7A-gFz( zLzQ85fgc|hP=S&Z)18M|Xj~kwH+Jz-5AnzfAD}T`Uw2ITKse1W)Q%b=1Wm1z7pR2- zW(KB~ws0XY4w@NOD-cPCgaDX#oJv8ar1W=kcjL}oyO#2aYenE=QL^v`Iw4{R`92dK zg|yywu>w3QFj~#~k-+EaCV-t~ejyAIDEi}Z{@NV9Fk*|8j~yB&CHbgQh)}G@91;Q^ z>X()mZYCaQ2N#=>ho>hQ*D8HFqr{(fu)qV>+gqu--Zu$4jjF`-+B_U9tTvYLvbw~P z%2cf!Mpl@MxfDEUUMh3n0C3NCh43d)@JT$czokl*CKo8!2$?{sF%+JZ9WRnAEyDpE z?m9b*NQ;QjRR47F^Ldc#yiDX1EJOcJ{^H{2UuQo<3Ur{{k|neLRWXe7J1}9G#?Dw+ zSOCMzP8P;#@BVoFA%3^SKtDevOtbhh+$pPrOtT37cyDj-#8EsIX+#Ms)H@$Oi~^Q& zK2Um^{9}N%1Rub1)$SLb4gekv*o<+!YO`nM>mZtVxw)*uRhKu*(O^5(ZszEit0dlwf?>er9YtDF7h=B0~SG7aKto(Vra%Jh5ksQ~~ER5A9#t{`+ zUp-F`)M8-pe_}6wSi0*fBXEH6_5C%yy}2!^35$8khQgYak~e2#x_|GLZA7lJ!czC; zTe}{Ukg)0EetO}eHoP0F9VIm~U=D%b;`8qx{!GoIKkE%KpNKM?eDU=J(8-Ge3%UYs z3s1l*pi#_60U&rpdcn~SGwoc7RRVs)pk%Iw3~}QOG*Ic6X3Vd78I0v=BPkKVdGnH~ z2_GB;YH64j6guOdsT?fLA!;2ovm(ZOq8?_!ZX1w?N8bf;$^H3UlB^EC0Ff~;D;Lg8 zRAZ^HmKoR!fJNaW=dOgrzXHvmgk9bFf-|OpVN6BTfq;MjDoYzRacPs0Jd9Lk*SEA# zu@IF>ED5373oX&d-heTPgNp^7gSa_TPQLYVyycfJ*|{E>vb~HPLJEWp^X_x7vqv@! zO6%$#PkzIdHS190Cy9wym%L|cuQg_z!VH5rSe2MXx!}Rqw?^IT;|!pqLHExm-5;Gl zu`_1LGx>J-J%mgYFGz@sOC4>a-6pu(x98)X$_Zj~%(Rw})6y%mYE#?f4*g}b%|Vp= zwesG<#obN2%Hd@AI&RL$1ksVW@K3|h!{1Y4E_JT|7#|?l!2|yojSeTWw+79vH2eq! z%|9Ix9|gaUQ4$UTCVru8iJAuJpS^tdA{iMO(hgGxt#b!SvM4Y)#6*cu?;jUFPr>{$ z1i7CtZ|@yw`|)D;t9-O~B#r`Ldti72r3XuUdm#*`J)eC~W@So&0MCES`WMyq5VAaOpgtTch^Rhud+j#5Dv8HHfqA$fTnKF0!*rR5 z=t!BAC*b0S8yqk=cx~D82(iIK@|j=N?oS(mw&TvGaz#BxhIL1yBN}SdP%ccDywHKl zMHDC&@00QV&8JT(z{5;^ek>@SCd8#eiX?)24m`5b&S?kz&T4sDgmtsoYI>c^+$`;q z@(-?TPkp7C9{^X7{h{P!J{tYN1goGC`k#WsNvRw++l}=n%GT!g#TlP z(e>51DSQ&8nO`F;60`{ppPxjl$VgUBGKnXSLV8x5gqp^OmMbmje87uz15`F#&+syN z!a&6jK)4>qT7LC$B3~%;4uQo;IC#*Oc?S3G+2e+x3rJdph1!Pq$<~CZ%k;09bG#o} zf<8@{Y_OFKL%G>l4ULSbs-&zD@%}+cj+*D)y#Is^sTC_EIQhg`PLa-R$d39cYA2|x zf`WpVqcQlyxKuX-*!#c2h|RyTsY!O(vUS0$s-6A#U`m0~nf-pFY=R{?A1OIGli*cf zt9`O??UZg=vMgkMhGd2M6hK@|YWecHkP<(Yb?9ho*LHTMUCZOj6x9pUB@q=5%LI!C zptAgDH6R-*(8I;6)o?6>z!0Tmf`HzKx|C#9TwFw@uNwo`4zyK)vqCebU2q^Q!P~ZN zyEM4gCz>{VmU*KW9pxknsBIg?q1U ze>;Fk%{+xqz=6Y}f0zOTokE!Sfc0ho@%{^z-X?E?w7|wvh8EE_GX5u3#0ISRA4>&Q z_fqH5aydv9weXN3TFJgu(d@!0P~G+3iO?xxi1W{nFAn{qL~A4R@}y9W+}wRPcTAUP zmr$&d{vR_8ANTN+vSSaA+<&NE&dbF`yItP-B)VzinjwC%z`K*!jo@_%X^~l0bar+U z+es7-be!W_!2`Dhog0px1C?L0?&8UTeNZ^bTF!JQoH%h9vk(kq(y)SMy*32If6{Xd zH)`NJ>-cD|?eMcJi(6Y;DfO~fI3>YnB)fdM%h_M~#al67e!*U!M{YQS@ve)Q$FLa! zT24-mdr!GLm0qvmk?>MCH%fgWs`>5H_0ut%E#QiWr?F*85yzNQ@;q5OmO4;CDi=hV+UR8-iE)>G|^k-;*%vwFgufXdfwXQo*a_A+3S3 zyuRbzbS%&;ei@$?83^wTY+fd2YuVaB3@TjeaiB6maa*4B?Wy1X0N#lFU6x=#p>In6 zBh4bww=@8?&dzl|Xc5>unOO#jEf~^ec5bdZp3w|GKKZxlnhg^e5CvYhu_`lDxVJjc zO8&1#1VAAipk?111rRoHyY%6X8OE!+mgv#@_hU@5xONnZ^(D+Rh!)+6$w{nBxW`m* zuNwYAcJM^9VV*&`qiq=Fl7d{S&Ww{EKZAYYgzn6S@bkZ%-2yj(LG@wcseUDGmOd5F zX1kM|EacaFAZTgga!vAUe5vS2_r(;v``Q;TPEb)neF7PO&Yn*B5F&NkHT>`7G7cUQ zN-M0?2L;SWBggdNN<(wiY>G^{2OMzV6ySMqadX>^96&LW{IAC}uTU{+2(!>Ss{>s? z^(k!}#aW?|bwn*;4us6orO=1F5-(m{3AiDaKbau z7haql==Mgr=#mBv;ayh-{rMP%Fr7)1qt@-_lK)1ti!b&G zytk=XZuGQ0wdj{zsT_jUoJFpCw%v{8*`;9yT+>rg+Zo;Y!z&Jnabe#EPP2YAz+Fgn1AP@KRt@&Ve?%_wVLzWZYX0HeU{ z*`{WYIuEEs_d_IQinpI|-$itGC?HQ;9B6}L_PZ%|<{WilK7;a&VPPu?N+L%VqDO%s z^i$L)lYf4hVHzdk^w>iJ%T@NeSJQankf2L-))}g%WGs^YN8TIWof&h9$;{yXilP?? zJt+w1QPbcwYCuuWB%?W(-FNr%OKfg7XR>S%{y>QT0lNWFO;Yk?qd&Lp9@YWn#h9dWD6_xVDp8b(h)d{yeyPZ5# zIz=>hbuHL+_?B{($l+V-Yyu9c$dr^saC1E@{`m2x*G=f>cFfwHg*6x{{_{U zLS}2oiZwa9o2xEgRz7r8T5JR|7%aga6450QhWQZ~7&|H=*7)$DAh_D|o(xmyhwpqd z^qYr5a&I{r;#b9hAWw;C)pXR4D9N6vC2)7_(lcI2s57642ZYo)i!(@swpvu()Z;yj9O8xf-C2`y39OVPa-Bh;M^WEDWE( z-4feEhOltsm7O1Yg(>RKNi0c9N#O@pyQdRpYGGwn4>>t4J-v<|7LAsKxn%;D-@~17 z6UQA)CV?t++NXAB2?~*C<@|kJip5Ja{_tHnw#ZJa3j>o{#k{hzxs6tF6@dFU7 z&wKg^{g#?Twx>Q^7#|RW^tTwXP=~0zljpD@9!?toIQ3^dQR8BT=`AKQ(%{OxrE{{U%E`-xD!5GrOE@V6X4u zGB;DnAqwL;U%i2xN~y=%#9j`DgmAw#w-2L@9l4ww^iOOPxSiIouWN2j&^xKSSDhFG zRRP;fkVLQFzCHS9)p_-tKL#$&Tt{6OfxnoomFy`ITf*X?s-lglzMy6C<3w5@)403i zJQ}n6>@sbE>8$R_6Lg%`nS*k|dB(v~$}4>;T4|G>VUFxaGKS%U z;(a>urm@gK9ndexI-8kaJ$LRQ8h8kYK}=4L=%`lFabJIbPaH21(5DdvUyQ&P;dI~E z5_cCkZM##EoNtRqnT(lMzYPsehnPK*(b5qIo# zxEexT@P6qF5R*&298GcIF+C$0RZA8wJnt+C30`z-#KgpuCmY&FaQMny!AySLyN7pLS)iPdTzHHI}NXp6)*k0;nCySifP0QU}({V8gD?X zH%7nO&rePbrv_zu$_SbR&q_FAgJ{krd}N5AjH(P2m(bWS=;HXc!YNxV;J8DO4Kn`h zZS}fw3V+H2Ct7)@n8o_oQeIq1W5}i~eMp@>7>@|lq`&qc*LWg`03xA@Y8zE3I(|Yc zcseAQ8XRGpVoPBblN%fwkRr&Sz&ucpjsY9!_@avQl!(tL1bQwE8EU11aNp1OGg!vp z7|VlqbCA<+bL;DaA5eTkHW*@F|CM)cYz_=OEEztL#!(eB5lv?cc%CBZm=oL3qm?0G zxHL-SUQ0H6sS|qRw&AX65)C``GX*if$Y7!3T5t98Vw^41;SG8RrRu(+QNnBU=1Vva zKD=o`uvHTQaQev%d(g;;yG;ne`9s!qwZY=&%gWGG+^oaxE(NAJI5>DH?4-JAPi}U0 zO;68Nm5qrd*8u7UVPu^M23mM|`+(I@FM9zDM>JL%naTv@2IMySw5Vz3qLM=cA$Q)e z;YU0`w6wS%Pb#Sc9p>9&Fay`D{@%SLj_T=do}SS~Mf1s?u+3`qYE$IV8#cz?C=*jq z88Y9N+n>H#*4}4!dBESisMKzTj;HSwDwu9Rod24Nbj+lp7-gd%L_KOiI|%$r`j?kj zZbh*O*Jp(Jd=DJN4s<@yX`v68SK4eW+kyC$KXaMkZHXT#b%v9&(sD+hMEh+XUvd!Z zNf*Rvn@LGZ@=@%uau9a;5ZLff3$jp0#Nmg0jSa#T%Yyp#XqO&d7W_sOi6$*IXy;Dqr9j^^AB)!Z zH#|z~F7N;p-hF3oVk^HU00VW_2Go1o1s_-$ScJSz=6GJe8RMJ)#5F*H2+&HO$HjKQ zJH#WVk-$8Dz_ipc!90GwJhL}#+9cMMu5R*dGF7nR^5y8umzRu+#7v7djKpmiK;}DN z=p%&0iBZ*pXdlEsGX)9Am^-(P4w+_FUH+Lf@sP_pq8X8i@VKJDyLRe~HAgjeUVs@@ zI&@UVZ!3%x#Q26EKY214KmW__0rN(3tP@Kx(0GV`1cGqS)29`PCwbw2r1sY5Qs=E zXjg2f2(MD>KygCcwV?j#kfty{jPr@Dx%Qu{>(pLsSe%1cSX$&Z-Bu4IKIn=X{Qu08 zwnoxwD~uXf;rGM?NkgU8@!Kyl??YIEXX-Ik({A8?YiiE z@zN1VUpFhu*JzTN9NDG!-F@R1O!Y=r&|Nnd||?IIyt z(bA9WLttJe%QlT6r)OhjVNr{(K)us+1^<~J#UIaF0SAN++m^kSE6N>|GQm->L5tWp zdv8MSpWa=1K*FBc35*}eN}634H=WwaQ!xG1uM~8YQ(mUOkw4NxQYr!3&_G{~7b*+9 z%evO4`SPZfLwd;v_lv{D0ecipc)$Yh^5g=pu><&kLt1=T(h*%%wbS{vv>(BAk|D74xgi-zmnteMii!ZtBEzCBx;ii)H=u}1JUj>G zO(Jl5+}VUu1n=AJB06G_^y?Jg14%)sw~XYE*v76ioT>#y z-+3oId@9?|hRX^u1=oU!-!@=eJ3^ExK;kRYWzjL7pzxfoY~6rc+{OBg+I4(7r=$7O zJ1xFMJI6Y1Y;4ce9{dn=eTd!AH}>Y?;prP0v5b|pgpDAqGBZ}6N;b&0{V9zeYUD-m zKhItOUZ=#am>UVj8$*yPe_hna8z%2TV=pLA5GU;l0=C7tBp_hL5MJ%{{My>uj3DL1 ziqU#*6-1{xC^Y{av%7ci`e2$W^KSssZtnSlP*E^_)3I9e zG&lyEvoizSJLrxMszN0|=I(%Z`syfUOu`SqIQZO z?!-)ZYD%FG2LH{XUB}U91g^Uf|ALID8HiobzdxfhGY`|=5EOY18W*I$I~a2dKanQp*JAK_;Y85jrgT&1yJ!gPqKD?8y&V1v>d4Nd~@RfAbII@%|sdsW| z+_%&6akDaS>DX@yD7OlKm>pGT2wzJU%Hc%Nyx*ECSDI>Jtw&@-gK_Rs(`G%g1|usp zNInAmgPA84yBhFGE+rc#tnY=N6P;9Tl577esBC#~yf%F5+bM)=e0Xe|iiL<&S6|;o z?;Jk<=6m;Er-Y-mviGBz6eiIDSs3kJXVnb05u}J0s%m{$ehBnP?jGqP=RdNJ2l7A^ z=HOISY4Y&$I-7MW;DO(TSXe`M93&Fl(_fkZYv90(McGQ_n36*&+xG3>=yP1O*&Y(| z8BSy&A)ySDc?EBTxJ_{KVq@8b1!Z2}K~F-#hYq%ZZ&RJ{b|WV6%n~SgIWREb=HXFC zKcM}O8M?McBrS53f6Q{Z=E@iGrg>%~fuv2Qk^815v|$H22tzZ)9;`H;vXug@K@1Vq zk{UdYJbR__L7;#EAQQY<2UuP@o;-;oxM|{vUd(*EVoSI!xJDI>*-^IH zIyp5jVAl#gYqXoh9ptjzhB6LCvAwRj)a~jMvFM9phB!3s;e!xZ z>iZ@d2D5qPrzMKpD_`)BZx(NI2X9MRs*u4!4;|9|6EzKPfMIoX;O!WFau~H8l{%lv zSpc?or_f=Uqiw!QrTQ2%LDU{DmFgu70fSU^>v{Xyk;pQDLQtIsqaWGyt*mC!`Z_p- zny*Oc?qPsKr8AL;$*fqEgMPHWov@fjzJ&)O(<5|qJ*M3i2T zKHEBto*H$*UHm=+)q`~BMNKZKEh%nKNCn)ymT zK$^4HKOakFhKiN6+n35_W5+8s6M_EqOzl_i7rBU1vaF}t*ud5^y z*7zygS9E<)Bc43TQ3Y5;H+s+Lu35StPhd|A_^JnoBf#?cbkdLASdHu1%b z;v2XS5EEQ{e2ac<&)nzsjQ0C(x{Vef`}op=B}Sb%*R*My?S*@ zj}PtZP-o#KZc!DsWyhRdFe5VZ@_4EaBb_C%cEE6pCIvu_PE|A}oUvT$D*wJyqb>cM z{aHcC+8j8^Pi(nZ(JWCZk*g1C_U{9HLvo1GZ%0Z2zADkdQeOB`)0C}nck1`-%+Skd zG(*mj29dX|5Y>Zysr|u3UB=fkWk?8b?Fs^Y<)FNP6-=z4SO%4hY zj|T}^^ZfZu`izkukkk_=^V1WR<>fh$dz;{x9jk^HsK7E)iBNiux;OU)*K2inBZ?|2 z#&&js;aAe_1JIENfsZvjz}Xm5J1dqMwWh+8dw*x3y?mZH#MN6|_|EQHrWl%f+~0QksAL(dl7-h<%0 z`?Qh~UoWBm1tMA;LBGJ>N(1yOj17`1gQt(25do>2x<3(>6zTbf9d}ZJ%V^Od6=T*D zkkOESspiOgDk`_d(=!@3fqq34XnX)26e@@o!3Jg9zY1>cr}UbTf_-n;OtbO+YmTyh zTNZXb;?T$}UYx=_e5eZGK#bnWW7s9w6bvjs?d6^D_AB_;;^ZHAc~iUW%!1dF;G`)% z=uO@1nRoUopjStM$xMX6tUuQfCEzG)0F#9R$96kDzAgllkA>yeu~pg;V3an$;;`_+MUvz@69wU5GBF}Lr-o#$l)3Z4)f zvu<6t$C@wZjo+)Lg1-zjVpzT`GeE+skWv{p+Xhc4q>B~V+o@|8-U-r%eFQE|KJt!=pOhj1V+uw-roM& zsdK2jprCcyD@Ov&8X`YpZAHx$Y|^Fae9Xi6_4PqZo#MnIvVQIy5rX#_74VQXm|uvl zD%DkwaMIPbz0{=y3M(xK${qTt==~am^nyu_AkUcXxi(0sQ+wbB977MDsJu*RdQQ$k zatth6c7+1YGcU-Riw}t#8^I653tI^DD0*|sZSnU%1XctTun0Q+F^X*qz&Oi~6uC3l z)jL@jaVvCO5cJt*`mceQs%;0Hj%oFq&etg)$etO0^ynPWICn`VP}I|tgyq5rT`aFm zCkulRT4uq0h#yo?jT;wEVR}V%Ew?tv2dNPRS+_aW#9?bxA0_f;tbm;-G}mU1`P`}~DB zqWEo5;*<9Kgm*xLIE1*_NnFw@5;i6$08I*hh{< zXl_K4z)*G|b*6EZ-(zZk0^bIrU&N`(j|>n@2JgV_*dbtJ%+}@s;EBXzBw+#bR22S2 zdKh*Bddl-D(r@wgoqG3RoAqep5KLTW>qBat_AEuU* z3i+V2ywjq6q>!&6G<$h_SCC$DS|IZ{N<47ffR9NuN&?QB|BsYjUdH=-xO?y$ea5D5 zLWm_HPp2)Mka?w|qa()2KMx#)4i*@SI=@z^4 zz;B%IgkHc124uE6NwC6o{e68AXtAzoZZ7$kkr9v>f`WDwf^L9hjN_MlAUQfb?1uDG z`65Lh{dkxK%uCM)-N&{=L6Li~FNR(;=1_eN#7X~dY$*k6iEr=T8O5MQ;LFw+wUVN) zaj@Xun$SKBqwGvlnL%Kd2R>Vxot>S5Fg$4u4}2r6$PMUtBbLPT)EW~_HMLq)k0SCi z#;EIW1NCBEK|@t~G|C6#wP;GGv!U81U5n@Sd<46QmM}%6y8AiV*?Azb zCxSymbz#V*c>@%^iq4!V%*%@a^{bAiGX!XYuKMVILw$##Nkh-*nP9*GeJxCkvHpiI2IU3*bb2&j#CxP9$hoRb$~SLNH3oS(Y}%Vc)J z8?>`Q)@YK9kBc)zMpe&Aa#t!)(lA%P2EhGjm(%ooY`0&r;+99F8tBh*pkX?EHh-N$ z=wfZ&EYD<}kdEgI8mw7!v1fk~NP7FARZ{j(^|JOQA5TlOb$%@+Hays+{9APn$Mqm( zZOE|0qobsF;TYOj2%FcP1U2+)-wdeov!DIS;j#jP`jIj{zm>a(S?E)f76wy{d*+(X zSAhU;f)SofLKhFx{lRf<1r-%G7KMNGUZFmzL&Ohmj9qFsssVs@_+2EGSzKmzS%;VKIk==6ymA^28M?K`Au2Bc|jOy7ZA6`88fx zvd}REFa^lu$2?EGHz%|#!khx~>aNZ_X}`DNddZAMQ_@Ic*pIQ0DB^-K@gwZdWpJ)F z7$Svt2f^QdesP$`4Ojx8R#Y)djPVzmXtSXqZcGUa%D&tG6x2|TLy(%orpC93bqRju z2jfuz>VobgL>ZRGEn{d-is7g#x|g}{@WNGcC1aT3odC+cA7~%58|q;lr?Kz*EEh|G z1i*|opnv<}LN@zr7h=l4K#3t&KaMUUO(PA%1D#Bb;ZIU#U}6O~L>KBg(n-9VH`IBHBRK^S}%d1X7RVCo|?is6*}E52B991JI5l zA|eR1t>$D&#y&q-`(&{df(0{nB2Y2N;3MK;H{gfSP)F33AfE6mx}(di2ihq3FOk1& zMK>{V*&P%gUA{DPV|H`pR3v2TzX1rO3CYt~(D{o+sq$z%qyd3QZ0-=Iz}8~15(nJK zaXg|?Xy}!emyi3hM!&UgfuQYlC%c*9uNM%}nIrVpf6YUwV!vC&-hMPTcv*&0@uY|+}eu$zqZmu8inhFKi_3sPucCP$F~b9 zghnZ0L(Z2?M^FfWLL*A->N)sfd>6*3P)`H1*$lEcbxuy$0_O_E4hsu7dlOWB7~$5UcTf}Ku#rkTFs{1m!iKr} zojeba%+S2RF*P+c;eTLdo|=Y645R>9??60&8jVJ}#_68M0$V6(AnN+)2j?^Ki+Y}b zXq)iTT7PU=;Jv00dfI!r1q)=Qr6U*HeZ{;B4*+!(I!(ZoEG!PC_K~37{}ve_ML^cC z#~!w+AA9w}6MwzSXrnH5+$lI2-~Rg9h8`7s%AkRU8DuPhWPnn?7D_Z`WObl@O2e;f zc+*?yAv2&FNU_8a0}>Y*gI>nKsDlXeMwoL5M=D(c6zeH86BR?3!G+UfkK>bQz4!;G zLllMR*v0lguYNaS`duIHJ_zuM!*_`|{peSFqwEckQuKOgiVSRbZFb&En5 zx?W{qmMUOPsvwe(KCCks*6r@=dyqsdj9`WSOS3qDTzRn1r{~!-{Kuo=`~0v{5sviC zk>{uQcCD0{0InCt2V}#k|LKdM3gZbxTN4B%D&ANyV?-2g;28&vqd-)I2Omi*iHG=0 zP7EdOb!V^qp$0Du>y1PqanwQnD?glQ^c3*ks9s{BQJ-PlO}O{dSU_u-0xg2?1x04R zmED^9c#sTfT8`ZMEtBu2lCdX%d_D+C1XtHsjX<2hNZSsyo|opDX*@w5aQE;q{Nqv@ z0d)IB^?Tho4_tf{8bG#{Xy~ zM`H*FRKg5Px!*rO9726TBTgs8eo-5uwDdH%i5kF*mzWE8nv>{7ay#JB6I&(S@snb?Nk(G18txUXg!e$NbykHMH4pz_a`SL0z3TDw1r-~RJ)IZF+U7_mTnWPpOhKLRtT@JuwW&u%?4Ifzob zB5ZP>?!NC_I4Cf;VMK2u_!6l!b5*yR|10lIyn5W%u>Vw2=BcnvQO3-3rb;9-RYVez zDG|jEo2XQ%h>eV?l%W#UMr3FrQ`-=kG8CDIC_|-R{oc>*?6uzae|XP2>#VcwRL}GK ze(&MBuKT(b8vR}q#@!gpTZ3g0!z|Y*+uE{gfdD$2DLxn{#d1+9Wk)XA?dgTTnkck_ znn?b|Bg%P?bMD%~_OB`7uTXs-jET9FIQ+?}g-ryRqLm)Er`Pb9A@jYa@RTTjxY9w@ z2D{CPGPW02d$G5AH{hW@XCH?H0deRCbrg(rS~J)gfK#ogv0xg6@kWK|lI+lHl7-o4 z17tz|^rW&4s-&c(SKq$Eqq71>lPgCb_I1&V(T_udgV*yWW^t-s!|ym}fp!-31HYmYV%BwYK%)?I+KidCP>e&A#1@ zc7kRv!;I5NHpZo~dc^|=$fw-23Nct&PPPfRi<{f%+kSolPatXI+p#vC%hk^T8z0i* zoq(HjB7GvwTuEhli}X~fPB1-uFEaGiVK@>yI7cm^bxmc$x<{u@R)^nKeOF&cJYj-#{T8Mv zJa-GeeD}V6H%>2kwr@Ye+?C(nj1QZC>>9L7CX$p8T2rwIJ@H%7;<}l$y#zso6MFnq zM1{*+UG*fUy-_?!-A_4VgF=hWa-WO2piXo(IcL@P2vOycBkYMY1y++0sR>jnx&6UD7}d3C=_S?KUk{Itv@$nLki$ivv z0|y=uSk_%SyAB$N91H<)9~1)7B@39{q{5b^s)J&^#bb;WFqSXgQZUN zS-fl@M$=oU4i}-M!LMzj&ZQ~{{0~~xw00>?? zpi1@awi8)36%s5iyMN-5_Xr~%a=OF9L*fm0XI&js1zW|}TdZ1T0!1&=L(qU?gGP@- zA@DZ+Edj(i;oCpS$+lkK`y90C90jY}bdsa#%{wP%3`slNv`oDq|LyD72L;$@vy;cu zLdu0`Fn(%ceP`zam)Gydc#7;dZsNnC!gzsoZlEqCu<1m(Rwi<_!OKevPQtj!X1Yfo zp^nCQ9n9Hw&i(Hn$y)(&F4KZ(sGQYu5xiUpQ!@SK8~wR}$%R5NEI|TmooFXg_r_>S zrEi2>m5eGO2i6HUgUf^q_MqZ{u1(#{G0e6oP*a-)BLtns?wR|Ey5M3KkVBxT&UW?Ai`NFP_&3aaZ5B9QFznZhao|8=y)UP~4?g6_uk3JrqsimR>nZZwiVNu zSrFceFPRG1CyFXdbcjWHpAboDBB2*m@5j#b-1s61gA6OM`us28q;S-BD3E0SZIVWZ z((y+oMv4bZ-PVJ5dhN6;GN~`)vji)fqZ3*y=3puwhbC&(587;Y3Dov1krt?Gg2yD6G93nT8 z;6Wvw&r*r%KL1|s9 zQ>RXh$7MZ!{D&xX@aUm}(F!dRYXs>$x=&9zR9dJBVLeoqV+5)o8AboNDa>wpqRj~n+&r;7|o(@0S3 z%Ca+#ruggNwZS0!D7cNTd7Jf0KNB*9z@$p!W7Z?>*HAFtsKwPq#d!r>`j4XtCf5BE zhc`Lm`1hr2>6#=Q+oePigL*(ZMj3AxxHkzJDP@07`N;9!?vC4} z@R*tyN)_{U&B8R!A?1ND3%SkB%>%m_M8a1>{Ab>~wc}Lge8z<9Hy10`!IFgh?AfK!m-o8L&janP zx;Mc`%mH7j8CE-eFJ2tRr!?(q;WLm%4mLSbM${C&XBT+B_5e|r8Z4%13c`dYK&2>^6W21Yx10GnW4AzN?E2SN#2NL0 zZQgSz7Rg+m0CBIM$S6a9_xzm@$>F0GFNg-TKJJ_z;Z?VE3;FoU%{{&S#m=$d&F9ZI z0g{(N-+E7{ucx53ntowt?^LH-8ihhr3=Yn(L^YbKp;gm^p7-t5KAhKA9J7H;*lju6 zV^Klcu!mSGhJ}wcvQCfCZU_huWo>{@nU!y^3@`ld#CyKPZ^=c>^2hJQ3t+C|HNeeI;vh-h4`ib*r`H zeB{Kk5f{;FFiV96%?9bED2zulQ%|iz(N!_fpIJ@zKLoGchB=MyGHb1_%TmKluZ?|y zXWlQDA?-+1H1rn6VWsyQ`>$W01Z+St^6!BmyRYjUr*z^-UY+=?Q~V{*R_cRai=Pb< zr(EJPB60zl&<^-=Q$?Zz{G-_9H9KG$2H4mhrqgqD&bfAUO%_6BeO%rB09^+xd8(_NT~%U8 zD3-_ifMW>qn$+&);;2|xGw+wq0Gd+cAF5@2$oCt zlra5?_kI;Pm)?F3eZ@hhlU40cizqT71DEb^6G;J%nFrpSnFL4;y($-gb(#8JH^UBV zBT??ED4@JwGzJe}J)+kDwgbr@B+QxI8CdYq`IS9s*ei~@^>@oNhXkW>s*~28qr&Ge zurjKK$;GLFnT7A)ce!?Y{o!07C+r6b_otgu#jwg*vH3Ie`H}H0DaLD&sMloND_wz!h3zooB0!ki1zK74xCINPk0I zhLRjbPgb5H^adrqtk)?Y@WJ5mT^!2EA9vy=bpnRjOnML>ytCdFeVq49Bx)w5>E|r*T*6o(w;dKS&KMwWDTZInL!GXr3NHtA*4vX zxd=$t4HA_sNx{Bq&NiP+BKDoi@MFPb7_*DtWBA9qZH6}I=VnJZ!Tjq}y-PXld^Yfx z)e53>n&VLGxXG9xG$q)e?+CDq1Dw(!RP}bt>ntA{i*)GCCI2~puirU;-_}?&PMP?n zd2Oye5hxhJb7k~JUd&k_jO5H>vV;e|vD{dpc0rAEuT>{c)_SsaQY}eQ5)U{+iZAF} zYnmBypA2#HIJQh-h!GO8R36YbacLuS-HHOKoH8;pT--5;7FHQ#li*SQ6DpxCl_YiG z+w`M{4%jmbDB>B=-P)^1RBX5FtcT6+6=KdEsv*{Zv}@nK25pNayrLN3qS3f?>sEc< zXdoda-Et?hvy8pK1_ijbL5@tgDGR{?<$MuGOEt+%kywg{zL@vRdqGX#p_q+*gQ`{E zCW3NrUh;F747}ULi7&!zbZgWXLO+pDp@~HIB)bU+-I>^*QY~ix%$bR0*ro3Qt|w?# zC^z&LEkb30P&kB=Xx;RyQc1%ENv;5DAf1;_JJaF4QBTM-az_l#6Z6VOsCL|)9D#TH z3#zrt8ik4nRU^4Pe6sOtksWeRwsxg|xY=b>i!~_vR{kDIx~7(~3lBhXD)5$9&s6c+ z!zpP=Yi5Ebw7RNqf3vC+CCCfK15E98#2G`(-@VnaZPzFjP;GbsF1-cUyESkA{5}&# z-^k&gQz7U>OttPmC9I}OuBZDbLXrb)u@X!aoAHQm-@X+w?m%^6a@ek7YnUf4y&B8xI_4?Hldo z!X|+7+dkF)+_byl>tmCN94}adwas&P_9|94>!}&raKae($Ny+k>WNH_GFQ9dm6}# za=yH^$b^}i)}VPkQu@6rNPi+uh}PGNt! zw4uZ#80D8wrk{4xCZMn^bq-8?e5mz}=Ji(e+f5MiG5TNxI>Tq6g3xbt+vS_+gvTT(Kx)u#E;)watYKYBEavy`2WG7Yuz zlmwSyillhH$>_0TCrvw;wCpbx)||hx^L3D1ff-B7!XSe88m@@geUKu>xLb+c<9{T| z&pq1?yc)1vaGoy(=^Le>hpyhS!=L4ah}Jha8%(SohCeSOa^FLK5|dsMZ+@Fq48Z>2 zX}XUA<%O*92GELS71^l+mf83__|vBwQ7rq^b_O!0Gr_1_Y@?q)f4+Irl)8~i{dM&2 z&lP_na-+E9N4f6GWe!0e7^FIeCNR&;O&84xny?P zV^dMJ+IUt?lh6?e`Gk3<*-uNl3G7_*>Ut9ZI2VFC#B|=YxPuHOz(7Z%Fa+yt%*bmt zc~}rFfB<4V*+Oh)aHW&=Y@{h9tx}MH5$r$Gt}mM_0_d)=&kFJ>J-_7H-~{J%l-X^B zSA|H5^O-yXD<sUOEiFxA?;hVa27p7%one~jpHY~|0@<$QID4^SiW=by}w5Pu!C(td6q@AXKpT`Xj|iahT}nU zXE9paVeBrY^S)ZEfUTjr{*DZ4#D+0ClQ2`g*{cs5Hx81q5ue=Rk00ycW(5jg(%P1n zMh{V+suv_VgQ{|{@fBB}Q9pi`R1tjrfNq#VoXsng4*(jRC9w4d4jc$Bs3@W%gxOn{ z-`nQTfv2e>64uqoBm@|Mx=l@h0LUOD@IWfxtUL;@L}=ZsjM>Vdh&5Sd|Y3(=a$XTo&4*^83YPfMoP%qAr!uDc@*6cRVq1 zlKO+6_TAVb1483d=eJ0;O4pC9|4&QbwtK8hf&bDv-(b{2P1BbQWc@yozvQ~Asooe z3#&9JxdqQc1tL>yTt}I@ly*lns8oZaLR(#T4!}ozt?ggiitVO$L)v?VvMl&Ca&%Nh z#~$sdqhPz^4}HsxmHtY}GuyS1?@~m;)7;eC9WofAkB>&)r1#)1 z3U?aoc-q)3=`+_=zLF<(6_QGcmom7bDt)kwLL&b?>wWz2%c>Bd-b1f#pBHgaEm?Ynao_ZZ5%{7q6@!!Zck;+KbxKW z&cOOtk^};%l6zkWtD#ibnhL)up`-yJ5er*+eW1~bLf`buyln@=#zEK$KI)mT!=x?$ zqFsj$f$27tQglfZAd@=hyt1fRz29NL`*HOG%*%7$~VtAc# zHJ^m|DlsYVg7TJ&ui7`3m@Srwppt%RDf%-BH`2j~u&3`qvD|>NL|r*-y(bm*nw?ccG8RBvbNnDt>B2B&`=}qTSP-jQ zqa;pDl3`ia=9;p@3Ku0UCQDW3vS?Gd^Fp#Rrzwg@<|YIHd|uQr8-epA;H8W)iB4O5 zTa+YLfTTr-qplId3kLNeeo$v!Vs&W7!!rB!hY}>I@!7KkFKz7_5{WqhT)$qTQ|fxI zKMqZ;WiFbMS<%y9P;pjUr;A0^oa;!rj97IAG6D#?0of{5%;lb5gT%^!Ss@4-krhh2 z1$^imeHvfEUtM#`4{0u zp-#NS#Inb`JMG@Re=iWX;Lu`#2}TzKe1=$qaJIfjN#ub8^+Jnc3-3&o9Dy*woVG80 z%Y80PGMebgC!GFZ{o{JH0$4F`+rE80519eT=;>xreV)_$lIDPYRN0KG22idVcIcqZ zy_N13ElL16RI{_OTgO+`z0q|N7EYCYo5~#93)(M|lUP!svn^q>hHPR2WxGP7lM4?o zT|wX%*Ent4l{~uuE}|1eAtBwjBIunA(lYoiMUroHbuMj4(n&44N01zJ6{Gr2H{AgZ zK*uL41|;&*rBlpfq@~T}L#SJ-b)T#hO)jTR*ZWj(_pR%!%6dGd2g^N#AfbAe&yf+S zLi!v&U>6Ej@9bPq-8&IZn#7b6$0*uT?8FfXIAdu`fWa}1wFuE>NOFT3qb@w z!UbJVmLafYc!ozszH2i3{OTXZf?A004k1hN<$}2oqsY#e5Ifkw2IHI~emZLoYYOBB zsv62g>xOoX-`?tfKCyyGa}q_fhW-r5j!GrLXi@vs)#{$p935RqquKcs4=BuZ;wIN- z95Stnn{|~3l0z!}r4n58Jfg`K!?fp6eDvzyzskiuqGQhW>n|SWbaO~j;Lb&XLwQqE zktKzQs*-;Upm0^cJfc1Rc1Mej1bIG6B=k`Zm4F?h9LAHg^vhlzNt#feU!?q~5|NY; z>C4NaJDy{wDSTtcaeFeLE-Oy?AWZ5ku1V-b#8!hdMsJXTO!3A0_hKO+;@Avd4d+i| zmogz{Xxh##hJ4CuiW$iRi12)567eT}S^D&>27bFD3Ki`Tsns{S|NDJIzy8HL1m(V%=->;Q9 z``(1c=WS#6gKYKta-cGoQ{;(F8GE6>_xddR#~Kt=Qj%Zyj4f< zSvlpHKj=Ntz^FV<0=@odGHgz#jdV^zLldnOL* zw8mhI8}RX_Xu-^-0f*#E!Fya?5|4Ha*twO2zqa=f8)hNJVwX;cFRNHVHAK%A4N#$) zd00>bi1qxN^>^mHR`Sw~m%)Z|6)s%3KwrNVX09c-6DNv}qTwYuWia*uG<5}kN{I@J zIoO(k5?8o&SgGe(HAPx_A-33r?}H~&v3`j3uy9#Hf_@VZ%?QaJU?F6#n6re zjY?tUcxFjG_9VLuY3)ufetEr2pHLmaV70EtfVPTFl#)avG7I`3FM}Ucs z7mlti6`Rv;_Be_kB+7|Do}x&D!#p5?066$kp8@R-ZKeSWAF?tu@`|eDx)l5pPcb+X zmvn&kxVSj_qb8SA9I1LQ@%am)B$7*WG$qmrNPWZq^&j2d0u<5C&JN;9%mY-Ty0kmA zSlDFPKY`Wi?CarpN|%f>0$c_2k}fi1%6XH`b2*Rw=5@!nGyvex+tj2H z(NM5MtU(WxjX*_08g31l+1ZD)oTpFK>z8!joSquDH96FB6zmE)lcVs;q=?Qph6ejR zI5DFRf&~4pQv?A-1!u)e6RZjMTWCtz3sv+$wf&{*tm%G?T8K$It|ytCR1HNKNm7Ay zf0#~+)>$S-mMl4uKP(f*==U}}_+GTxvTny`usgz_F*`cSJd+X}-(-l1iR-w7-7R#d z%X#2U%TTLY_0|mSOeWVscsfF^?D7%<%_Q^^C1Tz(v-{AWMToY5v@_`Y6}@2x$Y7(e zE$~1;1lbe=Bidq;Ye>VaDO^;s^n%fqS``SosBBVyH2*!*RqLt8v^sxqMn0ZbT;!^H~rO|+&ZAO8>l05PHL(F1Rk7w^0$pvdH$|0vzr9XoZ>AzRZD zSrRNn-0smzhapf3nOR_hVrt+UeX;rRgaqE<&+LyfR|h(YOJH#`HQA9;mfcsnip*1! zsIX-e97#Fo3>t_rwK5ACv1s1WY{c>qg7B|f;@Xt*`mHpfNI zK0^;zVi|8bWznvj*PyWwbQ!=_6{iyz2DHL@xcu`vmJVUDT^D2orG6Au4XeN|!-|PJ zI`#o<5@^Y9s%j(NHvB7(#&C z;ztb|v>B?{oa+Af==Lv}|J=QfH%m$S^!&;OGI(IN$-c85`k;l$!`9J5{j!9)uGOwv z&`3kJUN(V#(lzZ{jS7&+iUY75n;9dOjVt&%m)UG-{3wFyg8>hSNh4TkR;g9nfNjf~prl1bWi)KqfyjS`GKK=p8|;%W zYfw0>E>OBkaF3@%H))Ikn}VmUu+Z%?5gl44(nDf%ZxnaZ=7Y(~=fvn2oB{upHko_Q zWja2+1Q7;sjTnY(_R)+E!jH{b2Dy2s8T@d`{7lQ?ryo0`x3Pt;?P(F@K(UCx4=X~# zvy8J-IVOdU(rq_R6kDVfPM<)eh_=8je_Pn(j@BNoHQhqDT|h(rr^S{Vog4r654o<) zfB*i|fQHez{QUpEW@Jom#xD6{{@tcgF_?D!_eEPq{lDL+X3BqmY|*bpy~VZu`y$tV hEgt><_5&(?n%jSw7PumRxWa$NSWXyu!eZ9?{{tCYfxiF% literal 0 HcmV?d00001 diff --git a/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png b/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png new file mode 100644 index 0000000000000000000000000000000000000000..55dbe505d06ccde32692c957526e2d08211ac0d0 GIT binary patch literal 29838 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 LG4*1K`HlYqO}8a0 literal 0 HcmV?d00001 diff --git a/_images/bf05617ed79cfad41d663e5de1dec67497ae7ce7453e5cbe0c7f17a841c2dfa9.png b/_images/bf05617ed79cfad41d663e5de1dec67497ae7ce7453e5cbe0c7f17a841c2dfa9.png new file mode 100644 index 0000000000000000000000000000000000000000..446b58b6579da5d05db9b07fe757168686ef672a GIT binary patch literal 175032 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 z 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 literal 0 HcmV?d00001 diff --git a/_images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png b/_images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e7f35c364cfbd93bb19ceba479612f182f300b GIT binary patch literal 101893 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 z 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%0D`)v zONAZ)^jRS5;C^xMozQ6kQ6~?Q>CR{(k=@4UH8)7821v-beFaX^H& zA{Kopco#Eypf0HvZlFRl=G!lk-+Zgp17%;bxQ(0uhe-mHJl81#Tj0Sm86n3Wak-qR zFEM#duNE1eYFPzJrU*=`Yk(YYQt^0MoQooQ1>}$+jREeQ(_<(}HA5v0nFMlkWEP8M z345m5u&c5r8?*tmkamU|iaI)Hg(^^}H3phORsjL>*>?P`TawVe^wd$*hlDD@V;!9B7_mV%1DfDX(EFg;>biOyEkkU^Z=xfUnk4h0jorf& zbwL{m>VvDSmq^iU)x%M=ZsS#$JJ3`gZOlf-2^>)KIdz`C6nRn~pj0Jd%h5HexC2SV zo}4D`yy$HI4m>8$4Am}>C99>Xii-QrWdX4upf`iUkwyAHn<_FTAXfr)J^4Rn-Z9tB=Cc3C|I@M;xWxwv$DpUMbHY%3_jfY09^zK_>cz(86P)Qg83=#XJP6zj`{`u+WC*a)JrFnVqWix;zZ5N SoBRJ?>@l?<Fine tuning a model

    -
    from fairchem.core.models.model_registry import model_name_to_local_file
    +
    from fairchem.core.models.model_registry import model_name_to_local_file
     
     checkpoint_path = model_name_to_local_file('GemNet-OC-S2EFS-OC20+OC22', local_cache='/tmp/ocp_checkpoints/')
     
    @@ -654,7 +654,7 @@

    Fine tuning a model
    -
    import json
    +
     

    A specific calculation has a lot of details in it. You can use this to recreate the calculations. Shortly we will use these to compare the DFT results to OCP.

    -
    d['TiO2']['rutile']['PBE']['EOS']['calculations'][0]
    +
    d['TiO2']['rutile']['PBE']['EOS']['calculations'][0]
    +
    +
    +
    +
    +
    {'incar': {'doc': 'INCAR parameters',
    +  'prec': 'Normal',
    +  'isif': 4,
    +  'nbands': 20,
    +  'ibrion': 2,
    +  'gga': 'PE',
    +  'encut': 520.0,
    +  'ismear': 0,
    +  'sigma': 0.001,
    +  'nsw': 50},
    + 'doc': 'JSON representation of a VASP calculation.\n\nenergy is in eV\nforces are in eV/\\AA\nstress is in GPa (sxx, syy, szz,  syz, sxz, sxy)\nmagnetic moments are in Bohr-magneton\nThe density of states is reported with E_f at 0 eV.\nVolume is reported in \\AA^3\nCoordinates and cell parameters are reported in \\AA\n\nIf atom-projected dos are included they are in the form:\n{ados:{energy:data, {atom index: {orbital : dos}}}\n',
    + 'potcar': [['O',
    +   'potpaw/O/POTCAR',
    +   '0cf2ce56049ca395c567026b700ed66c94a85161'],
    +  ['Ti', 'potpaw/Ti/POTCAR', '51f7f05982d6b4052becc160375a8b8b670177a7']],
    + 'input': {'kpts': [6, 6, 6],
    +  'reciprocal': False,
    +  'xc': 'LDA',
    +  'kpts_nintersections': None,
    +  'setups': None,
    +  'txt': '-',
    +  'gamma': False},
    + 'atoms': {'cell': [[4.3789762519649225, 0.0, 0.0],
    +   [0.0, 4.3789762519649225, 0.0],
    +   [0.0, 0.0, 2.864091775985314]],
    +  'symbols': ['Ti', 'Ti', 'O', 'O', 'O', 'O'],
    +  'tags': [0, 0, 0, 0, 0, 0],
    +  'pbc': [True, True, True],
    +  'positions': [[0.0, 0.0, 0.0],
    +   [2.1894881259824612, 2.1894881259824612, 1.432045887992657],
    +   [1.3181554154438013, 1.3181554154438013, 0.0],
    +   [3.0608208365211214, 3.0608208365211214, 0.0],
    +   [3.5076435414262623, 0.87133271053866, 1.432045887992657],
    +   [0.87133271053866, 3.5076435414262623, 1.432045887992657]]},
    + 'data': {'stress': [496.18519999, 496.18519999, 502.82679392, 0.0, 0.0, 0.0],
    +  'doc': 'Data from the output of the calculation',
    +  'volume': 54.92019999999996,
    +  'total_energy': -56.230672,
    +  'forces': [[0.0, 0.0, 0.0],
    +   [0.0, 0.0, 0.0],
    +   [-0.001264, -0.001264, 0.0],
    +   [0.001264, 0.001264, 0.0],
    +   [-0.001264, 0.001264, 0.0],
    +   [0.001264, -0.001264, 0.0]],
    +  'fermi_level': 3.153}}
     
    @@ -681,7 +736,7 @@

    Fine tuning a model
    -
    c = d['TiO2']['rutile']['PBE']['EOS']['calculations'][0]
    +
     

    Next, we will create an OCP calculator that we can use to get predictions from.

    -
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
    +
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
     calc = OCPCalculator(checkpoint_path=checkpoint_path, trainer='forces', cpu=False)
     
    +
    +
    WARNING:root:Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    WARNING:root:Unrecognized arguments: ['symmetric_edge_symmetrization']
    +
    +
    +
    WARNING:root:Using `weight_decay` from `optim` instead of `optim.optimizer_params`.Please update your config to use `optim.optimizer_params.weight_decay`.`optim.weight_decay` will soon be deprecated.
    +
    +
    +
    WARNING:root:No seed has been set in modelcheckpoint or OCPCalculator! Results may not be reproducible on re-run
    +
    +
    +

    Now, we loop through each structure and accumulate the OCP predictions. Then, we plot the parity results.

    -
    import time
    +
     
    -
    mae = np.mean(np.abs(np.array(dft) - np.array(ocp)))
    +
    mae = np.mean(np.abs(np.array(dft) - np.array(ocp)))
     print(f'MAE = {mae:1.3f} eV/atom')
     
    +
    +
    MAE = 1.669 eV/atom
    +
    +
    +

    The MAE is somewhat high compared to the reported value of 0.458 eV. That is not too surprising; although OC22 was trained on oxides, it was not trained on all of these structures. It is also evident on inspection that the main issues are all the VO2 structures, and these skew the MAE. Next we look at the EOS for each material. Here you can see offsets, and qualitative issues in the shapes. The offset is largely a PBE/RPBE difference.

    Some notable issues are with fluorite structures. We show one here for VO2.

    -
    oxide, polymorph = 'VO2', 'fluorite'
    +
     

    We can improve this by fine-tuning the model.

    @@ -776,10 +871,10 @@

    Fine tuning the checkpoint
    -
    from ase.db import connect
    +
    from ase.db import connect
     from ase.calculators.singlepoint import SinglePointCalculator
     
    -! rm -fr oxides.db  # start clean when you run this cell
    +! rm -fr oxides.db  # start clean when you run this cell
     db = connect('oxides.db')
     
    @@ -787,7 +882,7 @@

    Fine tuning the checkpoint
    -
    for oxide in oxides:
    +
    for oxide in oxides:
         for polymorph in polymorphs:
             for c in d[oxide][polymorph]['PBE']['EOS']['calculations']:
                 atoms = Atoms(symbols=c['atoms']['symbols'],
    @@ -807,7 +902,33 @@ 

    Fine tuning the checkpoint
    -
    ! ase db oxides.db
    +
    ! ase db oxides.db
    +
    +
    +
    +
    +
    id|age|user  |formula|calculator| energy|natoms| fmax|pbc| volume|charge|   mass
    + 1| 1s|runner|Sn2O4  |unknown   |-41.359|     6|0.045|TTT| 64.258| 0.000|301.416
    + 2| 1s|runner|Sn2O4  |unknown   |-41.853|     6|0.025|TTT| 66.526| 0.000|301.416
    + 3| 1s|runner|Sn2O4  |unknown   |-42.199|     6|0.010|TTT| 68.794| 0.000|301.416
    + 4| 1s|runner|Sn2O4  |unknown   |-42.419|     6|0.006|TTT| 71.062| 0.000|301.416
    + 5| 1s|runner|Sn2O4  |unknown   |-42.534|     6|0.011|TTT| 73.330| 0.000|301.416
    + 6| 1s|runner|Sn2O4  |unknown   |-42.562|     6|0.029|TTT| 75.598| 0.000|301.416
    + 7| 1s|runner|Sn2O4  |unknown   |-42.518|     6|0.033|TTT| 77.866| 0.000|301.416
    + 8| 1s|runner|Sn2O4  |unknown   |-42.415|     6|0.010|TTT| 80.134| 0.000|301.416
    + 9| 1s|runner|Sn2O4  |unknown   |-42.266|     6|0.006|TTT| 82.402| 0.000|301.416
    +10| 1s|runner|Sn2O4  |unknown   |-42.083|     6|0.017|TTT| 84.670| 0.000|301.416
    +11| 1s|runner|Sn4O8  |unknown   |-81.424|    12|0.012|TTT|117.473| 0.000|602.832
    +12| 1s|runner|Sn4O8  |unknown   |-82.437|    12|0.005|TTT|121.620| 0.000|602.832
    +13| 1s|runner|Sn4O8  |unknown   |-83.147|    12|0.015|TTT|125.766| 0.000|602.832
    +14| 1s|runner|Sn4O8  |unknown   |-83.599|    12|0.047|TTT|129.912| 0.000|602.832
    +15| 1s|runner|Sn4O8  |unknown   |-83.831|    12|0.081|TTT|134.058| 0.000|602.832
    +16| 1s|runner|Sn4O8  |unknown   |-83.898|    12|0.001|TTT|138.204| 0.000|602.832
    +17| 1s|runner|Sn4O8  |unknown   |-83.805|    12|0.001|TTT|142.350| 0.000|602.832
    +18| 1s|runner|Sn4O8  |unknown   |-83.586|    12|0.002|TTT|146.496| 0.000|602.832
    +19| 1s|runner|Sn4O8  |unknown   |-83.262|    12|0.002|TTT|150.642| 0.000|602.832
    +20| 1s|runner|Sn4O8  |unknown   |-82.851|    12|0.013|TTT|154.788| 0.000|602.832
    +Rows: 295 (showing first 20)
     
    @@ -820,14 +941,21 @@

    Make the train, test, val splitsfairchem.core.common.tutorial_utils to streamline this process.

    -
    from fairchem.core.common.tutorial_utils import train_test_val_split
    -! rm -fr train.db test.db val.db
    +
    from fairchem.core.common.tutorial_utils import train_test_val_split
    +! rm -fr train.db test.db val.db
     
     train, test, val = train_test_val_split('oxides.db')
     train, test, val
     
    +
    +
    (PosixPath('/home/runner/work/fairchem/fairchem/docs/core/fine-tuning/train.db'),
    + PosixPath('/home/runner/work/fairchem/fairchem/docs/core/fine-tuning/test.db'),
    + PosixPath('/home/runner/work/fairchem/fairchem/docs/core/fine-tuning/val.db'))
    +
    +
    +
    @@ -835,7 +963,7 @@

    Setting up the configuration yaml file
    -
    from fairchem.core.common.tutorial_utils import generate_yml_config 
    +
     
    -
    ! cat config.yml
    +
    ! cat config.yml
    +
    +
    +
    +
    +
    amp: true
    +checkpoint: /tmp/ocp_checkpoints/gnoc_oc22_oc20_all_s2ef.pt
    +dataset:
    +  test:
    +    a2g_args:
    +      r_energy: false
    +      r_forces: false
    +    src: test.db
    +  train:
    +    a2g_args:
    +      r_energy: true
    +      r_forces: true
    +    src: train.db
    +  val:
    +    a2g_args:
    +      r_energy: true
    +      r_forces: true
    +    src: val.db
    +evaluation_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +  primary_metric: forces_mae
    +gpus: 1
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 1
    +    fn: l2mae
    +model:
    +  activation: silu
    +  atom_edge_interaction: true
    +  atom_interaction: true
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 12.0
    +  cutoff_aeaint: 12.0
    +  cutoff_aint: 12.0
    +  cutoff_qint: 12.0
    +  direct_forces: true
    +  edge_atom_interaction: true
    +  emb_size_aint_in: 64
    +  emb_size_aint_out: 64
    +  emb_size_atom: 256
    +  emb_size_cbf: 16
    +  emb_size_edge: 512
    +  emb_size_quad_in: 32
    +  emb_size_quad_out: 32
    +  emb_size_rbf: 16
    +  emb_size_sbf: 32
    +  emb_size_trip_in: 64
    +  emb_size_trip_out: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  forces_coupled: false
    +  max_neighbors: 30
    +  max_neighbors_aeaint: 20
    +  max_neighbors_aint: 1000
    +  max_neighbors_qint: 8
    +  name: gemnet_oc
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_atom_emb_layers: 2
    +  num_before_skip: 2
    +  num_blocks: 4
    +  num_concat: 1
    +  num_global_out_layers: 2
    +  num_output_afteratom: 3
    +  num_radial: 128
    +  num_spherical: 7
    +  otf_graph: true
    +  output_init: HeOrthogonal
    +  qint_tags:
    +  - 1
    +  - 2
    +  quad_interaction: true
    +  rbf:
    +    name: gaussian
    +  regress_forces: true
    +  sbf:
    +    name: legendre_outer
    +  symmetric_edge_symmetrization: false
    +noddp: false
    +optim:
    +  batch_size: 4
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  energy_coefficient: 1
    +  eval_batch_size: 16
    +  eval_every: 10
    +  factor: 0.8
    +  force_coefficient: 1
    +  load_balancing: atoms
    +  loss_energy: mae
    +  lr_initial: 0.0005
    +  max_epochs: 1
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +  weight_decay: 0
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +task:
    +  dataset: ase_db
    +trainer: ocp
     
    @@ -887,43 +1164,70 @@

    Running the training job
    tail -f train.txt
     

    -

    You can also visit it in a browser at train.txt. You have to periodically refresh the view to see updates though.

    +

    You can also visit it in a browser at train.txt. You have to periodically refresh the view to see updates though.

    This can take up to 30 minutes for 80 epochs, so we only do a few here to see what happens.

    -
    -
    import time
    +
    +
    import time
     from fairchem.core.common.tutorial_utils import fairchem_main
     
     t0 = time.time()
    -! python {fairchem_main()} --mode train --config-yml {yml} --checkpoint {checkpoint_path} --run-dir fine-tuning --identifier ft-oxides --amp > train.txt 2>&1 
    +! python {fairchem_main()} --mode train --config-yml {yml} --checkpoint {checkpoint_path} --run-dir fine-tuning --identifier ft-oxides --amp > train.txt 2>&1 
     print(f'Elapsed time = {time.time() - t0:1.1f} seconds')
     
    +
    + + +Hide code cell output + +
    +
    Elapsed time = 206.1 seconds
    +
    +
    +
    +
    -

    Now since we have a file, we can find the training results in it. See train.txt. At the top, the config is printed, so we can get the checkpoint directory. I use shell commands and Python to get the line, split and strip it here.

    +

    Now since we have a file, we can find the training results in it. See train.txt. At the top, the config is printed, so we can get the checkpoint directory. I use shell commands and Python to get the line, split and strip it here.

    -
    cpline = !grep "checkpoint_dir:" train.txt
    +
    cpline = !grep "checkpoint_dir:" train.txt
     cpdir = cpline[0].split(':')[-1].strip()
     cpdir
     
    +
    +
    'fine-tuning/checkpoints/2024-05-17-17-53-04-ft-oxides'
    +
    +
    +

    There will be two files in there: checkpoint.pt and best_checkpoint.pt.

    The best_checkpoint.pt is the one that performs best on the validation dataset. The checkpoint.pt is the most recently saved one. Probably it has the lowest loss in training, but this could be an indication of overfitting. You have to use some judgement in determining which one to use, and if it is sufficiently accurate for your needs. It may need additional training to further improve it.

    -
    newckpt = cpdir + '/checkpoint.pt'
    +
    newckpt = cpdir + '/checkpoint.pt'
     newcalc = OCPCalculator(checkpoint_path=newckpt, cpu=False)
     
    +
    +
    WARNING:root:Unrecognized arguments: ['symmetric_edge_symmetrization']
    +
    +
    +
    WARNING:root:Using `weight_decay` from `optim` instead of `optim.optimizer_params`.Please update your config to use `optim.optimizer_params.weight_decay`.`optim.weight_decay` will soon be deprecated.
    +
    +
    +
    WARNING:root:No seed has been set in modelcheckpoint or OCPCalculator! Results may not be reproducible on re-run
    +
    +
    +
    -
    eos_data = {}
    +
    eos_data = {}
     for oxide in oxides:
         eos_data[oxide] = {}
         for polymorph in polymorphs:
    @@ -953,19 +1257,27 @@ 

    Running the training job +../../_images/a805497531c4318bd9c1de44a25bad55c2a04c8af86172257c92af81de2ee1dd.png +

    -
    mae = np.mean(np.abs(np.array(dft) - np.array(ocp)))
    +
    mae = np.mean(np.abs(np.array(dft) - np.array(ocp)))
     print(f'New MAE = {mae:1.3f} eV/atom')
     
    +
    +
    New MAE = 0.463 eV/atom
    +
    +
    +

    This is a substantial improvement! We can see what it means in terms of the Equations of State. There is still not perfect agreement, but the curves are closer together. Additional fine tuning, or a better model could probably still improve this.

    -
    oxide, polymorph = 'VO2', 'fluorite'
    +
     

    It is possible to continue refining the fit. The simple things to do are to use more epochs of training. Eventually the MAE will stabilize, and then it may be necessary to adjust other optimization parameters like the learning rate (usually you decrease it).

    Depending on what is important to you, you may consider changing the relative importances of energy and forces; you can often trade off accuracy of one for the other. It may be necessary to add additional data to cover the composition and configuration space more thoroughly.

    diff --git a/core/gotchas.html b/core/gotchas.html index a1e6906b2..29c03ea32 100644 --- a/core/gotchas.html +++ b/core/gotchas.html @@ -660,17 +660,31 @@

    I want the energy of a gas phase atom
    -
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
    +
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
     from fairchem.core.models.model_registry import model_name_to_local_file
     checkpoint_path = model_name_to_local_file('GemNet-OC-S2EFS-OC20+OC22', local_cache='/tmp/ocp_checkpoints/')
     calc = OCPCalculator(checkpoint_path=checkpoint_path)
     
    +
    +
    WARNING:root:Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    WARNING:root:Unrecognized arguments: ['symmetric_edge_symmetrization']
    +
    +
    +
    WARNING:root:Using `weight_decay` from `optim` instead of `optim.optimizer_params`.Please update your config to use `optim.optimizer_params.weight_decay`.`optim.weight_decay` will soon be deprecated.
    +
    +
    +
    WARNING:root:No seed has been set in modelcheckpoint or OCPCalculator! Results may not be reproducible on re-run
    +
    +
    +
    -
    %%capture
    +
    %%capture
     from ase.build import bulk
     atoms = bulk('Cu', a=10)
     atoms.set_calculator(calc)
    @@ -678,6 +692,175 @@ 

    I want the energy of a gas phase atom +
    ---------------------------------------------------------------------------
    +RuntimeError                              Traceback (most recent call last)
    +Cell In[2], line 4
    +      2 atoms = bulk('Cu', a=10)
    +      3 atoms.set_calculator(calc)
    +----> 4 atoms.get_potential_energy()
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/atoms.py:731, in Atoms.get_potential_energy(self, force_consistent, apply_constraint)
    +    728     energy = self._calc.get_potential_energy(
    +    729         self, force_consistent=force_consistent)
    +    730 else:
    +--> 731     energy = self._calc.get_potential_energy(self)
    +    732 if apply_constraint:
    +    733     for constraint in self.constraints:
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/calculators/calculator.py:709, in Calculator.get_potential_energy(self, atoms, force_consistent)
    +    708 def get_potential_energy(self, atoms=None, force_consistent=False):
    +--> 709     energy = self.get_property('energy', atoms)
    +    710     if force_consistent:
    +    711         if 'free_energy' not in self.results:
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/calculators/calculator.py:737, in Calculator.get_property(self, name, atoms, allow_calculation)
    +    735     if not allow_calculation:
    +    736         return None
    +--> 737     self.calculate(atoms, [name], system_changes)
    +    739 if name not in self.results:
    +    740     # For some reason the calculator was not able to do what we want,
    +    741     # and that is OK.
    +    742     raise PropertyNotImplementedError('{} not present in this '
    +    743                                       'calculation'.format(name))
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/common/relaxation/ase_utils.py:243, in OCPCalculator.calculate(self, atoms, properties, system_changes)
    +    240 data_object = self.a2g.convert(atoms)
    +    241 batch = data_list_collater([data_object], otf_graph=True)
    +--> 243 predictions = self.trainer.predict(batch, per_image=False, disable_tqdm=True)
    +    245 for key in predictions:
    +    246     _pred = predictions[key]
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/utils/_contextlib.py:115, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    +    112 @functools.wraps(func)
    +    113 def decorate_context(*args, **kwargs):
    +    114     with ctx_factory():
    +--> 115         return func(*args, **kwargs)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/trainers/ocp_trainer.py:434, in OCPTrainer.predict(self, data_loader, per_image, results_file, disable_tqdm)
    +    426 for _i, batch in tqdm(
    +    427     enumerate(data_loader),
    +    428     total=len(data_loader),
    +   (...)
    +    431     disable=disable_tqdm,
    +    432 ):
    +    433     with torch.cuda.amp.autocast(enabled=self.scaler is not None):
    +--> 434         out = self._forward(batch)
    +    436     for target_key in self.config["outputs"]:
    +    437         pred = out[target_key]
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/trainers/ocp_trainer.py:235, in OCPTrainer._forward(self, batch)
    +    234 def _forward(self, batch):
    +--> 235     out = self.model(batch.to(self.device))
    +    237     ### TODO: Move into BaseModel in OCP 2.0
    +    238     outputs = {}
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
    +   1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
    +   1510 else:
    +-> 1511     return self._call_impl(*args, **kwargs)
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1520, in Module._call_impl(self, *args, **kwargs)
    +   1515 # If we don't have any hooks, we want to skip the rest of the logic in
    +   1516 # this function, and just call forward.
    +   1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
    +   1518         or _global_backward_pre_hooks or _global_backward_hooks
    +   1519         or _global_forward_hooks or _global_forward_pre_hooks):
    +-> 1520     return forward_call(*args, **kwargs)
    +   1522 try:
    +   1523     result = None
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/common/utils.py:156, in conditional_grad.<locals>.decorator.<locals>.cls_method(self, *args, **kwargs)
    +    154 if self.regress_forces and not getattr(self, "direct_forces", 0):
    +    155     f = dec(func)
    +--> 156 return f(self, *args, **kwargs)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/gemnet_oc.py:1229, in GemNetOC.forward(self, data)
    +   1207 (
    +   1208     main_graph,
    +   1209     a2a_graph,
    +   (...)
    +   1216     quad_idx,
    +   1217 ) = self.get_graphs_and_indices(data)
    +   1218 _, idx_t = main_graph["edge_index"]
    +   1220 (
    +   1221     basis_rad_raw,
    +   1222     basis_atom_update,
    +   1223     basis_output,
    +   1224     bases_qint,
    +   1225     bases_e2e,
    +   1226     bases_a2e,
    +   1227     bases_e2a,
    +   1228     basis_a2a_rad,
    +-> 1229 ) = self.get_bases(
    +   1230     main_graph=main_graph,
    +   1231     a2a_graph=a2a_graph,
    +   1232     a2ee2a_graph=a2ee2a_graph,
    +   1233     qint_graph=qint_graph,
    +   1234     trip_idx_e2e=trip_idx_e2e,
    +   1235     trip_idx_a2e=trip_idx_a2e,
    +   1236     trip_idx_e2a=trip_idx_e2a,
    +   1237     quad_idx=quad_idx,
    +   1238     num_atoms=num_atoms,
    +   1239 )
    +   1241 # Embedding block
    +   1242 h = self.atom_emb(atomic_numbers)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/gemnet_oc.py:1102, in GemNetOC.get_bases(self, main_graph, a2a_graph, a2ee2a_graph, qint_graph, trip_idx_e2e, trip_idx_a2e, trip_idx_e2a, quad_idx, num_atoms)
    +   1093     cosφ_cab_q, cosφ_abd, angle_cabd = self.calculate_quad_angles(
    +   1094         main_graph["vector"],
    +   1095         qint_graph["vector"],
    +   1096         quad_idx,
    +   1097     )
    +   1099     basis_rad_cir_qint_raw, basis_cir_qint_raw = self.cbf_basis_qint(
    +   1100         qint_graph["distance"], cosφ_abd
    +   1101     )
    +-> 1102     basis_rad_sph_qint_raw, basis_sph_qint_raw = self.sbf_basis_qint(
    +   1103         main_graph["distance"],
    +   1104         cosφ_cab_q[quad_idx["trip_out_to_quad"]],
    +   1105         angle_cabd,
    +   1106     )
    +   1107 if self.atom_edge_interaction:
    +   1108     basis_rad_a2ee2a_raw = self.radial_basis_aeaint(a2ee2a_graph["distance"])
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
    +   1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
    +   1510 else:
    +-> 1511     return self._call_impl(*args, **kwargs)
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1520, in Module._call_impl(self, *args, **kwargs)
    +   1515 # If we don't have any hooks, we want to skip the rest of the logic in
    +   1516 # this function, and just call forward.
    +   1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
    +   1518         or _global_backward_pre_hooks or _global_backward_hooks
    +   1519         or _global_forward_hooks or _global_forward_pre_hooks):
    +-> 1520     return forward_call(*args, **kwargs)
    +   1522 try:
    +   1523     result = None
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/layers/spherical_basis.py:132, in SphericalBasisLayer.forward(self, D_ca, cosφ_cab, θ_cabd)
    +    130 def forward(self, D_ca, cosφ_cab, θ_cabd):
    +    131     rad_basis = self.radial_basis(D_ca)
    +--> 132     sph_basis = self.spherical_basis(cosφ_cab, θ_cabd)
    +    133     # (num_quadruplets, num_spherical**2)
    +    135     if self.scale_basis:
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/layers/spherical_basis.py:116, in SphericalBasisLayer.__init__.<locals>.<lambda>(cosφ, θ)
    +    111 elif sbf_name == "legendre_outer":
    +    112     circular_basis = get_sph_harm_basis(num_spherical, zero_m_only=True)
    +    113     self.spherical_basis = lambda cosφ, ϑ: (
    +    114         circular_basis(cosφ)[:, :, None]
    +    115         * circular_basis(torch.cos(ϑ))[:, None, :]
    +--> 116     ).reshape(cosφ.shape[0], -1)
    +    118 elif sbf_name == "gaussian_outer":
    +    119     self.circular_basis = GaussianBasis(
    +    120         start=-1, stop=1, num_gaussians=num_spherical, **sbf_hparams
    +    121     )
    +
    +RuntimeError: cannot reshape tensor of 0 elements into shape [0, -1] because the unspecified dimension size -1 can be any value and is ambiguous
    +
    +
    +

    @@ -686,7 +869,7 @@

    I get wildly different energies from the different models
    -
    # These are to suppress the output from making the calculators.
    +
    # These are to suppress the output from making the calculators.
     from io import StringIO
     import contextlib
     
    @@ -695,7 +878,7 @@

    I get wildly different energies from the different models
    -
    from ase.build import fcc111, add_adsorbate
    +
    from ase.build import fcc111, add_adsorbate
     slab = fcc111('Pt', size=(2, 2, 5), vacuum=10.0)
     add_adsorbate(slab, 'O', height=1.2, position='fcc')
     
    @@ -704,7 +887,7 @@

    I get wildly different energies from the different models
    -
    from fairchem.core.models.model_registry import model_name_to_local_file
    +
     

    @@ -781,7 +1009,7 @@

    You need at least four atoms for molecules with some models
    -
    %%capture
    +
     
    -
    %%capture
    +
    %%capture
     from ase.build import molecule
     import numpy as np
     
    @@ -806,6 +1048,175 @@ 

    You need at least four atoms for molecules with some models +
    ---------------------------------------------------------------------------
    +RuntimeError                              Traceback (most recent call last)
    +Cell In[9], line 7
    +      5 atoms.set_tags(np.ones(len(atoms)))
    +      6 atoms.set_calculator(calc)
    +----> 7 atoms.get_potential_energy()
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/atoms.py:731, in Atoms.get_potential_energy(self, force_consistent, apply_constraint)
    +    728     energy = self._calc.get_potential_energy(
    +    729         self, force_consistent=force_consistent)
    +    730 else:
    +--> 731     energy = self._calc.get_potential_energy(self)
    +    732 if apply_constraint:
    +    733     for constraint in self.constraints:
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/calculators/calculator.py:709, in Calculator.get_potential_energy(self, atoms, force_consistent)
    +    708 def get_potential_energy(self, atoms=None, force_consistent=False):
    +--> 709     energy = self.get_property('energy', atoms)
    +    710     if force_consistent:
    +    711         if 'free_energy' not in self.results:
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/calculators/calculator.py:737, in Calculator.get_property(self, name, atoms, allow_calculation)
    +    735     if not allow_calculation:
    +    736         return None
    +--> 737     self.calculate(atoms, [name], system_changes)
    +    739 if name not in self.results:
    +    740     # For some reason the calculator was not able to do what we want,
    +    741     # and that is OK.
    +    742     raise PropertyNotImplementedError('{} not present in this '
    +    743                                       'calculation'.format(name))
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/common/relaxation/ase_utils.py:243, in OCPCalculator.calculate(self, atoms, properties, system_changes)
    +    240 data_object = self.a2g.convert(atoms)
    +    241 batch = data_list_collater([data_object], otf_graph=True)
    +--> 243 predictions = self.trainer.predict(batch, per_image=False, disable_tqdm=True)
    +    245 for key in predictions:
    +    246     _pred = predictions[key]
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/utils/_contextlib.py:115, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    +    112 @functools.wraps(func)
    +    113 def decorate_context(*args, **kwargs):
    +    114     with ctx_factory():
    +--> 115         return func(*args, **kwargs)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/trainers/ocp_trainer.py:434, in OCPTrainer.predict(self, data_loader, per_image, results_file, disable_tqdm)
    +    426 for _i, batch in tqdm(
    +    427     enumerate(data_loader),
    +    428     total=len(data_loader),
    +   (...)
    +    431     disable=disable_tqdm,
    +    432 ):
    +    433     with torch.cuda.amp.autocast(enabled=self.scaler is not None):
    +--> 434         out = self._forward(batch)
    +    436     for target_key in self.config["outputs"]:
    +    437         pred = out[target_key]
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/trainers/ocp_trainer.py:235, in OCPTrainer._forward(self, batch)
    +    234 def _forward(self, batch):
    +--> 235     out = self.model(batch.to(self.device))
    +    237     ### TODO: Move into BaseModel in OCP 2.0
    +    238     outputs = {}
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
    +   1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
    +   1510 else:
    +-> 1511     return self._call_impl(*args, **kwargs)
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1520, in Module._call_impl(self, *args, **kwargs)
    +   1515 # If we don't have any hooks, we want to skip the rest of the logic in
    +   1516 # this function, and just call forward.
    +   1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
    +   1518         or _global_backward_pre_hooks or _global_backward_hooks
    +   1519         or _global_forward_hooks or _global_forward_pre_hooks):
    +-> 1520     return forward_call(*args, **kwargs)
    +   1522 try:
    +   1523     result = None
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/common/utils.py:156, in conditional_grad.<locals>.decorator.<locals>.cls_method(self, *args, **kwargs)
    +    154 if self.regress_forces and not getattr(self, "direct_forces", 0):
    +    155     f = dec(func)
    +--> 156 return f(self, *args, **kwargs)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/gemnet_oc.py:1229, in GemNetOC.forward(self, data)
    +   1207 (
    +   1208     main_graph,
    +   1209     a2a_graph,
    +   (...)
    +   1216     quad_idx,
    +   1217 ) = self.get_graphs_and_indices(data)
    +   1218 _, idx_t = main_graph["edge_index"]
    +   1220 (
    +   1221     basis_rad_raw,
    +   1222     basis_atom_update,
    +   1223     basis_output,
    +   1224     bases_qint,
    +   1225     bases_e2e,
    +   1226     bases_a2e,
    +   1227     bases_e2a,
    +   1228     basis_a2a_rad,
    +-> 1229 ) = self.get_bases(
    +   1230     main_graph=main_graph,
    +   1231     a2a_graph=a2a_graph,
    +   1232     a2ee2a_graph=a2ee2a_graph,
    +   1233     qint_graph=qint_graph,
    +   1234     trip_idx_e2e=trip_idx_e2e,
    +   1235     trip_idx_a2e=trip_idx_a2e,
    +   1236     trip_idx_e2a=trip_idx_e2a,
    +   1237     quad_idx=quad_idx,
    +   1238     num_atoms=num_atoms,
    +   1239 )
    +   1241 # Embedding block
    +   1242 h = self.atom_emb(atomic_numbers)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/gemnet_oc.py:1102, in GemNetOC.get_bases(self, main_graph, a2a_graph, a2ee2a_graph, qint_graph, trip_idx_e2e, trip_idx_a2e, trip_idx_e2a, quad_idx, num_atoms)
    +   1093     cosφ_cab_q, cosφ_abd, angle_cabd = self.calculate_quad_angles(
    +   1094         main_graph["vector"],
    +   1095         qint_graph["vector"],
    +   1096         quad_idx,
    +   1097     )
    +   1099     basis_rad_cir_qint_raw, basis_cir_qint_raw = self.cbf_basis_qint(
    +   1100         qint_graph["distance"], cosφ_abd
    +   1101     )
    +-> 1102     basis_rad_sph_qint_raw, basis_sph_qint_raw = self.sbf_basis_qint(
    +   1103         main_graph["distance"],
    +   1104         cosφ_cab_q[quad_idx["trip_out_to_quad"]],
    +   1105         angle_cabd,
    +   1106     )
    +   1107 if self.atom_edge_interaction:
    +   1108     basis_rad_a2ee2a_raw = self.radial_basis_aeaint(a2ee2a_graph["distance"])
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
    +   1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
    +   1510 else:
    +-> 1511     return self._call_impl(*args, **kwargs)
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1520, in Module._call_impl(self, *args, **kwargs)
    +   1515 # If we don't have any hooks, we want to skip the rest of the logic in
    +   1516 # this function, and just call forward.
    +   1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
    +   1518         or _global_backward_pre_hooks or _global_backward_hooks
    +   1519         or _global_forward_hooks or _global_forward_pre_hooks):
    +-> 1520     return forward_call(*args, **kwargs)
    +   1522 try:
    +   1523     result = None
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/layers/spherical_basis.py:132, in SphericalBasisLayer.forward(self, D_ca, cosφ_cab, θ_cabd)
    +    130 def forward(self, D_ca, cosφ_cab, θ_cabd):
    +    131     rad_basis = self.radial_basis(D_ca)
    +--> 132     sph_basis = self.spherical_basis(cosφ_cab, θ_cabd)
    +    133     # (num_quadruplets, num_spherical**2)
    +    135     if self.scale_basis:
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/layers/spherical_basis.py:116, in SphericalBasisLayer.__init__.<locals>.<lambda>(cosφ, θ)
    +    111 elif sbf_name == "legendre_outer":
    +    112     circular_basis = get_sph_harm_basis(num_spherical, zero_m_only=True)
    +    113     self.spherical_basis = lambda cosφ, ϑ: (
    +    114         circular_basis(cosφ)[:, :, None]
    +    115         * circular_basis(torch.cos(ϑ))[:, None, :]
    +--> 116     ).reshape(cosφ.shape[0], -1)
    +    118 elif sbf_name == "gaussian_outer":
    +    119     self.circular_basis = GaussianBasis(
    +    120         start=-1, stop=1, num_gaussians=num_spherical, **sbf_hparams
    +    121     )
    +
    +RuntimeError: cannot reshape tensor of 0 elements into shape [0, -1] because the unspecified dimension size -1 can be any value and is ambiguous
    +
    +
    +

    @@ -813,7 +1224,7 @@

    To tag or not?
    -
    %%capture
    +
     
    -
    %%capture
    +
    %%capture
     atoms = molecule('CH4')
     atoms.set_calculator(calc)
     atoms.get_potential_energy()  # error
     
    +
    +
    ---------------------------------------------------------------------------
    +RuntimeError                              Traceback (most recent call last)
    +Cell In[11], line 3
    +      1 atoms = molecule('CH4')
    +      2 atoms.set_calculator(calc)
    +----> 3 atoms.get_potential_energy()  # error
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/atoms.py:731, in Atoms.get_potential_energy(self, force_consistent, apply_constraint)
    +    728     energy = self._calc.get_potential_energy(
    +    729         self, force_consistent=force_consistent)
    +    730 else:
    +--> 731     energy = self._calc.get_potential_energy(self)
    +    732 if apply_constraint:
    +    733     for constraint in self.constraints:
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/calculators/calculator.py:709, in Calculator.get_potential_energy(self, atoms, force_consistent)
    +    708 def get_potential_energy(self, atoms=None, force_consistent=False):
    +--> 709     energy = self.get_property('energy', atoms)
    +    710     if force_consistent:
    +    711         if 'free_energy' not in self.results:
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/calculators/calculator.py:737, in Calculator.get_property(self, name, atoms, allow_calculation)
    +    735     if not allow_calculation:
    +    736         return None
    +--> 737     self.calculate(atoms, [name], system_changes)
    +    739 if name not in self.results:
    +    740     # For some reason the calculator was not able to do what we want,
    +    741     # and that is OK.
    +    742     raise PropertyNotImplementedError('{} not present in this '
    +    743                                       'calculation'.format(name))
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/common/relaxation/ase_utils.py:243, in OCPCalculator.calculate(self, atoms, properties, system_changes)
    +    240 data_object = self.a2g.convert(atoms)
    +    241 batch = data_list_collater([data_object], otf_graph=True)
    +--> 243 predictions = self.trainer.predict(batch, per_image=False, disable_tqdm=True)
    +    245 for key in predictions:
    +    246     _pred = predictions[key]
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/utils/_contextlib.py:115, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    +    112 @functools.wraps(func)
    +    113 def decorate_context(*args, **kwargs):
    +    114     with ctx_factory():
    +--> 115         return func(*args, **kwargs)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/trainers/ocp_trainer.py:434, in OCPTrainer.predict(self, data_loader, per_image, results_file, disable_tqdm)
    +    426 for _i, batch in tqdm(
    +    427     enumerate(data_loader),
    +    428     total=len(data_loader),
    +   (...)
    +    431     disable=disable_tqdm,
    +    432 ):
    +    433     with torch.cuda.amp.autocast(enabled=self.scaler is not None):
    +--> 434         out = self._forward(batch)
    +    436     for target_key in self.config["outputs"]:
    +    437         pred = out[target_key]
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/trainers/ocp_trainer.py:235, in OCPTrainer._forward(self, batch)
    +    234 def _forward(self, batch):
    +--> 235     out = self.model(batch.to(self.device))
    +    237     ### TODO: Move into BaseModel in OCP 2.0
    +    238     outputs = {}
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
    +   1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
    +   1510 else:
    +-> 1511     return self._call_impl(*args, **kwargs)
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1520, in Module._call_impl(self, *args, **kwargs)
    +   1515 # If we don't have any hooks, we want to skip the rest of the logic in
    +   1516 # this function, and just call forward.
    +   1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
    +   1518         or _global_backward_pre_hooks or _global_backward_hooks
    +   1519         or _global_forward_hooks or _global_forward_pre_hooks):
    +-> 1520     return forward_call(*args, **kwargs)
    +   1522 try:
    +   1523     result = None
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/common/utils.py:156, in conditional_grad.<locals>.decorator.<locals>.cls_method(self, *args, **kwargs)
    +    154 if self.regress_forces and not getattr(self, "direct_forces", 0):
    +    155     f = dec(func)
    +--> 156 return f(self, *args, **kwargs)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/gemnet_oc.py:1229, in GemNetOC.forward(self, data)
    +   1207 (
    +   1208     main_graph,
    +   1209     a2a_graph,
    +   (...)
    +   1216     quad_idx,
    +   1217 ) = self.get_graphs_and_indices(data)
    +   1218 _, idx_t = main_graph["edge_index"]
    +   1220 (
    +   1221     basis_rad_raw,
    +   1222     basis_atom_update,
    +   1223     basis_output,
    +   1224     bases_qint,
    +   1225     bases_e2e,
    +   1226     bases_a2e,
    +   1227     bases_e2a,
    +   1228     basis_a2a_rad,
    +-> 1229 ) = self.get_bases(
    +   1230     main_graph=main_graph,
    +   1231     a2a_graph=a2a_graph,
    +   1232     a2ee2a_graph=a2ee2a_graph,
    +   1233     qint_graph=qint_graph,
    +   1234     trip_idx_e2e=trip_idx_e2e,
    +   1235     trip_idx_a2e=trip_idx_a2e,
    +   1236     trip_idx_e2a=trip_idx_e2a,
    +   1237     quad_idx=quad_idx,
    +   1238     num_atoms=num_atoms,
    +   1239 )
    +   1241 # Embedding block
    +   1242 h = self.atom_emb(atomic_numbers)
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/gemnet_oc.py:1102, in GemNetOC.get_bases(self, main_graph, a2a_graph, a2ee2a_graph, qint_graph, trip_idx_e2e, trip_idx_a2e, trip_idx_e2a, quad_idx, num_atoms)
    +   1093     cosφ_cab_q, cosφ_abd, angle_cabd = self.calculate_quad_angles(
    +   1094         main_graph["vector"],
    +   1095         qint_graph["vector"],
    +   1096         quad_idx,
    +   1097     )
    +   1099     basis_rad_cir_qint_raw, basis_cir_qint_raw = self.cbf_basis_qint(
    +   1100         qint_graph["distance"], cosφ_abd
    +   1101     )
    +-> 1102     basis_rad_sph_qint_raw, basis_sph_qint_raw = self.sbf_basis_qint(
    +   1103         main_graph["distance"],
    +   1104         cosφ_cab_q[quad_idx["trip_out_to_quad"]],
    +   1105         angle_cabd,
    +   1106     )
    +   1107 if self.atom_edge_interaction:
    +   1108     basis_rad_a2ee2a_raw = self.radial_basis_aeaint(a2ee2a_graph["distance"])
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
    +   1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
    +   1510 else:
    +-> 1511     return self._call_impl(*args, **kwargs)
    +
    +File /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/nn/modules/module.py:1520, in Module._call_impl(self, *args, **kwargs)
    +   1515 # If we don't have any hooks, we want to skip the rest of the logic in
    +   1516 # this function, and just call forward.
    +   1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
    +   1518         or _global_backward_pre_hooks or _global_backward_hooks
    +   1519         or _global_forward_hooks or _global_forward_pre_hooks):
    +-> 1520     return forward_call(*args, **kwargs)
    +   1522 try:
    +   1523     result = None
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/layers/spherical_basis.py:132, in SphericalBasisLayer.forward(self, D_ca, cosφ_cab, θ_cabd)
    +    130 def forward(self, D_ca, cosφ_cab, θ_cabd):
    +    131     rad_basis = self.radial_basis(D_ca)
    +--> 132     sph_basis = self.spherical_basis(cosφ_cab, θ_cabd)
    +    133     # (num_quadruplets, num_spherical**2)
    +    135     if self.scale_basis:
    +
    +File ~/work/fairchem/fairchem/src/fairchem/core/models/gemnet_oc/layers/spherical_basis.py:116, in SphericalBasisLayer.__init__.<locals>.<lambda>(cosφ, θ)
    +    111 elif sbf_name == "legendre_outer":
    +    112     circular_basis = get_sph_harm_basis(num_spherical, zero_m_only=True)
    +    113     self.spherical_basis = lambda cosφ, ϑ: (
    +    114         circular_basis(cosφ)[:, :, None]
    +    115         * circular_basis(torch.cos(ϑ))[:, None, :]
    +--> 116     ).reshape(cosφ.shape[0], -1)
    +    118 elif sbf_name == "gaussian_outer":
    +    119     self.circular_basis = GaussianBasis(
    +    120         start=-1, stop=1, num_gaussians=num_spherical, **sbf_hparams
    +    121     )
    +
    +RuntimeError: cannot reshape tensor of 0 elements into shape [0, -1] because the unspecified dimension size -1 can be any value and is ambiguous
    +
    +
    +

    @@ -876,7 +1491,7 @@

    Stochastic simulation results

    @@ -907,7 +1546,7 @@

    The forces don’t sum to zero

    diff --git a/core/inference.html b/core/inference.html index 7f2cbcde4..32c2a98ee 100644 --- a/core/inference.html +++ b/core/inference.html @@ -634,7 +634,67 @@

    Fast batched inferenceYou can retrieve the dataset below. In this notebook we learn how to do “mass inference” without an ASE calculator. You do this by creating a config.yml file, and running the main.py command line utility.

    -
    ! wget https://figshare.com/ndownloader/files/11948267 -O data.db
    +
    ! wget https://figshare.com/ndownloader/files/11948267 -O data.db
    +
    +
    +
    +
    +
    --2024-05-17 17:57:32--  https://figshare.com/ndownloader/files/11948267
    +Resolving figshare.com (figshare.com)... 
    +
    +
    +
    52.214.121.144, 63.33.12.55, 2a05:d018:1f4:d000:2dfa:52ce:c4c9:d519, ...
    +Connecting to figshare.com (figshare.com)|52.214.121.144|:443... 
    +
    +
    +
    connected.
    +
    +
    +
    HTTP request sent, awaiting response... 
    +
    +
    +
    302 Found
    +Location: https://s3-eu-west-1.amazonaws.com/pstorage-cmu-348901238291901/11948267/data.db?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI266R7V6O36O5JUA/20240517/eu-west-1/s3/aws4_request&X-Amz-Date=20240517T175732Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=70dcda6ab23a1f0c3fb366d82d481f47125db5be17bde4aa902a351216183910 [following]
    +--2024-05-17 17:57:32--  https://s3-eu-west-1.amazonaws.com/pstorage-cmu-348901238291901/11948267/data.db?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI266R7V6O36O5JUA/20240517/eu-west-1/s3/aws4_request&X-Amz-Date=20240517T175732Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=70dcda6ab23a1f0c3fb366d82d481f47125db5be17bde4aa902a351216183910
    +Resolving s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)... 52.218.105.82, 52.218.88.219, 52.218.100.251, ...
    +Connecting to s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)|52.218.105.82|:443... 
    +
    +
    +
    connected.
    +
    +
    +
    HTTP request sent, awaiting response... 
    +
    +
    +
    200 OK
    +Length: 43125760 (41M) [binary/octet-stream]
    +Saving to: ‘data.db’
    +
    +
    +data.db               0%[                    ]       0  --.-KB/s               
    +
    +
    +
    data.db               0%[                    ] 147.38K   687KB/s               
    +
    +
    +
    data.db               2%[                    ]   1.22M  2.85MB/s               
    +
    +
    +
    data.db              19%[==>                 ]   7.85M  12.2MB/s               
    +
    +
    +
    data.db              39%[======>             ]  16.32M  19.0MB/s               
    +
    +
    +
    data.db              61%[===========>        ]  25.14M  23.3MB/s               
    +
    +
    +
    data.db              82%[===============>    ]  33.77M  26.1MB/s               
    +
    +
    +
    data.db             100%[===================>]  41.13M  28.3MB/s    in 1.5s    
    +
    +2024-05-17 17:57:34 (28.3 MB/s) - ‘data.db’ saved [43125760/43125760]
     
    @@ -643,7 +703,7 @@

    Fast batched inference
    -
    ! mv data.db full_data.db
    +
    ! mv data.db full_data.db
     
     import ase.db
     import numpy as np
    @@ -665,7 +725,34 @@ 

    Fast batched inference
    -
    ! ase db data.db
    +
    ! ase db data.db
    +
    +
    +
    +
    +
    id|age|user  |formula|calculator|  energy|natoms| fmax|pbc|   volume|charge|     mass
    + 1| 0s|runner|Au15   |unknown   | -35.061|    15|0.110|TTT| 3809.068| 0.000| 2954.499
    + 2| 0s|runner|Au8    |unknown   | -16.742|     8|0.105|TTT| 2863.348| 0.000| 1575.733
    + 3| 0s|runner|Au4    |unknown   | -11.818|     4|0.499|TTT|  156.940| 0.000|  787.866
    + 4| 0s|runner|Au25   |unknown   | -60.018|    25|0.510|TTT| 4771.343| 0.000| 4924.164
    + 5| 0s|runner|Au4    |unknown   | -11.834|     4|0.179|TTT|  156.940| 0.000|  787.866
    + 6| 0s|runner|Au14   |unknown   | -31.286|    14|0.328|TTT| 3847.524| 0.000| 2757.532
    + 7| 0s|runner|Au6    |unknown   | -10.713|     6|0.558|TTT| 2459.786| 0.000| 1181.799
    + 8| 0s|runner|Au53   |unknown   |-137.903|    53|0.446|TTT| 6796.009| 0.000|10439.228
    + 9| 0s|runner|Au46   |unknown   |-121.374|    46|0.945|TTT| 6322.757| 0.000| 9060.462
    +10| 0s|runner|Au106  |unknown   |-286.646|   106|0.676|TTT|11898.264| 0.000|20878.456
    +11| 0s|runner|Au18   |unknown   | -39.812|    18|1.039|TTT| 4250.202| 0.000| 3545.398
    +12| 0s|runner|Au25   |unknown   | -61.261|    25|0.109|TTT| 4771.343| 0.000| 4924.164
    +13| 0s|runner|Au51   |unknown   |-131.385|    51|0.692|TTT| 6691.718| 0.000|10045.295
    +14| 0s|runner|Au33   |unknown   | -85.707|    33|0.166|TTT| 5480.808| 0.000| 6499.897
    +15| 0s|runner|Au26   |unknown   | -64.100|    26|0.235|TTT| 4932.626| 0.000| 5121.131
    +16| 0s|runner|Au55   |unknown   |-138.467|    55|0.617|TTT| 6865.782| 0.000|10833.161
    +17| 0s|runner|Au51   |unknown   |-134.138|    51|0.883|TTT| 7480.442| 0.000|10045.295
    +18| 0s|runner|Au43   |unknown   |-113.497|    43|0.142|TTT| 6014.312| 0.000| 8469.562
    +19| 0s|runner|Au9    |unknown   | -19.412|     9|0.689|TTT| 2646.667| 0.000| 1772.699
    +20| 0s|runner|Au34   |unknown   | -81.696|    34|0.796|TTT| 5583.053| 0.000| 6696.863
    +Rows: 50 (showing first 20)
    +Keys: NEB, calc_time, cluster, config, diffusion, ediffg, encut, fermi, gga, group, image, kpt1, kpt2, kpt3, miller, neural_energy, reax_energy, structure, surf, train_set, traj, vacuum, volume, xc
     
    @@ -673,26 +760,36 @@

    Fast batched inferenceYou have to choose a checkpoint to start with. The newer checkpoints may require too much memory for this environment.

    -
    from fairchem.core.models.model_registry import available_pretrained_models
    +
    from fairchem.core.models.model_registry import available_pretrained_models
     print(available_pretrained_models)
     
    +
    +
    ('CGCNN-S2EF-OC20-200k', 'CGCNN-S2EF-OC20-2M', 'CGCNN-S2EF-OC20-20M', 'CGCNN-S2EF-OC20-All', 'DimeNet-S2EF-OC20-200k', 'DimeNet-S2EF-OC20-2M', 'SchNet-S2EF-OC20-200k', 'SchNet-S2EF-OC20-2M', 'SchNet-S2EF-OC20-20M', 'SchNet-S2EF-OC20-All', 'DimeNet++-S2EF-OC20-200k', 'DimeNet++-S2EF-OC20-2M', 'DimeNet++-S2EF-OC20-20M', 'DimeNet++-S2EF-OC20-All', 'SpinConv-S2EF-OC20-2M', 'SpinConv-S2EF-OC20-All', 'GemNet-dT-S2EF-OC20-2M', 'GemNet-dT-S2EF-OC20-All', 'PaiNN-S2EF-OC20-All', 'GemNet-OC-S2EF-OC20-2M', 'GemNet-OC-S2EF-OC20-All', 'GemNet-OC-S2EF-OC20-All+MD', 'GemNet-OC-Large-S2EF-OC20-All+MD', 'SCN-S2EF-OC20-2M', 'SCN-t4-b2-S2EF-OC20-2M', 'SCN-S2EF-OC20-All+MD', 'eSCN-L4-M2-Lay12-S2EF-OC20-2M', 'eSCN-L6-M2-Lay12-S2EF-OC20-2M', 'eSCN-L6-M2-Lay12-S2EF-OC20-All+MD', 'eSCN-L6-M3-Lay20-S2EF-OC20-All+MD', 'EquiformerV2-83M-S2EF-OC20-2M', 'EquiformerV2-31M-S2EF-OC20-All+MD', 'EquiformerV2-153M-S2EF-OC20-All+MD', 'SchNet-S2EF-force-only-OC20-All', 'DimeNet++-force-only-OC20-All', 'DimeNet++-Large-S2EF-force-only-OC20-All', 'DimeNet++-S2EF-force-only-OC20-20M+Rattled', 'DimeNet++-S2EF-force-only-OC20-20M+MD', 'CGCNN-IS2RE-OC20-10k', 'CGCNN-IS2RE-OC20-100k', 'CGCNN-IS2RE-OC20-All', 'DimeNet-IS2RE-OC20-10k', 'DimeNet-IS2RE-OC20-100k', 'DimeNet-IS2RE-OC20-all', 'SchNet-IS2RE-OC20-10k', 'SchNet-IS2RE-OC20-100k', 'SchNet-IS2RE-OC20-All', 'DimeNet++-IS2RE-OC20-10k', 'DimeNet++-IS2RE-OC20-100k', 'DimeNet++-IS2RE-OC20-All', 'PaiNN-IS2RE-OC20-All', 'GemNet-dT-S2EFS-OC22', 'GemNet-OC-S2EFS-OC22', 'GemNet-OC-S2EFS-OC20+OC22', 'GemNet-OC-S2EFS-nsn-OC20+OC22', 'GemNet-OC-S2EFS-OC20->OC22', 'EquiformerV2-lE4-lF100-S2EFS-OC22', 'SchNet-S2EF-ODAC', 'DimeNet++-S2EF-ODAC', 'PaiNN-S2EF-ODAC', 'GemNet-OC-S2EF-ODAC', 'eSCN-S2EF-ODAC', 'EquiformerV2-S2EF-ODAC', 'EquiformerV2-Large-S2EF-ODAC', 'Gemnet-OC-IS2RE-ODAC', 'eSCN-IS2RE-ODAC', 'EquiformerV2-IS2RE-ODAC')
    +
    +
    +
    -
    from fairchem.core.models.model_registry import model_name_to_local_file
    +
    from fairchem.core.models.model_registry import model_name_to_local_file
     
     checkpoint_path = model_name_to_local_file('GemNet-dT-S2EFS-OC22', local_cache='/tmp/ocp_checkpoints/')
     checkpoint_path
     
    +
    +
    '/tmp/ocp_checkpoints/gndt_oc22_all_s2ef.pt'
    +
    +
    +

    We have to update our configuration yml file with the dataset. It is necessary to specify the train and test set for some reason.

    -

    It is a good idea to redirect the output to a file. If the output gets too large here, the notebook may fail to save. Normally I would use a redirect like 2&>1, but this does not work with the main.py method. An alternative here is to open a terminal and run it there.

    -
    %%capture inference
    +
    %%capture inference
     import time
     from fairchem.core.common.tutorial_utils import fairchem_main
     
    @@ -734,7 +845,7 @@ 

    Fast batched inference
    -
    with open('mass-inference.txt', 'wb') as f:
    +
    with open('mass-inference.txt', 'wb') as f:
         f.write(inference.stdout.encode('utf-8'))
     
    @@ -742,15 +853,20 @@

    Fast batched inference
    - +

    The mass inference approach takes 1-2 minutes to run. See the output here.

    -
    results = ! grep "  results_dir:" mass-inference.txt
    +
    results = ! grep "  results_dir:" mass-inference.txt
     d = results[0].split(':')[-1].strip()
     
    @@ -758,27 +874,39 @@

    Fast batched inference
    -
    import numpy as np
    +
    import numpy as np
     results = np.load(f'{d}/ocp_predictions.npz', allow_pickle=True)
     results.files
     
    +
    +
    ['energy', 'forces', 'chunk_idx', 'ids']
    +
    +
    +

    It is not obvious, but the data from mass inference is not in the same order. We have to get an id from the mass inference, and then “resort” the results so they are in the same order.

    -
    inds = np.array([int(r.split('_')[0]) for r in results['ids']])
    +
    inds = np.array([int(r.split('_')[0]) for r in results['ids']])
     sind = np.argsort(inds)
     inds[sind]
     
    +
    +
    array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
    +       17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
    +       34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46])
    +
    +
    +

    To compare this with the results, we need to get the energy data from the ase db.

    -
    from ase.db import connect
    +
    from ase.db import connect
     db = connect('data.db')
     
     energies = np.array([row.energy for row in db.select('natoms>5,xc=PBE')])
    @@ -790,7 +918,7 @@ 

    Fast batched inferenceNow, we can see the predictions. They are only ok here; that is not surprising, the data set has lots of Au configurations that have never been seen by this model. Fine-tuning would certainly help improve this.

    -
    @@ -809,15 +940,26 @@

    The ASE calculator way
    -
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
    +
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
     calc = OCPCalculator(checkpoint_path=checkpoint_path, cpu=False)
     
    +
    +
    WARNING:root:Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    WARNING:root:Scale factor comment not found in model
    +
    +
    +
    WARNING:root:No seed has been set in modelcheckpoint or OCPCalculator! Results may not be reproducible on re-run
    +
    +
    +

    @@ -849,29 +1116,59 @@

    Comparing ASE calculator and main.pyIssue 542), the ASE calculator and main.py use different precisions by default, which can lead to small differences.

    -
    np.mean(np.abs(results['energy'][sind] - OCP * natoms))  # MAE
    +
    np.mean(np.abs(results['energy'][sind] - OCP * natoms))  # MAE
    +
    +
    +
    +
    +
    63.493784286685525
     
    -
    np.min(results['energy'][sind] - OCP * natoms), np.max(results['energy'][sind] - OCP * natoms)
    +
    np.min(results['energy'][sind] - OCP * natoms), np.max(results['energy'][sind] - OCP * natoms)
    +
    +
    +
    +
    +
    (-289.25504302978516, 289.25504302978516)
     
    -
    plt.hist(results['energy'][sind] - OCP * natoms, bins=20);
    +
    plt.hist(results['energy'][sind] - OCP * natoms, bins=20);
     
    +
    +../_images/b9ebdf8f12d9cd2f8047e0ab51acc9b23a16cc43177fe0c7eeef63d0e285908f.png +

    Here we see many of the differences are very small. 0.0078125 = 1 / 128, and these errors strongly suggest some kind of mixed precision is responsible for these differences. It is an open issue to remove them and identify where the cause is.

    -
    (results['energy'][sind] - OCP * natoms)[0:400]
    +
    (results['energy'][sind] - OCP * natoms)[0:400]
    +
    +
    +
    +
    +
    array([[-3.81469727e-06, -1.92522049e+01,  2.81527863e+01, ...,
    +        -1.97914886e+00, -2.55401325e+01, -1.97011566e+00],
    +       [ 1.92522011e+01,  0.00000000e+00,  4.74049911e+01, ...,
    +         1.72730560e+01, -6.28792763e+00,  1.72820892e+01],
    +       [-2.81527901e+01, -4.74049911e+01,  0.00000000e+00, ...,
    +        -3.01319351e+01, -5.36929188e+01, -3.01229019e+01],
    +       ...,
    +       [ 1.97914505e+00, -1.72730560e+01,  3.01319351e+01, ...,
    +         0.00000000e+00, -2.35609837e+01,  9.03320312e-03],
    +       [ 2.55401287e+01,  6.28792763e+00,  5.36929188e+01, ...,
    +         2.35609837e+01,  0.00000000e+00,  2.35700169e+01],
    +       [ 1.97011185e+00, -1.72820892e+01,  3.01229019e+01, ...,
    +        -9.03320312e-03, -2.35700169e+01,  0.00000000e+00]])
     
    diff --git a/core/lmdb_dataset_creation.html b/core/lmdb_dataset_creation.html index 84ba70ac3..a67c7b22b 100644 --- a/core/lmdb_dataset_creation.html +++ b/core/lmdb_dataset_creation.html @@ -644,7 +644,7 @@

    Making LMDB Datasets (original format, deprecated for ASE LMDBs)download script.

    @@ -705,7 +715,7 @@

    Initial Structure to Relaxed Energy/Structure (IS2RE/IS2RS) LMDBs#

    -
    a2g = AtomsToGraphs(
    +
    a2g = AtomsToGraphs(
         max_neigh=50,
         radius=6,
         r_energy=True,    # False for test data
    @@ -722,7 +732,7 @@ 

    Initialize AtomsToGraph feature extractor#

    -
    db = lmdb.open(
    +
    db = lmdb.open(
         "sample_CuCO.lmdb",
         map_size=1099511627776 * 2,
         subdir=False,
    @@ -738,7 +748,7 @@ 

    Initialize LMDB fileWrite data to LMDB#

    -
    def read_trajectory_extract_features(a2g, traj_path):
    +
    def read_trajectory_extract_features(a2g, traj_path):
         traj = ase.io.read(traj_path, ":")
         tags = traj[0].get_tags()
         images = [traj[0], traj[-1]]
    @@ -752,7 +762,7 @@ 

    Write data to LMDB
    -
    system_paths = ["CuCO_adslab.traj"]
    +
    system_paths = ["CuCO_adslab.traj"]
     idx = 0
     
     for system in system_paths:
    @@ -790,15 +800,25 @@ 

    Write data to LMDB
    -
    dataset = LmdbDataset({"src": "sample_CuCO.lmdb"})
    +
    dataset = LmdbDataset({"src": "sample_CuCO.lmdb"})
     len(dataset)
     
    +
    +
    1
    +
    +
    +
    -
    dataset[0]
    +
    dataset[0]
    +
    +
    +
    +
    +
    Data(pos=[14, 3], cell=[1, 3, 3], atomic_numbers=[14], natoms=14, tags=[14], edge_index=[2, 636], cell_offsets=[636, 3], energy=3.9893144106684715, forces=[14, 3], fixed=[14], pos_relaxed=[14, 3], sid=0)
     
    @@ -817,7 +837,7 @@

    Structure to Energy and Forces (S2EF) LMDBs
    -
    os.makedirs("s2ef", exist_ok=True)
    +
    os.makedirs("s2ef", exist_ok=True)
     db = lmdb.open(
         "s2ef/sample_CuCO.lmdb",
         map_size=1099511627776 * 2,
    @@ -831,7 +851,7 @@ 

    Structure to Energy and Forces (S2EF) LMDBs
    -
    tags = raw_data[0].get_tags()
    +
     

    diff --git a/core/ocpapi.html b/core/ocpapi.html index 7fc98a887..20ead55c9 100644 --- a/core/ocpapi.html +++ b/core/ocpapi.html @@ -648,7 +648,7 @@

    Installationocpapi using:

    -
    %%sh
    +
    %%sh
     pip install -q ocpapi
     
    @@ -663,7 +663,7 @@

    Note about async methodsasyncio. The examples throughout this document can be copied to a python repl launched with:

    -
    %%sh
    +
    %%sh
     $ python -m asyncio
     
    @@ -672,10 +672,10 @@

    Note about async methodsasyncio.run():

    -
    import asyncio
    -from fairchem.demo.ocpapi import find_adsorbate_binding_sites
    +
    import asyncio
    +from fairchem.demo.ocpapi import find_adsorbate_binding_sites
     
    -asyncio.run(find_adsorbate_binding_sites(...))
    +asyncio.run(find_adsorbate_binding_sites(...))
     
    @@ -686,12 +686,12 @@

    Note about async methods#

    -
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites
    +
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites
     
    -results = await find_adsorbate_binding_sites(
    -    adsorbate="*OH",
    -    bulk="mp-126",
    -)
    +results = await find_adsorbate_binding_sites(
    +    adsorbate="*OH",
    +    bulk="mp-126",
    +)
     
    @@ -731,15 +731,15 @@

    Supported bulks and adsorbates
    -
    from fairchem.demo.ocpapi import Client
    +
    from fairchem.demo.ocpapi import Client
     
    -client = Client()
    +client = Client()
     
    -bulks = await client.get_bulks()
    -print({b.src_id: b.formula for b in bulks.bulks_supported})
    +bulks = await client.get_bulks()
    +print({b.src_id: b.formula for b in bulks.bulks_supported})
     
    -adsorbates = await client.get_adsorbates()
    -print(adsorbates.adsorbates_supported)
    +adsorbates = await client.get_adsorbates()
    +print(adsorbates.adsorbates_supported)
     
    @@ -751,13 +751,13 @@

    Skip relaxation approval prompts
    -
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites, keep_all_slabs
    +
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites, keep_all_slabs
     
    -results = await find_adsorbate_binding_sites(
    -    adsorbate="*OH",
    -    bulk="mp-126",
    -    adslab_filter=keep_all_slabs(),
    -)
    +results = await find_adsorbate_binding_sites(
    +    adsorbate="*OH",
    +    bulk="mp-126",
    +    adslab_filter=keep_all_slabs(),
    +)
     
    @@ -765,14 +765,14 @@

    Skip relaxation approval prompts
    -
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites, keep_slabs_with_miller_indices
    -
    -results = await find_adsorbate_binding_sites(
    -    adsorbate="*OH",
    -    bulk="mp-126",
    -    adslab_filter=keep_slabs_with_miller_indices([(1, 0, 0), (1, 1, 1)]),
    -)
    -print(results)
    +
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites, keep_slabs_with_miller_indices
    +
    +results = await find_adsorbate_binding_sites(
    +    adsorbate="*OH",
    +    bulk="mp-126",
    +    adslab_filter=keep_slabs_with_miller_indices([(1, 0, 0), (1, 1, 1)]),
    +)
    +print(results)
     
    @@ -784,8 +784,8 @@

    Persisting resultsresults was generated with the find_adsorbate_binding_sites method used above, it is an AdsorbateBindingSites object. This can be saved to file with:

    -
    with open("results.json", "w") as f:
    -    f.write(results.to_json())
    +
    with open("results.json", "w") as f:
    +    f.write(results.to_json())
     
    @@ -793,10 +793,10 @@

    Persisting resultsAdsorbateBindingSites object with:

    -
    from fairchem.demo.ocpapi import AdsorbateBindingSites
    +
    from fairchem.demo.ocpapi import AdsorbateBindingSites
     
    -with open("results.json", "r") as f:
    -    results = AdsorbateBindingSites.from_json(f.read())
    +with open("results.json", "r") as f:
    +    results = AdsorbateBindingSites.from_json(f.read())
     
    @@ -808,10 +808,10 @@

    Viewing results in the web UI
    -
    print([
    -    slab.ui_url
    -    for slab in results.slabs
    -])
    +
    print([
    +    slab.ui_url
    +    for slab in results.slabs
    +])
     
    @@ -830,19 +830,19 @@

    Changing the model typeA specific model type can be requested with:

    -
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites
    -
    -results = await find_adsorbate_binding_sites(
    -    adsorbate="*OH",
    -    bulk="mp-126",
    -    model="gemnet_oc_base_s2ef_all_md",
    -    adslab_filter=keep_slabs_with_miller_indices([(1, 1, 1)]),
    -
    -)
    -print([
    -    slab.ui_url
    -    for slab in results.slabs
    -])
    +
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites
    +
    +results = await find_adsorbate_binding_sites(
    +    adsorbate="*OH",
    +    bulk="mp-126",
    +    model="gemnet_oc_base_s2ef_all_md",
    +    adslab_filter=keep_slabs_with_miller_indices([(1, 1, 1)]),
    +
    +)
    +print([
    +    slab.ui_url
    +    for slab in results.slabs
    +])
     
    @@ -859,16 +859,16 @@

    Converting to ase.Atoms object for the first relaxed adsorbate configuration on the first slab generated for *OH binding on Pt:

    -
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites
    +
    from fairchem.demo.ocpapi import find_adsorbate_binding_sites
     
    -results = await find_adsorbate_binding_sites(
    -    adsorbate="*OH",
    -    bulk="mp-126",
    -    adslab_filter=keep_slabs_with_miller_indices([(1, 1, 1)]),
    -)
    +results = await find_adsorbate_binding_sites(
    +    adsorbate="*OH",
    +    bulk="mp-126",
    +    adslab_filter=keep_slabs_with_miller_indices([(1, 1, 1)]),
    +)
     
    -ase_atoms = results.slabs[0].configs[0].to_ase_atoms()
    -print(ase_atoms)
    +ase_atoms = results.slabs[0].configs[0].to_ase_atoms()
    +print(ase_atoms)
     
    @@ -879,9 +879,9 @@

    Converting to other structure formatsase.Atoms object (see previous section), is is possible to write to other structure formats. Extending the example above, the ase_atoms object could be written to a VASP POSCAR file with:

    -
    from ase.io import write
    +
    from ase.io import write
     
    -write("POSCAR", ase_atoms, "vasp")
    +write("POSCAR", ase_atoms, "vasp")
     
    diff --git a/core/quickstart.html b/core/quickstart.html index 48f4b140f..a63b428fd 100644 --- a/core/quickstart.html +++ b/core/quickstart.html @@ -621,30 +621,40 @@

    Using pre-trained models in ASE
    -
    from fairchem.core.models.model_registry import available_pretrained_models
    +
    from fairchem.core.models.model_registry import available_pretrained_models
     print(available_pretrained_models)
     
    +
    +
    ('CGCNN-S2EF-OC20-200k', 'CGCNN-S2EF-OC20-2M', 'CGCNN-S2EF-OC20-20M', 'CGCNN-S2EF-OC20-All', 'DimeNet-S2EF-OC20-200k', 'DimeNet-S2EF-OC20-2M', 'SchNet-S2EF-OC20-200k', 'SchNet-S2EF-OC20-2M', 'SchNet-S2EF-OC20-20M', 'SchNet-S2EF-OC20-All', 'DimeNet++-S2EF-OC20-200k', 'DimeNet++-S2EF-OC20-2M', 'DimeNet++-S2EF-OC20-20M', 'DimeNet++-S2EF-OC20-All', 'SpinConv-S2EF-OC20-2M', 'SpinConv-S2EF-OC20-All', 'GemNet-dT-S2EF-OC20-2M', 'GemNet-dT-S2EF-OC20-All', 'PaiNN-S2EF-OC20-All', 'GemNet-OC-S2EF-OC20-2M', 'GemNet-OC-S2EF-OC20-All', 'GemNet-OC-S2EF-OC20-All+MD', 'GemNet-OC-Large-S2EF-OC20-All+MD', 'SCN-S2EF-OC20-2M', 'SCN-t4-b2-S2EF-OC20-2M', 'SCN-S2EF-OC20-All+MD', 'eSCN-L4-M2-Lay12-S2EF-OC20-2M', 'eSCN-L6-M2-Lay12-S2EF-OC20-2M', 'eSCN-L6-M2-Lay12-S2EF-OC20-All+MD', 'eSCN-L6-M3-Lay20-S2EF-OC20-All+MD', 'EquiformerV2-83M-S2EF-OC20-2M', 'EquiformerV2-31M-S2EF-OC20-All+MD', 'EquiformerV2-153M-S2EF-OC20-All+MD', 'SchNet-S2EF-force-only-OC20-All', 'DimeNet++-force-only-OC20-All', 'DimeNet++-Large-S2EF-force-only-OC20-All', 'DimeNet++-S2EF-force-only-OC20-20M+Rattled', 'DimeNet++-S2EF-force-only-OC20-20M+MD', 'CGCNN-IS2RE-OC20-10k', 'CGCNN-IS2RE-OC20-100k', 'CGCNN-IS2RE-OC20-All', 'DimeNet-IS2RE-OC20-10k', 'DimeNet-IS2RE-OC20-100k', 'DimeNet-IS2RE-OC20-all', 'SchNet-IS2RE-OC20-10k', 'SchNet-IS2RE-OC20-100k', 'SchNet-IS2RE-OC20-All', 'DimeNet++-IS2RE-OC20-10k', 'DimeNet++-IS2RE-OC20-100k', 'DimeNet++-IS2RE-OC20-All', 'PaiNN-IS2RE-OC20-All', 'GemNet-dT-S2EFS-OC22', 'GemNet-OC-S2EFS-OC22', 'GemNet-OC-S2EFS-OC20+OC22', 'GemNet-OC-S2EFS-nsn-OC20+OC22', 'GemNet-OC-S2EFS-OC20->OC22', 'EquiformerV2-lE4-lF100-S2EFS-OC22', 'SchNet-S2EF-ODAC', 'DimeNet++-S2EF-ODAC', 'PaiNN-S2EF-ODAC', 'GemNet-OC-S2EF-ODAC', 'eSCN-S2EF-ODAC', 'EquiformerV2-S2EF-ODAC', 'EquiformerV2-Large-S2EF-ODAC', 'Gemnet-OC-IS2RE-ODAC', 'eSCN-IS2RE-ODAC', 'EquiformerV2-IS2RE-ODAC')
    +
    +
    +
    1. Choose a checkpoint you want to use and download it automatically! We’ll use the GemNet-OC potential, trained on both the OC20 and OC22 datasets.

    -
    from fairchem.core.models.model_registry import model_name_to_local_file
    +
    from fairchem.core.models.model_registry import model_name_to_local_file
     checkpoint_path = model_name_to_local_file('GemNet-OC-S2EFS-OC20+OC22', local_cache='/tmp/ocp_checkpoints/')
     checkpoint_path
     
    +
    +
    '/tmp/ocp_checkpoints/gnoc_oc22_oc20_all_s2ef.pt'
    +
    +
    +
    1. Finally, use this checkpoint in an ASE calculator for a simple relaxation!

    -
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
    +
     

    To learn more about what this simulation means and how it fits into catalysis, see the catalysis tutorial!

    diff --git a/execution_time.html b/execution_time.html index 981fcebde..8ba90643d 100644 --- a/execution_time.html +++ b/execution_time.html @@ -626,6 +626,102 @@

    Notebook execution times

    core/fine-tuning/fine-tuning-oxides

    +

    2024-05-17 17:56

    +

    auto

    +

    361.58

    +

    + +

    core/gotchas

    +

    2024-05-17 17:57

    +

    auto

    +

    32.45

    +

    + +

    core/inference

    +

    2024-05-17 17:58

    +

    auto

    +

    37.76

    +

    + +

    core/lmdb_dataset_creation

    +

    2024-05-17 17:58

    +

    auto

    +

    14.93

    +

    + +

    core/ocpapi

    +

    2024-05-17 17:58

    +

    auto

    +

    4.51

    +

    + +

    core/quickstart

    +

    2024-05-17 17:58

    +

    auto

    +

    15.04

    +

    + +

    legacy_tutorials/OCP_Tutorial

    +

    2024-05-17 18:12

    +

    auto

    +

    850.92

    +

    + +

    legacy_tutorials/data_preprocessing

    +

    2024-05-17 18:13

    +

    auto

    +

    14.49

    +

    + +

    legacy_tutorials/data_visualization

    +

    2024-05-17 18:13

    +

    auto

    +

    47.65

    +

    + +

    tutorials/NRR/NRR_example

    +

    2024-05-17 18:26

    +

    auto

    +

    727.28

    +

    + +

    tutorials/OCP-introduction

    +

    2024-05-17 18:30

    +

    auto

    +

    246.09

    +

    + +

    tutorials/adsorbml_walkthrough

    +

    2024-05-17 18:38

    +

    auto

    +

    470.37

    +

    + +

    tutorials/advanced/embeddings

    +

    2024-05-17 18:39

    +

    auto

    +

    88.05

    +

    + +

    tutorials/advanced/fine-tuning-in-python

    +

    2024-05-17 18:43

    +

    auto

    +

    211.36

    +

    + +

    tutorials/cattsunami_walkthrough

    +

    2024-05-17 18:43

    +

    auto

    +

    0.96

    +

    + +

    tutorials/intro

    +

    2024-05-17 18:43

    +

    auto

    +

    4.09

    +

    + diff --git a/legacy_tutorials/OCP_Tutorial.html b/legacy_tutorials/OCP_Tutorial.html index 395e392d7..c8ff94111 100644 --- a/legacy_tutorials/OCP_Tutorial.html +++ b/legacy_tutorials/OCP_Tutorial.html @@ -732,7 +732,7 @@

    Contents

    -
    # MIT License
    +
    # MIT License
     #
     #@title Copyright (c) 2021 CCAI Community Authors { display-mode: "form" }
     #
    @@ -837,11 +837,16 @@ 

    Software RequirementsSee installation for installation instructions!

    -
    import torch
    +
    import torch
     torch.cuda.is_available()
     
    +
    +
    False
    +
    +
    +

    @@ -868,12 +873,62 @@

    Data Download [~1min]
    -
    %%bash
    -mkdir data
    -cd data
    -wget -q http://dl.fbaipublicfiles.com/opencatalystproject/data/tutorial_data.tar.gz -O tutorial_data.tar.gz
    -tar -xzvf tutorial_data.tar.gz
    -rm tutorial_data.tar.gz
    +
    %%bash
    +mkdir data
    +cd data
    +wget -q http://dl.fbaipublicfiles.com/opencatalystproject/data/tutorial_data.tar.gz -O tutorial_data.tar.gz
    +tar -xzvf tutorial_data.tar.gz
    +rm tutorial_data.tar.gz
    +
    +
    +
    +
    +
    mkdir: cannot create directory ‘data’: File exists
    +
    +
    +
    ./
    +
    +
    +
    ./is2re/
    +
    +
    +
    ./is2re/train_100/
    +
    +
    +
    ./is2re/train_100/data.lmdb
    +
    +
    +
    ./is2re/train_100/data.lmdb-lock
    +
    +
    +
    ./is2re/val_20/
    +
    +
    +
    ./is2re/val_20/data.lmdb
    +
    +
    +
    ./is2re/val_20/data.lmdb-lock
    +
    +
    +
    ./s2ef/
    +
    +
    +
    ./s2ef/train_100/
    +
    +
    +
    ./s2ef/train_100/data.lmdb
    +
    +
    +
    ./s2ef/train_100/data.lmdb-lock
    +
    +
    +
    ./s2ef/val_20/
    +
    +
    +
    ./s2ef/val_20/data.lmdb
    +
    +
    +
    ./s2ef/val_20/data.lmdb-lock
     
    @@ -883,14 +938,14 @@

    Data Download [~1min] #

    -
    import matplotlib
    +
    import matplotlib
     matplotlib.use('Agg')
     
     import os
     import numpy as np
     
     import matplotlib.pyplot as plt
    -%matplotlib inline
    +%matplotlib inline
     
     params = {
        'axes.labelsize': 14,
    @@ -934,7 +989,7 @@ 

    Structural relaxationsA structural relaxation or structure optimization is the process of iteratively updating atom positions to find the atom positions that minimize the energy of the structure. Standard optimization methods are used in structural relaxations — below we use the Limited-Memory Broyden–Fletcher–Goldfarb–Shanno (LBFGS) algorithm. The step number, time, energy, and force max are printed at each optimization step. Each step is considered one example because it provides all the information we need to train models for the S2EF task and the entire set of steps is referred to as a trajectory. Visualizing intermediate structures or viewing the entire trajectory can be illuminating to understand what is physically happening and to look for problems in the simulation, especially when we run ML-driven relaxations. Common problems one may look out for - atoms excessively overlapping/colliding with each other and atoms flying off into random directions.

    -
    +
    +
           Step     Time          Energy         fmax
    +*Force-consistent energies used in optimization.
    +LBFGS:    0 17:58:48       15.804700*       6.7764
    +
    +
    +
    LBFGS:    1 17:58:48       12.190607*       4.3232
    +
    +
    +
    LBFGS:    2 17:58:48       10.240169*       2.2655
    +
    +
    +
    LBFGS:    3 17:58:48        9.779223*       0.9372
    +
    +
    +
    LBFGS:    4 17:58:48        9.671525*       0.7702
    +
    +
    +
    LBFGS:    5 17:58:48        9.574461*       0.6635
    +
    +
    +
    LBFGS:    6 17:58:48        9.537502*       0.5718
    +
    +
    +
    LBFGS:    7 17:58:48        9.516673*       0.4466
    +
    +
    +
    LBFGS:    8 17:58:48        9.481330*       0.4611
    +
    +
    +
    LBFGS:    9 17:58:48        9.462255*       0.2931
    +
    +
    +
    LBFGS:   10 17:58:48        9.448937*       0.2490
    +
    +
    +
    LBFGS:   11 17:58:48        9.433813*       0.2371
    +
    +
    +
    LBFGS:   12 17:58:48        9.418884*       0.2602
    +
    +
    +
    LBFGS:   13 17:58:48        9.409649*       0.2532
    +
    +
    +
    LBFGS:   14 17:58:48        9.404838*       0.1624
    +
    +
    +
    LBFGS:   15 17:58:48        9.401753*       0.1823
    +
    +
    +
    LBFGS:   16 17:58:49        9.397314*       0.2592
    +
    +
    +
    LBFGS:   17 17:58:49        9.387947*       0.3450
    +
    +
    +
    LBFGS:   18 17:58:49        9.370825*       0.4070
    +
    +
    +
    LBFGS:   19 17:58:49        9.342222*       0.4333
    +
    +
    +
    LBFGS:   20 17:58:49        9.286822*       0.5002
    +
    +
    +
    LBFGS:   21 17:58:49        9.249910*       0.5241
    +
    +
    +
    LBFGS:   22 17:58:49        9.187179*       0.5120
    +
    +
    +
    LBFGS:   23 17:58:49        9.124811*       0.5718
    +
    +
    +
    LBFGS:   24 17:58:49        9.066185*       0.5409
    +
    +
    +
    LBFGS:   25 17:58:49        9.000116*       1.0798
    +
    +
    +
    LBFGS:   26 17:58:49        8.893632*       0.7528
    +
    +
    +
    LBFGS:   27 17:58:49        8.845939*       0.3321
    +
    +
    +
    LBFGS:   28 17:58:49        8.815173*       0.2512
    +
    +
    +
    LBFGS:   29 17:58:49        8.808721*       0.2143
    +
    +
    +
    LBFGS:   30 17:58:49        8.794643*       0.1546
    +
    +
    +
    LBFGS:   31 17:58:49        8.789162*       0.2014
    +
    +
    +
    LBFGS:   32 17:58:49        8.782320*       0.1755
    +
    +
    +
    LBFGS:   33 17:58:49        8.780394*       0.1037
    +
    +
    +
    LBFGS:   34 17:58:49        8.778410*       0.1076
    +
    +
    +
    LBFGS:   35 17:58:49        8.775079*       0.1797
    +
    +
    +
    LBFGS:   36 17:58:49        8.766987*       0.3334
    +
    +
    +
    LBFGS:   37 17:58:49        8.750249*       0.5307
    +
    +
    +
    LBFGS:   38 17:58:49        8.725928*       0.6851
    +
    +
    +
    LBFGS:   39 17:58:49        8.702312*       0.5823
    +
    +
    +
    LBFGS:   40 17:58:49        8.661515*       0.3996
    +
    +
    +
    LBFGS:   41 17:58:49        8.643432*       0.5585
    +
    +
    +
    LBFGS:   42 17:58:49        8.621201*       0.3673
    +
    +
    +
    LBFGS:   43 17:58:50        8.614414*       0.1394
    +
    +
    +
    LBFGS:   44 17:58:50        8.610785*       0.1372
    +
    +
    +
    LBFGS:   45 17:58:50        8.608134*       0.1464
    +
    +
    +
    LBFGS:   46 17:58:50        8.604928*       0.1196
    +
    +
    +
    LBFGS:   47 17:58:50        8.599151*       0.1354
    +
    +
    +
    LBFGS:   48 17:58:50        8.594063*       0.1479
    +
    +
    +
    LBFGS:   49 17:58:50        8.589493*       0.1538
    +
    +
    +
    LBFGS:   50 17:58:50        8.587274*       0.0885
    +
    +
    +
    LBFGS:   51 17:58:50        8.584633*       0.0938
    +
    +
    +
    LBFGS:   52 17:58:50        8.580239*       0.1409
    +
    +
    +
    LBFGS:   53 17:58:50        8.572938*       0.2543
    +
    +
    +
    LBFGS:   54 17:58:50        8.563343*       0.2919
    +
    +
    +
    LBFGS:   55 17:58:50        8.554117*       0.1966
    +
    +
    +
    LBFGS:   56 17:58:50        8.547597*       0.1291
    +
    +
    +
    LBFGS:   57 17:58:50        8.542086*       0.1280
    +
    +
    +
    LBFGS:   58 17:58:50        8.535432*       0.0982
    +
    +
    +
    LBFGS:   59 17:58:50        8.533622*       0.1277
    +
    +
    +
    LBFGS:   60 17:58:50        8.527487*       0.1167
    +
    +
    +
    LBFGS:   61 17:58:50        8.523863*       0.1218
    +
    +
    +
    LBFGS:   62 17:58:50        8.519229*       0.1305
    +
    +
    +
    LBFGS:   63 17:58:50        8.515424*       0.1019
    +
    +
    +
    LBFGS:   64 17:58:50        8.511240*       0.2122
    +
    +
    +
    LBFGS:   65 17:58:50        8.507967*       0.2666
    +
    +
    +
    LBFGS:   66 17:58:50        8.503903*       0.2377
    +
    +
    +
    LBFGS:   67 17:58:50        8.497575*       0.1623
    +
    +
    +
    LBFGS:   68 17:58:50        8.485434*       0.2022
    +
    +
    +
    LBFGS:   69 17:58:50        8.466738*       0.2159
    +
    +
    +
    LBFGS:   70 17:58:50        8.467607*       0.3348
    +
    +
    +
    LBFGS:   71 17:58:51        8.454037*       0.1063
    +
    +
    +
    LBFGS:   72 17:58:51        8.448980*       0.1197
    +
    +
    +
    LBFGS:   73 17:58:51        8.446550*       0.0992
    +
    +
    +
    LBFGS:   74 17:58:51        8.444705*       0.0562
    +
    +
    +
    LBFGS:   75 17:58:51        8.443403*       0.0388
    +
    +
    +
    LBFGS:   76 17:58:51        8.442646*       0.0548
    +
    +
    +
    LBFGS:   77 17:58:51        8.442114*       0.0614
    +
    +
    +
    LBFGS:   78 17:58:51        8.440960*       0.0588
    +
    +
    +
    LBFGS:   79 17:58:51        8.439820*       0.0482
    +
    +
    +
    LBFGS:   80 17:58:51        8.438600*       0.0513
    +
    +
    +
    LBFGS:   81 17:58:51        8.437429*       0.0541
    +
    +
    +
    LBFGS:   82 17:58:51        8.435695*       0.0672
    +
    +
    +
    LBFGS:   83 17:58:51        8.431957*       0.0857
    +
    +
    +
    LBFGS:   84 17:58:51        8.423485*       0.1332
    +
    +
    +
    LBFGS:   85 17:58:51        8.413846*       0.2078
    +
    +
    +
    LBFGS:   86 17:58:51        8.404849*       0.1787
    +
    +
    +
    LBFGS:   87 17:58:51        8.385339*       0.1690
    +
    +
    +
    LBFGS:   88 17:58:51        8.386849*       0.1876
    +
    +
    +
    LBFGS:   89 17:58:51        8.371078*       0.1181
    +
    +
    +
    LBFGS:   90 17:58:51        8.368801*       0.0942
    +
    +
    +
    LBFGS:   91 17:58:51        8.366226*       0.0670
    +
    +
    +
    LBFGS:   92 17:58:51        8.361680*       0.0550
    +
    +
    +
    LBFGS:   93 17:58:51        8.360631*       0.0473
    +
    +
    +
    LBFGS:   94 17:58:51        8.359692*       0.0242
    +
    +
    +
    LBFGS:   95 17:58:51        8.359361*       0.0155
    +
    +
    +
    LBFGS:   96 17:58:51        8.359163*       0.0143
    +
    +
    +
    LBFGS:   97 17:58:51        8.359102*       0.0156
    +
    +
    +
    LBFGS:   98 17:58:51        8.359048*       0.0155
    +
    +
    +
    LBFGS:   99 17:58:51        8.358986*       0.0142
    +
    +
    +
    LBFGS:  100 17:58:52        8.358921*       0.0132
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/io/extxyz.py:302: UserWarning: Skipping unhashable information adsorbate_info
    +  warnings.warn('Skipping unhashable information '
    +
    +
    +

    Reading a trajectory#

    @@ -1024,32 +1396,50 @@

    Data contents
    -
    i_structure = traj[0]
    +
    i_structure = traj[0]
     i_structure
     
    +
    +
    Atoms(symbols='Cu27C3H8', pbc=True, cell=[7.65796644025031, 7.65796644025031, 33.266996999999996], energies=..., forces=..., tags=..., constraint=FixAtoms(indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]), calculator=SinglePointCalculator(...))
    +
    +
    +

    Atomic numbers#

    -
    numbers = i_structure.get_atomic_numbers()
    +
    numbers = i_structure.get_atomic_numbers()
     print(numbers)
     
    +
    +
    [29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
    + 29 29 29  6  6  6  1  1  1  1  1  1  1  1]
    +
    +
    +

    Atomic symbols#

    -
    symbols = np.array(i_structure.get_chemical_symbols())
    +
    symbols = np.array(i_structure.get_chemical_symbols())
     print(symbols)
     
    +
    +
    ['Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu'
    + 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'C' 'C'
    + 'C' 'H' 'H' 'H' 'H' 'H' 'H' 'H' 'H']
    +
    +
    +
    @@ -1057,11 +1447,18 @@

    Unit cell
    -
    cell = np.array(i_structure.cell)
    +
    cell = np.array(i_structure.cell)
     print(cell)
     
    +
    +
    [[ 7.65796644  0.          0.        ]
    + [ 0.          7.65796644  0.        ]
    + [ 0.          0.         33.266997  ]]
    +
    +
    +

    @@ -1069,15 +1466,20 @@

    Periodic boundary conditions (PBC)

    @@ -1114,11 +1522,17 @@

    Tags#2 - Adsorbate atoms

    -
    tags = i_structure.get_tags()
    +
    tags = i_structure.get_tags()
     print(tags)
     
    +
    +
    [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
    + 2]
    +
    +
    +

    @@ -1126,7 +1540,7 @@

    Fixed atoms constraintIn reality, surfaces contain many, many more atoms beneath what we’ve illustrated as the surface. At an infinite depth, these subsurface atoms would look just like the bulk structure. We approximate a true surface by fixing the subsurface atoms into their “bulk” locations. This ensures that they cannot move at the “bottom” of the surface. If they could, this would throw off our calculations. Consistent with the above, we fix all atoms with tags=0, and denote them as “fixed”. All other atoms are considered “free”.

    @@ -1145,7 +1568,7 @@

    Adsorption energy

    @@ -1179,7 +1611,7 @@

    Plot energy profile of toy trajectory

    @@ -1196,19 +1634,103 @@

    Force#<

    The “apply_constraint” argument controls whether to apply system constraints to the forces. In the OC20 dataset, this controls whether to return forces for fixed atoms (apply_constraint=False) or return 0s (apply_constraint=True).

    -
    # Returning forces for all atoms - regardless of whether "fixed" or "free"
    +
    # Returning forces for all atoms - regardless of whether "fixed" or "free"
     i_structure.get_forces(apply_constraint=False)
     
    +
    +
    array([[-1.07900000e-05, -3.80000000e-06,  1.13560540e-01],
    +       [-0.00000000e+00, -4.29200000e-05,  1.13302410e-01],
    +       [ 1.07900000e-05, -3.80000000e-06,  1.13560540e-01],
    +       [-1.84600000e-05,  0.00000000e+00,  1.13543430e-01],
    +       [-0.00000000e+00,  0.00000000e+00,  1.13047800e-01],
    +       [ 1.84600000e-05,  0.00000000e+00,  1.13543430e-01],
    +       [-1.07900000e-05,  3.80000000e-06,  1.13560540e-01],
    +       [-0.00000000e+00,  4.29200000e-05,  1.13302410e-01],
    +       [ 1.07900000e-05,  3.80000000e-06,  1.13560540e-01],
    +       [-1.10430500e-02, -2.53094000e-03, -4.84573700e-02],
    +       [ 1.10430500e-02, -2.53094000e-03, -4.84573700e-02],
    +       [-0.00000000e+00, -2.20890000e-04, -2.07827000e-03],
    +       [-1.10430500e-02,  2.53094000e-03, -4.84573700e-02],
    +       [ 1.10430500e-02,  2.53094000e-03, -4.84573700e-02],
    +       [-0.00000000e+00,  2.20890000e-04, -2.07827000e-03],
    +       [-3.49808000e-03, -0.00000000e+00, -7.85544000e-03],
    +       [ 3.49808000e-03, -0.00000000e+00, -7.85544000e-03],
    +       [-0.00000000e+00, -0.00000000e+00, -5.97640000e-04],
    +       [-3.18144370e-01, -2.36420450e-01, -3.97089230e-01],
    +       [ 0.00000000e+00, -2.18895316e+00, -2.74768262e+00],
    +       [ 3.18144370e-01, -2.36420450e-01, -3.97089230e-01],
    +       [-5.65980520e-01,  0.00000000e+00, -6.16046990e-01],
    +       [ 0.00000000e+00,  0.00000000e+00, -4.47152822e+00],
    +       [ 5.65980520e-01, -0.00000000e+00, -6.16046990e-01],
    +       [-3.18144370e-01,  2.36420450e-01, -3.97089230e-01],
    +       [ 0.00000000e+00,  2.18895316e+00, -2.74768262e+00],
    +       [ 3.18144370e-01,  2.36420450e-01, -3.97089230e-01],
    +       [-0.00000000e+00, -0.00000000e+00, -3.96835355e+00],
    +       [-0.00000000e+00, -3.64190926e+00,  5.71458646e+00],
    +       [ 0.00000000e+00,  3.64190926e+00,  5.71458646e+00],
    +       [-2.18178516e+00, -0.00000000e+00,  1.67589182e+00],
    +       [ 2.18178516e+00,  0.00000000e+00,  1.67589182e+00],
    +       [ 0.00000000e+00,  2.46333681e+00,  1.78299828e+00],
    +       [ 0.00000000e+00, -2.46333681e+00,  1.78299828e+00],
    +       [ 6.18714050e+00,  2.26336330e-01, -5.99485570e-01],
    +       [-6.18714050e+00,  2.26336330e-01, -5.99485570e-01],
    +       [-6.18714050e+00, -2.26336330e-01, -5.99485570e-01],
    +       [ 6.18714050e+00, -2.26336330e-01, -5.99485570e-01]])
    +
    +
    +
    -
    # Applying the fixed atoms constraint to the forces
    +
    # Applying the fixed atoms constraint to the forces
     i_structure.get_forces(apply_constraint=True)
     
    +
    +
    array([[ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [-0.31814437, -0.23642045, -0.39708923],
    +       [ 0.        , -2.18895316, -2.74768262],
    +       [ 0.31814437, -0.23642045, -0.39708923],
    +       [-0.56598052,  0.        , -0.61604699],
    +       [ 0.        ,  0.        , -4.47152822],
    +       [ 0.56598052, -0.        , -0.61604699],
    +       [-0.31814437,  0.23642045, -0.39708923],
    +       [ 0.        ,  2.18895316, -2.74768262],
    +       [ 0.31814437,  0.23642045, -0.39708923],
    +       [-0.        , -0.        , -3.96835355],
    +       [-0.        , -3.64190926,  5.71458646],
    +       [ 0.        ,  3.64190926,  5.71458646],
    +       [-2.18178516, -0.        ,  1.67589182],
    +       [ 2.18178516,  0.        ,  1.67589182],
    +       [ 0.        ,  2.46333681,  1.78299828],
    +       [ 0.        , -2.46333681,  1.78299828],
    +       [ 6.1871405 ,  0.22633633, -0.59948557],
    +       [-6.1871405 ,  0.22633633, -0.59948557],
    +       [-6.1871405 , -0.22633633, -0.59948557],
    +       [ 6.1871405 , -0.22633633, -0.59948557]])
    +
    +
    +

    @@ -1217,7 +1739,7 @@

    Interacting with the OC20 datasetsLmdbDataset to read in a directory of LMDB files or a single LMDB file.

    -
    from fairchem.core.datasets import LmdbDataset
    +
     
    -
    data = dataset[0]
    +
    data = dataset[0]
     data
     
    +
    +
    Data(edge_index=[2, 2964], y=6.282500615000004, pos=[86, 3], cell=[1, 3, 3], atomic_numbers=[86], natoms=86, cell_offsets=[2964, 3], force=[86, 3], fixed=[86], tags=[86], sid=[1], fid=[1], total_frames=74, id='0_0')
    +
    +
    +
    -
    energies = torch.tensor([data.y for data in dataset])
    +
    energies = torch.tensor([data.y for data in dataset])
     energies
     
    +
    +
    tensor([ 6.2825e+00,  4.1290e+00,  3.1451e+00,  3.0260e+00,  1.7921e+00,
    +         1.6451e+00,  1.2257e+00,  1.2161e+00,  1.0712e+00,  7.4727e-01,
    +         5.9575e-01,  5.7016e-01,  4.2819e-01,  3.1616e-01,  2.5283e-01,
    +         2.2425e-01,  2.2346e-01,  2.0530e-01,  1.6090e-01,  1.1807e-01,
    +         1.1691e-01,  9.1254e-02,  7.4997e-02,  6.3274e-02,  5.2782e-02,
    +         4.8892e-02,  3.9609e-02,  3.1746e-02,  2.7179e-02,  2.7007e-02,
    +         2.3709e-02,  1.8005e-02,  1.7676e-02,  1.4129e-02,  1.3162e-02,
    +         1.1374e-02,  7.4124e-03,  7.7525e-03,  6.1224e-03,  5.2787e-03,
    +         2.8587e-03,  1.1835e-04, -1.1200e-03, -1.3011e-03, -2.6812e-03,
    +        -5.9202e-03, -6.1644e-03, -6.9261e-03, -9.1364e-03, -9.2114e-03,
    +        -1.0665e-02, -1.3760e-02, -1.3588e-02, -1.4895e-02, -1.6190e-02,
    +        -1.8660e-02, -1.4980e-02, -1.8880e-02, -2.0218e-02, -2.0559e-02,
    +        -2.1013e-02, -2.2129e-02, -2.2748e-02, -2.3322e-02, -2.3382e-02,
    +        -2.3865e-02, -2.3973e-02, -2.4196e-02, -2.4755e-02, -2.4951e-02,
    +        -2.5078e-02, -2.5148e-02, -2.5257e-02, -2.5550e-02,  5.9721e+00,
    +         9.5081e+00,  2.6373e+00,  4.0946e+00,  1.4385e+00,  1.2700e+00,
    +         1.0081e+00,  5.3797e-01,  5.1462e-01,  2.8812e-01,  1.2429e-01,
    +        -1.1352e-02, -2.2293e-01, -3.9102e-01, -4.3574e-01, -5.3142e-01,
    +        -5.4777e-01, -6.3948e-01, -7.3816e-01, -8.2163e-01, -8.2526e-01,
    +        -8.8313e-01, -8.8615e-01, -9.3446e-01, -9.5100e-01, -9.5168e-01])
    +
    +
    +
    -
    plt.hist(energies, bins = 50)
    +
    plt.hist(energies, bins = 50)
     plt.yscale("log")
     plt.xlabel("Energies")
     plt.show()
     
    +
    +../_images/e407f2aba16854949ec326b5ce84fc620bea274782085e3f1bb89ccfb4f910f0.png +
    @@ -1314,7 +1874,7 @@

    Steps for training an S2EF model#

    Dataset#

    -
    train_src = "data/s2ef/train_100"
    +
    train_src = "data/s2ef/train_100"
     val_src = "data/s2ef/val_20"
     
    @@ -1346,7 +1911,7 @@

    Normalize data
    -
    train_dataset = LmdbDataset({"src": train_src})
    +
    train_dataset = LmdbDataset({"src": train_src})
     
     energies = []
     for data in train_dataset:
    @@ -1369,10 +1934,156 @@ 

    Define the Config
    -
    %%bash
    -wget https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt
    -wget https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt
    -wget https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-dT.json
    +
    %%bash
    +wget https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt
    +wget https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt
    +wget https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-dT.json
    +
    +
    +
    +
    +
    --2024-05-17 17:58:59--  https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt
    +
    +
    +
    Resolving github.com (github.com)... 140.82.112.3
    +
    +
    +
    Connecting to github.com (github.com)|140.82.112.3|:443... connected.
    +
    +
    +
    HTTP request sent, awaiting response... 302 Found
    +
    +
    +
    Location: https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt [following]
    +
    +
    +
    --2024-05-17 17:58:59--  https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt
    +
    +
    +
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.110.133, ...
    +
    +
    +
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
    +
    +
    +
    HTTP request sent, awaiting response... 200 OK
    +
    +
    +
    Length: 27199 (27K) [application/octet-stream]
    +
    +
    +
    Saving to: ‘gemnet-oc-large.pt’
    +
    +
    +
    
    +
    +
    +
         0K .......... .......... ......                          100% 31.2M=0.001s
    +
    +
    +
    
    +
    +
    +
    2024-05-17 17:58:59 (31.2 MB/s) - ‘gemnet-oc-large.pt’ saved [27199/27199]
    +
    +
    +
    
    +
    +
    +
    --2024-05-17 17:58:59--  https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt
    +
    +
    +
    Resolving github.com (github.com)... 140.82.112.3
    +
    +
    +
    Connecting to github.com (github.com)|140.82.112.3|:443... connected.
    +
    +
    +
    HTTP request sent, awaiting response... 302 Found
    +
    +
    +
    Location: https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt [following]
    +
    +
    +
    --2024-05-17 17:58:59--  https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt
    +
    +
    +
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.108.133, ...
    +
    +
    +
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
    +
    +
    +
    HTTP request sent, awaiting response... 200 OK
    +
    +
    +
    Length: 16963 (17K) [application/octet-stream]
    +
    +
    +
    Saving to: ‘gemnet-oc.pt’
    +
    +
    +
    
    +
    +
    +
         0K .......... ......                                     100% 33.8M=0s
    +
    +
    +
    
    +
    +
    +
    2024-05-17 17:58:59 (33.8 MB/s) - ‘gemnet-oc.pt’ saved [16963/16963]
    +
    +
    +
    
    +
    +
    +
    --2024-05-17 17:58:59--  https://github.com/FAIR-Chem/fairchem/raw/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-dT.json
    +
    +
    +
    Resolving github.com (github.com)... 140.82.112.3
    +
    +
    +
    Connecting to github.com (github.com)|140.82.112.3|:443... connected.
    +
    +
    +
    HTTP request sent, awaiting response... 302 Found
    +
    +
    +
    Location: https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-dT.json [following]
    +
    +
    +
    --2024-05-17 17:58:59--  https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/configs/s2ef/all/gemnet/scaling_factors/gemnet-dT.json
    +
    +
    +
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.110.133, ...
    +
    +
    +
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
    +
    +
    +
    HTTP request sent, awaiting response... 200 OK
    +
    +
    +
    Length: 816 [text/plain]
    +
    +
    +
    Saving to: ‘gemnet-dT.json’
    +
    +
    +
    
    +
    +
    +
         0K                                                       100% 65.3M=0s
    +
    +
    +
    
    +
    +
    +
    2024-05-17 17:58:59 (65.3 MB/s) - ‘gemnet-dT.json’ saved [816/816]
    +
    +
    +
    
     
    @@ -1380,7 +2091,7 @@

    Define the Config
    -
    # Task
    +
    # Task
     task = {
         'dataset': 'lmdb', # dataset used for the S2EF task
         'description': 'Regressing to energies and forces for DFT trajectories from OCP',
    @@ -1489,7 +2200,7 @@ 

    Define the Config#

    -
    trainer = OCPTrainer(
    +
    trainer = OCPTrainer(
         task=task,
         model=copy.deepcopy(model), # copied for later use, not necessary in practice.
         dataset=dataset,
    @@ -1510,295 +2221,405 @@ 

    Create the trainer -

    Train the model#

    -
    -
    -
    trainer.train()
    +
    +
    2024-05-17 17:58:59 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
     
    +
    2024-05-17 17:58:59 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-17-59-28-S2EF-example
    +  commit: 00de11a
    +  identifier: S2EF-example
    +  logs_dir: ./logs/tensorboard/2024-05-17-17-59-28-S2EF-example
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-17-59-28-S2EF-example
    +  seed: 0
    +  timestamp_id: 2024-05-17-17-59-28-S2EF-example
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: lmdb
    +  grad_target_mean: 0.0
    +  grad_target_std: !!python/object/apply:numpy.core.multiarray.scalar
    +  - &id001 !!python/object/apply:numpy.dtype
    +    args:
    +    - f8
    +    - false
    +    - true
    +    state: !!python/tuple
    +    - 3
    +    - <
    +    - null
    +    - null
    +    - null
    +    - -1
    +    - -1
    +    - 0
    +  - !!binary |
    +    dPVlWhRA+D8=
    +  key_mapping:
    +    force: forces
    +    y: energy
    +  normalize_labels: true
    +  src: data/s2ef/train_100
    +  target_mean: !!python/object/apply:numpy.core.multiarray.scalar
    +  - *id001
    +  - !!binary |
    +    zSXlDMrm3D8=
    +  target_std: !!python/object/apply:numpy.core.multiarray.scalar
    +  - *id001
    +  - !!binary |
    +    dPVlWhRA+D8=
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          zSXlDMrm3D8=
    +        stdev: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          dPVlWhRA+D8=
    +      forces:
    +        mean: 0.0
    +        stdev: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          dPVlWhRA+D8=
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 100
    +    fn: l2mae
    +model: gemnet_oc
    +model_attributes:
    +  activation: silu
    +  atom_edge_interaction: true
    +  atom_interaction: true
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 12.0
    +  cutoff_aeaint: 12.0
    +  cutoff_aint: 12.0
    +  cutoff_qint: 12.0
    +  direct_forces: true
    +  edge_atom_interaction: true
    +  emb_size_aint_in: 64
    +  emb_size_aint_out: 64
    +  emb_size_atom: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 64
    +  emb_size_quad_in: 32
    +  emb_size_quad_out: 32
    +  emb_size_rbf: 16
    +  emb_size_sbf: 32
    +  emb_size_trip_in: 64
    +  emb_size_trip_out: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  forces_coupled: false
    +  max_neighbors: 30
    +  max_neighbors_aeaint: 20
    +  max_neighbors_aint: 1000
    +  max_neighbors_qint: 8
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_atom_emb_layers: 2
    +  num_before_skip: 2
    +  num_blocks: 4
    +  num_concat: 1
    +  num_global_out_layers: 2
    +  num_output_afteratom: 3
    +  num_radial: 128
    +  num_spherical: 7
    +  output_init: HeOrthogonal
    +  qint_tags:
    +  - 1
    +  - 2
    +  quad_interaction: true
    +  rbf:
    +    name: gaussian
    +  regress_forces: true
    +  sbf:
    +    name: legendre_outer
    +  scale_file: ./gemnet-oc.pt
    +noddp: false
    +optim:
    +  batch_size: 1
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  eval_batch_size: 1
    +  factor: 0.8
    +  force_coefficient: 100
    +  loss_energy: mae
    +  loss_force: l2mae
    +  lr_initial: 0.0005
    +  max_epochs: 1
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +slurm: {}
    +task:
    +  dataset: lmdb
    +  description: Regressing to energies and forces for DFT trajectories from OCP
    +  eval_on_free_atoms: true
    +  grad_input: atomic forces
    +  labels:
    +  - potential energy
    +  metric: mae
    +  train_on_free_atoms: true
    +  type: regression
    +trainer: s2ef
    +val_dataset:
    +  src: data/s2ef/val_20
    +
    +
    2024-05-17 17:58:59 (INFO): Loading dataset: lmdb
    +
    -

    -
    -

    Validate the model#

    -
    -

    Load the best checkpoint#

    -

    The checkpoints directory contains two checkpoint files:

    -
      -
    • best_checkpoint.pt - Model parameters corresponding to the best val performance during training. Used for predictions.

    • -
    • checkpoint.pt - Model parameters and optimizer settings for the latest checkpoint. Used to continue training.

    • -
    -
    -
    -
    # The `best_checpoint.pt` file contains the checkpoint with the best val performance
    -checkpoint_path = os.path.join(trainer.config["cmd"]["checkpoint_dir"], "best_checkpoint.pt")
    -checkpoint_path
    +
    2024-05-17 17:58:59 (INFO): rank: 0: Sampler created...
     
    +
    2024-05-17 17:58:59 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    2024-05-17 17:58:59 (INFO): rank: 0: Sampler created...
    +
    -
    -
    -
    # Append the dataset with the test set. We use the same val set for demonstration.
    -
    -# Dataset
    -dataset.append(
    -  {'src': val_src}, # test set (optional)
    -)
    -dataset
    +
    2024-05-17 17:58:59 (INFO): Batch balancing is disabled for single GPU training.
     
    +
    2024-05-17 17:58:59 (INFO): Loading model: gemnet_oc
    +
    +
    2024-05-17 17:59:00 (INFO): Loaded GemNetOC with 2596214 parameters.
    +
    -
    -
    -
    pretrained_trainer = OCPTrainer(
    -    task=task,
    -    model=copy.deepcopy(model), # copied for later use, not necessary in practice.
    -    dataset=dataset,
    -    optimizer=optimizer,
    -    outputs={},
    -    loss_fns={},
    -    eval_metrics={},
    -    name="s2ef",
    -    identifier="S2EF-val-example",
    -    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    -    is_debug=False, # if True, do not save checkpoint, logs, or results
    -    print_every=5,
    -    seed=0, # random seed to use
    -    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    -    local_rank=0,
    -    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    -)
    -
    -pretrained_trainer.load_checkpoint(checkpoint_path=checkpoint_path)
    +
    2024-05-17 17:59:00 (WARNING): Model gradient logging to tensorboard not yet supported.
     
    -
    -

    Run on the test set#

    +
    +

    Train the model#

    -
    # make predictions on the existing test_loader
    -predictions = pretrained_trainer.predict(pretrained_trainer.test_loader, results_file="s2ef_results", disable_tqdm=False)
    +
    trainer.train()
     
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    -
    -
    -
    energies = predictions["energy"]
    -forces = predictions["forces"]
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
     
    +
    2024-05-17 17:59:06 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 3.37e+01, forcesx_mae: 4.54e-01, forcesy_mae: 6.14e-01, forcesz_mae: 7.50e-01, forces_mae: 6.06e-01, forces_cosine_similarity: 1.12e-02, forces_magnitude_error: 1.07e+00, loss: 1.06e+02, lr: 5.00e-04, epoch: 5.00e-02, step: 5.00e+00
    +
    +
    2024-05-17 17:59:11 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.22e+01, forcesx_mae: 2.45e-01, forcesy_mae: 6.06e-01, forcesz_mae: 4.26e-01, forces_mae: 4.26e-01, forces_cosine_similarity: -1.76e-02, forces_magnitude_error: 7.53e-01, loss: 6.92e+01, lr: 5.00e-04, epoch: 1.00e-01, step: 1.00e+01
    +
    -
    -
    -
    -
    -

    Initial Structure to Relaxed Energy (IS2RE) #

    -

    The IS2RE task predicts the relaxed energy (energy of the relaxed state) given the initial state of a system. One approach to this is by training a regression model mapping the initial structure to the relaxed energy. We call this the direct approach to the IS2RE task.

    -

    An alternative is to perform a structure relaxation using an S2EF model to obtain the relaxed state and compute the energy of that state (see the IS2RS task below for details about relaxation).

    -
    -

    Steps for training an IS2RE model#

    -
      -
    1. Define or load a configuration (config), which includes the following

    2. -
    -
      -
    • task

    • -
    • model

    • -
    • optimizer

    • -
    • dataset

    • -
    • trainer

    • -
    -
      -
    1. Create an EnergyTrainer object

    2. -
    3. Train the model

    4. -
    5. Validate the model

    6. -
    -
    -
    -

    Imports#

    -
    -
    -
    from fairchem.core.trainers import OCPTrainer
    -from fairchem.core.datasets import LmdbDataset
    -from fairchem.core import models
    -from fairchem.core.common import logger
    -from fairchem.core.common.utils import setup_logging
    -setup_logging()
    -
    -import numpy as np
    -import copy
    -import os
    +
    2024-05-17 17:59:17 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.07e+01, forcesx_mae: 3.58e-01, forcesy_mae: 6.73e-01, forcesz_mae: 5.27e-01, forces_mae: 5.19e-01, forces_cosine_similarity: -4.96e-02, forces_magnitude_error: 6.64e-01, loss: 8.13e+01, lr: 5.00e-04, epoch: 1.50e-01, step: 1.50e+01
     
    +
    2024-05-17 17:59:22 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 7.78e+00, forcesx_mae: 2.21e-01, forcesy_mae: 3.42e-01, forcesz_mae: 2.78e-01, forces_mae: 2.80e-01, forces_cosine_similarity: -8.22e-03, forces_magnitude_error: 4.00e-01, loss: 3.78e+01, lr: 5.00e-04, epoch: 2.00e-01, step: 2.00e+01
    +
    +
    2024-05-17 17:59:28 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 6.92e+00, forcesx_mae: 1.22e-01, forcesy_mae: 1.55e-01, forcesz_mae: 1.62e-01, forces_mae: 1.46e-01, forces_cosine_similarity: 1.52e-03, forces_magnitude_error: 1.70e-01, loss: 2.28e+01, lr: 5.00e-04, epoch: 2.50e-01, step: 2.50e+01
    +
    -
    -
    -

    Dataset#

    -
    -
    -
    train_src = "data/is2re/train_100/data.lmdb"
    -val_src = "data/is2re/val_20/data.lmdb"
    +
    2024-05-17 17:59:33 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 3.86e+00, forcesx_mae: 1.02e-01, forcesy_mae: 1.38e-01, forcesz_mae: 1.65e-01, forces_mae: 1.35e-01, forces_cosine_similarity: -2.59e-02, forces_magnitude_error: 1.53e-01, loss: 2.05e+01, lr: 5.00e-04, epoch: 3.00e-01, step: 3.00e+01
     
    +
    2024-05-17 17:59:38 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.40e+00, forcesx_mae: 4.77e-02, forcesy_mae: 5.14e-02, forcesz_mae: 6.43e-02, forces_mae: 5.45e-02, forces_cosine_similarity: 1.31e-01, forces_magnitude_error: 6.22e-02, loss: 8.02e+00, lr: 5.00e-04, epoch: 3.50e-01, step: 3.50e+01
    +
    +
    2024-05-17 17:59:44 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.24e+00, forcesx_mae: 9.29e-02, forcesy_mae: 1.05e-01, forcesz_mae: 1.26e-01, forces_mae: 1.08e-01, forces_cosine_similarity: 1.88e-01, forces_magnitude_error: 1.44e-01, loss: 1.58e+01, lr: 5.00e-04, epoch: 4.00e-01, step: 4.00e+01
    +
    -
    -
    -

    Normalize data#

    -

    If you wish to normalize the targets we must compute the mean and standard deviation for our energy values.

    -
    -
    -
    train_dataset = LmdbDataset({"src": train_src})
    -
    -energies = []
    -for data in train_dataset:
    -    energies.append(data.y_relaxed)
    -
    -mean = np.mean(energies)
    -stdev = np.std(energies)
    +
    2024-05-17 17:59:49 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 5.25e+00, forcesx_mae: 1.35e-01, forcesy_mae: 1.87e-01, forcesz_mae: 2.25e-01, forces_mae: 1.83e-01, forces_cosine_similarity: 2.66e-01, forces_magnitude_error: 2.86e-01, loss: 2.66e+01, lr: 5.00e-04, epoch: 4.50e-01, step: 4.50e+01
     
    +
    2024-05-17 17:59:54 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.42e+00, forcesx_mae: 8.28e-02, forcesy_mae: 1.02e-01, forcesz_mae: 1.43e-01, forces_mae: 1.09e-01, forces_cosine_similarity: 1.62e-01, forces_magnitude_error: 1.69e-01, loss: 1.48e+01, lr: 5.00e-04, epoch: 5.00e-01, step: 5.00e+01
    +
    +
    2024-05-17 18:00:00 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.76e+00, forcesx_mae: 1.67e-01, forcesy_mae: 1.72e-01, forcesz_mae: 2.52e-01, forces_mae: 1.97e-01, forces_cosine_similarity: 3.22e-01, forces_magnitude_error: 3.54e-01, loss: 2.73e+01, lr: 5.00e-04, epoch: 5.50e-01, step: 5.50e+01
    +
    -
    -
    -

    Define the Config#

    -

    For this example, we will explicitly define the config; however, a set of default configs can be found here. Default config yaml files can easily be loaded with the following utility. Loading a yaml config is preferrable when launching jobs from the command line. We have included our best models’ config files here for reference.

    -

    Note - we only train for a single epoch with a reduced batch size (GPU memory constraints) for demonstration purposes, modify accordingly for full convergence.

    -
    -
    -
    # Task
    -task = {
    -  "dataset": "single_point_lmdb",
    -  "description": "Relaxed state energy prediction from initial structure.",
    -  "type": "regression",
    -  "metric": "mae",
    -  "labels": ["relaxed energy"],
    -}
    -# Model
    -model = {
    -    'name': 'gemnet_t',
    -    "num_spherical": 7,
    -    "num_radial": 64,
    -    "num_blocks": 5,
    -    "emb_size_atom": 256,
    -    "emb_size_edge": 512,
    -    "emb_size_trip": 64,
    -    "emb_size_rbf": 16,
    -    "emb_size_cbf": 16,
    -    "emb_size_bil_trip": 64,
    -    "num_before_skip": 1,
    -    "num_after_skip": 2,
    -    "num_concat": 1,
    -    "num_atom": 3,
    -    "cutoff": 6.0,
    -    "max_neighbors": 50,
    -    "rbf": {"name": "gaussian"},
    -    "envelope": {
    -      "name": "polynomial",
    -      "exponent": 5,
    -    },
    -    "cbf": {"name": "spherical_harmonics"},
    -    "extensive": True,
    -    "otf_graph": False,
    -    "output_init": "HeOrthogonal",
    -    "activation": "silu",
    -    "scale_file": "./gemnet-dT.json",
    -    "regress_forces": False,
    -    "direct_forces": False,
    -}
    -# Optimizer
    -optimizer = {
    -    'batch_size': 1,         # originally 32
    -    'eval_batch_size': 1,    # originally 32
    -    'num_workers': 2,
    -    'lr_initial': 1.e-4,
    -    'optimizer': 'AdamW',
    -    'optimizer_params': {"amsgrad": True},
    -    'scheduler': "ReduceLROnPlateau",
    -    'mode': "min",
    -    'factor': 0.8,
    -    'patience': 3,
    -    'max_epochs': 1,         # used for demonstration purposes
    -    'ema_decay': 0.999,
    -    'clip_grad_norm': 10,
    -    'loss_energy': 'mae',
    -}
    -# Dataset
    -dataset = [
    -  {'src': train_src,
    -   'normalize_labels': True,
    -   'target_mean': mean,
    -   'target_std': stdev,
    -  }, # train set
    -  {'src': val_src}, # val set (optional)
    -]
    +
    2024-05-17 18:00:05 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.39e+00, forcesx_mae: 2.59e-02, forcesy_mae: 3.27e-02, forcesz_mae: 4.49e-02, forces_mae: 3.45e-02, forces_cosine_similarity: 1.68e-01, forces_magnitude_error: 4.51e-02, loss: 5.40e+00, lr: 5.00e-04, epoch: 6.00e-01, step: 6.00e+01
     
    +
    2024-05-17 18:00:10 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 5.01e+00, forcesx_mae: 3.09e-01, forcesy_mae: 5.03e-01, forcesz_mae: 3.94e-01, forces_mae: 4.02e-01, forces_cosine_similarity: 4.33e-01, forces_magnitude_error: 7.60e-01, loss: 5.12e+01, lr: 5.00e-04, epoch: 6.50e-01, step: 6.50e+01
    +
    +
    2024-05-17 18:00:16 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.36e+00, forcesx_mae: 1.42e-01, forcesy_mae: 1.55e-01, forcesz_mae: 2.27e-01, forces_mae: 1.75e-01, forces_cosine_similarity: 3.90e-01, forces_magnitude_error: 3.00e-01, loss: 2.43e+01, lr: 5.00e-04, epoch: 7.00e-01, step: 7.00e+01
    +
    -

    ###Create EnergyTrainer

    -
    -
    -
    energy_trainer = OCPTrainer(
    -    task=task,
    -    model=copy.deepcopy(model), # copied for later use, not necessary in practice.
    -    dataset=dataset,
    -    optimizer=optimizer,
    -    outputs={},
    -    loss_fns={},
    -    eval_metrics={},
    -    name="is2re",
    -    identifier="IS2RE-example",
    -    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    -    is_debug=False, # if True, do not save checkpoint, logs, or results
    -    print_every=5,
    -    seed=0, # random seed to use
    -    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    -    local_rank=0,
    -    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    -)
    +
    2024-05-17 18:00:21 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.84e+00, forcesx_mae: 8.30e-02, forcesy_mae: 1.45e-01, forcesz_mae: 9.24e-02, forces_mae: 1.07e-01, forces_cosine_similarity: 4.87e-02, forces_magnitude_error: 1.01e-01, loss: 1.33e+01, lr: 5.00e-04, epoch: 7.50e-01, step: 7.50e+01
     
    +
    2024-05-17 18:00:27 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.56e+00, forcesx_mae: 1.39e-01, forcesy_mae: 2.00e-01, forcesz_mae: 1.79e-01, forces_mae: 1.72e-01, forces_cosine_similarity: 2.47e-01, forces_magnitude_error: 2.35e-01, loss: 2.32e+01, lr: 5.00e-04, epoch: 8.00e-01, step: 8.00e+01
    +
    +
    2024-05-17 18:00:32 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 3.04e+00, forcesx_mae: 2.15e-01, forcesy_mae: 8.73e-01, forcesz_mae: 3.32e-01, forces_mae: 4.73e-01, forces_cosine_similarity: 3.61e-01, forces_magnitude_error: 9.50e-01, loss: 5.55e+01, lr: 5.00e-04, epoch: 8.50e-01, step: 8.50e+01
    +
    -
    -
    -

    Train the Model#

    -
    -
    -
    energy_trainer.train()
    +
    2024-05-17 18:00:37 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.04e+00, forcesx_mae: 5.54e-02, forcesy_mae: 8.34e-02, forcesz_mae: 7.28e-02, forces_mae: 7.05e-02, forces_cosine_similarity: 2.65e-01, forces_magnitude_error: 8.20e-02, loss: 9.80e+00, lr: 5.00e-04, epoch: 9.00e-01, step: 9.00e+01
    +
    +
    +
    2024-05-17 18:00:43 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 6.24e-01, forcesx_mae: 3.87e-02, forcesy_mae: 4.64e-02, forcesz_mae: 6.17e-02, forces_mae: 4.89e-02, forces_cosine_similarity: 2.51e-01, forces_magnitude_error: 6.13e-02, loss: 6.77e+00, lr: 5.00e-04, epoch: 9.50e-01, step: 9.50e+01
    +
    +
    +
    2024-05-17 18:00:48 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 7.63e-01, forcesx_mae: 6.36e-02, forcesy_mae: 1.05e-01, forcesz_mae: 7.27e-02, forces_mae: 8.05e-02, forces_cosine_similarity: 2.24e-01, forces_magnitude_error: 9.96e-02, loss: 1.01e+01, lr: 5.00e-04, epoch: 1.00e+00, step: 1.00e+02
    +
    +
    +
    2024-05-17 18:00:48 (INFO): Evaluating on val.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   0%|          | 0/20 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   5%|▌         | 1/20 [00:00<00:08,  2.33it/s]
    +
    +
    +
    device 0:  10%|█         | 2/20 [00:00<00:05,  3.14it/s]
    +
    +
    +
    device 0:  15%|█▌        | 3/20 [00:00<00:04,  3.53it/s]
    +
    +
    +
    device 0:  20%|██        | 4/20 [00:01<00:04,  3.97it/s]
    +
    +
    +
    device 0:  25%|██▌       | 5/20 [00:01<00:03,  4.19it/s]
    +
    +
    +
    device 0:  30%|███       | 6/20 [00:01<00:03,  4.10it/s]
    +
    +
    +
    device 0:  35%|███▌      | 7/20 [00:01<00:03,  4.30it/s]
    +
    +
    +
    device 0:  40%|████      | 8/20 [00:02<00:02,  4.37it/s]
    +
    +
    +
    device 0:  45%|████▌     | 9/20 [00:02<00:02,  4.42it/s]
    +
    +
    +
    device 0:  50%|█████     | 10/20 [00:02<00:02,  4.36it/s]
    +
    +
    +
    device 0:  55%|█████▌    | 11/20 [00:02<00:02,  4.35it/s]
    +
    +
    +
    device 0:  60%|██████    | 12/20 [00:02<00:01,  4.39it/s]
    +
    +
    +
    device 0:  65%|██████▌   | 13/20 [00:03<00:01,  4.49it/s]
    +
    +
    +
    device 0:  70%|███████   | 14/20 [00:03<00:01,  4.59it/s]
    +
    +
    +
    device 0:  75%|███████▌  | 15/20 [00:03<00:01,  4.59it/s]
    +
    +
    +
    device 0:  80%|████████  | 16/20 [00:03<00:00,  4.41it/s]
    +
    +
    +
    device 0:  85%|████████▌ | 17/20 [00:04<00:00,  4.44it/s]
    +
    +
    +
    device 0:  90%|█████████ | 18/20 [00:04<00:00,  4.54it/s]
    +
    +
    +
    device 0:  95%|█████████▌| 19/20 [00:04<00:00,  4.59it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:04<00:00,  4.62it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:04<00:00,  4.24it/s]
    +
    +
    +
    2024-05-17 18:00:53 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 9.3699, forcesx_mae: 0.3033, forcesy_mae: 0.2619, forcesz_mae: 0.4725, forces_mae: 0.3459, forces_cosine_similarity: 0.0218, forces_magnitude_error: 0.4929, loss: 53.3609, epoch: 1.0000
    +
    +
    +
    
     
    -
    -

    Validate the Model#

    -
    -

    Load the best checkpoint#

    +
    +

    Validate the model#

    +
    +

    Load the best checkpoint#

    +

    The checkpoints directory contains two checkpoint files:

    +
      +
    • best_checkpoint.pt - Model parameters corresponding to the best val performance during training. Used for predictions.

    • +
    • checkpoint.pt - Model parameters and optimizer settings for the latest checkpoint. Used to continue training.

    • +
    -
    # The `best_checpoint.pt` file contains the checkpoint with the best val performance
    -checkpoint_path = os.path.join(energy_trainer.config["cmd"]["checkpoint_dir"], "best_checkpoint.pt")
    +
    # The `best_checpoint.pt` file contains the checkpoint with the best val performance
    +checkpoint_path = os.path.join(trainer.config["cmd"]["checkpoint_dir"], "best_checkpoint.pt")
     checkpoint_path
     
    +
    +
    './checkpoints/2024-05-17-17-59-28-S2EF-example/best_checkpoint.pt'
    +
    +
    +
    -
    # Append the dataset with the test set. We use the same val set for demonstration.
    +
     
    -
    -

    Test the model#

    -
    -
    -
    # make predictions on the existing test_loader
    -predictions = pretrained_energy_trainer.predict(pretrained_trainer.test_loader, results_file="is2re_results", disable_tqdm=False)
    +
    2024-05-17 18:00:53 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-18-01-36-S2EF-val-example
    +  commit: 00de11a
    +  identifier: S2EF-val-example
    +  logs_dir: ./logs/tensorboard/2024-05-17-18-01-36-S2EF-val-example
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-18-01-36-S2EF-val-example
    +  seed: 0
    +  timestamp_id: 2024-05-17-18-01-36-S2EF-val-example
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: lmdb
    +  grad_target_mean: 0.0
    +  grad_target_std: !!python/object/apply:numpy.core.multiarray.scalar
    +  - &id001 !!python/object/apply:numpy.dtype
    +    args:
    +    - f8
    +    - false
    +    - true
    +    state: !!python/tuple
    +    - 3
    +    - <
    +    - null
    +    - null
    +    - null
    +    - -1
    +    - -1
    +    - 0
    +  - !!binary |
    +    dPVlWhRA+D8=
    +  key_mapping:
    +    force: forces
    +    y: energy
    +  normalize_labels: true
    +  src: data/s2ef/train_100
    +  target_mean: !!python/object/apply:numpy.core.multiarray.scalar
    +  - *id001
    +  - !!binary |
    +    zSXlDMrm3D8=
    +  target_std: !!python/object/apply:numpy.core.multiarray.scalar
    +  - *id001
    +  - !!binary |
    +    dPVlWhRA+D8=
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          zSXlDMrm3D8=
    +        stdev: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          dPVlWhRA+D8=
    +      forces:
    +        mean: 0.0
    +        stdev: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          dPVlWhRA+D8=
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 100
    +    fn: l2mae
    +model: gemnet_oc
    +model_attributes:
    +  activation: silu
    +  atom_edge_interaction: true
    +  atom_interaction: true
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 12.0
    +  cutoff_aeaint: 12.0
    +  cutoff_aint: 12.0
    +  cutoff_qint: 12.0
    +  direct_forces: true
    +  edge_atom_interaction: true
    +  emb_size_aint_in: 64
    +  emb_size_aint_out: 64
    +  emb_size_atom: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 64
    +  emb_size_quad_in: 32
    +  emb_size_quad_out: 32
    +  emb_size_rbf: 16
    +  emb_size_sbf: 32
    +  emb_size_trip_in: 64
    +  emb_size_trip_out: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  forces_coupled: false
    +  max_neighbors: 30
    +  max_neighbors_aeaint: 20
    +  max_neighbors_aint: 1000
    +  max_neighbors_qint: 8
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_atom_emb_layers: 2
    +  num_before_skip: 2
    +  num_blocks: 4
    +  num_concat: 1
    +  num_global_out_layers: 2
    +  num_output_afteratom: 3
    +  num_radial: 128
    +  num_spherical: 7
    +  output_init: HeOrthogonal
    +  qint_tags:
    +  - 1
    +  - 2
    +  quad_interaction: true
    +  rbf:
    +    name: gaussian
    +  regress_forces: true
    +  sbf:
    +    name: legendre_outer
    +  scale_file: ./gemnet-oc.pt
    +noddp: false
    +optim:
    +  batch_size: 1
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  eval_batch_size: 1
    +  factor: 0.8
    +  force_coefficient: 100
    +  loss_energy: mae
    +  loss_force: l2mae
    +  lr_initial: 0.0005
    +  max_epochs: 1
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +slurm: {}
    +task:
    +  dataset: lmdb
    +  description: Regressing to energies and forces for DFT trajectories from OCP
    +  eval_on_free_atoms: true
    +  grad_input: atomic forces
    +  labels:
    +  - potential energy
    +  metric: mae
    +  train_on_free_atoms: true
    +  type: regression
    +test_dataset:
    +  src: data/s2ef/val_20
    +trainer: s2ef
    +val_dataset:
    +  src: data/s2ef/val_20
     
    +
    2024-05-17 18:00:53 (INFO): Loading dataset: lmdb
    +
    +
    2024-05-17 18:00:53 (INFO): rank: 0: Sampler created...
    +
    -
    -
    -
    energies = predictions["energy"]
    +
    2024-05-17 18:00:53 (INFO): Batch balancing is disabled for single GPU training.
     
    +
    2024-05-17 18:00:53 (INFO): rank: 0: Sampler created...
    +
    +
    2024-05-17 18:00:53 (INFO): Batch balancing is disabled for single GPU training.
    +
    -
    -
    -
    -
    -

    Initial Structure to Relaxed Structure (IS2RS) #

    -

    We approach the IS2RS task by using a pre-trained S2EF model to iteratively run a structure optimization to arrive at a relaxed structure. While the majority of approaches for this task do this iteratively, we note it’s possible to train a model to directly predict relaxed structures.

    -
    -
    -

    Steps for making IS2RS predictions#

    -
      -
    1. Define or load a configuration (config), which includes the following

    2. -
    -
      -
    • task with relaxation dataset information

    • -
    • model

    • -
    • optimizer

    • -
    • dataset

    • -
    • trainer

    • -
    -
      -
    1. Create a ForcesTrainer object

    2. -
    3. Train a S2EF model or load an existing S2EF checkpoint

    4. -
    5. Run relaxations

    6. -
    -

    Note For this task we’ll be using a publicly released pre-trained checkpoint of our best model to perform relaxations.

    -
    -

    Imports#

    -
    -
    -
    from fairchem.core.trainers import OCPTrainer
    -from fairchem.core.datasets import LmdbDataset
    -from fairchem.core import models
    -from fairchem.core.common import logger
    -from fairchem.core.common.utils import setup_logging
    -setup_logging()
    -
    -import numpy as np
    +
    2024-05-17 18:00:53 (INFO): rank: 0: Sampler created...
     
    +
    2024-05-17 18:00:53 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    2024-05-17 18:00:53 (INFO): Loading model: gemnet_oc
    +
    -
    -
    -

    Dataset#

    -

    The IS2RS task requires an additional realxation dataset to be defined - relax_dataset. This dataset is read in similar to the IS2RE dataset - requiring an LMDB file. The same datasets are used for the IS2RE and IS2RS tasks.

    -
    -
    -
    train_src = "data/s2ef/train_100"
    -val_src = "data/s2ef/val_20"
    -relax_dataset = "data/is2re/val_20/data.lmdb"
    +
    2024-05-17 18:00:54 (INFO): Loaded GemNetOC with 2596214 parameters.
    +
    +
    +
    2024-05-17 18:00:54 (WARNING): Model gradient logging to tensorboard not yet supported.
    +
    +
    +
    2024-05-17 18:00:54 (INFO): Loading checkpoint from: ./checkpoints/2024-05-17-17-59-28-S2EF-example/best_checkpoint.pt
     
    -
    -

    Download pretrained checkpoint#

    +
    +

    Run on the test set#

    -
    from fairchem.core.models.model_registry import model_name_to_local_file
    -
    -checkpoint_path = model_name_to_local_file('GemNet-dT-S2EF-OC20-All', local_cache='/tmp/ocp_checkpoints/')
    +
    # make predictions on the existing test_loader
    +predictions = pretrained_trainer.predict(pretrained_trainer.test_loader, results_file="s2ef_results", disable_tqdm=False)
    +
    +
    +
    +
    +
    2024-05-17 18:00:54 (INFO): Predicting on test.
    +
    +
    +
    device 0:   0%|          | 0/20 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   5%|▌         | 1/20 [00:00<00:09,  2.11it/s]
    +
    +
    +
    device 0:  10%|█         | 2/20 [00:00<00:05,  3.03it/s]
    +
    +
    +
    device 0:  15%|█▌        | 3/20 [00:00<00:04,  3.66it/s]
    +
    +
    +
    device 0:  20%|██        | 4/20 [00:01<00:04,  3.80it/s]
    +
    +
    +
    device 0:  25%|██▌       | 5/20 [00:01<00:03,  3.97it/s]
    +
    +
    +
    device 0:  30%|███       | 6/20 [00:01<00:03,  4.09it/s]
    +
    +
    +
    device 0:  35%|███▌      | 7/20 [00:01<00:03,  4.25it/s]
    +
    +
    +
    device 0:  40%|████      | 8/20 [00:02<00:02,  4.38it/s]
    +
    +
    +
    device 0:  45%|████▌     | 9/20 [00:02<00:02,  4.37it/s]
    +
    +
    +
    device 0:  50%|█████     | 10/20 [00:02<00:02,  4.34it/s]
    +
    +
    +
    device 0:  55%|█████▌    | 11/20 [00:02<00:02,  4.44it/s]
    +
    +
    +
    device 0:  60%|██████    | 12/20 [00:02<00:01,  4.46it/s]
    +
    +
    +
    device 0:  65%|██████▌   | 13/20 [00:03<00:01,  4.55it/s]
    +
    +
    +
    device 0:  70%|███████   | 14/20 [00:03<00:01,  4.55it/s]
    +
    +
    +
    device 0:  75%|███████▌  | 15/20 [00:03<00:01,  4.62it/s]
    +
    +
    +
    device 0:  80%|████████  | 16/20 [00:03<00:00,  4.67it/s]
    +
    +
    +
    device 0:  85%|████████▌ | 17/20 [00:04<00:00,  4.65it/s]
    +
    +
    +
    device 0:  90%|█████████ | 18/20 [00:04<00:00,  4.70it/s]
    +
    +
    +
    device 0:  95%|█████████▌| 19/20 [00:04<00:00,  4.59it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:04<00:00,  4.68it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:04<00:00,  4.25it/s]
    +
    +
    +
    2024-05-17 18:00:59 (INFO): Writing results to ./results/2024-05-17-18-01-36-S2EF-val-example/s2ef_s2ef_results.npz
    +
    +
    +
    
    +
    +
    +
    +
    +
    +
    +
    energies = predictions["energy"]
    +forces = predictions["forces"]
     
    -
    -

    Define the Config#

    -

    Running an iterative S2EF model for the IS2RS task can be run from any S2EF config given the following additions to the task portion of the config:

    +
    +
    +
    +

    Initial Structure to Relaxed Energy (IS2RE) #

    +

    The IS2RE task predicts the relaxed energy (energy of the relaxed state) given the initial state of a system. One approach to this is by training a regression model mapping the initial structure to the relaxed energy. We call this the direct approach to the IS2RE task.

    +

    An alternative is to perform a structure relaxation using an S2EF model to obtain the relaxed state and compute the energy of that state (see the IS2RS task below for details about relaxation).

    +
    +

    Steps for training an IS2RE model#

    +
      +
    1. Define or load a configuration (config), which includes the following

    2. +
      -
    • relax_dataset - IS2RE LMDB dataset

    • -
    • write_pos - Whether to save out relaxed positions

    • -
    • relaxation_steps - Number of optimization steps to run

    • -
    • relax_opt - Dictionary of optimizer settings. Currently only LBFGS supported

      -
        -
      • maxstep - Maximum distance an optimization is allowed to make

      • -
      • memory - Memory history to use for LBFGS

      • -
      • damping - Calculated step is multiplied by this factor before updating positions

      • -
      • alpha - Initial guess for the Hessian

      • -
      • traj_dir - If specified, directory to save out the full ML relaxation as an ASE trajectory. Useful for debugging or visualizing results.

      • -
      -
    • -
    • num_relaxation_batches - If specified, relaxations will only be run for a subset of the relaxation dataset. Useful for debugging or wanting to visualize a few systems.

    • +
    • task

    • +
    • model

    • +
    • optimizer

    • +
    • dataset

    • +
    • trainer

    -

    A sample relaxation config can be found here.

    +
      +
    1. Create an EnergyTrainer object

    2. +
    3. Train the model

    4. +
    5. Validate the model

    6. +
    +
    +
    +

    Imports#

    +
    +
    +
    from fairchem.core.trainers import OCPTrainer
    +from fairchem.core.datasets import LmdbDataset
    +from fairchem.core import models
    +from fairchem.core.common import logger
    +from fairchem.core.common.utils import setup_logging
    +setup_logging()
    +
    +import numpy as np
    +import copy
    +import os
    +
    +
    +
    +
    +
    +
    +

    Dataset#

    +
    +
    +
    train_src = "data/is2re/train_100/data.lmdb"
    +val_src = "data/is2re/val_20/data.lmdb"
    +
    +
    +
    +
    +
    +
    +

    Normalize data#

    +

    If you wish to normalize the targets we must compute the mean and standard deviation for our energy values.

    +
    +
    +
    train_dataset = LmdbDataset({"src": train_src})
    +
    +energies = []
    +for data in train_dataset:
    +    energies.append(data.y_relaxed)
    +
    +mean = np.mean(energies)
    +stdev = np.std(energies)
    +
    +
    +
    +
    +
    +
    +

    Define the Config#

    +

    For this example, we will explicitly define the config; however, a set of default configs can be found here. Default config yaml files can easily be loaded with the following utility. Loading a yaml config is preferrable when launching jobs from the command line. We have included our best models’ config files here for reference.

    +

    Note - we only train for a single epoch with a reduced batch size (GPU memory constraints) for demonstration purposes, modify accordingly for full convergence.

    -
    # Task
    +
    # Task
     task = {
    -      'dataset': 'lmdb', # dataset used for the S2EF task
    -      'description': 'Regressing to energies and forces for DFT trajectories from OCP',
    -      'type': 'regression',
    -      'metric': 'mae',
    -      'labels': ['potential energy'],
    -      'grad_input': 'atomic forces',
    -      'train_on_free_atoms': True,
    -      'eval_on_free_atoms': True,
    -      'relax_dataset': {"src": relax_dataset},
    -      'write_pos': True,
    -      'relaxation_steps': 200,
    -      'num_relaxation_batches': 1,
    -      'relax_opt': {
    -        'maxstep': 0.04,
    -        'memory': 50,
    -        'damping': 1.0,
    -        'alpha': 70.0,
    -        'traj_dir': "ml-relaxations/is2rs-test",
    -    }
    +  "dataset": "single_point_lmdb",
    +  "description": "Relaxed state energy prediction from initial structure.",
    +  "type": "regression",
    +  "metric": "mae",
    +  "labels": ["relaxed energy"],
     }
     # Model
     model = {
         'name': 'gemnet_t',
         "num_spherical": 7,
    -    "num_radial": 128,
    -    "num_blocks": 3,
    -    "emb_size_atom": 512,
    +    "num_radial": 64,
    +    "num_blocks": 5,
    +    "emb_size_atom": 256,
         "emb_size_edge": 512,
         "emb_size_trip": 64,
         "emb_size_rbf": 16,
    @@ -1992,41 +3107,43 @@ 

    Define the Config"output_init": "HeOrthogonal", "activation": "silu", "scale_file": "./gemnet-dT.json", - "regress_forces": True, - "direct_forces": True, + "regress_forces": False, + "direct_forces": False, } # Optimizer optimizer = { 'batch_size': 1, # originally 32 'eval_batch_size': 1, # originally 32 'num_workers': 2, - 'lr_initial': 5.e-4, + 'lr_initial': 1.e-4, 'optimizer': 'AdamW', 'optimizer_params': {"amsgrad": True}, 'scheduler': "ReduceLROnPlateau", 'mode': "min", 'factor': 0.8, - 'ema_decay': 0.999, - 'clip_grad_norm': 10, 'patience': 3, 'max_epochs': 1, # used for demonstration purposes - 'force_coefficient': 100, + 'ema_decay': 0.999, + 'clip_grad_norm': 10, + 'loss_energy': 'mae', } # Dataset dataset = [ - {'src': train_src, 'normalize_labels': False}, # train set + {'src': train_src, + 'normalize_labels': True, + 'target_mean': mean, + 'target_std': stdev, + }, # train set {'src': val_src}, # val set (optional) ]

    -
    -
    -

    Create the trainer#

    +

    ###Create EnergyTrainer

    -
    -

    Load the best checkpoint#

    -
    -
    -
    trainer.load_checkpoint(checkpoint_path=checkpoint_path)
    +
    2024-05-17 18:00:59 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-18-01-36-IS2RE-example
    +  commit: 00de11a
    +  identifier: IS2RE-example
    +  logs_dir: ./logs/tensorboard/2024-05-17-18-01-36-IS2RE-example
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-18-01-36-IS2RE-example
    +  seed: 0
    +  timestamp_id: 2024-05-17-18-01-36-IS2RE-example
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: single_point_lmdb
    +  key_mapping:
    +    y_relaxed: energy
    +  normalize_labels: true
    +  src: data/is2re/train_100/data.lmdb
    +  target_mean: !!python/object/apply:numpy.core.multiarray.scalar
    +  - &id001 !!python/object/apply:numpy.dtype
    +    args:
    +    - f8
    +    - false
    +    - true
    +    state: !!python/tuple
    +    - 3
    +    - <
    +    - null
    +    - null
    +    - null
    +    - -1
    +    - -1
    +    - 0
    +  - !!binary |
    +    MjyJzgpQ978=
    +  target_std: !!python/object/apply:numpy.core.multiarray.scalar
    +  - *id001
    +  - !!binary |
    +    PnyyzMtk/T8=
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          MjyJzgpQ978=
    +        stdev: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          PnyyzMtk/T8=
    +      forces:
    +        mean: 0
    +        stdev: 1
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    - mse
    +    - energy_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +model: gemnet_t
    +model_attributes:
    +  activation: silu
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 6.0
    +  direct_forces: false
    +  emb_size_atom: 256
    +  emb_size_bil_trip: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 512
    +  emb_size_rbf: 16
    +  emb_size_trip: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  max_neighbors: 50
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_before_skip: 1
    +  num_blocks: 5
    +  num_concat: 1
    +  num_radial: 64
    +  num_spherical: 7
    +  otf_graph: false
    +  output_init: HeOrthogonal
    +  rbf:
    +    name: gaussian
    +  regress_forces: false
    +  scale_file: ./gemnet-dT.json
    +noddp: false
    +optim:
    +  batch_size: 1
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  eval_batch_size: 1
    +  factor: 0.8
    +  loss_energy: mae
    +  lr_initial: 0.0001
    +  max_epochs: 1
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +slurm: {}
    +task:
    +  dataset: single_point_lmdb
    +  description: Relaxed state energy prediction from initial structure.
    +  labels:
    +  - relaxed energy
    +  metric: mae
    +  type: regression
    +trainer: is2re
    +val_dataset:
    +  src: data/is2re/val_20/data.lmdb
    +
    +
    +
    2024-05-17 18:00:59 (INFO): Loading dataset: single_point_lmdb
     
    +
    2024-05-17 18:00:59 (INFO): rank: 0: Sampler created...
    +
    +
    2024-05-17 18:00:59 (INFO): Batch balancing is disabled for single GPU training.
    +
    -
    -
    -

    Run relaxations#

    -

    We run a full relaxation for a single batch of our relaxation dataset (num_relaxation_batches=1).

    -
    -
    -
    trainer.run_relaxations()
    +
    2024-05-17 18:00:59 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:00:59 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:00:59 (INFO): Loading model: gemnet_t
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor OutBlock_0_had not found in model
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor OutBlock_1_had not found in model
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor OutBlock_2_had not found in model
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor OutBlock_3_had not found in model
    +
    +
    +
    2024-05-17 18:01:00 (INFO): Loaded GemNetT with 22774037 parameters.
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Model gradient logging to tensorboard not yet supported.
     
    -
    -

    Visualize ML-driven relaxations#

    -

    Following our earlier visualization steps, we can plot our ML-generated relaxations.

    +
    +

    Train the Model#

    -
    import glob
    -import ase.io
    -from ase.visualize.plot import plot_atoms
    -import matplotlib.pyplot as plt
    -import random
    -import matplotlib
    -
    -params = {
    -   'axes.labelsize': 14,
    -   'font.size': 14,
    -   'font.family': ' DejaVu Sans',
    -   'legend.fontsize': 20,
    -   'xtick.labelsize': 20,
    -   'ytick.labelsize': 20,
    -   'axes.labelsize': 25,
    -   'axes.titlesize': 25,
    -   'text.usetex': False,
    -   'figure.figsize': [12, 12]
    -}
    -matplotlib.rcParams.update(params)
    +
    energy_trainer.train()
     
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor OutBlock_4_sum (out_blocks.4.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    -
    -
    -
    system = glob.glob("ml-relaxations/is2rs-test/*.traj")[0]
    -ml_trajectory = ase.io.read(system, ":")
    -
    -energies = [atom.get_potential_energy() for atom in ml_trajectory]
    -
    -plt.figure(figsize=(7, 5))
    -plt.plot(range(len(energies)), energies)
    -plt.xlabel("step")
    -plt.ylabel("energy, eV")
    -system
    +
    2024-05-17 18:01:00 (WARNING): Scale factor OutBlock_5_sum (out_blocks.5.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
     
    +
    2024-05-17 18:01:00 (WARNING): Scale factor TripInteraction_4_had_rbf (int_blocks.3.trip_interaction.scale_rbf) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor TripInteraction_4_sum_cbf (int_blocks.3.trip_interaction.scale_cbf_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    -

    Qualitatively, the ML relaxation is behaving as expected - decreasing energies over the course of the relaxation.

    -
    -
    -
    fig, ax = plt.subplots(1, 3)
    -labels = ['ml-initial', 'ml-middle', 'ml-final']
    -for i in range(3):
    -    ax[i].axis('off')
    -    ax[i].set_title(labels[i])
    -
    -ase.visualize.plot.plot_atoms(
    -    ml_trajectory[0],
    -    ax[0],
    -    radii=0.8,
    -    # rotation=("-75x, 45y, 10z")) # uncomment to visualize at different angles
    -)
    -ase.visualize.plot.plot_atoms(
    -    ml_trajectory[100],
    -    ax[1],
    -    radii=0.8,
    -    # rotation=("-75x, 45y, 10z") # uncomment to visualize at different angles
    -)
    -ase.visualize.plot.plot_atoms(
    -    ml_trajectory[-1],
    -    ax[2],
    -    radii=0.8,
    -    # rotation=("-75x, 45y, 10z"), # uncomment to visualize at different angles
    -)
    +
    2024-05-17 18:01:00 (WARNING): Scale factor AtomUpdate_4_sum (int_blocks.3.atom_update.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor TripInteraction_5_had_rbf (int_blocks.4.trip_interaction.scale_rbf) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor TripInteraction_5_sum_cbf (int_blocks.4.trip_interaction.scale_cbf_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:01:00 (WARNING): Scale factor AtomUpdate_5_sum (int_blocks.4.atom_update.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:01:15 (INFO): energy_mae: 1.61e+03, energy_mse: 4.56e+06, energy_within_threshold: 0.00e+00, loss: 8.77e+02, lr: 1.00e-04, epoch: 5.00e-02, step: 5.00e+00
    +
    +
    +
    2024-05-17 18:01:23 (INFO): energy_mae: 4.03e+03, energy_mse: 6.12e+07, energy_within_threshold: 0.00e+00, loss: 2.19e+03, lr: 1.00e-04, epoch: 1.00e-01, step: 1.00e+01
    +
    +
    +
    2024-05-17 18:01:37 (INFO): energy_mae: 7.63e+02, energy_mse: 1.13e+06, energy_within_threshold: 0.00e+00, loss: 4.15e+02, lr: 1.00e-04, epoch: 1.50e-01, step: 1.50e+01
    +
    +
    +
    2024-05-17 18:01:52 (INFO): energy_mae: 1.91e+03, energy_mse: 9.38e+06, energy_within_threshold: 0.00e+00, loss: 1.04e+03, lr: 1.00e-04, epoch: 2.00e-01, step: 2.00e+01
    +
    +
    +
    2024-05-17 18:02:05 (INFO): energy_mae: 4.71e+02, energy_mse: 7.87e+05, energy_within_threshold: 0.00e+00, loss: 2.56e+02, lr: 1.00e-04, epoch: 2.50e-01, step: 2.50e+01
    +
    +
    +
    2024-05-17 18:02:13 (INFO): energy_mae: 2.37e+02, energy_mse: 1.25e+05, energy_within_threshold: 0.00e+00, loss: 1.29e+02, lr: 1.00e-04, epoch: 3.00e-01, step: 3.00e+01
    +
    +
    +
    2024-05-17 18:02:22 (INFO): energy_mae: 2.32e+03, energy_mse: 2.24e+07, energy_within_threshold: 0.00e+00, loss: 1.26e+03, lr: 1.00e-04, epoch: 3.50e-01, step: 3.50e+01
    +
    +
    +
    2024-05-17 18:02:32 (INFO): energy_mae: 3.01e+03, energy_mse: 4.35e+07, energy_within_threshold: 0.00e+00, loss: 1.64e+03, lr: 1.00e-04, epoch: 4.00e-01, step: 4.00e+01
    +
    +
    +
    2024-05-17 18:02:45 (INFO): energy_mae: 6.80e+02, energy_mse: 7.38e+05, energy_within_threshold: 0.00e+00, loss: 3.70e+02, lr: 1.00e-04, epoch: 4.50e-01, step: 4.50e+01
    +
    +
    +
    2024-05-17 18:02:58 (INFO): energy_mae: 6.29e+02, energy_mse: 7.59e+05, energy_within_threshold: 0.00e+00, loss: 3.42e+02, lr: 1.00e-04, epoch: 5.00e-01, step: 5.00e+01
    +
    +
    +
    2024-05-17 18:03:14 (INFO): energy_mae: 3.18e+02, energy_mse: 1.22e+05, energy_within_threshold: 0.00e+00, loss: 1.73e+02, lr: 1.00e-04, epoch: 5.50e-01, step: 5.50e+01
    +
    +
    +
    2024-05-17 18:03:26 (INFO): energy_mae: 2.43e+02, energy_mse: 9.12e+04, energy_within_threshold: 0.00e+00, loss: 1.32e+02, lr: 1.00e-04, epoch: 6.00e-01, step: 6.00e+01
    +
    +
    +
    2024-05-17 18:03:39 (INFO): energy_mae: 4.96e+02, energy_mse: 4.17e+05, energy_within_threshold: 0.00e+00, loss: 2.70e+02, lr: 1.00e-04, epoch: 6.50e-01, step: 6.50e+01
    +
    +
    +
    2024-05-17 18:03:57 (INFO): energy_mae: 2.92e+03, energy_mse: 3.72e+07, energy_within_threshold: 0.00e+00, loss: 1.59e+03, lr: 1.00e-04, epoch: 7.00e-01, step: 7.00e+01
    +
    +
    +
    2024-05-17 18:04:09 (INFO): energy_mae: 3.45e+02, energy_mse: 1.68e+05, energy_within_threshold: 0.00e+00, loss: 1.88e+02, lr: 1.00e-04, epoch: 7.50e-01, step: 7.50e+01
    +
    +
    +
    2024-05-17 18:04:21 (INFO): energy_mae: 2.24e+02, energy_mse: 8.20e+04, energy_within_threshold: 0.00e+00, loss: 1.22e+02, lr: 1.00e-04, epoch: 8.00e-01, step: 8.00e+01
    +
    +
    +
    2024-05-17 18:04:30 (INFO): energy_mae: 1.81e+02, energy_mse: 4.39e+04, energy_within_threshold: 0.00e+00, loss: 9.87e+01, lr: 1.00e-04, epoch: 8.50e-01, step: 8.50e+01
    +
    +
    +
    2024-05-17 18:04:40 (INFO): energy_mae: 1.03e+02, energy_mse: 2.98e+04, energy_within_threshold: 0.00e+00, loss: 5.63e+01, lr: 1.00e-04, epoch: 9.00e-01, step: 9.00e+01
    +
    +
    +
    2024-05-17 18:04:51 (INFO): energy_mae: 2.44e+02, energy_mse: 9.96e+04, energy_within_threshold: 0.00e+00, loss: 1.33e+02, lr: 1.00e-04, epoch: 9.50e-01, step: 9.50e+01
    +
    +
    +
    2024-05-17 18:05:00 (INFO): energy_mae: 8.32e+01, energy_mse: 1.06e+04, energy_within_threshold: 0.00e+00, loss: 4.53e+01, lr: 1.00e-04, epoch: 1.00e+00, step: 1.00e+02
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor OutBlock_4_sum (out_blocks.4.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor OutBlock_5_sum (out_blocks.5.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor TripInteraction_4_had_rbf (int_blocks.3.trip_interaction.scale_rbf) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor TripInteraction_4_sum_cbf (int_blocks.3.trip_interaction.scale_cbf_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor AtomUpdate_4_sum (int_blocks.3.atom_update.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor TripInteraction_5_had_rbf (int_blocks.4.trip_interaction.scale_rbf) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor TripInteraction_5_sum_cbf (int_blocks.4.trip_interaction.scale_cbf_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (WARNING): Scale factor AtomUpdate_5_sum (int_blocks.4.atom_update.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:00 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/20 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   5%|▌         | 1/20 [00:01<00:24,  1.29s/it]
    +
    +
    +
    device 0:  10%|█         | 2/20 [00:02<00:26,  1.47s/it]
    +
    +
    +
    device 0:  15%|█▌        | 3/20 [00:04<00:23,  1.39s/it]
    +
    +
    +
    device 0:  20%|██        | 4/20 [00:04<00:17,  1.07s/it]
    +
    +
    +
    device 0:  25%|██▌       | 5/20 [00:05<00:15,  1.04s/it]
    +
    +
    +
    device 0:  30%|███       | 6/20 [00:06<00:14,  1.00s/it]
    +
    +
    +
    device 0:  35%|███▌      | 7/20 [00:07<00:11,  1.13it/s]
    +
    +
    +
    device 0:  40%|████      | 8/20 [00:10<00:18,  1.56s/it]
    +
    +
    +
    device 0:  45%|████▌     | 9/20 [00:10<00:14,  1.28s/it]
    +
    +
    +
    device 0:  50%|█████     | 10/20 [00:11<00:10,  1.04s/it]
    +
    +
    +
    device 0:  55%|█████▌    | 11/20 [00:11<00:07,  1.18it/s]
    +
    +
    +
    device 0:  60%|██████    | 12/20 [00:12<00:07,  1.13it/s]
    +
    +
    +
    device 0:  65%|██████▌   | 13/20 [00:13<00:05,  1.32it/s]
    +
    +
    +
    device 0:  70%|███████   | 14/20 [00:14<00:05,  1.15it/s]
    +
    +
    +
    device 0:  75%|███████▌  | 15/20 [00:15<00:04,  1.15it/s]
    +
    +
    +
    device 0:  80%|████████  | 16/20 [00:15<00:02,  1.56it/s]
    +
    +
    +
    device 0:  85%|████████▌ | 17/20 [00:16<00:02,  1.22it/s]
    +
    +
    +
    device 0:  90%|█████████ | 18/20 [00:17<00:01,  1.04it/s]
    +
    +
    +
    device 0:  95%|█████████▌| 19/20 [00:19<00:01,  1.09s/it]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:20<00:00,  1.04it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:20<00:00,  1.01s/it]
    +
    +
    +
    2024-05-17 18:05:21 (INFO): energy_mae: 1911.9812, energy_mse: 15117579.8586, energy_within_threshold: 0.0000, loss: 1040.7558, epoch: 1.0000
    +
    +
    +
    
     
    -

    Qualitatively, the generated structures seem reasonable with no obvious issues we had previously mentioned to look out for.

    -
    -
    -
    -

    Model development #

    -

    In this section, we will walk through how to develop a simple Graph Neural Network model on the S2EF-200k dataset.

    -

    Let’s begin by setting up some imports and boilerplate config parameters.

    -
    -

    Imports#

    +
    +

    Validate the Model#

    +
    +

    Load the best checkpoint#

    -
    import torch
    -
    -from typing import Optional
    -
    -from fairchem.core.trainers import OCPTrainer
    -from fairchem.core import models
    -from fairchem.core.common import logger
    -from fairchem.core.common.utils import setup_logging, get_pbc_distances
    -from fairchem.core.common.registry import registry
    -
    -from fairchem.core.models.gemnet.layers.radial_basis import PolynomialEnvelope
    -
    -from torch_geometric.nn.models.schnet import GaussianSmearing
    -from torch_scatter import scatter
    +
    # The `best_checpoint.pt` file contains the checkpoint with the best val performance
    +checkpoint_path = os.path.join(energy_trainer.config["cmd"]["checkpoint_dir"], "best_checkpoint.pt")
    +checkpoint_path
    +
    +
    +
    +
    +
    './checkpoints/2024-05-17-18-01-36-IS2RE-example/best_checkpoint.pt'
     
    -
    setup_logging()
    -
    -# Dataset paths
    -train_src = "data/s2ef/train_100"
    -val_src = "data/s2ef/val_20"
    -
    -# Configs
    -task = {
    -    'dataset': 'trajectory_lmdb', # dataset used for the S2EF task
    -    'description': 'Regressing to energies and forces for DFT trajectories from OCP',
    -    'type': 'regression',
    -    'metric': 'mae',
    -    'labels': ['potential energy'],
    -    'grad_input': 'atomic forces',
    -    'train_on_free_atoms': True,
    -    'eval_on_free_atoms': True
    -}
    -
    -# Optimizer
    -optimizer = {
    -    'batch_size': 16, # if hitting GPU memory issues, lower this
    -    'eval_batch_size': 8,
    -    'num_workers': 8,
    -    'lr_initial': 0.0001,
    -    'scheduler': "ReduceLROnPlateau",
    -    'mode': "min",
    -    'factor': 0.8,
    -    'patience': 3,
    -    'max_epochs': 80,
    -    'max_epochs': 5,
    -    'force_coefficient': 100,
    -}
    +
    # Append the dataset with the test set. We use the same val set for demonstration.
     
     # Dataset
    -dataset = [
    -  {'src': train_src, 'normalize_labels': True, 'target_mean':  -0.7554450631141663, 'target_std': 2.887317180633545, 'grad_target_mean': 0.0, 'grad_target_std': 2.887317180633545}, # train set
    -  {'src': val_src},
    -]
    +dataset.append(
    +  {'src': val_src}, # test set (optional)
    +)
    +dataset
     
    +
    +
    [{'src': 'data/is2re/train_100/data.lmdb',
    +  'normalize_labels': True,
    +  'target_mean': -1.4570415561499996,
    +  'target_std': 1.8371084209427546},
    + {'src': 'data/is2re/val_20/data.lmdb'},
    + {'src': 'data/is2re/val_20/data.lmdb'}]
    +
    -
    -
    -

    Atom and Edge Embeddings#

    -

    Each atom is represented as a node with its features computed using a simple torch.nn.Embedding layer on the atomic number.

    -

    All pairs of atoms with a defined cutoff radius (=6A) are assumed to have edges between them, with their features computed as the concatenation of 1) a Gaussian expansion of the distance between the atoms, and the 2) source and 3) target -node features.

    -

    We will use the GaussianSmearing layer (reproduced below) from the PyTorch Geometric library for computing distance features:

    -
    class GaussianSmearing(torch.nn.Module):
    -    def __init__(self, start=0.0, stop=5.0, num_gaussians=50):
    -        super(GaussianSmearing, self).__init__()
    -        offset = torch.linspace(start, stop, num_gaussians)
    -        self.coeff = -0.5 / (offset[1] - offset[0]).item()**2
    -        self.register_buffer('offset', offset)
    +
    +
    +
    +
    +
    pretrained_energy_trainer = OCPTrainer(
    +    task=task,
    +    model=copy.deepcopy(model), # copied for later use, not necessary in practice.
    +    dataset=dataset,
    +    optimizer=optimizer,
    +    outputs={},
    +    loss_fns={},
    +    eval_metrics={},
    +    name="is2re",
    +    identifier="IS2RE-val-example",
    +    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    +    is_debug=False, # if True, do not save checkpoint, logs, or results
    +    print_every=5,
    +    seed=0, # random seed to use
    +    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    +    local_rank=0,
    +    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    +)
     
    -    def forward(self, dist):
    -        dist = dist.view(-1, 1) - self.offset.view(1, -1)
    -        return torch.exp(self.coeff * torch.pow(dist, 2))
    +pretrained_energy_trainer.load_checkpoint(checkpoint_path=checkpoint_path)
    +
    +
    +
    +
    +
    2024-05-17 18:05:21 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    2024-05-17 18:05:21 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-18-05-52-IS2RE-val-example
    +  commit: 00de11a
    +  identifier: IS2RE-val-example
    +  logs_dir: ./logs/tensorboard/2024-05-17-18-05-52-IS2RE-val-example
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-18-05-52-IS2RE-val-example
    +  seed: 0
    +  timestamp_id: 2024-05-17-18-05-52-IS2RE-val-example
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: single_point_lmdb
    +  key_mapping:
    +    y_relaxed: energy
    +  normalize_labels: true
    +  src: data/is2re/train_100/data.lmdb
    +  target_mean: !!python/object/apply:numpy.core.multiarray.scalar
    +  - &id001 !!python/object/apply:numpy.dtype
    +    args:
    +    - f8
    +    - false
    +    - true
    +    state: !!python/tuple
    +    - 3
    +    - <
    +    - null
    +    - null
    +    - null
    +    - -1
    +    - -1
    +    - 0
    +  - !!binary |
    +    MjyJzgpQ978=
    +  target_std: !!python/object/apply:numpy.core.multiarray.scalar
    +  - *id001
    +  - !!binary |
    +    PnyyzMtk/T8=
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          MjyJzgpQ978=
    +        stdev: !!python/object/apply:numpy.core.multiarray.scalar
    +        - *id001
    +        - !!binary |
    +          PnyyzMtk/T8=
    +      forces:
    +        mean: 0
    +        stdev: 1
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    - mse
    +    - energy_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +model: gemnet_t
    +model_attributes:
    +  activation: silu
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 6.0
    +  direct_forces: false
    +  emb_size_atom: 256
    +  emb_size_bil_trip: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 512
    +  emb_size_rbf: 16
    +  emb_size_trip: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  max_neighbors: 50
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_before_skip: 1
    +  num_blocks: 5
    +  num_concat: 1
    +  num_radial: 64
    +  num_spherical: 7
    +  otf_graph: false
    +  output_init: HeOrthogonal
    +  rbf:
    +    name: gaussian
    +  regress_forces: false
    +  scale_file: ./gemnet-dT.json
    +noddp: false
    +optim:
    +  batch_size: 1
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  eval_batch_size: 1
    +  factor: 0.8
    +  loss_energy: mae
    +  lr_initial: 0.0001
    +  max_epochs: 1
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +slurm: {}
    +task:
    +  dataset: single_point_lmdb
    +  description: Relaxed state energy prediction from initial structure.
    +  labels:
    +  - relaxed energy
    +  metric: mae
    +  type: regression
    +test_dataset:
    +  src: data/is2re/val_20/data.lmdb
    +trainer: is2re
    +val_dataset:
    +  src: data/is2re/val_20/data.lmdb
    +
    +
    +
    2024-05-17 18:05:21 (INFO): Loading dataset: single_point_lmdb
    +
    +
    +
    2024-05-17 18:05:21 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:05:21 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:05:21 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:05:21 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:05:21 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:05:21 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:05:21 (INFO): Loading model: gemnet_t
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor OutBlock_0_had not found in model
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor OutBlock_1_had not found in model
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor OutBlock_2_had not found in model
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor OutBlock_3_had not found in model
    +
    +
    +
    2024-05-17 18:05:22 (INFO): Loaded GemNetT with 22774037 parameters.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Model gradient logging to tensorboard not yet supported.
    +
    +
    +
    2024-05-17 18:05:22 (INFO): Loading checkpoint from: ./checkpoints/2024-05-17-18-01-36-IS2RE-example/best_checkpoint.pt
     
    +
    +
    +
    +
    +

    Test the model#

    -
    class AtomEmbedding(torch.nn.Module):
    -    def __init__(self, emb_size):
    -        super().__init__()
    -        self.embeddings = torch.nn.Embedding(83, emb_size) # We go up to Bi (83).
    -
    -    def forward(self, Z):
    -        h = self.embeddings(Z - 1)  # -1 because Z.min()=1 (==Hydrogen)
    -        return h
    -
    -class EdgeEmbedding(torch.nn.Module):
    -    def __init__(self, atom_emb_size, edge_emb_size, out_size):
    -        super().__init__()
    -        in_features = 2 * atom_emb_size + edge_emb_size
    -        self.dense = torch.nn.Sequential(
    -            torch.nn.Linear(in_features, out_size, bias=False),
    -            torch.nn.SiLU()
    -        )
    -
    -    def forward(self, h, m_rbf, idx_s, idx_t,
    -    ):
    -        h_s = h[idx_s]  # indexing source node, shape=(num_edges, emb_size)
    -        h_t = h[idx_t]  # indexing target node, shape=(num_edges, emb_size)
    -
    -        m_st = torch.cat([h_s, h_t, m_rbf], dim=-1)  # (num_edges, 2 * atom_emb_size + edge_emb_size)
    -        m_st = self.dense(m_st)  # (num_edges, out_size)
    -        return m_st
    -
    -class RadialBasis(torch.nn.Module):
    -    def __init__(self, num_radial: int, cutoff: float, env_exponent: int = 5):
    -        super().__init__()
    -        self.inv_cutoff = 1 / cutoff
    -        self.envelope = PolynomialEnvelope(env_exponent)
    -        self.rbf = GaussianSmearing(start=0, stop=1, num_gaussians=num_radial)
    -
    -    def forward(self, d):
    -        d_scaled = d * self.inv_cutoff
    -        env = self.envelope(d_scaled)
    -        return env[:, None] * self.rbf(d_scaled)  # (num_edges, num_radial)
    +
    # make predictions on the existing test_loader
    +predictions = pretrained_energy_trainer.predict(pretrained_trainer.test_loader, results_file="is2re_results", disable_tqdm=False)
    +
    +
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor OutBlock_4_sum (out_blocks.4.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor OutBlock_5_sum (out_blocks.5.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor TripInteraction_4_had_rbf (int_blocks.3.trip_interaction.scale_rbf) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor TripInteraction_4_sum_cbf (int_blocks.3.trip_interaction.scale_cbf_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor AtomUpdate_4_sum (int_blocks.3.atom_update.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor TripInteraction_5_had_rbf (int_blocks.4.trip_interaction.scale_rbf) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor TripInteraction_5_sum_cbf (int_blocks.4.trip_interaction.scale_cbf_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (WARNING): Scale factor AtomUpdate_5_sum (int_blocks.4.atom_update.scale_sum) is not fitted. Please make sure that you either (1) load a checkpoint with fitted scale factors, (2) explicitly load scale factors using the `model.scale_file` attribute, or (3) fit the scale factors using the `fit.py` script.
    +
    +
    +
    2024-05-17 18:05:22 (INFO): Predicting on test.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   0%|          | 0/20 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   5%|▌         | 1/20 [00:00<00:06,  2.73it/s]
    +
    +
    +
    device 0:  10%|█         | 2/20 [00:00<00:05,  3.55it/s]
    +
    +
    +
    device 0:  15%|█▌        | 3/20 [00:00<00:04,  3.91it/s]
    +
    +
    +
    device 0:  20%|██        | 4/20 [00:01<00:03,  4.18it/s]
    +
    +
    +
    device 0:  25%|██▌       | 5/20 [00:01<00:03,  4.24it/s]
    +
    +
    +
    device 0:  30%|███       | 6/20 [00:01<00:03,  4.28it/s]
    +
    +
    +
    device 0:  35%|███▌      | 7/20 [00:01<00:02,  4.43it/s]
    +
    +
    +
    device 0:  40%|████      | 8/20 [00:01<00:02,  4.60it/s]
    +
    +
    +
    device 0:  45%|████▌     | 9/20 [00:02<00:02,  4.61it/s]
    +
    +
    +
    device 0:  50%|█████     | 10/20 [00:02<00:02,  4.57it/s]
    +
    +
    +
    device 0:  55%|█████▌    | 11/20 [00:02<00:01,  4.70it/s]
    +
    +
    +
    device 0:  60%|██████    | 12/20 [00:02<00:01,  4.80it/s]
    +
    +
    +
    device 0:  65%|██████▌   | 13/20 [00:02<00:01,  4.87it/s]
    +
    +
    +
    device 0:  70%|███████   | 14/20 [00:03<00:01,  4.92it/s]
    +
    +
    +
    device 0:  75%|███████▌  | 15/20 [00:03<00:01,  4.93it/s]
    +
    +
    +
    device 0:  80%|████████  | 16/20 [00:03<00:00,  4.67it/s]
    +
    +
    +
    device 0:  85%|████████▌ | 17/20 [00:03<00:00,  4.81it/s]
    +
    +
    +
    device 0:  90%|█████████ | 18/20 [00:03<00:00,  4.91it/s]
    +
    +
    +
    device 0:  95%|█████████▌| 19/20 [00:04<00:00,  4.94it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:04<00:00,  5.00it/s]
    +
    +
    +
    device 0: 100%|██████████| 20/20 [00:04<00:00,  4.49it/s]
    +
    +
    +
    2024-05-17 18:05:27 (INFO): Writing results to ./results/2024-05-17-18-05-52-IS2RE-val-example/is2re_is2re_results.npz
    +
    +
    +
    
    +
    +
    +
    +
    +
    +
    +
    energies = predictions["energy"]
     
    -
    -

    Message passing#

    -

    We start by implementing a very simple message-passing scheme to predict system energy and forces.

    -

    Given the node and edge features, we sum up edge features for all edges \(e_{ij}\) connecting node \(i\) to its neighbors \(j\), and pass the resultant vector through a fully-connected layer to project it down to a scalar. This gives us a scalar energy contribution for each node \(i\) in the structure. We then sum up all node energy contributions to predict the overall system energy.

    -

    Similarly, to predict forces, we pass edge features through a fully-connected layer to project it down to a scalar representing the force magnitude per edge \(e_{ij}\). We can then sum up these force magnitudes based on the original edge directions to predict the resultant force vector per node \(i\).

    +
    +
    +
    +

    Initial Structure to Relaxed Structure (IS2RS) #

    +

    We approach the IS2RS task by using a pre-trained S2EF model to iteratively run a structure optimization to arrive at a relaxed structure. While the majority of approaches for this task do this iteratively, we note it’s possible to train a model to directly predict relaxed structures.

    +
    +
    +

    Steps for making IS2RS predictions#

    +
      +
    1. Define or load a configuration (config), which includes the following

    2. +
    +
      +
    • task with relaxation dataset information

    • +
    • model

    • +
    • optimizer

    • +
    • dataset

    • +
    • trainer

    • +
    +
      +
    1. Create a ForcesTrainer object

    2. +
    3. Train a S2EF model or load an existing S2EF checkpoint

    4. +
    5. Run relaxations

    6. +
    +

    Note For this task we’ll be using a publicly released pre-trained checkpoint of our best model to perform relaxations.

    +
    +

    Imports#

    -
    @registry.register_model("simple")
    -class SimpleAtomEdgeModel(torch.nn.Module):
    -    def __init__(self, num_atoms, bond_feat_dim, num_targets, emb_size=64, num_radial=64, cutoff=6.0, env_exponent=5):
    -        super().__init__()
    -
    -        self.radial_basis = RadialBasis(
    -            num_radial=num_radial,
    -            cutoff=cutoff,
    -            env_exponent=env_exponent,
    -        )
    -
    -        self.atom_emb = AtomEmbedding(emb_size)
    -        self.edge_emb = EdgeEmbedding(emb_size, num_radial, emb_size)
    +
    from fairchem.core.trainers import OCPTrainer
    +from fairchem.core.datasets import LmdbDataset
    +from fairchem.core import models
    +from fairchem.core.common import logger
    +from fairchem.core.common.utils import setup_logging
    +setup_logging()
     
    -        self.out_energy = torch.nn.Linear(emb_size, 1)
    -        self.out_forces = torch.nn.Linear(emb_size, 1)
    +import numpy as np
    +
    +
    +
    +
    +
    +
    +

    Dataset#

    +

    The IS2RS task requires an additional realxation dataset to be defined - relax_dataset. This dataset is read in similar to the IS2RE dataset - requiring an LMDB file. The same datasets are used for the IS2RE and IS2RS tasks.

    +
    +
    +
    train_src = "data/s2ef/train_100"
    +val_src = "data/s2ef/val_20"
    +relax_dataset = "data/is2re/val_20/data.lmdb"
    +
    +
    +
    +
    +
    +
    +

    Download pretrained checkpoint#

    +
    +
    +
    from fairchem.core.models.model_registry import model_name_to_local_file
    +
    +checkpoint_path = model_name_to_local_file('GemNet-dT-S2EF-OC20-All', local_cache='/tmp/ocp_checkpoints/')
    +
    +
    +
    +
    +
    2024-05-17 18:05:27 (INFO): Checking local cache: /tmp/ocp_checkpoints/ for model GemNet-dT-S2EF-OC20-All
    +
    +
    +
    +
    +
    +
    +

    Define the Config#

    +

    Running an iterative S2EF model for the IS2RS task can be run from any S2EF config given the following additions to the task portion of the config:

    +
      +
    • relax_dataset - IS2RE LMDB dataset

    • +
    • write_pos - Whether to save out relaxed positions

    • +
    • relaxation_steps - Number of optimization steps to run

    • +
    • relax_opt - Dictionary of optimizer settings. Currently only LBFGS supported

      +
        +
      • maxstep - Maximum distance an optimization is allowed to make

      • +
      • memory - Memory history to use for LBFGS

      • +
      • damping - Calculated step is multiplied by this factor before updating positions

      • +
      • alpha - Initial guess for the Hessian

      • +
      • traj_dir - If specified, directory to save out the full ML relaxation as an ASE trajectory. Useful for debugging or visualizing results.

      • +
      +
    • +
    • num_relaxation_batches - If specified, relaxations will only be run for a subset of the relaxation dataset. Useful for debugging or wanting to visualize a few systems.

    • +
    +

    A sample relaxation config can be found here.

    +
    +
    +
    # Task
    +task = {
    +      'dataset': 'lmdb', # dataset used for the S2EF task
    +      'description': 'Regressing to energies and forces for DFT trajectories from OCP',
    +      'type': 'regression',
    +      'metric': 'mae',
    +      'labels': ['potential energy'],
    +      'grad_input': 'atomic forces',
    +      'train_on_free_atoms': True,
    +      'eval_on_free_atoms': True,
    +      'relax_dataset': {"src": relax_dataset},
    +      'write_pos': True,
    +      'relaxation_steps': 200,
    +      'num_relaxation_batches': 1,
    +      'relax_opt': {
    +        'maxstep': 0.04,
    +        'memory': 50,
    +        'damping': 1.0,
    +        'alpha': 70.0,
    +        'traj_dir': "ml-relaxations/is2rs-test",
    +    }
    +}
    +# Model
    +model = {
    +    'name': 'gemnet_t',
    +    "num_spherical": 7,
    +    "num_radial": 128,
    +    "num_blocks": 3,
    +    "emb_size_atom": 512,
    +    "emb_size_edge": 512,
    +    "emb_size_trip": 64,
    +    "emb_size_rbf": 16,
    +    "emb_size_cbf": 16,
    +    "emb_size_bil_trip": 64,
    +    "num_before_skip": 1,
    +    "num_after_skip": 2,
    +    "num_concat": 1,
    +    "num_atom": 3,
    +    "cutoff": 6.0,
    +    "max_neighbors": 50,
    +    "rbf": {"name": "gaussian"},
    +    "envelope": {
    +      "name": "polynomial",
    +      "exponent": 5,
    +    },
    +    "cbf": {"name": "spherical_harmonics"},
    +    "extensive": True,
    +    "otf_graph": False,
    +    "output_init": "HeOrthogonal",
    +    "activation": "silu",
    +    "scale_file": "./gemnet-dT.json",
    +    "regress_forces": True,
    +    "direct_forces": True,
    +}
    +# Optimizer
    +optimizer = {
    +    'batch_size': 1,         # originally 32
    +    'eval_batch_size': 1,    # originally 32
    +    'num_workers': 2,
    +    'lr_initial': 5.e-4,
    +    'optimizer': 'AdamW',
    +    'optimizer_params': {"amsgrad": True},
    +    'scheduler': "ReduceLROnPlateau",
    +    'mode': "min",
    +    'factor': 0.8,
    +    'ema_decay': 0.999,
    +    'clip_grad_norm': 10,
    +    'patience': 3,
    +    'max_epochs': 1,         # used for demonstration purposes
    +    'force_coefficient': 100,
    +}
    +# Dataset
    +dataset = [
    +  {'src': train_src, 'normalize_labels': False}, # train set
    +  {'src': val_src}, # val set (optional)
    +]
    +
    +
    +
    +
    +
    +
    +

    Create the trainer#

    +
    +
    +
    trainer = OCPTrainer(
    +    task=task,
    +    model=copy.deepcopy(model), # copied for later use, not necessary in practice.
    +    dataset=dataset,
    +    optimizer=optimizer,
    +    outputs={},
    +    loss_fns={},
    +    eval_metrics={},
    +    name="s2ef",
    +    identifier="is2rs-example",
    +    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    +    is_debug=False, # if True, do not save checkpoint, logs, or results
    +    print_every=5,
    +    seed=0, # random seed to use
    +    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    +    local_rank=0,
    +    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    +)
    +
    +
    +
    +
    +
    2024-05-17 18:05:28 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    2024-05-17 18:05:28 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-18-05-52-is2rs-example
    +  commit: 00de11a
    +  identifier: is2rs-example
    +  logs_dir: ./logs/tensorboard/2024-05-17-18-05-52-is2rs-example
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-18-05-52-is2rs-example
    +  seed: 0
    +  timestamp_id: 2024-05-17-18-05-52-is2rs-example
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: lmdb
    +  key_mapping:
    +    force: forces
    +    y: energy
    +  normalize_labels: false
    +  src: data/s2ef/train_100
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 100
    +    fn: l2mae
    +model: gemnet_t
    +model_attributes:
    +  activation: silu
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 6.0
    +  direct_forces: true
    +  emb_size_atom: 512
    +  emb_size_bil_trip: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 512
    +  emb_size_rbf: 16
    +  emb_size_trip: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  max_neighbors: 50
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_before_skip: 1
    +  num_blocks: 3
    +  num_concat: 1
    +  num_radial: 128
    +  num_spherical: 7
    +  otf_graph: false
    +  output_init: HeOrthogonal
    +  rbf:
    +    name: gaussian
    +  regress_forces: true
    +  scale_file: ./gemnet-dT.json
    +noddp: false
    +optim:
    +  batch_size: 1
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  eval_batch_size: 1
    +  factor: 0.8
    +  force_coefficient: 100
    +  lr_initial: 0.0005
    +  max_epochs: 1
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +slurm: {}
    +task:
    +  dataset: lmdb
    +  description: Regressing to energies and forces for DFT trajectories from OCP
    +  eval_on_free_atoms: true
    +  grad_input: atomic forces
    +  labels:
    +  - potential energy
    +  metric: mae
    +  num_relaxation_batches: 1
    +  relax_dataset:
    +    src: data/is2re/val_20/data.lmdb
    +  relax_opt:
    +    alpha: 70.0
    +    damping: 1.0
    +    maxstep: 0.04
    +    memory: 50
    +    traj_dir: ml-relaxations/is2rs-test
    +  relaxation_steps: 200
    +  train_on_free_atoms: true
    +  type: regression
    +  write_pos: true
    +trainer: s2ef
    +val_dataset:
    +  src: data/s2ef/val_20
    +
    +
    +
    2024-05-17 18:05:28 (INFO): Loading dataset: lmdb
    +
    +
    +
    2024-05-17 18:05:28 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:05:28 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:05:28 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:05:28 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:05:28 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:05:28 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:05:28 (INFO): Loading model: gemnet_t
    +
    +
    +
    2024-05-17 18:05:29 (INFO): Loaded GemNetT with 31671825 parameters.
    +
    +
    +
    2024-05-17 18:05:29 (WARNING): Model gradient logging to tensorboard not yet supported.
    +
    +
    +
    +
    +
    +
    +

    Load the best checkpoint#

    +
    +
    +
    trainer.load_checkpoint(checkpoint_path=checkpoint_path)
    +
    +
    +
    +
    +
    2024-05-17 18:05:29 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gemnet_t_direct_h512_all.pt
    +
    +
    +
    +
    +
    +
    +

    Run relaxations#

    +

    We run a full relaxation for a single batch of our relaxation dataset (num_relaxation_batches=1).

    +
    +
    +
    trainer.run_relaxations()
    +
    +
    +
    +
    +
    2024-05-17 18:05:29 (INFO): Running ML-relaxations
    +
    +
    +
      0%|          | 0/20 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:05:29 (INFO): Step   Fmax(eV/A)
    +
    +
    +
    2024-05-17 18:05:31 (INFO): 0 2.630
    +
    +
    +
    2024-05-17 18:05:32 (INFO): 1 2.094
    +
    +
    +
    2024-05-17 18:05:33 (INFO): 2 1.509
    +
    +
    +
    2024-05-17 18:05:34 (INFO): 3 1.128
    +
    +
    +
    2024-05-17 18:05:35 (INFO): 4 1.405
    +
    +
    +
    2024-05-17 18:05:36 (INFO): 5 1.649
    +
    +
    +
    2024-05-17 18:05:37 (INFO): 6 1.798
    +
    +
    +
    2024-05-17 18:05:38 (INFO): 7 1.882
    +
    +
    +
    2024-05-17 18:05:39 (INFO): 8 1.930
    +
    +
    +
    2024-05-17 18:05:40 (INFO): 9 1.935
    +
    +
    +
    2024-05-17 18:05:41 (INFO): 10 1.884
    +
    +
    +
    2024-05-17 18:05:42 (INFO): 11 1.773
    +
    +
    +
    2024-05-17 18:05:43 (INFO): 12 1.602
    +
    +
    +
    2024-05-17 18:05:44 (INFO): 13 1.378
    +
    +
    +
    2024-05-17 18:05:45 (INFO): 14 1.120
    +
    +
    +
    2024-05-17 18:05:46 (INFO): 15 0.928
    +
    +
    +
    2024-05-17 18:05:47 (INFO): 16 0.874
    +
    +
    +
    2024-05-17 18:05:48 (INFO): 17 0.880
    +
    +
    +
    2024-05-17 18:05:49 (INFO): 18 0.846
    +
    +
    +
    2024-05-17 18:05:50 (INFO): 19 0.758
    +
    +
    +
    2024-05-17 18:05:51 (INFO): 20 0.751
    +
    +
    +
    2024-05-17 18:05:52 (INFO): 21 0.862
    +
    +
    +
    2024-05-17 18:05:53 (INFO): 22 0.893
    +
    +
    +
    2024-05-17 18:05:54 (INFO): 23 0.920
    +
    +
    +
    2024-05-17 18:05:55 (INFO): 24 0.930
    +
    +
    +
    2024-05-17 18:05:57 (INFO): 25 0.718
    +
    +
    +
    2024-05-17 18:05:58 (INFO): 26 0.369
    +
    +
    +
    2024-05-17 18:05:59 (INFO): 27 0.341
    +
    +
    +
    2024-05-17 18:06:00 (INFO): 28 0.418
    +
    +
    +
    2024-05-17 18:06:01 (INFO): 29 0.447
    +
    +
    +
    2024-05-17 18:06:02 (INFO): 30 0.509
    +
    +
    +
    2024-05-17 18:06:03 (INFO): 31 0.516
    +
    +
    +
    2024-05-17 18:06:04 (INFO): 32 0.480
    +
    +
    +
    2024-05-17 18:06:05 (INFO): 33 0.417
    +
    +
    +
    2024-05-17 18:06:06 (INFO): 34 0.387
    +
    +
    +
    2024-05-17 18:06:07 (INFO): 35 0.370
    +
    +
    +
    2024-05-17 18:06:08 (INFO): 36 0.340
    +
    +
    +
    2024-05-17 18:06:09 (INFO): 37 0.300
    +
    +
    +
    2024-05-17 18:06:10 (INFO): 38 0.310
    +
    +
    +
    2024-05-17 18:06:11 (INFO): 39 0.313
    +
    +
    +
    2024-05-17 18:06:12 (INFO): 40 0.306
    +
    +
    +
    2024-05-17 18:06:13 (INFO): 41 0.343
    +
    +
    +
    2024-05-17 18:06:14 (INFO): 42 0.390
    +
    +
    +
    2024-05-17 18:06:15 (INFO): 43 0.431
    +
    +
    +
    2024-05-17 18:06:16 (INFO): 44 0.464
    +
    +
    +
    2024-05-17 18:06:17 (INFO): 45 0.486
    +
    +
    +
    2024-05-17 18:06:18 (INFO): 46 0.498
    +
    +
    +
    2024-05-17 18:06:19 (INFO): 47 0.497
    +
    +
    +
    2024-05-17 18:06:20 (INFO): 48 0.480
    +
    +
    +
    2024-05-17 18:06:21 (INFO): 49 0.440
    +
    +
    +
    2024-05-17 18:06:22 (INFO): 50 0.363
    +
    +
    +
    2024-05-17 18:06:23 (INFO): 51 0.239
    +
    +
    +
    2024-05-17 18:06:24 (INFO): 52 0.255
    +
    +
    +
    2024-05-17 18:06:25 (INFO): 53 0.257
    +
    +
    +
    2024-05-17 18:06:26 (INFO): 54 0.258
    +
    +
    +
    2024-05-17 18:06:27 (INFO): 55 0.319
    +
    +
    +
    2024-05-17 18:06:28 (INFO): 56 0.327
    +
    +
    +
    2024-05-17 18:06:29 (INFO): 57 0.308
    +
    +
    +
    2024-05-17 18:06:30 (INFO): 58 0.276
    +
    +
    +
    2024-05-17 18:06:31 (INFO): 59 0.235
    +
    +
    +
    2024-05-17 18:06:32 (INFO): 60 0.188
    +
    +
    +
    2024-05-17 18:06:33 (INFO): 61 0.177
    +
    +
    +
    2024-05-17 18:06:34 (INFO): 62 0.181
    +
    +
    +
    2024-05-17 18:06:35 (INFO): 63 0.184
    +
    +
    +
    2024-05-17 18:06:36 (INFO): 64 0.178
    +
    +
    +
    2024-05-17 18:06:37 (INFO): 65 0.185
    +
    +
    +
    2024-05-17 18:06:38 (INFO): 66 0.234
    +
    +
    +
    2024-05-17 18:06:39 (INFO): 67 0.269
    +
    +
    +
    2024-05-17 18:06:40 (INFO): 68 0.277
    +
    +
    +
    2024-05-17 18:06:41 (INFO): 69 0.260
    +
    +
    +
    2024-05-17 18:06:42 (INFO): 70 0.315
    +
    +
    +
    2024-05-17 18:06:44 (INFO): 71 0.357
    +
    +
    +
    2024-05-17 18:06:45 (INFO): 72 0.285
    +
    +
    +
    2024-05-17 18:06:46 (INFO): 73 0.190
    +
    +
    +
    2024-05-17 18:06:47 (INFO): 74 0.196
    +
    +
    +
    2024-05-17 18:06:48 (INFO): 75 0.238
    +
    +
    +
    2024-05-17 18:06:49 (INFO): 76 0.275
    +
    +
    +
    2024-05-17 18:06:50 (INFO): 77 0.218
    +
    +
    +
    2024-05-17 18:06:51 (INFO): 78 0.204
    +
    +
    +
    2024-05-17 18:06:52 (INFO): 79 0.161
    +
    +
    +
    2024-05-17 18:06:53 (INFO): 80 0.122
    +
    +
    +
    2024-05-17 18:06:54 (INFO): 81 0.132
    +
    +
    +
    2024-05-17 18:06:55 (INFO): 82 0.108
    +
    +
    +
    2024-05-17 18:06:56 (INFO): 83 0.103
    +
    +
    +
    2024-05-17 18:06:57 (INFO): 84 0.122
    +
    +
    +
    2024-05-17 18:06:58 (INFO): 85 0.139
    +
    +
    +
    2024-05-17 18:06:59 (INFO): 86 0.113
    +
    +
    +
    2024-05-17 18:07:00 (INFO): 87 0.081
    +
    +
    +
    2024-05-17 18:07:01 (INFO): 88 0.104
    +
    +
    +
    2024-05-17 18:07:02 (INFO): 89 0.144
    +
    +
    +
    2024-05-17 18:07:03 (INFO): 90 0.166
    +
    +
    +
    2024-05-17 18:07:04 (INFO): 91 0.159
    +
    +
    +
    2024-05-17 18:07:05 (INFO): 92 0.124
    +
    +
    +
    2024-05-17 18:07:06 (INFO): 93 0.112
    +
    +
    +
    2024-05-17 18:07:07 (INFO): 94 0.181
    +
    +
    +
    2024-05-17 18:07:08 (INFO): 95 0.215
    +
    +
    +
    2024-05-17 18:07:09 (INFO): 96 0.239
    +
    +
    +
    2024-05-17 18:07:10 (INFO): 97 0.186
    +
    +
    +
    2024-05-17 18:07:11 (INFO): 98 0.121
    +
    +
    +
    2024-05-17 18:07:12 (INFO): 99 0.065
    +
    +
    +
    2024-05-17 18:07:13 (INFO): 100 0.056
    +
    +
    +
    2024-05-17 18:07:14 (INFO): 101 0.086
    +
    +
    +
    2024-05-17 18:07:15 (INFO): 102 0.130
    +
    +
    +
    2024-05-17 18:07:16 (INFO): 103 0.150
    +
    +
    +
    2024-05-17 18:07:17 (INFO): 104 0.153
    +
    +
    +
    2024-05-17 18:07:18 (INFO): 105 0.144
    +
    +
    +
    2024-05-17 18:07:19 (INFO): 106 0.126
    +
    +
    +
    2024-05-17 18:07:20 (INFO): 107 0.101
    +
    +
    +
    2024-05-17 18:07:21 (INFO): 108 0.072
    +
    +
    +
    2024-05-17 18:07:22 (INFO): 109 0.046
    +
    +
    +
    2024-05-17 18:07:23 (INFO): 110 0.048
    +
    +
    +
    2024-05-17 18:07:24 (INFO): 111 0.047
    +
    +
    +
    2024-05-17 18:07:25 (INFO): 112 0.077
    +
    +
    +
    2024-05-17 18:07:26 (INFO): 113 0.095
    +
    +
    +
    2024-05-17 18:07:27 (INFO): 114 0.082
    +
    +
    +
    2024-05-17 18:07:28 (INFO): 115 0.052
    +
    +
    +
    2024-05-17 18:07:29 (INFO): 116 0.034
    +
    +
    +
    2024-05-17 18:07:30 (INFO): 117 0.034
    +
    +
    +
    2024-05-17 18:07:31 (INFO): 118 0.028
    +
    +
    +
    2024-05-17 18:07:32 (INFO): 119 0.039
    +
    +
    +
    2024-05-17 18:07:33 (INFO): 120 0.041
    +
    +
    +
    2024-05-17 18:07:34 (INFO): 121 0.031
    +
    +
    +
    2024-05-17 18:07:35 (INFO): 122 0.029
    +
    +
    +
    2024-05-17 18:07:36 (INFO): 123 0.043
    +
    +
    +
    2024-05-17 18:07:37 (INFO): 124 0.045
    +
    +
    +
    2024-05-17 18:07:38 (INFO): 125 0.047
    +
    +
    +
    2024-05-17 18:07:39 (INFO): 126 0.041
    +
    +
    +
    2024-05-17 18:07:41 (INFO): 127 0.043
    +
    +
    +
    2024-05-17 18:07:42 (INFO): 128 0.050
    +
    +
    +
    2024-05-17 18:07:43 (INFO): 129 0.057
    +
    +
    +
    2024-05-17 18:07:44 (INFO): 130 0.062
    +
    +
    +
    2024-05-17 18:07:45 (INFO): 131 0.055
    +
    +
    +
    2024-05-17 18:07:46 (INFO): 132 0.045
    +
    +
    +
    2024-05-17 18:07:47 (INFO): 133 0.034
    +
    +
    +
    2024-05-17 18:07:48 (INFO): 134 0.035
    +
    +
    +
    2024-05-17 18:07:49 (INFO): 135 0.027
    +
    +
    +
    2024-05-17 18:07:50 (INFO): 136 0.024
    +
    +
    +
    2024-05-17 18:07:51 (INFO): 137 0.024
    +
    +
    +
    2024-05-17 18:07:52 (INFO): 138 0.028
    +
    +
    +
    2024-05-17 18:07:53 (INFO): 139 0.030
    +
    +
    +
    2024-05-17 18:07:54 (INFO): 140 0.024
    +
    +
    +
    2024-05-17 18:07:55 (INFO): 141 0.021
    +
    +
    +
    2024-05-17 18:07:56 (INFO): 142 0.020
    +
    +
    +
    2024-05-17 18:07:57 (INFO): 143 0.022
    +
    +
    +
    2024-05-17 18:07:58 (INFO): 144 0.025
    +
    +
    +
    2024-05-17 18:07:59 (INFO): 145 0.034
    +
    +
    +
    2024-05-17 18:08:00 (INFO): 146 0.038
    +
    +
    +
    2024-05-17 18:08:01 (INFO): 147 0.030
    +
    +
    +
    2024-05-17 18:08:02 (INFO): 148 0.016
    +
    +
    +
      5%|▌         | 1/20 [02:33<48:39, 153.64s/it]
    +
    +
    +
      5%|▌         | 1/20 [02:33<48:39, 153.67s/it]
    +
    +
    +
    2024-05-17 18:08:03 (INFO): Writing results to ./results/2024-05-17-18-05-52-is2rs-example/relaxed_positions.npz
    +
    +
    +
    2024-05-17 18:08:03 (INFO): {'positions_average_distance_within_threshold': {'total': 247, 'numel': 490, 'metric': 0.5040816326530613}, 'positions_mae': {'total': 23.29319953918457, 'numel': 60, 'metric': 0.38821999231974286}, 'positions_mse': {'total': 133.68051147460938, 'numel': 60, 'metric': 2.228008524576823}}
    +
    +
    +
    2024-05-17 18:08:03 (INFO): {'energy_mae': {'total': 0.5329724550247192, 'numel': 1, 'metric': 0.5329724550247192}, 'energy_mse': {'total': 0.28405964374542236, 'numel': 1, 'metric': 0.28405964374542236}, 'energy_within_threshold': {'total': 0, 'numel': 1, 'metric': 0.0}}
    +
    +
    +
    
    +
    +
    +
    +
    +
    +
    +

    Visualize ML-driven relaxations#

    +

    Following our earlier visualization steps, we can plot our ML-generated relaxations.

    +
    +
    +
    import glob
    +import ase.io
    +from ase.visualize.plot import plot_atoms
    +import matplotlib.pyplot as plt
    +import random
    +import matplotlib
    +
    +params = {
    +   'axes.labelsize': 14,
    +   'font.size': 14,
    +   'font.family': ' DejaVu Sans',
    +   'legend.fontsize': 20,
    +   'xtick.labelsize': 20,
    +   'ytick.labelsize': 20,
    +   'axes.labelsize': 25,
    +   'axes.titlesize': 25,
    +   'text.usetex': False,
    +   'figure.figsize': [12, 12]
    +}
    +matplotlib.rcParams.update(params)
    +
    +
    +
    +
    +
    +
    +
    system = glob.glob("ml-relaxations/is2rs-test/*.traj")[0]
    +ml_trajectory = ase.io.read(system, ":")
    +
    +energies = [atom.get_potential_energy() for atom in ml_trajectory]
    +
    +plt.figure(figsize=(7, 5))
    +plt.plot(range(len(energies)), energies)
    +plt.xlabel("step")
    +plt.ylabel("energy, eV")
    +system
    +
    +
    +
    +
    +
    'ml-relaxations/is2rs-test/1700380.traj'
    +
    +
    +../_images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png +
    +
    +

    Qualitatively, the ML relaxation is behaving as expected - decreasing energies over the course of the relaxation.

    +
    +
    +
    fig, ax = plt.subplots(1, 3)
    +labels = ['ml-initial', 'ml-middle', 'ml-final']
    +for i in range(3):
    +    ax[i].axis('off')
    +    ax[i].set_title(labels[i])
    +
    +ase.visualize.plot.plot_atoms(
    +    ml_trajectory[0],
    +    ax[0],
    +    radii=0.8,
    +    # rotation=("-75x, 45y, 10z")) # uncomment to visualize at different angles
    +)
    +ase.visualize.plot.plot_atoms(
    +    ml_trajectory[100],
    +    ax[1],
    +    radii=0.8,
    +    # rotation=("-75x, 45y, 10z") # uncomment to visualize at different angles
    +)
    +ase.visualize.plot.plot_atoms(
    +    ml_trajectory[-1],
    +    ax[2],
    +    radii=0.8,
    +    # rotation=("-75x, 45y, 10z"), # uncomment to visualize at different angles
    +)
    +
    +
    +
    +
    +
    <Axes: title={'center': 'ml-final'}>
    +
    +
    +../_images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png +
    +
    +

    Qualitatively, the generated structures seem reasonable with no obvious issues we had previously mentioned to look out for.

    +
    +
    +
    +
    +

    Model development #

    +

    In this section, we will walk through how to develop a simple Graph Neural Network model on the S2EF-200k dataset.

    +

    Let’s begin by setting up some imports and boilerplate config parameters.

    +
    +

    Imports#

    +
    +
    +
    import torch
    +
    +from typing import Optional
    +
    +from fairchem.core.trainers import OCPTrainer
    +from fairchem.core import models
    +from fairchem.core.common import logger
    +from fairchem.core.common.utils import setup_logging, get_pbc_distances
    +from fairchem.core.common.registry import registry
    +
    +from fairchem.core.models.gemnet.layers.radial_basis import PolynomialEnvelope
    +
    +from torch_geometric.nn.models.schnet import GaussianSmearing
    +from torch_scatter import scatter
    +
    +
    +
    +
    +
    +
    +
    setup_logging()
    +
    +# Dataset paths
    +train_src = "data/s2ef/train_100"
    +val_src = "data/s2ef/val_20"
    +
    +# Configs
    +task = {
    +    'dataset': 'trajectory_lmdb', # dataset used for the S2EF task
    +    'description': 'Regressing to energies and forces for DFT trajectories from OCP',
    +    'type': 'regression',
    +    'metric': 'mae',
    +    'labels': ['potential energy'],
    +    'grad_input': 'atomic forces',
    +    'train_on_free_atoms': True,
    +    'eval_on_free_atoms': True
    +}
    +
    +# Optimizer
    +optimizer = {
    +    'batch_size': 16, # if hitting GPU memory issues, lower this
    +    'eval_batch_size': 8,
    +    'num_workers': 8,
    +    'lr_initial': 0.0001,
    +    'scheduler': "ReduceLROnPlateau",
    +    'mode': "min",
    +    'factor': 0.8,
    +    'patience': 3,
    +    'max_epochs': 80,
    +    'max_epochs': 5,
    +    'force_coefficient': 100,
    +}
    +
    +# Dataset
    +dataset = [
    +  {'src': train_src, 'normalize_labels': True, 'target_mean':  -0.7554450631141663, 'target_std': 2.887317180633545, 'grad_target_mean': 0.0, 'grad_target_std': 2.887317180633545}, # train set
    +  {'src': val_src},
    +]
    +
    +
    +
    +
    +
    +
    +

    Atom and Edge Embeddings#

    +

    Each atom is represented as a node with its features computed using a simple torch.nn.Embedding layer on the atomic number.

    +

    All pairs of atoms with a defined cutoff radius (=6A) are assumed to have edges between them, with their features computed as the concatenation of 1) a Gaussian expansion of the distance between the atoms, and the 2) source and 3) target +node features.

    +

    We will use the GaussianSmearing layer (reproduced below) from the PyTorch Geometric library for computing distance features:

    +
    class GaussianSmearing(torch.nn.Module):
    +    def __init__(self, start=0.0, stop=5.0, num_gaussians=50):
    +        super(GaussianSmearing, self).__init__()
    +        offset = torch.linspace(start, stop, num_gaussians)
    +        self.coeff = -0.5 / (offset[1] - offset[0]).item()**2
    +        self.register_buffer('offset', offset)
    +
    +    def forward(self, dist):
    +        dist = dist.view(-1, 1) - self.offset.view(1, -1)
    +        return torch.exp(self.coeff * torch.pow(dist, 2))
    +
    +
    +
    +
    +
    class AtomEmbedding(torch.nn.Module):
    +    def __init__(self, emb_size):
    +        super().__init__()
    +        self.embeddings = torch.nn.Embedding(83, emb_size) # We go up to Bi (83).
    +
    +    def forward(self, Z):
    +        h = self.embeddings(Z - 1)  # -1 because Z.min()=1 (==Hydrogen)
    +        return h
    +
    +class EdgeEmbedding(torch.nn.Module):
    +    def __init__(self, atom_emb_size, edge_emb_size, out_size):
    +        super().__init__()
    +        in_features = 2 * atom_emb_size + edge_emb_size
    +        self.dense = torch.nn.Sequential(
    +            torch.nn.Linear(in_features, out_size, bias=False),
    +            torch.nn.SiLU()
    +        )
    +
    +    def forward(self, h, m_rbf, idx_s, idx_t,
    +    ):
    +        h_s = h[idx_s]  # indexing source node, shape=(num_edges, emb_size)
    +        h_t = h[idx_t]  # indexing target node, shape=(num_edges, emb_size)
    +
    +        m_st = torch.cat([h_s, h_t, m_rbf], dim=-1)  # (num_edges, 2 * atom_emb_size + edge_emb_size)
    +        m_st = self.dense(m_st)  # (num_edges, out_size)
    +        return m_st
    +
    +class RadialBasis(torch.nn.Module):
    +    def __init__(self, num_radial: int, cutoff: float, env_exponent: int = 5):
    +        super().__init__()
    +        self.inv_cutoff = 1 / cutoff
    +        self.envelope = PolynomialEnvelope(env_exponent)
    +        self.rbf = GaussianSmearing(start=0, stop=1, num_gaussians=num_radial)
    +
    +    def forward(self, d):
    +        d_scaled = d * self.inv_cutoff
    +        env = self.envelope(d_scaled)
    +        return env[:, None] * self.rbf(d_scaled)  # (num_edges, num_radial)
    +
    +
    +
    +
    +
    +
    +

    Message passing#

    +

    We start by implementing a very simple message-passing scheme to predict system energy and forces.

    +

    Given the node and edge features, we sum up edge features for all edges \(e_{ij}\) connecting node \(i\) to its neighbors \(j\), and pass the resultant vector through a fully-connected layer to project it down to a scalar. This gives us a scalar energy contribution for each node \(i\) in the structure. We then sum up all node energy contributions to predict the overall system energy.

    +

    Similarly, to predict forces, we pass edge features through a fully-connected layer to project it down to a scalar representing the force magnitude per edge \(e_{ij}\). We can then sum up these force magnitudes based on the original edge directions to predict the resultant force vector per node \(i\).

    +
    +
    +
    @registry.register_model("simple")
    +class SimpleAtomEdgeModel(torch.nn.Module):
    +    def __init__(self, num_atoms, bond_feat_dim, num_targets, emb_size=64, num_radial=64, cutoff=6.0, env_exponent=5):
    +        super().__init__()
    +
    +        self.radial_basis = RadialBasis(
    +            num_radial=num_radial,
    +            cutoff=cutoff,
    +            env_exponent=env_exponent,
    +        )
    +
    +        self.atom_emb = AtomEmbedding(emb_size)
    +        self.edge_emb = EdgeEmbedding(emb_size, num_radial, emb_size)
    +
    +        self.out_energy = torch.nn.Linear(emb_size, 1)
    +        self.out_forces = torch.nn.Linear(emb_size, 1)
     
         def forward(self, data):
             batch = data.batch
    @@ -2362,113 +5092,1073 @@ 

    Message passing# (num_atoms, num_targets, 3) F = F.squeeze(1) - return {"energy": E, "forces": F} + return {"energy": E, "forces": F} + + @property + def num_params(self): + return sum(p.numel() for p in self.parameters()) +

    +
    +
    +
    +
    +
    +

    Training the model#

    +
    +
    +
    model_params = {
    +    'name': 'simple',
    +    'emb_size': 256,
    +    'num_radial': 128,
    +    'cutoff': 6.0,
    +    'env_exponent': 5,
    +}
    +
    +trainer = OCPTrainer(
    +    task=task,
    +    model=model_params,
    +    dataset=dataset,
    +    optimizer=optimizer,
    +    outputs={},
    +    loss_fns={},
    +    eval_metrics={},
    +    name="s2ef",
    +    identifier="S2EF-simple",
    +    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    +    is_debug=False, # if True, do not save checkpoint, logs, or results
    +    print_every=5,
    +    seed=0, # random seed to use
    +    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    +    local_rank=0,
    +    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    +)
    +
    +trainer.train()
    +
    +
    +
    +
    +
    2024-05-17 18:08:05 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    2024-05-17 18:08:05 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-18-08-00-S2EF-simple
    +  commit: 00de11a
    +  identifier: S2EF-simple
    +  logs_dir: ./logs/tensorboard/2024-05-17-18-08-00-S2EF-simple
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-18-08-00-S2EF-simple
    +  seed: 0
    +  timestamp_id: 2024-05-17-18-08-00-S2EF-simple
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: trajectory_lmdb
    +  grad_target_mean: 0.0
    +  grad_target_std: 2.887317180633545
    +  key_mapping:
    +    force: forces
    +    y: energy
    +  normalize_labels: true
    +  src: data/s2ef/train_100
    +  target_mean: -0.7554450631141663
    +  target_std: 2.887317180633545
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: -0.7554450631141663
    +        stdev: 2.887317180633545
    +      forces:
    +        mean: 0.0
    +        stdev: 2.887317180633545
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 100
    +    fn: l2mae
    +model: simple
    +model_attributes:
    +  cutoff: 6.0
    +  emb_size: 256
    +  env_exponent: 5
    +  num_radial: 128
    +noddp: false
    +optim:
    +  batch_size: 16
    +  eval_batch_size: 8
    +  factor: 0.8
    +  force_coefficient: 100
    +  lr_initial: 0.0001
    +  max_epochs: 5
    +  mode: min
    +  num_workers: 8
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +slurm: {}
    +task:
    +  dataset: trajectory_lmdb
    +  description: Regressing to energies and forces for DFT trajectories from OCP
    +  eval_on_free_atoms: true
    +  grad_input: atomic forces
    +  labels:
    +  - potential energy
    +  metric: mae
    +  train_on_free_atoms: true
    +  type: regression
    +trainer: s2ef
    +val_dataset:
    +  src: data/s2ef/val_20
    +
    +
    +
    2024-05-17 18:08:05 (INFO): Loading dataset: trajectory_lmdb
    +
    +
    +
    2024-05-17 18:08:05 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:08:05 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:08:05 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:08:05 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:08:05 (INFO): Loading model: simple
    +
    +
    +
    2024-05-17 18:08:05 (INFO): Loaded SimpleAtomEdgeModel with 185602 parameters.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/utils/data/dataloader.py:558: UserWarning: This DataLoader will create 8 worker processes in total. Our suggested max number of worker in current system is 4, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
    +  warnings.warn(_create_warning_msg(
    +2024-05-17 18:08:05 (WARNING): Model gradient logging to tensorboard not yet supported.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:08:09 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 3.87e+02, forcesx_mae: 3.03e-01, forcesy_mae: 4.22e-01, forcesz_mae: 1.41e+00, forces_mae: 7.13e-01, forces_cosine_similarity: 3.98e-02, forces_magnitude_error: 1.36e+00, loss: 1.90e+02, lr: 1.00e-04, epoch: 7.14e-01, step: 5.00e+00
    +
    +
    +
    2024-05-17 18:08:09 (INFO): Evaluating on val.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00, 14.51it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:00<00:00,  7.56it/s]
    +
    +
    +
    2024-05-17 18:08:10 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 181.3459, forcesx_mae: 0.2960, forcesy_mae: 0.2326, forcesz_mae: 0.8845, forces_mae: 0.4710, forces_cosine_similarity: -0.0539, forces_magnitude_error: 0.7951, loss: 98.3021, epoch: 1.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:08:13 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.87e+02, forcesx_mae: 2.43e-01, forcesy_mae: 4.10e-01, forcesz_mae: 1.07e+00, forces_mae: 5.76e-01, forces_cosine_similarity: -2.68e-02, forces_magnitude_error: 1.04e+00, loss: 1.38e+02, lr: 1.00e-04, epoch: 1.43e+00, step: 1.00e+01
    +
    +
    +
    2024-05-17 18:08:15 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:00,  8.13it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:00<00:00,  6.67it/s]
    +
    +
    +
    2024-05-17 18:08:16 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 181.0137, forcesx_mae: 0.3346, forcesy_mae: 0.2852, forcesz_mae: 0.9165, forces_mae: 0.5121, forces_cosine_similarity: -0.0387, forces_magnitude_error: 0.8785, loss: 100.9322, epoch: 2.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:08:17 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.48e+02, forcesx_mae: 2.45e-01, forcesy_mae: 3.78e-01, forcesz_mae: 8.57e-01, forces_mae: 4.93e-01, forces_cosine_similarity: -9.92e-03, forces_magnitude_error: 8.38e-01, loss: 8.18e+01, lr: 1.00e-04, epoch: 2.14e+00, step: 1.50e+01
    +
    +
    +
    2024-05-17 18:08:20 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 8.83e+01, forcesx_mae: 2.07e-01, forcesy_mae: 2.87e-01, forcesz_mae: 7.42e-01, forces_mae: 4.12e-01, forces_cosine_similarity: 5.41e-02, forces_magnitude_error: 6.96e-01, loss: 6.17e+01, lr: 1.00e-04, epoch: 2.86e+00, step: 2.00e+01
    +
    +
    +
    2024-05-17 18:08:20 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:00,  7.58it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:00<00:00, 13.85it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:00<00:00,  6.28it/s]
    +
    +
    +
    2024-05-17 18:08:21 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 181.1997, forcesx_mae: 0.3253, forcesy_mae: 0.2719, forcesz_mae: 0.9549, forces_mae: 0.5174, forces_cosine_similarity: -0.0524, forces_magnitude_error: 0.8993, loss: 101.7762, epoch: 3.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:08:24 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 7.72e+01, forcesx_mae: 1.69e-01, forcesy_mae: 2.14e-01, forcesz_mae: 5.86e-01, forces_mae: 3.23e-01, forces_cosine_similarity: -5.92e-02, forces_magnitude_error: 4.86e-01, loss: 5.41e+01, lr: 1.00e-04, epoch: 3.57e+00, step: 2.50e+01
    +
    +
    +
    2024-05-17 18:08:26 (INFO): Evaluating on val.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:00,  9.98it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:00<00:00,  6.62it/s]
    +
    +
    +
    2024-05-17 18:08:26 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 182.4001, forcesx_mae: 0.3315, forcesy_mae: 0.2815, forcesz_mae: 0.9607, forces_mae: 0.5246, forces_cosine_similarity: -0.0449, forces_magnitude_error: 0.9166, loss: 102.7514, epoch: 4.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:08:29 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.02e+02, forcesx_mae: 1.51e-01, forcesy_mae: 2.59e-01, forcesz_mae: 3.91e-01, forces_mae: 2.67e-01, forces_cosine_similarity: 2.43e-02, forces_magnitude_error: 4.32e-01, loss: 5.62e+01, lr: 1.00e-04, epoch: 4.29e+00, step: 3.00e+01
    +
    +
    +
    2024-05-17 18:08:31 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 4.68e+01, forcesx_mae: 1.76e-01, forcesy_mae: 2.78e-01, forcesz_mae: 3.97e-01, forces_mae: 2.84e-01, forces_cosine_similarity: -9.27e-03, forces_magnitude_error: 4.19e-01, loss: 3.96e+01, lr: 1.00e-04, epoch: 5.00e+00, step: 3.50e+01
    +
    +
    +
    2024-05-17 18:08:31 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00, 13.81it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:00<00:00,  6.41it/s]
    +
    +
    +
    2024-05-17 18:08:32 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 185.2267, forcesx_mae: 0.3320, forcesy_mae: 0.2803, forcesz_mae: 0.9892, forces_mae: 0.5338, forces_cosine_similarity: -0.0477, forces_magnitude_error: 0.9421, loss: 104.6033, epoch: 5.0000
    +
    +
    +
    
    +
    +
    +
    +
    +

    If you’ve wired everything up correctly, this model should be relatively small (~185k params) and achieve a force MAE of 0.0815, force cosine of 0.0321, energy MAE of 2.2772 in 2 epochs.

    +

    We encourage the reader to try playing with the embedding size, cutoff radius, number of gaussian basis functions, and polynomial envelope exponent to see how it affects performance.

    +
    +
    +

    Incorporating triplets and training GemNet-T#

    +

    Recall how this model computes edge embeddings based only on a Gaussian expansion of edge distances.

    +

    To better capture 3D geometry, we should also embed angles formed by triplets or quadruplets of atoms. A model that incorporates this idea and works quite well is GemNet (Klicpera et al., NeurIPS 2021); see the following figure.

    +

    Screen Shot 2021-11-22 at 3.58.24 PM.png

    +

    You can train a GemNet-T (T = triplets) on S2EF-200k using the following config.

    +

    Note that this is a significantly bulkier model (~3.4M params) than the one we developed above and will take longer to train.

    +
    +
    +
    model_params = {
    +    'name': 'gemnet_t',
    +    'num_spherical': 7,
    +    'num_radial': 128,
    +    'num_blocks': 1,
    +    'emb_size_atom': 256,
    +    'emb_size_edge': 256,
    +    'emb_size_trip': 64,
    +    'emb_size_rbf': 16,
    +    'emb_size_cbf': 16,
    +    'emb_size_bil_trip': 64,
    +    'num_before_skip': 1,
    +    'num_after_skip': 1,
    +    'num_concat': 1,
    +    'num_atom': 3,
    +    'cutoff': 6.0,
    +    'max_neighbors': 50,
    +    'rbf': {'name': 'gaussian'},
    +    'envelope': {'name': 'polynomial', 'exponent': 5},
    +    'cbf': {'name': 'spherical_harmonics'},
    +    'extensive': True,
    +    'otf_graph': False,
    +    'output_init': 'HeOrthogonal',
    +    'activation': 'silu',
    +    'scale_file': './gemnet-dT.json',
    +    'regress_forces': True,
    +    'direct_forces': True,
    +}
    +
    +trainer = OCPTrainer(
    +    task=task,
    +    model=model_params,
    +    dataset=dataset,
    +    optimizer=optimizer,
    +    outputs={},
    +    loss_fns={},
    +    eval_metrics={},
    +    name="s2ef",
    +    identifier="S2EF-gemnet-t",
    +    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    +    is_debug=False, # if True, do not save checkpoint, logs, or results
    +    print_every=5,
    +    seed=0, # random seed to use
    +    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    +    local_rank=0,
    +    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    +)
     
    -    @property
    -    def num_params(self):
    -        return sum(p.numel() for p in self.parameters())
    +trainer.train()
    +
    +
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    2024-05-17 18:08:32 (INFO): amp: true
    +cmd:
    +  checkpoint_dir: ./checkpoints/2024-05-17-18-08-00-S2EF-gemnet-t
    +  commit: 00de11a
    +  identifier: S2EF-gemnet-t
    +  logs_dir: ./logs/tensorboard/2024-05-17-18-08-00-S2EF-gemnet-t
    +  print_every: 5
    +  results_dir: ./results/2024-05-17-18-08-00-S2EF-gemnet-t
    +  seed: 0
    +  timestamp_id: 2024-05-17-18-08-00-S2EF-gemnet-t
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: trajectory_lmdb
    +  grad_target_mean: 0.0
    +  grad_target_std: 2.887317180633545
    +  key_mapping:
    +    force: forces
    +    y: energy
    +  normalize_labels: true
    +  src: data/s2ef/train_100
    +  target_mean: -0.7554450631141663
    +  target_std: 2.887317180633545
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: -0.7554450631141663
    +        stdev: 2.887317180633545
    +      forces:
    +        mean: 0.0
    +        stdev: 2.887317180633545
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +gpus: 0
    +logger: tensorboard
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 100
    +    fn: l2mae
    +model: gemnet_t
    +model_attributes:
    +  activation: silu
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 6.0
    +  direct_forces: true
    +  emb_size_atom: 256
    +  emb_size_bil_trip: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 256
    +  emb_size_rbf: 16
    +  emb_size_trip: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  max_neighbors: 50
    +  num_after_skip: 1
    +  num_atom: 3
    +  num_before_skip: 1
    +  num_blocks: 1
    +  num_concat: 1
    +  num_radial: 128
    +  num_spherical: 7
    +  otf_graph: false
    +  output_init: HeOrthogonal
    +  rbf:
    +    name: gaussian
    +  regress_forces: true
    +  scale_file: ./gemnet-dT.json
    +noddp: false
    +optim:
    +  batch_size: 16
    +  eval_batch_size: 8
    +  factor: 0.8
    +  force_coefficient: 100
    +  lr_initial: 0.0001
    +  max_epochs: 5
    +  mode: min
    +  num_workers: 8
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +slurm: {}
    +task:
    +  dataset: trajectory_lmdb
    +  description: Regressing to energies and forces for DFT trajectories from OCP
    +  eval_on_free_atoms: true
    +  grad_input: atomic forces
    +  labels:
    +  - potential energy
    +  metric: mae
    +  train_on_free_atoms: true
    +  type: regression
    +trainer: s2ef
    +val_dataset:
    +  src: data/s2ef/val_20
    +
    +
    +
    2024-05-17 18:08:32 (INFO): Loading dataset: trajectory_lmdb
    +
    +
    +
    2024-05-17 18:08:32 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:08:32 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:08:32 (INFO): rank: 0: Sampler created...
    +
    +
    +
    2024-05-17 18:08:32 (INFO): Batch balancing is disabled for single GPU training.
    +
    +
    +
    2024-05-17 18:08:32 (INFO): Loading model: gemnet_t
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch/utils/data/dataloader.py:558: UserWarning: This DataLoader will create 8 worker processes in total. Our suggested max number of worker in current system is 4, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
    +  warnings.warn(_create_warning_msg(
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor TripInteraction_2_had_rbf not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor TripInteraction_2_sum_cbf not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor AtomUpdate_2_sum not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor TripInteraction_3_had_rbf not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor TripInteraction_3_sum_cbf not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor AtomUpdate_3_sum not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor OutBlock_2_sum not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor OutBlock_2_had not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor OutBlock_3_sum not found in model
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Scale factor OutBlock_3_had not found in model
    +
    +
    +
    2024-05-17 18:08:32 (INFO): Loaded GemNetT with 3360519 parameters.
    +
    +
    +
    2024-05-17 18:08:32 (WARNING): Model gradient logging to tensorboard not yet supported.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:09:11 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 8.43e+01, forcesx_mae: 2.74e+00, forcesy_mae: 3.89e+00, forcesz_mae: 2.89e+00, forces_mae: 3.17e+00, forces_cosine_similarity: -3.46e-02, forces_magnitude_error: 6.00e+00, loss: 2.46e+02, lr: 1.00e-04, epoch: 7.14e-01, step: 5.00e+00
    +
    +
    +
    2024-05-17 18:09:20 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:01,  1.90it/s]
    +
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00,  2.23it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  3.02it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  2.12it/s]
    +
    +
    +
    2024-05-17 18:09:22 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 2.2356, forcesx_mae: 2.2589, forcesy_mae: 1.8025, forcesz_mae: 1.9335, forces_mae: 1.9983, forces_cosine_similarity: -0.1827, forces_magnitude_error: 3.7879, loss: 143.1054, epoch: 1.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:09:46 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 8.79e+01, forcesx_mae: 1.31e+00, forcesy_mae: 1.62e+00, forcesz_mae: 1.42e+00, forces_mae: 1.45e+00, forces_cosine_similarity: 1.16e-02, forces_magnitude_error: 2.67e+00, loss: 1.37e+02, lr: 1.00e-04, epoch: 1.43e+00, step: 1.00e+01
    +
    +
    +
    2024-05-17 18:10:09 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:01,  1.87it/s]
    +
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00,  2.23it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  2.95it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  2.05it/s]
    +
    +
    +
    2024-05-17 18:10:11 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 1.5906, forcesx_mae: 2.2641, forcesy_mae: 1.8005, forcesz_mae: 1.8728, forces_mae: 1.9791, forces_cosine_similarity: -0.1879, forces_magnitude_error: 3.7455, loss: 141.2371, epoch: 2.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:10:21 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 7.61e+01, forcesx_mae: 9.34e-01, forcesy_mae: 1.11e+00, forcesz_mae: 1.02e+00, forces_mae: 1.02e+00, forces_cosine_similarity: 1.95e-02, forces_magnitude_error: 1.79e+00, loss: 9.68e+01, lr: 1.00e-04, epoch: 2.14e+00, step: 1.50e+01
    +
    +
    +
    2024-05-17 18:10:55 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 3.94e+01, forcesx_mae: 6.71e-01, forcesy_mae: 7.64e-01, forcesz_mae: 7.18e-01, forces_mae: 7.18e-01, forces_cosine_similarity: 2.31e-02, forces_magnitude_error: 1.17e+00, loss: 6.32e+01, lr: 1.00e-04, epoch: 2.86e+00, step: 2.00e+01
    +
    +
    +
    2024-05-17 18:10:57 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
     
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:01,  1.82it/s]
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00,  2.22it/s]
    +
    -
    -
    -

    Training the model#

    -
    -
    -
    model_params = {
    -    'name': 'simple',
    -    'emb_size': 256,
    -    'num_radial': 128,
    -    'cutoff': 6.0,
    -    'env_exponent': 5,
    -}
    -
    -trainer = OCPTrainer(
    -    task=task,
    -    model=model_params,
    -    dataset=dataset,
    -    optimizer=optimizer,
    -    outputs={},
    -    loss_fns={},
    -    eval_metrics={},
    -    name="s2ef",
    -    identifier="S2EF-simple",
    -    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    -    is_debug=False, # if True, do not save checkpoint, logs, or results
    -    print_every=5,
    -    seed=0, # random seed to use
    -    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    -    local_rank=0,
    -    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    -)
    -
    -trainer.train()
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  2.87it/s]
     
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  1.92it/s]
    +
    +
    2024-05-17 18:10:59 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 3.0236, forcesx_mae: 2.2729, forcesy_mae: 1.7737, forcesz_mae: 1.8415, forces_mae: 1.9627, forces_cosine_similarity: -0.1836, forces_magnitude_error: 3.7070, loss: 140.1182, epoch: 3.0000
    +
    -

    If you’ve wired everything up correctly, this model should be relatively small (~185k params) and achieve a force MAE of 0.0815, force cosine of 0.0321, energy MAE of 2.2772 in 2 epochs.

    -

    We encourage the reader to try playing with the embedding size, cutoff radius, number of gaussian basis functions, and polynomial envelope exponent to see how it affects performance.

    -
    -
    -

    Incorporating triplets and training GemNet-T#

    -

    Recall how this model computes edge embeddings based only on a Gaussian expansion of edge distances.

    -

    To better capture 3D geometry, we should also embed angles formed by triplets or quadruplets of atoms. A model that incorporates this idea and works quite well is GemNet (Klicpera et al., NeurIPS 2021); see the following figure.

    -

    Screen Shot 2021-11-22 at 3.58.24 PM.png

    -

    You can train a GemNet-T (T = triplets) on S2EF-200k using the following config.

    -

    Note that this is a significantly bulkier model (~3.4M params) than the one we developed above and will take longer to train.

    -
    -
    -
    model_params = {
    -    'name': 'gemnet_t',
    -    'num_spherical': 7,
    -    'num_radial': 128,
    -    'num_blocks': 1,
    -    'emb_size_atom': 256,
    -    'emb_size_edge': 256,
    -    'emb_size_trip': 64,
    -    'emb_size_rbf': 16,
    -    'emb_size_cbf': 16,
    -    'emb_size_bil_trip': 64,
    -    'num_before_skip': 1,
    -    'num_after_skip': 1,
    -    'num_concat': 1,
    -    'num_atom': 3,
    -    'cutoff': 6.0,
    -    'max_neighbors': 50,
    -    'rbf': {'name': 'gaussian'},
    -    'envelope': {'name': 'polynomial', 'exponent': 5},
    -    'cbf': {'name': 'spherical_harmonics'},
    -    'extensive': True,
    -    'otf_graph': False,
    -    'output_init': 'HeOrthogonal',
    -    'activation': 'silu',
    -    'scale_file': './gemnet-dT.json',
    -    'regress_forces': True,
    -    'direct_forces': True,
    -}
    -
    -trainer = OCPTrainer(
    -    task=task,
    -    model=model_params,
    -    dataset=dataset,
    -    optimizer=optimizer,
    -    outputs={},
    -    loss_fns={},
    -    eval_metrics={},
    -    name="s2ef",
    -    identifier="S2EF-gemnet-t",
    -    run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
    -    is_debug=False, # if True, do not save checkpoint, logs, or results
    -    print_every=5,
    -    seed=0, # random seed to use
    -    logger="tensorboard", # logger of choice (tensorboard and wandb supported)
    -    local_rank=0,
    -    amp=True, # use PyTorch Automatic Mixed Precision (faster training and less memory usage),
    -)
    -
    -trainer.train()
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:11:30 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 4.88e+01, forcesx_mae: 4.78e-01, forcesy_mae: 5.60e-01, forcesz_mae: 5.21e-01, forces_mae: 5.20e-01, forces_cosine_similarity: 4.65e-02, forces_magnitude_error: 8.15e-01, loss: 5.40e+01, lr: 1.00e-04, epoch: 3.57e+00, step: 2.50e+01
    +
    +
    +
    2024-05-17 18:11:45 (INFO): Evaluating on val.
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:01,  1.82it/s]
    +
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00,  2.16it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  2.85it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  1.94it/s]
    +
    +
    +
    2024-05-17 18:11:48 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 1.6152, forcesx_mae: 2.1384, forcesy_mae: 1.6930, forcesz_mae: 1.7895, forces_mae: 1.8736, forces_cosine_similarity: -0.1818, forces_magnitude_error: 3.5234, loss: 133.0624, epoch: 4.0000
    +
    +
    +
    
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    2024-05-17 18:12:05 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 2.94e+01, forcesx_mae: 4.26e-01, forcesy_mae: 5.73e-01, forcesz_mae: 4.49e-01, forces_mae: 4.82e-01, forces_cosine_similarity: 3.08e-02, forces_magnitude_error: 7.53e-01, loss: 4.45e+01, lr: 1.00e-04, epoch: 4.29e+00, step: 3.00e+01
    +
    +
    +
    2024-05-17 18:12:34 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 1.90e+01, forcesx_mae: 3.97e-01, forcesy_mae: 5.02e-01, forcesz_mae: 4.63e-01, forces_mae: 4.54e-01, forces_cosine_similarity: 9.63e-02, forces_magnitude_error: 6.46e-01, loss: 3.94e+01, lr: 1.00e-04, epoch: 5.00e+00, step: 3.50e+01
    +
    +
    +
    2024-05-17 18:12:34 (INFO): Evaluating on val.
    +
    +
    +
    device 0:   0%|          | 0/3 [00:00<?, ?it/s]
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
    +  storage = elem.storage()._new_shared(numel)
    +
    +
    +
    device 0:  33%|███▎      | 1/3 [00:00<00:01,  1.85it/s]
    +
    +
    +
    device 0:  67%|██████▋   | 2/3 [00:00<00:00,  2.45it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  3.11it/s]
    +
    +
    +
    device 0: 100%|██████████| 3/3 [00:01<00:00,  2.05it/s]
    +
    +
    +
    2024-05-17 18:12:36 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 1.9363, forcesx_mae: 2.1717, forcesy_mae: 1.7101, forcesz_mae: 1.7947, forces_mae: 1.8922, forces_cosine_similarity: -0.1857, forces_magnitude_error: 3.5687, loss: 134.6277, epoch: 5.0000
    +
    +
    +
    
     
    @@ -2486,19 +6176,24 @@

    Download pretrained checkpoint
    -
    from fairchem.core.models.model_registry import model_name_to_local_file
    +
    from fairchem.core.models.model_registry import model_name_to_local_file
     
     checkpoint_path = model_name_to_local_file('GemNet-dT-S2EF-OC20-All', local_cache='/tmp/ocp_checkpoints/')
     
    +
    +
    2024-05-17 18:12:36 (INFO): Checking local cache: /tmp/ocp_checkpoints/ for model GemNet-dT-S2EF-OC20-All
    +
    +
    +

    Using the OCP Calculator#

    -
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
    +
    from fairchem.core.common.relaxation.ase_utils import OCPCalculator
     import ase.io
     from ase.optimize import BFGS
     from ase.build import fcc100, add_adsorbate, molecule
    @@ -2531,6 +6226,228 @@ 

    Using the OCP Calculator +
    2024-05-17 18:12:37 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities.
    +
    +
    +
    2024-05-17 18:12:37 (INFO): amp: false
    +cmd:
    +  checkpoint_dir: /home/runner/work/fairchem/fairchem/docs/legacy_tutorials/checkpoints/2024-05-17-18-12-16
    +  commit: 00de11a
    +  identifier: ''
    +  logs_dir: /home/runner/work/fairchem/fairchem/docs/legacy_tutorials/logs/wandb/2024-05-17-18-12-16
    +  print_every: 100
    +  results_dir: /home/runner/work/fairchem/fairchem/docs/legacy_tutorials/results/2024-05-17-18-12-16
    +  seed: null
    +  timestamp_id: 2024-05-17-18-12-16
    +  version: 0.1.dev1+g00de11a
    +dataset:
    +  format: trajectory_lmdb
    +  grad_target_mean: 0.0
    +  grad_target_std: 2.887317180633545
    +  key_mapping:
    +    force: forces
    +    y: energy
    +  normalize_labels: true
    +  target_mean: -0.7554450631141663
    +  target_std: 2.887317180633545
    +  transforms:
    +    normalizer:
    +      energy:
    +        mean: -0.7554450631141663
    +        stdev: 2.887317180633545
    +      forces:
    +        mean: 0.0
    +        stdev: 2.887317180633545
    +eval_metrics:
    +  metrics:
    +    energy:
    +    - mae
    +    forces:
    +    - forcesx_mae
    +    - forcesy_mae
    +    - forcesz_mae
    +    - mae
    +    - cosine_similarity
    +    - magnitude_error
    +    misc:
    +    - energy_forces_within_threshold
    +gpus: 0
    +logger: wandb
    +loss_fns:
    +- energy:
    +    coefficient: 1
    +    fn: mae
    +- forces:
    +    coefficient: 100
    +    fn: l2mae
    +model: gemnet_t
    +model_attributes:
    +  activation: silu
    +  cbf:
    +    name: spherical_harmonics
    +  cutoff: 6.0
    +  direct_forces: true
    +  emb_size_atom: 512
    +  emb_size_bil_trip: 64
    +  emb_size_cbf: 16
    +  emb_size_edge: 512
    +  emb_size_rbf: 16
    +  emb_size_trip: 64
    +  envelope:
    +    exponent: 5
    +    name: polynomial
    +  extensive: true
    +  max_neighbors: 50
    +  num_after_skip: 2
    +  num_atom: 3
    +  num_before_skip: 1
    +  num_blocks: 3
    +  num_concat: 1
    +  num_radial: 128
    +  num_spherical: 7
    +  otf_graph: true
    +  output_init: HeOrthogonal
    +  rbf:
    +    name: gaussian
    +  regress_forces: true
    +noddp: false
    +optim:
    +  batch_size: 32
    +  clip_grad_norm: 10
    +  ema_decay: 0.999
    +  energy_coefficient: 1
    +  eval_batch_size: 32
    +  eval_every: 5000
    +  factor: 0.8
    +  force_coefficient: 100
    +  loss_energy: mae
    +  loss_force: l2mae
    +  lr_initial: 0.0005
    +  max_epochs: 80
    +  mode: min
    +  num_workers: 2
    +  optimizer: AdamW
    +  optimizer_params:
    +    amsgrad: true
    +  patience: 3
    +  scheduler: ReduceLROnPlateau
    +outputs:
    +  energy:
    +    level: system
    +  forces:
    +    eval_on_free_atoms: true
    +    level: atom
    +    train_on_free_atoms: true
    +slurm: {}
    +task:
    +  dataset: trajectory_lmdb
    +  description: Regressing to energies and forces for DFT trajectories from OCP
    +  eval_on_free_atoms: true
    +  grad_input: atomic forces
    +  labels:
    +  - potential energy
    +  metric: mae
    +  train_on_free_atoms: true
    +  type: regression
    +trainer: ocp
    +
    +
    +
    2024-05-17 18:12:37 (INFO): Loading model: gemnet_t
    +
    +
    +
    2024-05-17 18:12:38 (INFO): Loaded GemNetT with 31671825 parameters.
    +
    +
    +
    2024-05-17 18:12:38 (WARNING): No seed has been set in modelcheckpoint or OCPCalculator! Results may not be reproducible on re-run
    +
    +
    +
          Step     Time          Energy         fmax
    +BFGS:    0 18:12:38       -4.099784        1.5675
    +
    +
    +
    BFGS:    1 18:12:39       -4.244461        1.1370
    +
    +
    +
    BFGS:    2 18:12:40       -4.403120        0.7635
    +
    +
    +
    BFGS:    3 18:12:40       -4.503652        0.8364
    +
    +
    +
    BFGS:    4 18:12:41       -4.558208        0.7339
    +
    +
    +
    BFGS:    5 18:12:41       -4.592069        0.4095
    +
    +
    +
    BFGS:    6 18:12:42       -4.619347        0.7312
    +
    +
    +
    BFGS:    7 18:12:43       -4.671473        0.9712
    +
    +
    +
    BFGS:    8 18:12:43       -4.796453        0.9211
    +
    +
    +
    BFGS:    9 18:12:44       -4.957974        0.9761
    +
    +
    +
    BFGS:   10 18:12:44       -5.109447        1.0384
    +
    +
    +
    BFGS:   11 18:12:45       -5.295602        1.2249
    +
    +
    +
    BFGS:   12 18:12:45       -5.498971        1.1271
    +
    +
    +
    BFGS:   13 18:12:46       -5.618084        1.0669
    +
    +
    +
    BFGS:   14 18:12:46       -5.737121        0.9509
    +
    +
    +
    BFGS:   15 18:12:47       -5.901947        0.9260
    +
    +
    +
    BFGS:   16 18:12:48       -6.076138        1.2737
    +
    +
    +
    BFGS:   17 18:12:48       -6.198372        1.2029
    +
    +
    +
    BFGS:   18 18:12:49       -6.250344        0.6852
    +
    +
    +
    BFGS:   19 18:12:49       -6.254098        0.2008
    +
    +
    +
    BFGS:   20 18:12:50       -6.293970        0.1779
    +
    +
    +
    BFGS:   21 18:12:50       -6.326332        0.2294
    +
    +
    +
    BFGS:   22 18:12:51       -6.324463        0.1700
    +
    +
    +
    BFGS:   23 18:12:51       -6.321269        0.1016
    +
    +
    +
    BFGS:   24 18:12:52       -6.328320        0.0847
    +
    +
    +
    BFGS:   25 18:12:52       -6.331771        0.0586
    +
    +
    +
    BFGS:   26 18:12:53       -6.331944        0.0445
    +
    +
    +
    True
    +
    +
    +

    @@ -2552,7 +6469,7 @@

    Initial Structure to Relaxed Energy (IS2RE) LMDBsAs a demo, we will use the above generated data to create an IS2R* LMDB file.

    @@ -2692,7 +6615,7 @@

    Structure to Energy and Forces (S2EF) LMDBs

    @@ -2766,7 +6703,7 @@

    Running on command line [Preferred way to train models]

    @@ -685,7 +695,7 @@

    Convert Atoms object to Data object
    -
    a2g = AtomsToGraphs(
    +
    a2g = AtomsToGraphs(
         max_neigh=50,
         radius=6,
         r_energy=True,
    @@ -700,43 +710,66 @@ 

    Convert Atoms object to Data object
    -
    data_objects = a2g.convert_all(raw_data, disable_tqdm=True)
    +
    data_objects = a2g.convert_all(raw_data, disable_tqdm=True)
     
    -
    data = data_objects[0]
    +
    data = data_objects[0]
     data
     
    +
    +
    Data(pos=[14, 3], cell=[1, 3, 3], atomic_numbers=[14], natoms=14, tags=[14], edge_index=[2, 636], cell_offsets=[636, 3], energy=3.9893144106684715, forces=[14, 3], fixed=[14])
    +
    +
    +
    -
    data.atomic_numbers
    +
    data.atomic_numbers
    +
    +
    +
    +
    +
    tensor([29., 29., 29., 29., 29., 29., 29., 29., 29., 29., 29., 29.,  8.,  6.])
     
    -
    data.cell
    +
    data.cell
    +
    +
    +
    +
    +
    tensor([[[ 5.1053,  0.0000,  0.0000],
    +         [ 0.0000,  5.1053,  0.0000],
    +         [ 0.0000,  0.0000, 32.6100]]])
     
    -
    data.edge_index #neighbor idx, source idx
    +
    data.edge_index #neighbor idx, source idx
    +
    +
    +
    +
    +
    tensor([[ 1,  2,  2,  ...,  4,  6,  3],
    +        [ 0,  0,  0,  ..., 13, 13, 13]])
     
    -
    from torch_geometric.utils import degree
    +
    from torch_geometric.utils import degree
     # Degree corresponds to the number of neighbors a given node has. Note there is no more than max_neigh neighbors for
     # any given node.
     
    @@ -744,31 +777,82 @@ 

    Convert Atoms object to Data object +
    tensor([45., 45., 45., 46., 49., 49., 49., 49., 50., 49., 49., 50., 26., 35.])
    +
    +
    +

    -
    data.fixed
    +
    data.fixed
    +
    +
    +
    +
    +
    tensor([1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=torch.int32)
     
    -
    data.forces
    +
    data.forces
    +
    +
    +
    +
    +
    tensor([[ 2.3250e-15,  1.8807e-15,  1.1354e-01],
    +        [ 9.0249e-16,  1.1050e-15,  1.1344e-01],
    +        [ 5.2822e-15,  2.9421e-15,  1.1344e-01],
    +        [-3.4399e-17,  6.2746e-17,  1.1294e-01],
    +        [-8.5221e-03, -8.5221e-03, -1.1496e-02],
    +        [ 8.5221e-03, -8.5221e-03, -1.1496e-02],
    +        [-8.5221e-03,  8.5221e-03, -1.1496e-02],
    +        [ 8.5221e-03,  8.5221e-03, -1.1496e-02],
    +        [ 8.5001e-16, -8.4308e-16, -1.0431e-01],
    +        [-2.0583e-15, -4.5797e-16, -6.6610e-02],
    +        [-5.5511e-17, -5.8287e-16, -6.6610e-02],
    +        [-1.7780e-15, -2.5274e-15, -3.3250e-01],
    +        [-4.2690e-19, -8.6059e-19, -3.4247e-01],
    +        [-4.3368e-17, -2.4286e-17,  5.0512e-01]])
     
    -
    data.pos
    +
    data.pos
    +
    +
    +
    +
    +
    tensor([[ 0.0000,  0.0000, 13.0000],
    +        [ 2.5527,  0.0000, 13.0000],
    +        [ 0.0000,  2.5527, 13.0000],
    +        [ 2.5527,  2.5527, 13.0000],
    +        [ 1.2763,  1.2763, 14.8050],
    +        [ 3.8290,  1.2763, 14.8050],
    +        [ 1.2763,  3.8290, 14.8050],
    +        [ 3.8290,  3.8290, 14.8050],
    +        [ 0.0000,  0.0000, 16.6100],
    +        [ 2.5527,  0.0000, 16.6100],
    +        [ 0.0000,  2.5527, 16.6100],
    +        [ 2.5527,  2.5527, 16.6100],
    +        [ 2.5527,  2.5527, 19.6100],
    +        [ 2.5527,  2.5527, 18.4597]])
     
    -
    data.energy
    +
    data.energy
    +
    +
    +
    +
    +
    3.9893144106684715
     
    @@ -786,7 +870,7 @@

    Adding additional info to your Data objects
    -
    data_objects = []
    +
    data_objects = []
     for idx, system in enumerate(raw_data):
         data = a2g.convert(system)
         data.fid = idx
    @@ -798,22 +882,37 @@ 

    Adding additional info to your Data objects
    -
    data = data_objects[100]
    +
    data = data_objects[100]
     data
     
    +
    +
    Data(pos=[14, 3], cell=[1, 3, 3], atomic_numbers=[14], natoms=14, tags=[14], edge_index=[2, 634], cell_offsets=[634, 3], energy=3.968355893395695, forces=[14, 3], fixed=[14], fid=100, sid=0)
    +
    +
    +
    -
    data.sid
    +
    data.sid
    +
    +
    +
    +
    +
    0
     
    -
    data.fid
    +
    data.fid
    +
    +
    +
    +
    +
    100
     
    diff --git a/legacy_tutorials/data_visualization.html b/legacy_tutorials/data_visualization.html index 136fe5535..d4343cff5 100644 --- a/legacy_tutorials/data_visualization.html +++ b/legacy_tutorials/data_visualization.html @@ -649,14 +649,14 @@

    Contents

    OCP Data Visualization#

    -
    import matplotlib
    +
    import matplotlib
     matplotlib.use('Agg')
     
     import os
     import numpy as np
     
     import matplotlib.pyplot as plt
    -%matplotlib inline
    +%matplotlib inline
     
     params = {
        'axes.labelsize': 14,
    @@ -689,7 +689,7 @@ 

    OCP Data Visualization
    -
    videos_dir = "videos/"
    +
    videos_dir = "videos/"
     os.makedirs(videos_dir, exist_ok=True)
     
     config = {
    @@ -709,7 +709,7 @@ 

    Generating sample dataFor simplicity, we generate sample data in the same format as the OC20 dataset. A toy relaxation (or trajectory) of propane (C3H8) on a copper (Cu) surface is used with a classical-like potential (EMT). Unlike DFT, EMT is extremely fast but limited in accuracy and applicability to certain elements, making it great for demos and tests. You are free to explore alternative systems below, however, you may skip the data construction and move on to “Reading a trajectory”.

    -
    +
    +
           Step     Time          Energy         fmax
    +*Force-consistent energies used in optimization.
    +LBFGS:    0 18:13:12       15.804700*       6.7764
    +
    +
    +
    LBFGS:    1 18:13:12       12.190607*       4.3232
    +
    +
    +
    LBFGS:    2 18:13:12       10.240169*       2.2655
    +
    +
    +
    LBFGS:    3 18:13:12        9.779223*       0.9372
    +
    +
    +
    LBFGS:    4 18:13:12        9.671525*       0.7702
    +
    +
    +
    LBFGS:    5 18:13:12        9.574461*       0.6635
    +
    +
    +
    LBFGS:    6 18:13:12        9.537502*       0.5718
    +
    +
    +
    LBFGS:    7 18:13:12        9.516673*       0.4466
    +
    +
    +
    LBFGS:    8 18:13:12        9.481330*       0.4611
    +
    +
    +
    LBFGS:    9 18:13:12        9.462255*       0.2931
    +
    +
    +
    LBFGS:   10 18:13:12        9.448937*       0.2490
    +
    +
    +
    LBFGS:   11 18:13:12        9.433813*       0.2371
    +
    +
    +
    LBFGS:   12 18:13:12        9.418884*       0.2602
    +
    +
    +
    LBFGS:   13 18:13:12        9.409649*       0.2532
    +
    +
    +
    LBFGS:   14 18:13:12        9.404838*       0.1624
    +
    +
    +
    LBFGS:   15 18:13:12        9.401753*       0.1823
    +
    +
    +
    LBFGS:   16 18:13:12        9.397314*       0.2592
    +
    +
    +
    LBFGS:   17 18:13:12        9.387947*       0.3450
    +
    +
    +
    LBFGS:   18 18:13:12        9.370825*       0.4070
    +
    +
    +
    LBFGS:   19 18:13:12        9.342222*       0.4333
    +
    +
    +
    LBFGS:   20 18:13:13        9.286822*       0.5002
    +
    +
    +
    LBFGS:   21 18:13:13        9.249910*       0.5241
    +
    +
    +
    LBFGS:   22 18:13:13        9.187179*       0.5120
    +
    +
    +
    LBFGS:   23 18:13:13        9.124811*       0.5718
    +
    +
    +
    LBFGS:   24 18:13:13        9.066185*       0.5409
    +
    +
    +
    LBFGS:   25 18:13:13        9.000116*       1.0798
    +
    +
    +
    LBFGS:   26 18:13:13        8.893632*       0.7528
    +
    +
    +
    LBFGS:   27 18:13:13        8.845939*       0.3321
    +
    +
    +
    LBFGS:   28 18:13:13        8.815173*       0.2512
    +
    +
    +
    LBFGS:   29 18:13:13        8.808721*       0.2143
    +
    +
    +
    LBFGS:   30 18:13:13        8.794643*       0.1546
    +
    +
    +
    LBFGS:   31 18:13:13        8.789162*       0.2014
    +
    +
    +
    LBFGS:   32 18:13:13        8.782320*       0.1755
    +
    +
    +
    LBFGS:   33 18:13:13        8.780394*       0.1037
    +
    +
    +
    LBFGS:   34 18:13:13        8.778410*       0.1076
    +
    +
    +
    LBFGS:   35 18:13:13        8.775079*       0.1797
    +
    +
    +
    LBFGS:   36 18:13:13        8.766987*       0.3334
    +
    +
    +
    LBFGS:   37 18:13:13        8.750249*       0.5307
    +
    +
    +
    LBFGS:   38 18:13:13        8.725928*       0.6851
    +
    +
    +
    LBFGS:   39 18:13:13        8.702312*       0.5823
    +
    +
    +
    LBFGS:   40 18:13:13        8.661515*       0.3996
    +
    +
    +
    LBFGS:   41 18:13:13        8.643432*       0.5585
    +
    +
    +
    LBFGS:   42 18:13:13        8.621201*       0.3673
    +
    +
    +
    LBFGS:   43 18:13:13        8.614414*       0.1394
    +
    +
    +
    LBFGS:   44 18:13:13        8.610785*       0.1372
    +
    +
    +
    LBFGS:   45 18:13:13        8.608134*       0.1464
    +
    +
    +
    LBFGS:   46 18:13:13        8.604928*       0.1196
    +
    +
    +
    LBFGS:   47 18:13:13        8.599151*       0.1354
    +
    +
    +
    LBFGS:   48 18:13:13        8.594063*       0.1479
    +
    +
    +
    LBFGS:   49 18:13:14        8.589493*       0.1538
    +
    +
    +
    LBFGS:   50 18:13:14        8.587274*       0.0885
    +
    +
    +
    LBFGS:   51 18:13:14        8.584633*       0.0938
    +
    +
    +
    LBFGS:   52 18:13:14        8.580239*       0.1409
    +
    +
    +
    LBFGS:   53 18:13:14        8.572938*       0.2543
    +
    +
    +
    LBFGS:   54 18:13:14        8.563343*       0.2919
    +
    +
    +
    LBFGS:   55 18:13:14        8.554117*       0.1966
    +
    +
    +
    LBFGS:   56 18:13:14        8.547597*       0.1291
    +
    +
    +
    LBFGS:   57 18:13:14        8.542086*       0.1280
    +
    +
    +
    LBFGS:   58 18:13:14        8.535432*       0.0982
    +
    +
    +
    LBFGS:   59 18:13:14        8.533622*       0.1277
    +
    +
    +
    LBFGS:   60 18:13:14        8.527487*       0.1167
    +
    +
    +
    LBFGS:   61 18:13:14        8.523863*       0.1218
    +
    +
    +
    LBFGS:   62 18:13:14        8.519229*       0.1305
    +
    +
    +
    LBFGS:   63 18:13:14        8.515424*       0.1019
    +
    +
    +
    LBFGS:   64 18:13:14        8.511240*       0.2122
    +
    +
    +
    LBFGS:   65 18:13:14        8.507967*       0.2666
    +
    +
    +
    LBFGS:   66 18:13:14        8.503903*       0.2377
    +
    +
    +
    LBFGS:   67 18:13:14        8.497575*       0.1623
    +
    +
    +
    LBFGS:   68 18:13:14        8.485434*       0.2022
    +
    +
    +
    LBFGS:   69 18:13:14        8.466738*       0.2159
    +
    +
    +
    LBFGS:   70 18:13:14        8.467607*       0.3348
    +
    +
    +
    LBFGS:   71 18:13:14        8.454037*       0.1063
    +
    +
    +
    LBFGS:   72 18:13:14        8.448980*       0.1197
    +
    +
    +
    LBFGS:   73 18:13:14        8.446550*       0.0992
    +
    +
    +
    LBFGS:   74 18:13:14        8.444705*       0.0562
    +
    +
    +
    LBFGS:   75 18:13:14        8.443403*       0.0388
    +
    +
    +
    LBFGS:   76 18:13:14        8.442646*       0.0548
    +
    +
    +
    LBFGS:   77 18:13:14        8.442114*       0.0614
    +
    +
    +
    LBFGS:   78 18:13:15        8.440960*       0.0588
    +
    +
    +
    LBFGS:   79 18:13:15        8.439820*       0.0482
    +
    +
    +
    LBFGS:   80 18:13:15        8.438600*       0.0513
    +
    +
    +
    LBFGS:   81 18:13:15        8.437429*       0.0541
    +
    +
    +
    LBFGS:   82 18:13:15        8.435695*       0.0672
    +
    +
    +
    LBFGS:   83 18:13:15        8.431957*       0.0857
    +
    +
    +
    LBFGS:   84 18:13:15        8.423485*       0.1332
    +
    +
    +
    LBFGS:   85 18:13:15        8.413846*       0.2078
    +
    +
    +
    LBFGS:   86 18:13:15        8.404849*       0.1787
    +
    +
    +
    LBFGS:   87 18:13:15        8.385339*       0.1690
    +
    +
    +
    LBFGS:   88 18:13:15        8.386849*       0.1876
    +
    +
    +
    LBFGS:   89 18:13:15        8.371078*       0.1181
    +
    +
    +
    LBFGS:   90 18:13:15        8.368801*       0.0942
    +
    +
    +
    LBFGS:   91 18:13:15        8.366226*       0.0670
    +
    +
    +
    LBFGS:   92 18:13:15        8.361680*       0.0550
    +
    +
    +
    LBFGS:   93 18:13:15        8.360631*       0.0473
    +
    +
    +
    LBFGS:   94 18:13:15        8.359692*       0.0242
    +
    +
    +
    LBFGS:   95 18:13:15        8.359361*       0.0155
    +
    +
    +
    LBFGS:   96 18:13:15        8.359163*       0.0143
    +
    +
    +
    LBFGS:   97 18:13:15        8.359102*       0.0156
    +
    +
    +
    LBFGS:   98 18:13:15        8.359048*       0.0155
    +
    +
    +
    LBFGS:   99 18:13:15        8.358986*       0.0142
    +
    +
    +
    LBFGS:  100 18:13:15        8.358921*       0.0132
    +
    +
    +
    /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/ase/io/extxyz.py:302: UserWarning: Skipping unhashable information adsorbate_info
    +  warnings.warn('Skipping unhashable information '
    +
    +
    +
    0
    +
    +
    +

    Reading a trajectory#

    @@ -783,7 +1103,7 @@

    Saving a trajectory video

    @@ -802,32 +1130,50 @@

    Data contents
    -
    i_structure = traj[0]
    +
    i_structure = traj[0]
     i_structure
     
    +
    +
    Atoms(symbols='Cu27C3H8', pbc=True, cell=[7.65796644025031, 7.65796644025031, 33.266996999999996], energies=..., forces=..., tags=..., constraint=FixAtoms(indices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]), calculator=SinglePointCalculator(...))
    +
    +
    +

    Atomic numbers#

    -
    numbers = i_structure.get_atomic_numbers()
    +
    numbers = i_structure.get_atomic_numbers()
     print(numbers)
     
    +
    +
    [29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
    + 29 29 29  6  6  6  1  1  1  1  1  1  1  1]
    +
    +
    +

    Atomic symbols#

    -
    symbols = np.array(i_structure.get_chemical_symbols())
    +
    symbols = np.array(i_structure.get_chemical_symbols())
     print(symbols)
     
    +
    +
    ['Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu'
    + 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'Cu' 'C' 'C'
    + 'C' 'H' 'H' 'H' 'H' 'H' 'H' 'H' 'H']
    +
    +
    +
    @@ -835,11 +1181,18 @@

    Unit cell
    -
    cell = np.array(i_structure.cell)
    +
    cell = np.array(i_structure.cell)
     print(cell)
     
    +
    +
    [[ 7.65796644  0.          0.        ]
    + [ 0.          7.65796644  0.        ]
    + [ 0.          0.         33.266997  ]]
    +
    +
    +

    @@ -847,11 +1200,16 @@

    Periodic boundary conditions (PBC)
    -
    pbc = i_structure.pbc
    +
    pbc = i_structure.pbc
     print(pbc)
     
    +
    +
    [ True  True  True]
    +
    +
    +

    @@ -863,11 +1221,17 @@

    Tags#
    -
    tags = i_structure.get_tags()
    +
    tags = i_structure.get_tags()
     print(tags)
     
    +
    +
    [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
    + 2]
    +
    +
    +

    @@ -875,7 +1239,7 @@

    Fixed atoms constraintIn reality, surfaces contain many, many more atoms beneath what we’ve illustrated as the surface. At an infinite depth, these subsurface atoms would look just like the bulk structure. We approximate a true surface by fixing the subsurface atoms into their “bulk” locations. This ensures that they cannot move at the “bottom” of the surface. If they could, this would throw off our calculations. Consistent with the above, we fix all atoms with tags=0, and denote them as “fixed”. All other atoms are considered “free”.

    @@ -894,7 +1267,7 @@

    Energy#The energy of the system is one of the properties of interest in the OC20 dataset. It’s important to note that absolute energies provide little value to researchers and must be referenced properly to be useful. The OC20 dataset references all it’s energies to the bare slab + gas references to arrive at adsorption energies. Adsorption energies are important in studying catalysts and their corresponding reaction rates. In addition to the structure realxations of the OC20 dataset, bare slab and gas (N2, H2, H2O, CO) relaxations were carried out with DFT in order to calculate adsorption energies.

    @@ -942,19 +1330,103 @@

    Forces#The “apply_constraint” argument controls whether to apply system constraints to the forces. In the OC20 dataset, this controls whether to return forces for fixed atoms (apply_constraint=False) or return 0s (apply_constraint=True).

    -
    # Returning forces for all atoms - regardless of whether "fixed" or "free"
    +
    # Returning forces for all atoms - regardless of whether "fixed" or "free"
     i_structure.get_forces(apply_constraint=False)
     
    +
    +
    array([[-1.07900000e-05, -3.80000000e-06,  1.13560540e-01],
    +       [-0.00000000e+00, -4.29200000e-05,  1.13302410e-01],
    +       [ 1.07900000e-05, -3.80000000e-06,  1.13560540e-01],
    +       [-1.84600000e-05,  0.00000000e+00,  1.13543430e-01],
    +       [-0.00000000e+00,  0.00000000e+00,  1.13047800e-01],
    +       [ 1.84600000e-05,  0.00000000e+00,  1.13543430e-01],
    +       [-1.07900000e-05,  3.80000000e-06,  1.13560540e-01],
    +       [-0.00000000e+00,  4.29200000e-05,  1.13302410e-01],
    +       [ 1.07900000e-05,  3.80000000e-06,  1.13560540e-01],
    +       [-1.10430500e-02, -2.53094000e-03, -4.84573700e-02],
    +       [ 1.10430500e-02, -2.53094000e-03, -4.84573700e-02],
    +       [-0.00000000e+00, -2.20890000e-04, -2.07827000e-03],
    +       [-1.10430500e-02,  2.53094000e-03, -4.84573700e-02],
    +       [ 1.10430500e-02,  2.53094000e-03, -4.84573700e-02],
    +       [-0.00000000e+00,  2.20890000e-04, -2.07827000e-03],
    +       [-3.49808000e-03, -0.00000000e+00, -7.85544000e-03],
    +       [ 3.49808000e-03, -0.00000000e+00, -7.85544000e-03],
    +       [-0.00000000e+00, -0.00000000e+00, -5.97640000e-04],
    +       [-3.18144370e-01, -2.36420450e-01, -3.97089230e-01],
    +       [ 0.00000000e+00, -2.18895316e+00, -2.74768262e+00],
    +       [ 3.18144370e-01, -2.36420450e-01, -3.97089230e-01],
    +       [-5.65980520e-01,  0.00000000e+00, -6.16046990e-01],
    +       [ 0.00000000e+00,  0.00000000e+00, -4.47152822e+00],
    +       [ 5.65980520e-01, -0.00000000e+00, -6.16046990e-01],
    +       [-3.18144370e-01,  2.36420450e-01, -3.97089230e-01],
    +       [ 0.00000000e+00,  2.18895316e+00, -2.74768262e+00],
    +       [ 3.18144370e-01,  2.36420450e-01, -3.97089230e-01],
    +       [-0.00000000e+00, -0.00000000e+00, -3.96835355e+00],
    +       [-0.00000000e+00, -3.64190926e+00,  5.71458646e+00],
    +       [ 0.00000000e+00,  3.64190926e+00,  5.71458646e+00],
    +       [-2.18178516e+00, -0.00000000e+00,  1.67589182e+00],
    +       [ 2.18178516e+00,  0.00000000e+00,  1.67589182e+00],
    +       [ 0.00000000e+00,  2.46333681e+00,  1.78299828e+00],
    +       [ 0.00000000e+00, -2.46333681e+00,  1.78299828e+00],
    +       [ 6.18714050e+00,  2.26336330e-01, -5.99485570e-01],
    +       [-6.18714050e+00,  2.26336330e-01, -5.99485570e-01],
    +       [-6.18714050e+00, -2.26336330e-01, -5.99485570e-01],
    +       [ 6.18714050e+00, -2.26336330e-01, -5.99485570e-01]])
    +
    +
    +
    -
    # Applying the fixed atoms constraint to the forces
    +
    # Applying the fixed atoms constraint to the forces
     i_structure.get_forces(apply_constraint=True)
     
    +
    +
    array([[ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [ 0.        ,  0.        ,  0.        ],
    +       [-0.31814437, -0.23642045, -0.39708923],
    +       [ 0.        , -2.18895316, -2.74768262],
    +       [ 0.31814437, -0.23642045, -0.39708923],
    +       [-0.56598052,  0.        , -0.61604699],
    +       [ 0.        ,  0.        , -4.47152822],
    +       [ 0.56598052, -0.        , -0.61604699],
    +       [-0.31814437,  0.23642045, -0.39708923],
    +       [ 0.        ,  2.18895316, -2.74768262],
    +       [ 0.31814437,  0.23642045, -0.39708923],
    +       [-0.        , -0.        , -3.96835355],
    +       [-0.        , -3.64190926,  5.71458646],
    +       [ 0.        ,  3.64190926,  5.71458646],
    +       [-2.18178516, -0.        ,  1.67589182],
    +       [ 2.18178516,  0.        ,  1.67589182],
    +       [ 0.        ,  2.46333681,  1.78299828],
    +       [ 0.        , -2.46333681,  1.78299828],
    +       [ 6.1871405 ,  0.22633633, -0.59948557],
    +       [-6.1871405 ,  0.22633633, -0.59948557],
    +       [-6.1871405 , -0.22633633, -0.59948557],
    +       [ 6.1871405 , -0.22633633, -0.59948557]])
    +
    +
    +

    diff --git a/searchindex.js b/searchindex.js index dd1013762..f552c1dc2 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"": [[200, "id1"], [200, "id2"]], "(Optional) Creating your own LMDBs for use in the OCP repository": [[217, "optional-creating-your-own-lmdbs-for-use-in-the-ocp-repository"]], "(Optional) Deduplicate structures": [[224, "optional-deduplicate-structures"]], "(Optional) OCP Calculator
    ": [[217, "optional-ocp-calculator"]], "(Optional) Visualize the results": [[228, "optional-visualize-the-results"]], "A clustering example": [[226, "a-clustering-example"]], "A diagnostic example": [[226, "a-diagnostic-example"]], "A simple vector search example": [[226, "a-simple-vector-search-example"]], "API Reference": [[183, "api-reference"]], "About the compute environment": [[229, "about-the-compute-environment"]], "Abstract": [[229, "abstract"]], "Acknowledgements": [[216, "acknowledgements"]], "Adding additional info to your Data objects": [[218, "adding-additional-info-to-your-data-objects"]], "Additional Resources": [[217, "additional-resources"]], "Additional packages": [[205, "additional-packages"]], "AdsorbML tutorial": [[224, "adsorbml-tutorial"]], "Adsorbate+catalyst system trajectories (optional download)": [[197, "adsorbate-catalyst-system-trajectories-optional-download"]], "Adsorbate-catalyst system to catalyst system mapping information": [[197, "adsorbate-catalyst-system-to-catalyst-system-mapping-information"]], "Adsorption energy": [[217, "adsorption-energy"]], "Advanced OCP usage": [[225, "advanced-ocp-usage"]], "Advanced usage": [[208, "advanced-usage"], [212, "advanced-usage"]], "Are predictions from FAIRChem models deterministic?": [[210, "are-predictions-from-fairchem-models-deterministic"]], "Atom and Edge Embeddings": [[217, "atom-and-edge-embeddings"]], "Atomic numbers": [[217, "atomic-numbers"], [219, "atomic-numbers"]], "Atomic symbols": [[217, "atomic-symbols"], [219, "atomic-symbols"]], "Attributes": [[1, "attributes"], [2, "attributes"], [11, "attributes"], [14, "attributes"], [15, "attributes"], [16, "attributes"], [20, "attributes"], [28, "attributes"], [38, "attributes"], [39, "attributes"], [44, "attributes"], [48, "attributes"], [62, "attributes"], [65, "attributes"], [107, "attributes"], [108, "attributes"], [117, "attributes"], [121, "attributes"], [126, "attributes"], [129, "attributes"], [133, "attributes"], [135, "attributes"], [136, "attributes"], [141, "attributes"], [142, "attributes"], [143, "attributes"], [144, "attributes"], [145, "attributes"], [146, "attributes"], [162, "attributes"], [168, "attributes"], [169, "attributes"], [173, "attributes"], [174, "attributes"], [180, "attributes"], [187, "attributes"], [188, "attributes"], [190, "attributes"], [193, "attributes"], [195, "attributes"]], "Background & Prerequisites": [[217, "background-prerequisites"]], "Background
    ": [[217, "background"]], "Background References": [[217, "background-references"]], "Bader charge data": [[197, "bader-charge-data"]], "Bulk Cu equation of state example": [[226, "bulk-cu-equation-of-state-example"]], "Calculating adsorption energies": [[223, "calculating-adsorption-energies"]], "CatTSunami tutorial": [[228, "cattsunami-tutorial"]], "Catalyst system trajectories (optional download)": [[197, "catalyst-system-trajectories-optional-download"]], "Changing the model type": [[212, "changing-the-model-type"]], "Checkpoints": [[229, "checkpoints"]], "Citing OC20": [[197, "citing-oc20"]], "Citing OC22": [[200, "citing-oc22"]], "Citing ODAC23": [[201, "citing-odac23"]], "Citing fairchem": [[216, "citing-fairchem"]], "Citing ocpapi": [[212, "citing-ocpapi"]], "Classes": [[5, "classes"], [6, "classes"], [7, "classes"], [8, "classes"], [12, "classes"], [13, "classes"], [15, "classes"], [16, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [25, "classes"], [26, "classes"], [29, "classes"], [31, "classes"], [37, "classes"], [38, "classes"], [39, "classes"], [40, "classes"], [43, "classes"], [44, "classes"], [45, "classes"], [46, "classes"], [48, "classes"], [49, "classes"], [50, "classes"], [51, "classes"], [52, "classes"], [53, "classes"], [54, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [58, "classes"], [60, "classes"], [61, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [67, "classes"], [69, "classes"], [70, "classes"], [72, "classes"], [73, "classes"], [75, "classes"], [76, "classes"], [77, "classes"], [79, "classes"], [80, "classes"], [82, "classes"], [83, "classes"], [85, "classes"], [86, "classes"], [88, "classes"], [89, "classes"], [90, "classes"], [92, "classes"], [93, "classes"], [96, "classes"], [97, "classes"], [99, "classes"], [100, "classes"], [101, "classes"], [103, "classes"], [104, "classes"], [105, "classes"], [109, "classes"], [110, "classes"], [112, "classes"], [113, "classes"], [115, "classes"], [116, "classes"], [117, "classes"], [118, "classes"], [119, "classes"], [121, "classes"], [122, "classes"], [124, "classes"], [125, "classes"], [128, "classes"], [129, "classes"], [131, "classes"], [132, "classes"], [133, "classes"], [134, "classes"], [147, "classes"], [148, "classes"], [149, "classes"], [150, "classes"], [151, "classes"], [153, "classes"], [154, "classes"], [155, "classes"], [156, "classes"], [157, "classes"], [158, "classes"], [169, "classes"], [171, "classes"], [172, "classes"], [184, "classes"], [185, "classes"], [186, "classes"], [188, "classes"], [190, "classes"], [192, "classes"], [193, "classes"], [195, "classes"]], "Climate Impact": [[217, "climate-impact"]], "Cloning and installing the git repository on windows": [[205, "cloning-and-installing-the-git-repository-on-windows"]], "Clustering individual atoms": [[226, "clustering-individual-atoms"]], "Common gotchas with fairchem": [[203, "common-gotchas-with-fairchem"]], "Comparing ASE calculator and main.py": [[204, "comparing-ase-calculator-and-main-py"]], "Conda": [[205, "conda"]], "Convergence study": [[223, "convergence-study"]], "Convert Atoms object to Data object": [[218, "convert-atoms-object-to-data-object"]], "Converting to ase.Atoms objects": [[212, "converting-to-ase-atoms-objects"]], "Converting to other structure formats": [[212, "converting-to-other-structure-formats"]], "Create EvalAI OC20 submission files": [[211, "create-evalai-oc20-submission-files"]], "Create EvalAI OC22 submission files": [[211, "create-evalai-oc22-submission-files"]], "Create the trainer": [[217, "create-the-trainer"], [217, "id11"]], "DDEC Charges": [[201, "ddec-charges"]], "Data Download [~1min]
    ": [[217, "data-download-1min"]], "Data Visualization
    ": [[217, "data-visualization"]], "Data contents": [[219, "data-contents"]], "Data contents
    ": [[217, "data-contents"]], "Data mapping information": [[197, "data-mapping-information"], [200, "data-mapping-information"]], "Dataset": [[217, "dataset"], [217, "id2"], [217, "id9"]], "Dataset Overview": [[217, "dataset-overview"]], "Dataset changelog": [[197, "dataset-changelog"]], "Datasets / Tasks": [[229, "datasets-tasks"]], "Datasets in fairchem:": [[216, "datasets-in-fairchem"]], "Define the Config": [[217, "define-the-config"], [217, "id4"], [217, "id10"]], "Development install": [[205, "development-install"]], "Discussion": [[216, "discussion"]], "Do enumerations in an AdsorbML style for CH dissociation on Ru (001)": [[228, "do-enumerations-in-an-adsorbml-style-for-ch-dissociation-on-ru-001"]], "Download": [[199, "download"]], "Download and preprocess the dataset": [[197, "download-and-preprocess-the-dataset"]], "Download pretrained checkpoint": [[217, "download-pretrained-checkpoint"], [217, "id14"]], "Effects of number of layers": [[223, "effects-of-number-of-layers"]], "Effects of relaxation": [[223, "effects-of-relaxation"]], "Energy": [[219, "energy"]], "Enumerate NEBs": [[228, "enumerate-nebs"]], "Enumerate the adsorbate-slab configurations to run relaxations on": [[221, "enumerate-the-adsorbate-slab-configurations-to-run-relaxations-on"], [224, "enumerate-the-adsorbate-slab-configurations-to-run-relaxations-on"]], "Environment": [[205, "environment"]], "Exercises": [[223, "exercises"], [223, "id1"]], "FAIR-Chem overview": [[216, "fair-chem-overview"]], "Fast batched inference": [[204, "fast-batched-inference"]], "File Contents and Download": [[198, "file-contents-and-download"]], "File Structure and Contents": [[199, "file-structure-and-contents"]], "Fine tuning a model": [[202, "fine-tuning-a-model"]], "Fine tuning the checkpoint": [[202, "fine-tuning-the-checkpoint"]], "Fine-tuning with Python": [[227, "fine-tuning-with-python"]], "Fixed atoms constraint": [[217, "fixed-atoms-constraint"], [219, "fixed-atoms-constraint"]], "Force": [[217, "force"]], "Forces": [[219, "forces"]], "Functions": [[0, "functions"], [1, "functions"], [2, "functions"], [3, "functions"], [5, "functions"], [11, "functions"], [12, "functions"], [13, "functions"], [14, "functions"], [16, "functions"], [17, "functions"], [20, "functions"], [21, "functions"], [23, "functions"], [27, "functions"], [28, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [37, "functions"], [39, "functions"], [41, "functions"], [46, "functions"], [47, "functions"], [49, "functions"], [52, "functions"], [60, "functions"], [62, "functions"], [68, "functions"], [71, "functions"], [78, "functions"], [81, "functions"], [82, "functions"], [84, "functions"], [91, "functions"], [94, "functions"], [95, "functions"], [98, "functions"], [106, "functions"], [107, "functions"], [108, "functions"], [111, "functions"], [114, "functions"], [117, "functions"], [121, "functions"], [126, "functions"], [127, "functions"], [129, "functions"], [130, "functions"], [132, "functions"], [135, "functions"], [136, "functions"], [138, "functions"], [139, "functions"], [141, "functions"], [142, "functions"], [143, "functions"], [144, "functions"], [145, "functions"], [146, "functions"], [153, "functions"], [154, "functions"], [157, "functions"], [158, "functions"], [161, "functions"], [162, "functions"], [163, "functions"], [164, "functions"], [165, "functions"], [166, "functions"], [168, "functions"], [169, "functions"], [173, "functions"], [174, "functions"], [177, "functions"], [178, "functions"], [180, "functions"], [182, "functions"], [185, "functions"], [187, "functions"], [188, "functions"], [190, "functions"], [191, "functions"], [193, "functions"], [195, "functions"]], "Generate toy dataset: Relaxation of CO on Cu": [[208, "generate-toy-dataset-relaxation-of-co-on-cu"], [218, "generate-toy-dataset-relaxation-of-co-on-cu"]], "Generating sample data": [[217, "generating-sample-data"], [219, "generating-sample-data"]], "Getting Started": [[211, "getting-started"]], "Goals for this tutorial": [[229, "goals-for-this-tutorial"]], "How do I train a model on OC20 total energies?": [[210, "how-do-i-train-a-model-on-oc20-total-energies"]], "I get wildly different energies from the different models": [[203, "i-get-wildly-different-energies-from-the-different-models"]], "I want the energy of a gas phase atom": [[203, "i-want-the-energy-of-a-gas-phase-atom"]], "IS2RE Direct models": [[209, "is2re-direct-models"]], "IS2RE Relaxations": [[211, "is2re-relaxations"]], "IS2RE models": [[209, "is2re-models"]], "IS2RS": [[209, "is2rs"]], "IS2RS:": [[211, "is2rs"]], "Imports": [[217, "imports"], [217, "id1"], [217, "id8"], [217, "id13"]], "Incorporating triplets and training GemNet-T": [[217, "incorporating-triplets-and-training-gemnet-t"]], "Initial Structure to Relaxed Energy (IS2RE)
    ": [[217, "initial-structure-to-relaxed-energy-is2re"]], "Initial Structure to Relaxed Energy (IS2RE) LMDBs": [[217, "initial-structure-to-relaxed-energy-is2re-lmdbs"]], "Initial Structure to Relaxed Energy prediction (IS2RE)": [[211, "initial-structure-to-relaxed-energy-prediction-is2re"]], "Initial Structure to Relaxed Energy/Structure (IS2RE/IS2RS) LMDBs": [[208, "initial-structure-to-relaxed-energy-structure-is2re-is2rs-lmdbs"]], "Initial Structure to Relaxed Structure (IS2RS)": [[211, "initial-structure-to-relaxed-structure-is2rs"]], "Initial Structure to Relaxed Structure (IS2RS) / Relaxed Energy (IS2RE) tasks": [[201, "initial-structure-to-relaxed-structure-is2rs-relaxed-energy-is2re-tasks"]], "Initial Structure to Relaxed Structure (IS2RS)
    ": [[217, "initial-structure-to-relaxed-structure-is2rs"]], "Initial Structure to Relaxed Structure (IS2RS) and Initial Structure to Relaxed Energy (IS2RE) tasks": [[197, "initial-structure-to-relaxed-structure-is2rs-and-initial-structure-to-relaxed-energy-is2re-tasks"]], "Initial Structure to Relaxed Structure (IS2RS) and Initial Structure to Relaxed Total Energy (IS2RE-Total) tasks": [[200, "initial-structure-to-relaxed-structure-is2rs-and-initial-structure-to-relaxed-total-energy-is2re-total-tasks"]], "Initial Structure to Total Relaxed Energy (IS2RE-Total)": [[211, "initial-structure-to-total-relaxed-energy-is2re-total"]], "Initialize AtomsToGraph feature extractor": [[208, "initialize-atomstograph-feature-extractor"]], "Initialize LMDB file": [[208, "initialize-lmdb-file"]], "Install fairchem-core": [[205, "install-fairchem-core"]], "Installation": [[205, "installation"], [212, "installation"]], "Interacting with the LMDBs": [[208, "interacting-with-the-lmdbs"]], "Interacting with the OC20 datasets": [[217, "interacting-with-the-oc20-datasets"]], "Intro and background on OCP and DFT": [[229, "intro-and-background-on-ocp-and-dft"]], "Introduction": [[221, "introduction"], [229, "introduction"]], "I\u2019m trying to run GemNet-OC / GemNet-dT, but it throws an error that scaling factors are not fitted. What should I do?": [[210, "i-m-trying-to-run-gemnet-oc-gemnet-dt-but-it-throws-an-error-that-scaling-factors-are-not-fitted-what-should-i-do"]], "I\u2019m trying to run GemNet-OC on my data, but it errors out on sph_basis = self.spherical_basis(cos\u03c6_cab, \u03b8_cabd).": [[210, "i-m-trying-to-run-gemnet-oc-on-my-data-but-it-errors-out-on-sph-basis-self-spherical-basis-cos-cab-cabd"]], "Joint Training": [[211, "joint-training"]], "Legacy [deprecated] Tutorials": [[220, "legacy-deprecated-tutorials"]], "License": [[207, "license"], [212, "license"], [216, "license"]], "Limitations
    ": [[217, "limitations"]], "Load the best checkpoint": [[217, "load-the-best-checkpoint"], [217, "id7"], [217, "id12"]], "Make figure 6b and compare to literature results": [[221, "make-figure-6b-and-compare-to-literature-results"]], "Make parity plots for values obtained by ML v. reported in the paper": [[221, "make-parity-plots-for-values-obtained-by-ml-v-reported-in-the-paper"]], "Make the train, test, val splits": [[202, "make-the-train-test-val-splits"]], "Making LMDB Datasets (original format, deprecated for ASE LMDBs)": [[208, "making-lmdb-datasets-original-format-deprecated-for-ase-lmdbs"]], "Making and using ASE datasets": [[196, "making-and-using-ase-datasets"]], "March 2021": [[197, "march-2021"]], "Message passing": [[217, "message-passing"]], "Miscellaneous warnings": [[203, "miscellaneous-warnings"]], "Model FAQ": [[210, "model-faq"]], "Model development
    ": [[217, "model-development"]], "Models": [[210, "models"], [229, "models"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [7, "module-contents"], [8, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [23, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [28, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [35, "module-contents"], [36, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [43, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [57, "module-contents"], [58, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [65, "module-contents"], [66, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [78, "module-contents"], [79, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [85, "module-contents"], [86, "module-contents"], [88, "module-contents"], [89, "module-contents"], [90, "module-contents"], [91, "module-contents"], [92, "module-contents"], [94, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"], [99, "module-contents"], [100, "module-contents"], [101, "module-contents"], [103, "module-contents"], [104, "module-contents"], [105, "module-contents"], [106, "module-contents"], [108, "module-contents"], [110, "module-contents"], [111, "module-contents"], [112, "module-contents"], [114, "module-contents"], [115, "module-contents"], [116, "module-contents"], [117, "module-contents"], [118, "module-contents"], [119, "module-contents"], [121, "module-contents"], [122, "module-contents"], [124, "module-contents"], [125, "module-contents"], [126, "module-contents"], [127, "module-contents"], [129, "module-contents"], [130, "module-contents"], [131, "module-contents"], [132, "module-contents"], [133, "module-contents"], [135, "module-contents"], [136, "module-contents"], [138, "module-contents"], [139, "module-contents"], [141, "module-contents"], [142, "module-contents"], [143, "module-contents"], [144, "module-contents"], [145, "module-contents"], [146, "module-contents"], [148, "module-contents"], [149, "module-contents"], [151, "module-contents"], [153, "module-contents"], [154, "module-contents"], [155, "module-contents"], [157, "module-contents"], [158, "module-contents"], [161, "module-contents"], [162, "module-contents"], [163, "module-contents"], [164, "module-contents"], [165, "module-contents"], [166, "module-contents"], [168, "module-contents"], [169, "module-contents"], [171, "module-contents"], [173, "module-contents"], [174, "module-contents"], [176, "module-contents"], [177, "module-contents"], [178, "module-contents"], [180, "module-contents"], [182, "module-contents"], [184, "module-contents"], [186, "module-contents"], [187, "module-contents"], [189, "module-contents"], [190, "module-contents"], [191, "module-contents"], [192, "module-contents"], [194, "module-contents"], [195, "module-contents"]], "Multi-structure Files": [[196, "multi-structure-files"]], "Next Steps
    ": [[217, "next-steps"]], "Next steps": [[223, "next-steps"]], "Normalize data": [[217, "normalize-data"], [217, "id3"]], "Note about async methods": [[212, "note-about-async-methods"]], "Notebook execution times": [[215, "notebook-execution-times"]], "OC20": [[211, "oc20"]], "OC20 mappings": [[197, "oc20-mappings"]], "OC20 reference information": [[200, "oc20-reference-information"]], "OC22": [[211, "oc22"]], "OC22 Mappings": [[200, "oc22-mappings"]], "OCP Data Preprocessing Tutorial": [[218, "ocp-data-preprocessing-tutorial"]], "OCP Data Visualization": [[219, "ocp-data-visualization"]], "Objective ": [[217, "objective"]], "Open Catalyst 2020 (OC20)": [[197, "open-catalyst-2020-oc20"], [209, "open-catalyst-2020-oc20"]], "Open Catalyst 2020 Dense (OC20Dense)": [[198, "open-catalyst-2020-dense-oc20dense"]], "Open Catalyst 2020 Nudged Elastic Band (OC20NEB)": [[199, "open-catalyst-2020-nudged-elastic-band-oc20neb"]], "Open Catalyst 2022 (OC22)": [[200, "open-catalyst-2022-oc22"], [209, "open-catalyst-2022-oc22"]], "Open Catalyst Project Tutorial Notebook": [[217, "open-catalyst-project-tutorial-notebook"]], "Open Direct Air Capture 2023 (ODAC23)": [[201, "open-direct-air-capture-2023-odac23"], [209, "open-direct-air-capture-2023-odac23"]], "OutOfMemoryError": [[203, "outofmemoryerror"]], "Overriding YAML config parameters from the command line": [[211, "overriding-yaml-config-parameters-from-the-command-line"]], "Overview": [[198, "overview"], [199, "overview"]], "Package Contents": [[6, "package-contents"], [9, "package-contents"], [10, "package-contents"], [34, "package-contents"], [37, "package-contents"], [50, "package-contents"], [64, "package-contents"], [67, "package-contents"], [80, "package-contents"], [93, "package-contents"], [107, "package-contents"], [109, "package-contents"], [113, "package-contents"], [128, "package-contents"], [134, "package-contents"], [147, "package-contents"], [150, "package-contents"], [156, "package-contents"], [160, "package-contents"], [167, "package-contents"], [172, "package-contents"], [185, "package-contents"], [188, "package-contents"], [193, "package-contents"]], "Parse the trajectories and post-process": [[221, "parse-the-trajectories-and-post-process"], [224, "parse-the-trajectories-and-post-process"]], "Per-adsorbate trajectories": [[197, "per-adsorbate-trajectories"]], "Per-adsorbate trajectories (optional download)": [[197, "per-adsorbate-trajectories-optional-download"]], "Periodic boundary conditions (PBC)": [[217, "periodic-boundary-conditions-pbc"], [219, "periodic-boundary-conditions-pbc"]], "Persisting results": [[212, "persisting-results"]], "Plot energy profile of toy trajectory": [[217, "plot-energy-profile-of-toy-trajectory"]], "Pretrained FAIRChem models": [[209, "pretrained-fairchem-models"]], "Projects and models built on fairchem:": [[216, "projects-and-models-built-on-fairchem"]], "PyPi": [[205, "pypi"]], "Quickstart": [[212, "quickstart"]], "Reading a trajectory": [[217, "reading-a-trajectory"], [219, "reading-a-trajectory"]], "References": [[217, "references"]], "Relaxation Trajectories": [[197, "relaxation-trajectories"], [200, "relaxation-trajectories"]], "Request entity too large - can\u2019t save your Notebook": [[203, "request-entity-too-large-can-t-save-your-notebook"]], "Resources": [[219, "resources"]], "Run ML local relaxations:": [[228, "run-ml-local-relaxations"]], "Run ML relaxations:": [[224, "run-ml-relaxations"]], "Run NEBs": [[228, "run-nebs"]], "Run all the systems": [[221, "run-all-the-systems"]], "Run an ML relaxation": [[221, "run-an-ml-relaxation"]], "Run on the test set": [[217, "run-on-the-test-set"]], "Run relaxations": [[217, "run-relaxations"]], "Run the training task": [[227, "run-the-training-task"]], "Running on command line [Preferred way to train models] ": [[217, "running-on-command-line-preferred-way-to-train-models"]], "Running the training job": [[202, "running-the-training-job"]], "S2EF models": [[209, "s2ef-models"]], "S2EF models: optimized for EFwT": [[209, "s2ef-models-optimized-for-efwt"]], "S2EF models: optimized for force only": [[209, "s2ef-models-optimized-for-force-only"]], "S2EF-Total models": [[209, "s2ef-total-models"]], "S2EF-Total/IS2RE-Total:": [[211, "s2ef-total-is2re-total"]], "S2EF/IS2RE:": [[211, "s2ef-is2re"]], "Saving a trajectory video": [[219, "saving-a-trajectory-video"]], "Screening catalysts with OCP": [[222, "screening-catalysts-with-ocp"]], "Search over all surfaces": [[212, "search-over-all-surfaces"]], "September 2021": [[197, "september-2021"]], "Setting up the configuration yaml file": [[202, "setting-up-the-configuration-yaml-file"]], "Setup the training code": [[227, "setup-the-training-code"]], "Setup the training task": [[227, "setup-the-training-task"]], "Simple simulations using the OCP ASE calculator": [[223, "simple-simulations-using-the-ocp-ase-calculator"]], "Single-Structure Files": [[196, "single-structure-files"]], "Site correlations": [[223, "site-correlations"]], "Skip relaxation approval prompts": [[212, "skip-relaxation-approval-prompts"]], "Software Requirements": [[217, "software-requirements"]], "Split the data into train, test, val sets": [[227, "split-the-data-into-train-test-val-sets"]], "Steps for making IS2RS predictions": [[217, "steps-for-making-is2rs-predictions"]], "Steps for training an IS2RE model": [[217, "steps-for-training-an-is2re-model"]], "Steps for training an S2EF model": [[217, "steps-for-training-an-s2ef-model"]], "Stochastic simulation results": [[203, "stochastic-simulation-results"]], "Structural relaxations": [[217, "structural-relaxations"]], "Structure to Energy and Forces (S2EF)": [[211, "structure-to-energy-and-forces-s2ef"]], "Structure to Energy and Forces (S2EF) ": [[217, "structure-to-energy-and-forces-s2ef"]], "Structure to Energy and Forces (S2EF) LMDBs": [[208, "structure-to-energy-and-forces-s2ef-lmdbs"], [217, "structure-to-energy-and-forces-s2ef-lmdbs"]], "Structure to Energy and Forces (S2EF) task": [[197, "structure-to-energy-and-forces-s2ef-task"], [201, "structure-to-energy-and-forces-s2ef-task"]], "Structure to Total Energy and Forces (S2EF-Total)": [[211, "structure-to-total-energy-and-forces-s2ef-total"]], "Structure to Total Energy and Forces (S2EF-Total) task": [[200, "structure-to-total-energy-and-forces-s2ef-total-task"]], "Studies that have leveraged OCP models": [[213, "studies-that-have-leveraged-ocp-models"]], "Submodules": [[6, "submodules"], [18, "submodules"], [22, "submodules"], [24, "submodules"], [34, "submodules"], [37, "submodules"], [42, "submodules"], [50, "submodules"], [59, "submodules"], [64, "submodules"], [67, "submodules"], [74, "submodules"], [80, "submodules"], [87, "submodules"], [93, "submodules"], [102, "submodules"], [107, "submodules"], [109, "submodules"], [113, "submodules"], [120, "submodules"], [123, "submodules"], [128, "submodules"], [134, "submodules"], [137, "submodules"], [140, "submodules"], [147, "submodules"], [150, "submodules"], [156, "submodules"], [159, "submodules"], [167, "submodules"], [172, "submodules"], [181, "submodules"], [185, "submodules"], [188, "submodules"], [193, "submodules"]], "Subpackages": [[10, "subpackages"], [18, "subpackages"], [22, "subpackages"], [37, "subpackages"], [42, "subpackages"], [50, "subpackages"], [67, "subpackages"], [80, "subpackages"], [93, "subpackages"], [107, "subpackages"], [123, "subpackages"], [140, "subpackages"], [152, "subpackages"], [159, "subpackages"], [167, "subpackages"], [188, "subpackages"]], "Summary": [[223, "summary"]], "Supported bulks and adsorbates": [[212, "supported-bulks-and-adsorbates"]], "System trajectories (optional download)": [[200, "system-trajectories-optional-download"]], "Tags": [[217, "tags"], [219, "tags"]], "Target Audience": [[217, "target-audience"]], "Tasks": [[217, "tasks"]], "Technical presentations": [[230, "technical-presentations"]], "Test the model": [[217, "test-the-model"]], "The ASE calculator way": [[204, "the-ase-calculator-way"]], "The forces don\u2019t sum to zero": [[203, "the-forces-don-t-sum-to-zero"]], "To tag or not?": [[203, "to-tag-or-not"]], "Train the Model": [[217, "id5"]], "Train the model": [[217, "train-the-model"]], "Training OC20 models with total energies (IS2RE/S2EF)": [[211, "training-oc20-models-with-total-energies-is2re-s2ef"]], "Training and evaluating custom models on OCP datasets": [[211, "training-and-evaluating-custom-models-on-ocp-datasets"]], "Training the model": [[217, "training-the-model"]], "Trends in adsorption energies across metals.": [[223, "trends-in-adsorption-energies-across-metals"]], "Tutorial Use": [[217, "tutorial-use"]], "Unable to identify ocp trainer": [[203, "unable-to-identify-ocp-trainer"]], "Understanding the data": [[217, "understanding-the-data"], [219, "understanding-the-data"]], "Unit cell": [[217, "unit-cell"], [219, "unit-cell"]], "Unit cell size": [[223, "unit-cell-size"]], "Unrecognized arguments": [[203, "unrecognized-arguments"]], "Use": [[199, "use"]], "Using ASE-Readable Files": [[196, "using-ase-readable-files"]], "Using OCP to enumerate adsorbates on alloy catalyst surfaces": [[221, "using-ocp-to-enumerate-adsorbates-on-alloy-catalyst-surfaces"]], "Using an ASE Database": [[196, "using-an-ase-database"]], "Using pre-trained models in ASE": [[214, "using-pre-trained-models-in-ase"]], "Using the OCP Calculator": [[217, "using-the-ocp-calculator"]], "Validate the Model": [[217, "id6"]], "Validate the model": [[217, "validate-the-model"]], "Version 1, Oct 2020": [[197, "version-1-oct-2020"]], "Version 2, Feb 2021": [[197, "version-2-feb-2021"]], "Viewing a trajectory": [[217, "viewing-a-trajectory"], [219, "viewing-a-trajectory"]], "Viewing results in the web UI": [[212, "viewing-results-in-the-web-ui"]], "Visualize ML-driven relaxations": [[217, "visualize-ml-driven-relaxations"]], "Walkthrough video": [[229, "walkthrough-video"]], "Why model atoms for climate?": [[206, "why-model-atoms-for-climate"]], "Work out a single example": [[221, "work-out-a-single-example"]], "Working with embeddings": [[226, "working-with-embeddings"]], "Write VASP input files": [[224, "write-vasp-input-files"]], "Write data to LMDB": [[208, "write-data-to-lmdb"]], "You need at least four atoms for molecules with some models": [[203, "you-need-at-least-four-atoms-for-molecules-with-some-models"]], "adsorbml.2023_neurips_challenge.challenge_eval": [[0, "module-adsorbml.2023_neurips_challenge.challenge_eval"]], "adsorbml.scripts.dense_eval": [[1, "module-adsorbml.scripts.dense_eval"]], "adsorbml.scripts.process_mlrs": [[2, "module-adsorbml.scripts.process_mlrs"]], "adsorbml.scripts.utils": [[3, "module-adsorbml.scripts.utils"]], "adsorbml.scripts.write_top_k_vasp": [[4, "module-adsorbml.scripts.write_top_k_vasp"]], "cattsunami": [[10, "module-cattsunami"]], "cattsunami.core": [[6, "module-cattsunami.core"]], "cattsunami.core.autoframe": [[5, "module-cattsunami.core.autoframe"]], "cattsunami.core.ocpneb": [[7, "module-cattsunami.core.ocpneb"]], "cattsunami.core.reaction": [[8, "module-cattsunami.core.reaction"]], "cattsunami.databases": [[9, "module-cattsunami.databases"]], "cattsunami.run_validation.run_validation": [[11, "module-cattsunami.run_validation.run_validation"]], "core": [[42, "module-core"]], "core._cli": [[12, "module-core._cli"]], "core.common": [[18, "module-core.common"]], "core.common.data_parallel": [[13, "module-core.common.data_parallel"]], "core.common.distutils": [[14, "module-core.common.distutils"]], "core.common.flags": [[15, "module-core.common.flags"]], "core.common.gp_utils": [[16, "module-core.common.gp_utils"]], "core.common.hpo_utils": [[17, "module-core.common.hpo_utils"]], "core.common.logger": [[19, "module-core.common.logger"]], "core.common.registry": [[20, "module-core.common.registry"]], "core.common.relaxation": [[22, "module-core.common.relaxation"]], "core.common.relaxation.ase_utils": [[21, "module-core.common.relaxation.ase_utils"]], "core.common.relaxation.ml_relaxation": [[23, "module-core.common.relaxation.ml_relaxation"]], "core.common.relaxation.optimizers": [[24, "module-core.common.relaxation.optimizers"]], "core.common.relaxation.optimizers.lbfgs_torch": [[25, "module-core.common.relaxation.optimizers.lbfgs_torch"]], "core.common.transforms": [[26, "module-core.common.transforms"]], "core.common.tutorial_utils": [[27, "module-core.common.tutorial_utils"]], "core.common.typing": [[28, "module-core.common.typing"]], "core.common.utils": [[29, "module-core.common.utils"]], "core.datasets": [[37, "module-core.datasets"]], "core.datasets._utils": [[30, "module-core.datasets._utils"]], "core.datasets.ase_datasets": [[31, "module-core.datasets.ase_datasets"]], "core.datasets.embeddings": [[34, "module-core.datasets.embeddings"]], "core.datasets.embeddings.atomic_radii": [[32, "module-core.datasets.embeddings.atomic_radii"]], "core.datasets.embeddings.continuous_embeddings": [[33, "module-core.datasets.embeddings.continuous_embeddings"]], "core.datasets.embeddings.khot_embeddings": [[35, "module-core.datasets.embeddings.khot_embeddings"]], "core.datasets.embeddings.qmof_khot_embeddings": [[36, "module-core.datasets.embeddings.qmof_khot_embeddings"]], "core.datasets.lmdb_database": [[38, "module-core.datasets.lmdb_database"]], "core.datasets.lmdb_dataset": [[39, "module-core.datasets.lmdb_dataset"]], "core.datasets.oc22_lmdb_dataset": [[40, "module-core.datasets.oc22_lmdb_dataset"]], "core.datasets.target_metadata_guesser": [[41, "module-core.datasets.target_metadata_guesser"]], "core.models": [[107, "module-core.models"]], "core.models.base": [[43, "module-core.models.base"]], "core.models.dimenet_plus_plus": [[44, "module-core.models.dimenet_plus_plus"]], "core.models.equiformer_v2": [[50, "module-core.models.equiformer_v2"]], "core.models.equiformer_v2.activation": [[45, "module-core.models.equiformer_v2.activation"]], "core.models.equiformer_v2.drop": [[46, "module-core.models.equiformer_v2.drop"]], "core.models.equiformer_v2.edge_rot_mat": [[47, "module-core.models.equiformer_v2.edge_rot_mat"]], "core.models.equiformer_v2.equiformer_v2_oc20": [[48, "module-core.models.equiformer_v2.equiformer_v2_oc20"]], "core.models.equiformer_v2.gaussian_rbf": [[49, "module-core.models.equiformer_v2.gaussian_rbf"]], "core.models.equiformer_v2.input_block": [[51, "module-core.models.equiformer_v2.input_block"]], "core.models.equiformer_v2.layer_norm": [[52, "module-core.models.equiformer_v2.layer_norm"]], "core.models.equiformer_v2.module_list": [[53, "module-core.models.equiformer_v2.module_list"]], "core.models.equiformer_v2.radial_function": [[54, "module-core.models.equiformer_v2.radial_function"]], "core.models.equiformer_v2.so2_ops": [[55, "module-core.models.equiformer_v2.so2_ops"]], "core.models.equiformer_v2.so3": [[56, "module-core.models.equiformer_v2.so3"]], "core.models.equiformer_v2.trainers": [[59, "module-core.models.equiformer_v2.trainers"]], "core.models.equiformer_v2.trainers.energy_trainer": [[57, "module-core.models.equiformer_v2.trainers.energy_trainer"]], "core.models.equiformer_v2.trainers.forces_trainer": [[58, "module-core.models.equiformer_v2.trainers.forces_trainer"]], "core.models.equiformer_v2.trainers.lr_scheduler": [[60, "module-core.models.equiformer_v2.trainers.lr_scheduler"]], "core.models.equiformer_v2.transformer_block": [[61, "module-core.models.equiformer_v2.transformer_block"]], "core.models.equiformer_v2.wigner": [[62, "module-core.models.equiformer_v2.wigner"]], "core.models.escn": [[64, "module-core.models.escn"]], "core.models.escn.escn": [[63, "module-core.models.escn.escn"]], "core.models.escn.so3": [[65, "module-core.models.escn.so3"]], "core.models.gemnet": [[67, "module-core.models.gemnet"]], "core.models.gemnet.gemnet": [[66, "module-core.models.gemnet.gemnet"]], "core.models.gemnet.initializers": [[68, "module-core.models.gemnet.initializers"]], "core.models.gemnet.layers": [[74, "module-core.models.gemnet.layers"]], "core.models.gemnet.layers.atom_update_block": [[69, "module-core.models.gemnet.layers.atom_update_block"]], "core.models.gemnet.layers.base_layers": [[70, "module-core.models.gemnet.layers.base_layers"]], "core.models.gemnet.layers.basis_utils": [[71, "module-core.models.gemnet.layers.basis_utils"]], "core.models.gemnet.layers.efficient": [[72, "module-core.models.gemnet.layers.efficient"]], "core.models.gemnet.layers.embedding_block": [[73, "module-core.models.gemnet.layers.embedding_block"]], "core.models.gemnet.layers.interaction_block": [[75, "module-core.models.gemnet.layers.interaction_block"]], "core.models.gemnet.layers.radial_basis": [[76, "module-core.models.gemnet.layers.radial_basis"]], "core.models.gemnet.layers.spherical_basis": [[77, "module-core.models.gemnet.layers.spherical_basis"]], "core.models.gemnet.utils": [[78, "module-core.models.gemnet.utils"]], "core.models.gemnet_gp": [[80, "module-core.models.gemnet_gp"]], "core.models.gemnet_gp.gemnet": [[79, "module-core.models.gemnet_gp.gemnet"]], "core.models.gemnet_gp.initializers": [[81, "module-core.models.gemnet_gp.initializers"]], "core.models.gemnet_gp.layers": [[87, "module-core.models.gemnet_gp.layers"]], "core.models.gemnet_gp.layers.atom_update_block": [[82, "module-core.models.gemnet_gp.layers.atom_update_block"]], "core.models.gemnet_gp.layers.base_layers": [[83, "module-core.models.gemnet_gp.layers.base_layers"]], "core.models.gemnet_gp.layers.basis_utils": [[84, "module-core.models.gemnet_gp.layers.basis_utils"]], "core.models.gemnet_gp.layers.efficient": [[85, "module-core.models.gemnet_gp.layers.efficient"]], "core.models.gemnet_gp.layers.embedding_block": [[86, "module-core.models.gemnet_gp.layers.embedding_block"]], "core.models.gemnet_gp.layers.interaction_block": [[88, "module-core.models.gemnet_gp.layers.interaction_block"]], "core.models.gemnet_gp.layers.radial_basis": [[89, "module-core.models.gemnet_gp.layers.radial_basis"]], "core.models.gemnet_gp.layers.spherical_basis": [[90, "module-core.models.gemnet_gp.layers.spherical_basis"]], "core.models.gemnet_gp.utils": [[91, "module-core.models.gemnet_gp.utils"]], "core.models.gemnet_oc": [[93, "module-core.models.gemnet_oc"]], "core.models.gemnet_oc.gemnet_oc": [[92, "module-core.models.gemnet_oc.gemnet_oc"]], "core.models.gemnet_oc.initializers": [[94, "module-core.models.gemnet_oc.initializers"]], "core.models.gemnet_oc.interaction_indices": [[95, "module-core.models.gemnet_oc.interaction_indices"]], "core.models.gemnet_oc.layers": [[102, "module-core.models.gemnet_oc.layers"]], "core.models.gemnet_oc.layers.atom_update_block": [[96, "module-core.models.gemnet_oc.layers.atom_update_block"]], "core.models.gemnet_oc.layers.base_layers": [[97, "module-core.models.gemnet_oc.layers.base_layers"]], "core.models.gemnet_oc.layers.basis_utils": [[98, "module-core.models.gemnet_oc.layers.basis_utils"]], "core.models.gemnet_oc.layers.efficient": [[99, "module-core.models.gemnet_oc.layers.efficient"]], "core.models.gemnet_oc.layers.embedding_block": [[100, "module-core.models.gemnet_oc.layers.embedding_block"]], "core.models.gemnet_oc.layers.force_scaler": [[101, "module-core.models.gemnet_oc.layers.force_scaler"]], "core.models.gemnet_oc.layers.interaction_block": [[103, "module-core.models.gemnet_oc.layers.interaction_block"]], "core.models.gemnet_oc.layers.radial_basis": [[104, "module-core.models.gemnet_oc.layers.radial_basis"]], "core.models.gemnet_oc.layers.spherical_basis": [[105, "module-core.models.gemnet_oc.layers.spherical_basis"]], "core.models.gemnet_oc.utils": [[106, "module-core.models.gemnet_oc.utils"]], "core.models.model_registry": [[108, "module-core.models.model_registry"]], "core.models.painn": [[109, "module-core.models.painn"]], "core.models.painn.painn": [[110, "module-core.models.painn.painn"]], "core.models.painn.utils": [[111, "module-core.models.painn.utils"]], "core.models.schnet": [[112, "module-core.models.schnet"]], "core.models.scn": [[113, "module-core.models.scn"]], "core.models.scn.sampling": [[114, "module-core.models.scn.sampling"]], "core.models.scn.scn": [[115, "module-core.models.scn.scn"]], "core.models.scn.smearing": [[116, "module-core.models.scn.smearing"]], "core.models.scn.spherical_harmonics": [[117, "module-core.models.scn.spherical_harmonics"]], "core.models.utils": [[120, "module-core.models.utils"]], "core.models.utils.activations": [[118, "module-core.models.utils.activations"]], "core.models.utils.basis": [[119, "module-core.models.utils.basis"]], "core.modules": [[123, "module-core.modules"]], "core.modules.evaluator": [[121, "module-core.modules.evaluator"]], "core.modules.exponential_moving_average": [[122, "module-core.modules.exponential_moving_average"]], "core.modules.loss": [[124, "module-core.modules.loss"]], "core.modules.normalizer": [[125, "module-core.modules.normalizer"]], "core.modules.scaling": [[128, "module-core.modules.scaling"]], "core.modules.scaling.compat": [[126, "module-core.modules.scaling.compat"]], "core.modules.scaling.fit": [[127, "module-core.modules.scaling.fit"]], "core.modules.scaling.scale_factor": [[129, "module-core.modules.scaling.scale_factor"]], "core.modules.scaling.util": [[130, "module-core.modules.scaling.util"]], "core.modules.scheduler": [[131, "module-core.modules.scheduler"]], "core.modules.transforms": [[132, "module-core.modules.transforms"]], "core.preprocessing": [[134, "module-core.preprocessing"]], "core.preprocessing.atoms_to_graphs": [[133, "module-core.preprocessing.atoms_to_graphs"]], "core.scripts": [[140, "module-core.scripts"]], "core.scripts.download_data": [[135, "module-core.scripts.download_data"]], "core.scripts.gif_maker_parallelized": [[136, "module-core.scripts.gif_maker_parallelized"]], "core.scripts.hpo": [[137, "module-core.scripts.hpo"]], "core.scripts.hpo.run_tune": [[138, "module-core.scripts.hpo.run_tune"]], "core.scripts.hpo.run_tune_pbt": [[139, "module-core.scripts.hpo.run_tune_pbt"]], "core.scripts.make_challenge_submission_file": [[141, "module-core.scripts.make_challenge_submission_file"]], "core.scripts.make_lmdb_sizes": [[142, "module-core.scripts.make_lmdb_sizes"]], "core.scripts.make_submission_file": [[143, "module-core.scripts.make_submission_file"]], "core.scripts.preprocess_ef": [[144, "module-core.scripts.preprocess_ef"]], "core.scripts.preprocess_relaxed": [[145, "module-core.scripts.preprocess_relaxed"]], "core.scripts.uncompress": [[146, "module-core.scripts.uncompress"]], "core.tasks": [[147, "module-core.tasks"]], "core.tasks.task": [[148, "module-core.tasks.task"]], "core.trainers": [[150, "module-core.trainers"]], "core.trainers.base_trainer": [[149, "module-core.trainers.base_trainer"]], "core.trainers.ocp_trainer": [[151, "module-core.trainers.ocp_trainer"]], "data": [[152, "module-data"]], "data.oc": [[167, "module-data.oc"]], "data.oc.core": [[156, "module-data.oc.core"]], "data.oc.core.adsorbate": [[153, "module-data.oc.core.adsorbate"]], "data.oc.core.adsorbate_slab_config": [[154, "module-data.oc.core.adsorbate_slab_config"]], "data.oc.core.bulk": [[155, "module-data.oc.core.bulk"]], "data.oc.core.multi_adsorbate_slab_config": [[157, "module-data.oc.core.multi_adsorbate_slab_config"]], "data.oc.core.slab": [[158, "module-data.oc.core.slab"]], "data.oc.databases": [[159, "module-data.oc.databases"]], "data.oc.databases.pkls": [[160, "module-data.oc.databases.pkls"]], "data.oc.databases.update": [[161, "module-data.oc.databases.update"]], "data.oc.experimental.get_energies": [[162, "module-data.oc.experimental.get_energies"]], "data.oc.experimental.merge_traj": [[163, "module-data.oc.experimental.merge_traj"]], "data.oc.experimental.perturb_systems": [[164, "module-data.oc.experimental.perturb_systems"]], "data.oc.experimental.rattle_test": [[165, "module-data.oc.experimental.rattle_test"]], "data.oc.experimental.utils": [[166, "module-data.oc.experimental.utils"]], "data.oc.scripts.precompute_sample_structures": [[168, "module-data.oc.scripts.precompute_sample_structures"]], "data.oc.structure_generator": [[169, "module-data.oc.structure_generator"]], "data.oc.tests": [[170, "module-data.oc.tests"]], "data.oc.utils": [[172, "module-data.oc.utils"]], "data.oc.utils.flag_anomaly": [[171, "module-data.oc.utils.flag_anomaly"]], "data.oc.utils.vasp": [[173, "module-data.oc.utils.vasp"]], "data.odac": [[175, "module-data.odac"]], "data.odac.force_field.FF_analysis": [[174, "module-data.odac.force_field.FF_analysis"]], "data.odac.promising_mof.promising_mof_energies.energy": [[176, "module-data.odac.promising_mof.promising_mof_energies.energy"]], "data.om": [[179, "module-data.om"]], "data.om.biomolecules.geom.sample_geom_drugs": [[177, "module-data.om.biomolecules.geom.sample_geom_drugs"]], "data.om.biomolecules.geom.write_geom_drugs_structures": [[178, "module-data.om.biomolecules.geom.write_geom_drugs_structures"]], "data.om.omdata.orca": [[181, "module-data.om.omdata.orca"]], "data.om.omdata.orca.calc": [[180, "module-data.om.omdata.orca.calc"]], "data.om.omdata.orca.recipes": [[182, "module-data.om.omdata.orca.recipes"]], "ocpapi": [[188, "module-ocpapi"], [212, "ocpapi"]], "ocpapi.client": [[185, "module-ocpapi.client"]], "ocpapi.client.client": [[184, "module-ocpapi.client.client"]], "ocpapi.client.models": [[186, "module-ocpapi.client.models"]], "ocpapi.client.ui": [[187, "module-ocpapi.client.ui"]], "ocpapi.version": [[189, "module-ocpapi.version"]], "ocpapi.workflows": [[193, "module-ocpapi.workflows"]], "ocpapi.workflows.adsorbates": [[190, "module-ocpapi.workflows.adsorbates"]], "ocpapi.workflows.context": [[191, "module-ocpapi.workflows.context"]], "ocpapi.workflows.filter": [[192, "module-ocpapi.workflows.filter"]], "ocpapi.workflows.log": [[194, "module-ocpapi.workflows.log"]], "ocpapi.workflows.retry": [[195, "module-ocpapi.workflows.retry"]]}, "docnames": ["autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index", "autoapi/adsorbml/scripts/dense_eval/index", "autoapi/adsorbml/scripts/process_mlrs/index", "autoapi/adsorbml/scripts/utils/index", "autoapi/adsorbml/scripts/write_top_k_vasp/index", "autoapi/cattsunami/core/autoframe/index", "autoapi/cattsunami/core/index", "autoapi/cattsunami/core/ocpneb/index", "autoapi/cattsunami/core/reaction/index", "autoapi/cattsunami/databases/index", "autoapi/cattsunami/index", "autoapi/cattsunami/run_validation/run_validation/index", "autoapi/core/_cli/index", "autoapi/core/common/data_parallel/index", "autoapi/core/common/distutils/index", "autoapi/core/common/flags/index", "autoapi/core/common/gp_utils/index", "autoapi/core/common/hpo_utils/index", "autoapi/core/common/index", "autoapi/core/common/logger/index", "autoapi/core/common/registry/index", "autoapi/core/common/relaxation/ase_utils/index", "autoapi/core/common/relaxation/index", "autoapi/core/common/relaxation/ml_relaxation/index", "autoapi/core/common/relaxation/optimizers/index", "autoapi/core/common/relaxation/optimizers/lbfgs_torch/index", "autoapi/core/common/transforms/index", "autoapi/core/common/tutorial_utils/index", "autoapi/core/common/typing/index", "autoapi/core/common/utils/index", "autoapi/core/datasets/_utils/index", "autoapi/core/datasets/ase_datasets/index", "autoapi/core/datasets/embeddings/atomic_radii/index", "autoapi/core/datasets/embeddings/continuous_embeddings/index", "autoapi/core/datasets/embeddings/index", "autoapi/core/datasets/embeddings/khot_embeddings/index", "autoapi/core/datasets/embeddings/qmof_khot_embeddings/index", "autoapi/core/datasets/index", "autoapi/core/datasets/lmdb_database/index", "autoapi/core/datasets/lmdb_dataset/index", "autoapi/core/datasets/oc22_lmdb_dataset/index", "autoapi/core/datasets/target_metadata_guesser/index", "autoapi/core/index", "autoapi/core/models/base/index", "autoapi/core/models/dimenet_plus_plus/index", "autoapi/core/models/equiformer_v2/activation/index", "autoapi/core/models/equiformer_v2/drop/index", "autoapi/core/models/equiformer_v2/edge_rot_mat/index", "autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index", "autoapi/core/models/equiformer_v2/gaussian_rbf/index", "autoapi/core/models/equiformer_v2/index", "autoapi/core/models/equiformer_v2/input_block/index", "autoapi/core/models/equiformer_v2/layer_norm/index", "autoapi/core/models/equiformer_v2/module_list/index", "autoapi/core/models/equiformer_v2/radial_function/index", "autoapi/core/models/equiformer_v2/so2_ops/index", "autoapi/core/models/equiformer_v2/so3/index", "autoapi/core/models/equiformer_v2/trainers/energy_trainer/index", "autoapi/core/models/equiformer_v2/trainers/forces_trainer/index", "autoapi/core/models/equiformer_v2/trainers/index", "autoapi/core/models/equiformer_v2/trainers/lr_scheduler/index", "autoapi/core/models/equiformer_v2/transformer_block/index", "autoapi/core/models/equiformer_v2/wigner/index", "autoapi/core/models/escn/escn/index", "autoapi/core/models/escn/index", "autoapi/core/models/escn/so3/index", "autoapi/core/models/gemnet/gemnet/index", "autoapi/core/models/gemnet/index", "autoapi/core/models/gemnet/initializers/index", "autoapi/core/models/gemnet/layers/atom_update_block/index", "autoapi/core/models/gemnet/layers/base_layers/index", "autoapi/core/models/gemnet/layers/basis_utils/index", "autoapi/core/models/gemnet/layers/efficient/index", "autoapi/core/models/gemnet/layers/embedding_block/index", "autoapi/core/models/gemnet/layers/index", "autoapi/core/models/gemnet/layers/interaction_block/index", "autoapi/core/models/gemnet/layers/radial_basis/index", "autoapi/core/models/gemnet/layers/spherical_basis/index", "autoapi/core/models/gemnet/utils/index", "autoapi/core/models/gemnet_gp/gemnet/index", "autoapi/core/models/gemnet_gp/index", "autoapi/core/models/gemnet_gp/initializers/index", "autoapi/core/models/gemnet_gp/layers/atom_update_block/index", "autoapi/core/models/gemnet_gp/layers/base_layers/index", "autoapi/core/models/gemnet_gp/layers/basis_utils/index", "autoapi/core/models/gemnet_gp/layers/efficient/index", "autoapi/core/models/gemnet_gp/layers/embedding_block/index", "autoapi/core/models/gemnet_gp/layers/index", "autoapi/core/models/gemnet_gp/layers/interaction_block/index", "autoapi/core/models/gemnet_gp/layers/radial_basis/index", "autoapi/core/models/gemnet_gp/layers/spherical_basis/index", "autoapi/core/models/gemnet_gp/utils/index", "autoapi/core/models/gemnet_oc/gemnet_oc/index", "autoapi/core/models/gemnet_oc/index", "autoapi/core/models/gemnet_oc/initializers/index", "autoapi/core/models/gemnet_oc/interaction_indices/index", "autoapi/core/models/gemnet_oc/layers/atom_update_block/index", "autoapi/core/models/gemnet_oc/layers/base_layers/index", "autoapi/core/models/gemnet_oc/layers/basis_utils/index", "autoapi/core/models/gemnet_oc/layers/efficient/index", "autoapi/core/models/gemnet_oc/layers/embedding_block/index", "autoapi/core/models/gemnet_oc/layers/force_scaler/index", "autoapi/core/models/gemnet_oc/layers/index", "autoapi/core/models/gemnet_oc/layers/interaction_block/index", "autoapi/core/models/gemnet_oc/layers/radial_basis/index", "autoapi/core/models/gemnet_oc/layers/spherical_basis/index", "autoapi/core/models/gemnet_oc/utils/index", "autoapi/core/models/index", "autoapi/core/models/model_registry/index", "autoapi/core/models/painn/index", "autoapi/core/models/painn/painn/index", "autoapi/core/models/painn/utils/index", "autoapi/core/models/schnet/index", "autoapi/core/models/scn/index", "autoapi/core/models/scn/sampling/index", "autoapi/core/models/scn/scn/index", "autoapi/core/models/scn/smearing/index", "autoapi/core/models/scn/spherical_harmonics/index", "autoapi/core/models/utils/activations/index", "autoapi/core/models/utils/basis/index", "autoapi/core/models/utils/index", "autoapi/core/modules/evaluator/index", "autoapi/core/modules/exponential_moving_average/index", "autoapi/core/modules/index", "autoapi/core/modules/loss/index", "autoapi/core/modules/normalizer/index", "autoapi/core/modules/scaling/compat/index", "autoapi/core/modules/scaling/fit/index", "autoapi/core/modules/scaling/index", "autoapi/core/modules/scaling/scale_factor/index", "autoapi/core/modules/scaling/util/index", "autoapi/core/modules/scheduler/index", "autoapi/core/modules/transforms/index", "autoapi/core/preprocessing/atoms_to_graphs/index", "autoapi/core/preprocessing/index", "autoapi/core/scripts/download_data/index", "autoapi/core/scripts/gif_maker_parallelized/index", "autoapi/core/scripts/hpo/index", "autoapi/core/scripts/hpo/run_tune/index", "autoapi/core/scripts/hpo/run_tune_pbt/index", "autoapi/core/scripts/index", "autoapi/core/scripts/make_challenge_submission_file/index", "autoapi/core/scripts/make_lmdb_sizes/index", "autoapi/core/scripts/make_submission_file/index", "autoapi/core/scripts/preprocess_ef/index", "autoapi/core/scripts/preprocess_relaxed/index", "autoapi/core/scripts/uncompress/index", "autoapi/core/tasks/index", "autoapi/core/tasks/task/index", "autoapi/core/trainers/base_trainer/index", "autoapi/core/trainers/index", "autoapi/core/trainers/ocp_trainer/index", "autoapi/data/index", "autoapi/data/oc/core/adsorbate/index", "autoapi/data/oc/core/adsorbate_slab_config/index", "autoapi/data/oc/core/bulk/index", "autoapi/data/oc/core/index", "autoapi/data/oc/core/multi_adsorbate_slab_config/index", "autoapi/data/oc/core/slab/index", "autoapi/data/oc/databases/index", "autoapi/data/oc/databases/pkls/index", "autoapi/data/oc/databases/update/index", "autoapi/data/oc/experimental/get_energies/index", "autoapi/data/oc/experimental/merge_traj/index", "autoapi/data/oc/experimental/perturb_systems/index", "autoapi/data/oc/experimental/rattle_test/index", "autoapi/data/oc/experimental/utils/index", "autoapi/data/oc/index", "autoapi/data/oc/scripts/precompute_sample_structures/index", "autoapi/data/oc/structure_generator/index", "autoapi/data/oc/tests/index", "autoapi/data/oc/utils/flag_anomaly/index", "autoapi/data/oc/utils/index", "autoapi/data/oc/utils/vasp/index", "autoapi/data/odac/force_field/FF_analysis/index", "autoapi/data/odac/index", "autoapi/data/odac/promising_mof/promising_mof_energies/energy/index", "autoapi/data/om/biomolecules/geom/sample_geom_drugs/index", "autoapi/data/om/biomolecules/geom/write_geom_drugs_structures/index", "autoapi/data/om/index", "autoapi/data/om/omdata/orca/calc/index", "autoapi/data/om/omdata/orca/index", "autoapi/data/om/omdata/orca/recipes/index", "autoapi/index", "autoapi/ocpapi/client/client/index", "autoapi/ocpapi/client/index", "autoapi/ocpapi/client/models/index", "autoapi/ocpapi/client/ui/index", "autoapi/ocpapi/index", "autoapi/ocpapi/version/index", "autoapi/ocpapi/workflows/adsorbates/index", "autoapi/ocpapi/workflows/context/index", "autoapi/ocpapi/workflows/filter/index", "autoapi/ocpapi/workflows/index", "autoapi/ocpapi/workflows/log/index", "autoapi/ocpapi/workflows/retry/index", "core/ase_dataset_creation", "core/datasets/oc20", "core/datasets/oc20dense", "core/datasets/oc20neb", "core/datasets/oc22", "core/datasets/odac", "core/fine-tuning/fine-tuning-oxides", "core/gotchas", "core/inference", "core/install", "core/intro_series", "core/license", "core/lmdb_dataset_creation", "core/model_checkpoints", "core/model_faq", "core/model_training", "core/ocpapi", "core/papers_using_models", "core/quickstart", "execution_time", "index", "legacy_tutorials/OCP_Tutorial", "legacy_tutorials/data_preprocessing", "legacy_tutorials/data_visualization", "legacy_tutorials/legacy_tutorials", "tutorials/NRR/NRR_example", "tutorials/NRR/NRR_toc", "tutorials/OCP-introduction", "tutorials/adsorbml_walkthrough", "tutorials/advanced/advanced_toc", "tutorials/advanced/embeddings", "tutorials/advanced/fine-tuning-in-python", "tutorials/cattsunami_walkthrough", "tutorials/intro", "videos/technical_talks"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.rst", "autoapi/adsorbml/scripts/dense_eval/index.rst", "autoapi/adsorbml/scripts/process_mlrs/index.rst", "autoapi/adsorbml/scripts/utils/index.rst", "autoapi/adsorbml/scripts/write_top_k_vasp/index.rst", "autoapi/cattsunami/core/autoframe/index.rst", "autoapi/cattsunami/core/index.rst", "autoapi/cattsunami/core/ocpneb/index.rst", "autoapi/cattsunami/core/reaction/index.rst", "autoapi/cattsunami/databases/index.rst", "autoapi/cattsunami/index.rst", "autoapi/cattsunami/run_validation/run_validation/index.rst", "autoapi/core/_cli/index.rst", "autoapi/core/common/data_parallel/index.rst", "autoapi/core/common/distutils/index.rst", "autoapi/core/common/flags/index.rst", "autoapi/core/common/gp_utils/index.rst", "autoapi/core/common/hpo_utils/index.rst", "autoapi/core/common/index.rst", "autoapi/core/common/logger/index.rst", "autoapi/core/common/registry/index.rst", "autoapi/core/common/relaxation/ase_utils/index.rst", "autoapi/core/common/relaxation/index.rst", "autoapi/core/common/relaxation/ml_relaxation/index.rst", "autoapi/core/common/relaxation/optimizers/index.rst", "autoapi/core/common/relaxation/optimizers/lbfgs_torch/index.rst", "autoapi/core/common/transforms/index.rst", "autoapi/core/common/tutorial_utils/index.rst", "autoapi/core/common/typing/index.rst", "autoapi/core/common/utils/index.rst", "autoapi/core/datasets/_utils/index.rst", "autoapi/core/datasets/ase_datasets/index.rst", "autoapi/core/datasets/embeddings/atomic_radii/index.rst", "autoapi/core/datasets/embeddings/continuous_embeddings/index.rst", "autoapi/core/datasets/embeddings/index.rst", "autoapi/core/datasets/embeddings/khot_embeddings/index.rst", "autoapi/core/datasets/embeddings/qmof_khot_embeddings/index.rst", "autoapi/core/datasets/index.rst", "autoapi/core/datasets/lmdb_database/index.rst", "autoapi/core/datasets/lmdb_dataset/index.rst", "autoapi/core/datasets/oc22_lmdb_dataset/index.rst", "autoapi/core/datasets/target_metadata_guesser/index.rst", "autoapi/core/index.rst", "autoapi/core/models/base/index.rst", "autoapi/core/models/dimenet_plus_plus/index.rst", "autoapi/core/models/equiformer_v2/activation/index.rst", "autoapi/core/models/equiformer_v2/drop/index.rst", "autoapi/core/models/equiformer_v2/edge_rot_mat/index.rst", "autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.rst", "autoapi/core/models/equiformer_v2/gaussian_rbf/index.rst", "autoapi/core/models/equiformer_v2/index.rst", "autoapi/core/models/equiformer_v2/input_block/index.rst", "autoapi/core/models/equiformer_v2/layer_norm/index.rst", "autoapi/core/models/equiformer_v2/module_list/index.rst", "autoapi/core/models/equiformer_v2/radial_function/index.rst", "autoapi/core/models/equiformer_v2/so2_ops/index.rst", "autoapi/core/models/equiformer_v2/so3/index.rst", "autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.rst", "autoapi/core/models/equiformer_v2/trainers/forces_trainer/index.rst", "autoapi/core/models/equiformer_v2/trainers/index.rst", "autoapi/core/models/equiformer_v2/trainers/lr_scheduler/index.rst", "autoapi/core/models/equiformer_v2/transformer_block/index.rst", "autoapi/core/models/equiformer_v2/wigner/index.rst", "autoapi/core/models/escn/escn/index.rst", "autoapi/core/models/escn/index.rst", "autoapi/core/models/escn/so3/index.rst", "autoapi/core/models/gemnet/gemnet/index.rst", "autoapi/core/models/gemnet/index.rst", "autoapi/core/models/gemnet/initializers/index.rst", "autoapi/core/models/gemnet/layers/atom_update_block/index.rst", "autoapi/core/models/gemnet/layers/base_layers/index.rst", "autoapi/core/models/gemnet/layers/basis_utils/index.rst", "autoapi/core/models/gemnet/layers/efficient/index.rst", "autoapi/core/models/gemnet/layers/embedding_block/index.rst", "autoapi/core/models/gemnet/layers/index.rst", "autoapi/core/models/gemnet/layers/interaction_block/index.rst", "autoapi/core/models/gemnet/layers/radial_basis/index.rst", "autoapi/core/models/gemnet/layers/spherical_basis/index.rst", "autoapi/core/models/gemnet/utils/index.rst", "autoapi/core/models/gemnet_gp/gemnet/index.rst", "autoapi/core/models/gemnet_gp/index.rst", "autoapi/core/models/gemnet_gp/initializers/index.rst", "autoapi/core/models/gemnet_gp/layers/atom_update_block/index.rst", "autoapi/core/models/gemnet_gp/layers/base_layers/index.rst", "autoapi/core/models/gemnet_gp/layers/basis_utils/index.rst", "autoapi/core/models/gemnet_gp/layers/efficient/index.rst", "autoapi/core/models/gemnet_gp/layers/embedding_block/index.rst", "autoapi/core/models/gemnet_gp/layers/index.rst", "autoapi/core/models/gemnet_gp/layers/interaction_block/index.rst", "autoapi/core/models/gemnet_gp/layers/radial_basis/index.rst", "autoapi/core/models/gemnet_gp/layers/spherical_basis/index.rst", "autoapi/core/models/gemnet_gp/utils/index.rst", "autoapi/core/models/gemnet_oc/gemnet_oc/index.rst", "autoapi/core/models/gemnet_oc/index.rst", "autoapi/core/models/gemnet_oc/initializers/index.rst", "autoapi/core/models/gemnet_oc/interaction_indices/index.rst", "autoapi/core/models/gemnet_oc/layers/atom_update_block/index.rst", "autoapi/core/models/gemnet_oc/layers/base_layers/index.rst", "autoapi/core/models/gemnet_oc/layers/basis_utils/index.rst", "autoapi/core/models/gemnet_oc/layers/efficient/index.rst", "autoapi/core/models/gemnet_oc/layers/embedding_block/index.rst", "autoapi/core/models/gemnet_oc/layers/force_scaler/index.rst", "autoapi/core/models/gemnet_oc/layers/index.rst", "autoapi/core/models/gemnet_oc/layers/interaction_block/index.rst", "autoapi/core/models/gemnet_oc/layers/radial_basis/index.rst", "autoapi/core/models/gemnet_oc/layers/spherical_basis/index.rst", "autoapi/core/models/gemnet_oc/utils/index.rst", "autoapi/core/models/index.rst", "autoapi/core/models/model_registry/index.rst", "autoapi/core/models/painn/index.rst", "autoapi/core/models/painn/painn/index.rst", "autoapi/core/models/painn/utils/index.rst", "autoapi/core/models/schnet/index.rst", "autoapi/core/models/scn/index.rst", "autoapi/core/models/scn/sampling/index.rst", "autoapi/core/models/scn/scn/index.rst", "autoapi/core/models/scn/smearing/index.rst", "autoapi/core/models/scn/spherical_harmonics/index.rst", "autoapi/core/models/utils/activations/index.rst", "autoapi/core/models/utils/basis/index.rst", "autoapi/core/models/utils/index.rst", "autoapi/core/modules/evaluator/index.rst", "autoapi/core/modules/exponential_moving_average/index.rst", "autoapi/core/modules/index.rst", "autoapi/core/modules/loss/index.rst", "autoapi/core/modules/normalizer/index.rst", "autoapi/core/modules/scaling/compat/index.rst", "autoapi/core/modules/scaling/fit/index.rst", "autoapi/core/modules/scaling/index.rst", "autoapi/core/modules/scaling/scale_factor/index.rst", "autoapi/core/modules/scaling/util/index.rst", "autoapi/core/modules/scheduler/index.rst", "autoapi/core/modules/transforms/index.rst", "autoapi/core/preprocessing/atoms_to_graphs/index.rst", "autoapi/core/preprocessing/index.rst", "autoapi/core/scripts/download_data/index.rst", "autoapi/core/scripts/gif_maker_parallelized/index.rst", "autoapi/core/scripts/hpo/index.rst", "autoapi/core/scripts/hpo/run_tune/index.rst", "autoapi/core/scripts/hpo/run_tune_pbt/index.rst", "autoapi/core/scripts/index.rst", "autoapi/core/scripts/make_challenge_submission_file/index.rst", "autoapi/core/scripts/make_lmdb_sizes/index.rst", "autoapi/core/scripts/make_submission_file/index.rst", "autoapi/core/scripts/preprocess_ef/index.rst", "autoapi/core/scripts/preprocess_relaxed/index.rst", "autoapi/core/scripts/uncompress/index.rst", "autoapi/core/tasks/index.rst", "autoapi/core/tasks/task/index.rst", "autoapi/core/trainers/base_trainer/index.rst", "autoapi/core/trainers/index.rst", "autoapi/core/trainers/ocp_trainer/index.rst", "autoapi/data/index.rst", "autoapi/data/oc/core/adsorbate/index.rst", "autoapi/data/oc/core/adsorbate_slab_config/index.rst", "autoapi/data/oc/core/bulk/index.rst", "autoapi/data/oc/core/index.rst", "autoapi/data/oc/core/multi_adsorbate_slab_config/index.rst", "autoapi/data/oc/core/slab/index.rst", "autoapi/data/oc/databases/index.rst", "autoapi/data/oc/databases/pkls/index.rst", "autoapi/data/oc/databases/update/index.rst", "autoapi/data/oc/experimental/get_energies/index.rst", "autoapi/data/oc/experimental/merge_traj/index.rst", "autoapi/data/oc/experimental/perturb_systems/index.rst", "autoapi/data/oc/experimental/rattle_test/index.rst", "autoapi/data/oc/experimental/utils/index.rst", "autoapi/data/oc/index.rst", "autoapi/data/oc/scripts/precompute_sample_structures/index.rst", "autoapi/data/oc/structure_generator/index.rst", "autoapi/data/oc/tests/index.rst", "autoapi/data/oc/utils/flag_anomaly/index.rst", "autoapi/data/oc/utils/index.rst", "autoapi/data/oc/utils/vasp/index.rst", "autoapi/data/odac/force_field/FF_analysis/index.rst", "autoapi/data/odac/index.rst", "autoapi/data/odac/promising_mof/promising_mof_energies/energy/index.rst", "autoapi/data/om/biomolecules/geom/sample_geom_drugs/index.rst", "autoapi/data/om/biomolecules/geom/write_geom_drugs_structures/index.rst", "autoapi/data/om/index.rst", "autoapi/data/om/omdata/orca/calc/index.rst", "autoapi/data/om/omdata/orca/index.rst", "autoapi/data/om/omdata/orca/recipes/index.rst", "autoapi/index.rst", "autoapi/ocpapi/client/client/index.rst", "autoapi/ocpapi/client/index.rst", "autoapi/ocpapi/client/models/index.rst", "autoapi/ocpapi/client/ui/index.rst", "autoapi/ocpapi/index.rst", "autoapi/ocpapi/version/index.rst", "autoapi/ocpapi/workflows/adsorbates/index.rst", "autoapi/ocpapi/workflows/context/index.rst", "autoapi/ocpapi/workflows/filter/index.rst", "autoapi/ocpapi/workflows/index.rst", "autoapi/ocpapi/workflows/log/index.rst", "autoapi/ocpapi/workflows/retry/index.rst", "core/ase_dataset_creation.md", "core/datasets/oc20.md", "core/datasets/oc20dense.md", "core/datasets/oc20neb.md", "core/datasets/oc22.md", "core/datasets/odac.md", "core/fine-tuning/fine-tuning-oxides.md", "core/gotchas.md", "core/inference.md", "core/install.md", "core/intro_series.md", "core/license.md", "core/lmdb_dataset_creation.md", "core/model_checkpoints.md", "core/model_faq.md", "core/model_training.md", "core/ocpapi.md", "core/papers_using_models.md", "core/quickstart.md", "execution_time.md", "index.md", "legacy_tutorials/OCP_Tutorial.md", "legacy_tutorials/data_preprocessing.md", "legacy_tutorials/data_visualization.md", "legacy_tutorials/legacy_tutorials.md", "tutorials/NRR/NRR_example.md", "tutorials/NRR/NRR_toc.md", "tutorials/OCP-introduction.md", "tutorials/adsorbml_walkthrough.md", "tutorials/advanced/advanced_toc.md", "tutorials/advanced/embeddings.md", "tutorials/advanced/fine-tuning-in-python.md", "tutorials/cattsunami_walkthrough.md", "tutorials/intro.md", "videos/technical_talks.md"], "indexentries": {"__author__ (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.__author__", false]], "__authors__ (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.__authors__", false]], "__call__() (core._cli.runner method)": [[12, "core._cli.Runner.__call__", false]], "__call__() (core.common.data_parallel.ocpcollater method)": [[13, "core.common.data_parallel.OCPCollater.__call__", false]], "__call__() (core.common.transforms.randomrotate method)": [[26, "core.common.transforms.RandomRotate.__call__", false]], "__call__() (core.common.utils.complete method)": [[29, "core.common.utils.Complete.__call__", false]], "__call__() (core.models.equiformer_v2.trainers.lr_scheduler.cosinelrlambda method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.CosineLRLambda.__call__", false]], "__call__() (core.models.equiformer_v2.trainers.lr_scheduler.multisteplrlambda method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.MultistepLRLambda.__call__", false]], "__call__() (core.modules.transforms.datatransforms method)": [[132, "core.modules.transforms.DataTransforms.__call__", false]], "__call__() (ocpapi.keep_all_slabs method)": [[188, "ocpapi.keep_all_slabs.__call__", false]], "__call__() (ocpapi.keep_slabs_with_miller_indices method)": [[188, "ocpapi.keep_slabs_with_miller_indices.__call__", false]], "__call__() (ocpapi.prompt_for_slabs_to_keep method)": [[188, "ocpapi.prompt_for_slabs_to_keep.__call__", false]], "__call__() (ocpapi.workflows.filter.keep_all_slabs method)": [[192, "ocpapi.workflows.filter.keep_all_slabs.__call__", false]], "__call__() (ocpapi.workflows.filter.keep_slabs_with_miller_indices method)": [[192, "ocpapi.workflows.filter.keep_slabs_with_miller_indices.__call__", false]], "__call__() (ocpapi.workflows.filter.prompt_for_slabs_to_keep method)": [[192, "ocpapi.workflows.filter.prompt_for_slabs_to_keep.__call__", false]], "__call__() (ocpapi.workflows.keep_all_slabs method)": [[193, "ocpapi.workflows.keep_all_slabs.__call__", false]], "__call__() (ocpapi.workflows.keep_slabs_with_miller_indices method)": [[193, "ocpapi.workflows.keep_slabs_with_miller_indices.__call__", false]], "__call__() (ocpapi.workflows.prompt_for_slabs_to_keep method)": [[193, "ocpapi.workflows.prompt_for_slabs_to_keep.__call__", false]], "__call__() (ocpapi.workflows.retry._wait_check_retry_after method)": [[195, "ocpapi.workflows.retry._wait_check_retry_after.__call__", false]], "__email__ (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.__email__", false]], "__email__ (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.__email__", false]], "__enter__() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.__enter__", false]], "__enter__() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.__enter__", false]], "__eq__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__eq__", false]], "__eq__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__eq__", false]], "__eq__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__eq__", false]], "__eq__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__eq__", false]], "__exit__() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.__exit__", false]], "__exit__() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.__exit__", false]], "__getitem__() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.__getitem__", false]], "__getitem__() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.__getitem__", false]], "__getitem__() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.__getitem__", false]], "__getitem__() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.__getitem__", false]], "__getitem__() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.__getitem__", false]], "__import_error() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.__import_error", false]], "__iter__() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler.__iter__", false]], "__iter__() (core.common.data_parallel.statefuldistributedsampler method)": [[13, "core.common.data_parallel.StatefulDistributedSampler.__iter__", false]], "__len__() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler.__len__", false]], "__len__() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.__len__", false]], "__len__() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.__len__", false]], "__len__() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.__len__", false]], "__len__() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.__len__", false]], "__len__() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.__len__", false]], "__len__() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate.__len__", false]], "__len__() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate.__len__", false]], "__len__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__len__", false]], "__len__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__len__", false]], "__len__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__len__", false]], "__len__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__len__", false]], "__repr__() (core.common.transforms.randomrotate method)": [[26, "core.common.transforms.RandomRotate.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantdegreelayerscale method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantlayernormarray method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantlayernormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonicsv2 method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2.__repr__", false]], "__repr__() (core.models.equiformer_v2.module_list.modulelistinfo method)": [[53, "core.models.equiformer_v2.module_list.ModuleListInfo.__repr__", false]], "__repr__() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.__repr__", false]], "__repr__() (core.models.equiformer_v2.so3.so3_linear method)": [[56, "core.models.equiformer_v2.so3.SO3_Linear.__repr__", false]], "__repr__() (core.models.equiformer_v2.so3.so3_linearv2 method)": [[56, "core.models.equiformer_v2.so3.SO3_LinearV2.__repr__", false]], "__repr__() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.__repr__", false]], "__repr__() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.__repr__", false]], "__repr__() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate.__repr__", false]], "__repr__() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate.__repr__", false]], "__repr__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__repr__", false]], "__repr__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__repr__", false]], "__repr__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__repr__", false]], "__repr__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__repr__", false]], "__str__() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate.__str__", false]], "__str__() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate.__str__", false]], "__str__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__str__", false]], "__str__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__str__", false]], "__str__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__str__", false]], "__str__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__str__", false]], "__str__() (ocpapi.client.models.status method)": [[186, "ocpapi.client.models.Status.__str__", false]], "__str__() (ocpapi.client.status method)": [[185, "ocpapi.client.Status.__str__", false]], "__str__() (ocpapi.status method)": [[188, "ocpapi.Status.__str__", false]], "__version__ (in module cattsunami)": [[10, "cattsunami.__version__", false]], "__version__ (in module data.oc)": [[167, "data.oc.__version__", false]], "__version__ (in module ocpapi)": [[188, "ocpapi.__version__", false]], "_api_to_ui_hosts (in module ocpapi.client.ui)": [[187, "ocpapi.client.ui._API_TO_UI_HOSTS", false]], "_avg_degree (in module core.models.equiformer_v2.equiformer_v2_oc20)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20._AVG_DEGREE", false]], "_avg_num_nodes (in module core.models.equiformer_v2.equiformer_v2_oc20)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20._AVG_NUM_NODES", false]], "_backward() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer._backward", false]], "_backward() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer._backward", false]], "_check_consistency() (in module core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor._check_consistency", false]], "_clean_up_inputs() (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp._clean_up_inputs", false]], "_compute_loss() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer._compute_loss", false]], "_compute_loss() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer._compute_loss", false]], "_compute_metrics() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer._compute_metrics", false]], "_compute_metrics() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer._compute_metrics", false]], "_ctx_ad_bulk (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._CTX_AD_BULK", false]], "_ctx_slab (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._CTX_SLAB", false]], "_data_parallel_group (in module core.common.gp_utils)": [[16, "core.common.gp_utils._DATA_PARALLEL_GROUP", false]], "_datamodel (class in ocpapi.client.models)": [[186, "ocpapi.client.models._DataModel", false]], "_default_adslab_filter (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._DEFAULT_ADSLAB_FILTER", false]], "_delete_system() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._delete_system", false]], "_enforce_consistency() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor._enforce_consistency", false]], "_enforce_consistency() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor._enforce_consistency", false]], "_ensure_adsorbate_supported() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._ensure_adsorbate_supported", false]], "_ensure_model_supported() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._ensure_model_supported", false]], "_ensure_system_deleted() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._ensure_system_deleted", false]], "_expand_edge() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._expand_edge", false]], "_expand_edge() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._expand_edge", false]], "_find_combos_to_check() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig._find_combos_to_check", false]], "_find_combos_to_check() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig._find_combos_to_check", false]], "_forward() (core.models.dimenet_plus_plus.dimenetpluspluswrap method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap._forward", false]], "_forward() (core.models.schnet.schnetwrap method)": [[112, "core.models.schnet.SchNetWrap._forward", false]], "_forward() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer._forward", false]], "_forward() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer._forward", false]], "_forward_helper() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork._forward_helper", false]], "_forward_helper() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork._forward_helper", false]], "_from_grid() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._from_grid", false]], "_from_grid() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._from_grid", false]], "_gather() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._gather", false]], "_gather_with_padding() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._gather_with_padding", false]], "_get_absolute_mapping() (in module core.common.registry)": [[20, "core.common.registry._get_absolute_mapping", false]], "_get_absorbate_configs_on_slab() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_absorbate_configs_on_slab", false]], "_get_absorbate_configs_on_slab_with_logging() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_absorbate_configs_on_slab_with_logging", false]], "_get_adsorbate_configs_on_slabs() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_adsorbate_configs_on_slabs", false]], "_get_adsorbate_from_random() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate._get_adsorbate_from_random", false]], "_get_adsorbate_from_random() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate._get_adsorbate_from_random", false]], "_get_bulk_from_random() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk._get_bulk_from_random", false]], "_get_bulk_from_random() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk._get_bulk_from_random", false]], "_get_bulk_if_supported() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_bulk_if_supported", false]], "_get_connectivity() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly._get_connectivity", false]], "_get_connectivity() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly._get_connectivity", false]], "_get_neighbors_pymatgen() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs._get_neighbors_pymatgen", false]], "_get_neighbors_pymatgen() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs._get_neighbors_pymatgen", false]], "_get_parameters() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage._get_parameters", false]], "_get_project_root() (in module core.common.utils)": [[29, "core.common.utils._get_project_root", false]], "_get_projected_points() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig._get_projected_points", false]], "_get_projected_points() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig._get_projected_points", false]], "_get_row() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._get_row", false]], "_get_row() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._get_row", false]], "_get_row_by_index() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._get_row_by_index", false]], "_get_row_by_index() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._get_row_by_index", false]], "_get_scaled_normal() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig._get_scaled_normal", false]], "_get_scaled_normal() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig._get_scaled_normal", false]], "_get_slabs() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_slabs", false]], "_get_timestamp() (core.trainers.base_trainer.basetrainer static method)": [[149, "core.trainers.base_trainer.BaseTrainer._get_timestamp", false]], "_get_timestamp() (core.trainers.basetrainer static method)": [[150, "core.trainers.BaseTrainer._get_timestamp", false]], "_graph_parallel_group (in module core.common.gp_utils)": [[16, "core.common.gp_utils._GRAPH_PARALLEL_GROUP", false]], "_grid_act() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._grid_act", false]], "_grid_act() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._grid_act", false]], "_hasmetadata (class in core.common.data_parallel)": [[13, "core.common.data_parallel._HasMetadata", false]], "_import_local_file() (in module core.common.utils)": [[29, "core.common.utils._import_local_file", false]], "_init_edge_rot_mat() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.escn.escn method)": [[64, "core.models.escn.eSCN._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.escn.escn.escn method)": [[63, "core.models.escn.escn.eSCN._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork._init_edge_rot_mat", false]], "_init_weights() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._init_weights", false]], "_init_weights() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._init_weights", false]], "_initialize() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid._initialize", false]], "_jd (in module core.models.equiformer_v2.wigner)": [[62, "core.models.equiformer_v2.wigner._Jd", false]], "_jd (in module core.models.escn.so3)": [[65, "core.models.escn.so3._Jd", false]], "_jd (in module core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics._Jd", false]], "_l_primary() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._l_primary", false]], "_l_primary() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._l_primary", false]], "_load_adsorbate() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate._load_adsorbate", false]], "_load_adsorbate() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate._load_adsorbate", false]], "_load_dataset() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler._load_dataset", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.asereaddataset method)": [[31, "core.datasets.ase_datasets.AseReadDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.asereaddataset method)": [[37, "core.datasets.AseReadDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset._load_dataset_get_ids", false]], "_load_ids() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._load_ids", false]], "_load_ids() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._load_ids", false]], "_load_scale_dict() (in module core.modules.scaling.compat)": [[126, "core.modules.scaling.compat._load_scale_dict", false]], "_m_primary() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._m_primary", false]], "_m_primary() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._m_primary", false]], "_nextid (core.datasets.lmdb_database.lmdbdatabase property)": [[38, "core.datasets.lmdb_database.LMDBDatabase._nextid", false]], "_nextid (core.datasets.lmdbdatabase property)": [[37, "core.datasets.LMDBDatabase._nextid", false]], "_observe() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor._observe", false]], "_observe() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor._observe", false]], "_prefilled_input() (in module core.modules.scaling.fit)": [[127, "core.modules.scaling.fit._prefilled_input", false]], "_process_error() (core.tasks.task.traintask method)": [[148, "core.tasks.task.TrainTask._process_error", false]], "_process_error() (core.tasks.traintask method)": [[147, "core.tasks.TrainTask._process_error", false]], "_rank_edge_distances() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork._rank_edge_distances", false]], "_rank_edge_distances() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork._rank_edge_distances", false]], "_reduce() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._reduce", false]], "_reduce_edge() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._reduce_edge", false]], "_reduce_edge() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._reduce_edge", false]], "_refresh_pbar() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._refresh_pbar", false]], "_relax_binding_sites_on_slabs() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._relax_binding_sites_on_slabs", false]], "_report_incompat_keys() (in module core.common.utils)": [[29, "core.common.utils._report_incompat_keys", false]], "_reshape_features() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs._reshape_features", false]], "_reshape_features() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs._reshape_features", false]], "_resolve_scale_factor_submodule() (in module core.common.utils)": [[29, "core.common.utils._resolve_scale_factor_submodule", false]], "_rotate() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._rotate", false]], "_rotate() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._rotate", false]], "_rotate_inv() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._rotate_inv", false]], "_rotate_inv() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._rotate_inv", false]], "_run_relaxations_on_slab() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._run_relaxations_on_slab", false]], "_run_request() (ocpapi.client method)": [[188, "ocpapi.Client._run_request", false]], "_run_request() (ocpapi.client.client method)": [[185, "ocpapi.client.Client._run_request", false]], "_run_request() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client._run_request", false]], "_select() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._select", false]], "_select() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._select", false]], "_setup_log_record_factory() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._setup_log_record_factory", false]], "_sort_key() (ocpapi.prompt_for_slabs_to_keep static method)": [[188, "ocpapi.prompt_for_slabs_to_keep._sort_key", false]], "_sort_key() (ocpapi.workflows.filter.prompt_for_slabs_to_keep static method)": [[192, "ocpapi.workflows.filter.prompt_for_slabs_to_keep._sort_key", false]], "_sort_key() (ocpapi.workflows.prompt_for_slabs_to_keep static method)": [[193, "ocpapi.workflows.prompt_for_slabs_to_keep._sort_key", false]], "_split() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._split", false]], "_split_tensor() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._split_tensor", false]], "_standardize() (in module core.models.gemnet.initializers)": [[68, "core.models.gemnet.initializers._standardize", false]], "_standardize() (in module core.models.gemnet_gp.initializers)": [[81, "core.models.gemnet_gp.initializers._standardize", false]], "_standardize() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers._standardize", false]], "_stats (class in core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor._Stats", false]], "_submit_relaxations() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._submit_relaxations", false]], "_submit_relaxations_with_progress_logging() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._submit_relaxations_with_progress_logging", false]], "_t (in module core.common.typing)": [[28, "core.common.typing._T", false]], "_train_batch() (in module core.modules.scaling.fit)": [[127, "core.modules.scaling.fit._train_batch", false]], "_uniform_init_linear_weights() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._uniform_init_linear_weights", false]], "_uniform_init_linear_weights() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._uniform_init_linear_weights", false]], "_uniform_init_rad_func_linear_weights() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._uniform_init_rad_func_linear_weights", false]], "_uniform_init_rad_func_linear_weights() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._uniform_init_rad_func_linear_weights", false]], "_unwrapped_model (core.trainers.base_trainer.basetrainer property)": [[149, "core.trainers.base_trainer.BaseTrainer._unwrapped_model", false]], "_unwrapped_model (core.trainers.basetrainer property)": [[150, "core.trainers.BaseTrainer._unwrapped_model", false]], "_update() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._update", false]], "_update() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._update", false]], "_wait_check_retry_after (class in ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry._wait_check_retry_after", false]], "_write() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._write", false]], "_write() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._write", false]], "_write_adslabs() (data.oc.structure_generator.structuregenerator method)": [[169, "data.oc.structure_generator.StructureGenerator._write_adslabs", false]], "_write_deleted_ids() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._write_deleted_ids", false]], "_write_deleted_ids() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._write_deleted_ids", false]], "_z_rot_mat() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation._z_rot_mat", false]], "_z_rot_mat() (in module core.models.equiformer_v2.wigner)": [[62, "core.models.equiformer_v2.wigner._z_rot_mat", false]], "_z_rot_mat() (in module core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics._z_rot_mat", false]], "act (class in core.models.utils.activations)": [[118, "core.models.utils.activations.Act", false]], "action (ocpapi.ratelimitlogging attribute)": [[188, "ocpapi.RateLimitLogging.action", false]], "action (ocpapi.workflows.ratelimitlogging attribute)": [[193, "ocpapi.workflows.RateLimitLogging.action", false]], "action (ocpapi.workflows.retry.ratelimitlogging attribute)": [[195, "ocpapi.workflows.retry.RateLimitLogging.action", false]], "add_core_args() (core.common.flags.flags method)": [[15, "core.common.flags.Flags.add_core_args", false]], "add_edge_distance_to_graph() (in module core.common.utils)": [[29, "core.common.utils.add_edge_distance_to_graph", false]], "adsorbate (class in data.oc.core)": [[156, "data.oc.core.Adsorbate", false]], "adsorbate (class in data.oc.core.adsorbate)": [[153, "data.oc.core.adsorbate.Adsorbate", false]], "adsorbate (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.adsorbate", false]], "adsorbate (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.adsorbate", false]], "adsorbate (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.adsorbate", false]], "adsorbate (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.adsorbate", false]], "adsorbate (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.adsorbate", false]], "adsorbate (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.adsorbate", false]], "adsorbate_configs (ocpapi.adsorbateslabconfigs attribute)": [[188, "ocpapi.AdsorbateSlabConfigs.adsorbate_configs", false]], "adsorbate_configs (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.adsorbateslabconfigs attribute)": [[185, "ocpapi.client.AdsorbateSlabConfigs.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.models.adsorbateslabconfigs attribute)": [[186, "ocpapi.client.models.AdsorbateSlabConfigs.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.adsorbate_configs", false]], "adsorbate_pkl_path (in module data.oc.databases.pkls)": [[160, "data.oc.databases.pkls.ADSORBATE_PKL_PATH", false]], "adsorbate_reaction (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.adsorbate_reaction", false]], "adsorbate_reaction (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.adsorbate_reaction", false]], "adsorbate_reaction (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.adsorbate_reaction", false]], "adsorbatebindingsites (class in ocpapi)": [[188, "ocpapi.AdsorbateBindingSites", false]], "adsorbatebindingsites (class in ocpapi.workflows)": [[193, "ocpapi.workflows.AdsorbateBindingSites", false]], "adsorbatebindingsites (class in ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites", false]], "adsorbates (class in ocpapi)": [[188, "ocpapi.Adsorbates", false]], "adsorbates (class in ocpapi.client)": [[185, "ocpapi.client.Adsorbates", false]], "adsorbates (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Adsorbates", false]], "adsorbates_supported (ocpapi.adsorbates attribute)": [[188, "ocpapi.Adsorbates.adsorbates_supported", false]], "adsorbates_supported (ocpapi.client.adsorbates attribute)": [[185, "ocpapi.client.Adsorbates.adsorbates_supported", false]], "adsorbates_supported (ocpapi.client.models.adsorbates attribute)": [[186, "ocpapi.client.models.Adsorbates.adsorbates_supported", false]], "adsorbatesexception": [[190, "ocpapi.workflows.adsorbates.AdsorbatesException", false]], "adsorbateslabconfig (class in data.oc.core)": [[156, "data.oc.core.AdsorbateSlabConfig", false]], "adsorbateslabconfig (class in data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig", false]], "adsorbateslabconfigs (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabConfigs", false]], "adsorbateslabconfigs (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabConfigs", false]], "adsorbateslabconfigs (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabConfigs", false]], "adsorbateslabrelaxationresult (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationResult", false]], "adsorbateslabrelaxationresult (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult", false]], "adsorbateslabrelaxationresult (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult", false]], "adsorbateslabrelaxations (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxations", false]], "adsorbateslabrelaxations (class in ocpapi.workflows)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations", false]], "adsorbateslabrelaxations (class in ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations", false]], "adsorbateslabrelaxationsrequest (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest", false]], "adsorbateslabrelaxationsrequest (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest", false]], "adsorbateslabrelaxationsrequest (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest", false]], "adsorbateslabrelaxationsresults (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationsResults", false]], "adsorbateslabrelaxationsresults (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsResults", false]], "adsorbateslabrelaxationsresults (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsResults", false]], "adsorbateslabrelaxationssystem (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationsSystem", false]], "adsorbateslabrelaxationssystem (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsSystem", false]], "adsorbateslabrelaxationssystem (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsSystem", false]], "adsorbml.2023_neurips_challenge.challenge_eval": [[0, "module-adsorbml.2023_neurips_challenge.challenge_eval", false]], "adsorbml.scripts.dense_eval": [[1, "module-adsorbml.scripts.dense_eval", false]], "adsorbml.scripts.process_mlrs": [[2, "module-adsorbml.scripts.process_mlrs", false]], "adsorbml.scripts.utils": [[3, "module-adsorbml.scripts.utils", false]], "adsorbml.scripts.write_top_k_vasp": [[4, "module-adsorbml.scripts.write_top_k_vasp", false]], "adsorption_data (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.adsorption_data", false], [176, "id10", false], [176, "id12", false]], "adsorption_data_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.adsorption_data_defective", false], [176, "id11", false], [176, "id13", false]], "aggregate() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.aggregate", false]], "all_converged() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.all_converged", false]], "all_gather() (in module core.common.distutils)": [[14, "core.common.distutils.all_gather", false]], "all_reduce() (in module core.common.distutils)": [[14, "core.common.distutils.all_reduce", false]], "api_host (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.api_host", false]], "api_host (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.api_host", false]], "api_host (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.api_host", false]], "apply_one_tags() (in module core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.apply_one_tags", false]], "are_all_adsorbate_atoms_overlapping() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.are_all_adsorbate_atoms_overlapping", false]], "args (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.args", false]], "args (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.args", false]], "ase_relaxation() (in module data.om.omdata.orca.recipes)": [[182, "data.om.omdata.orca.recipes.ase_relaxation", false]], "aseatomsadaptor (in module core.preprocessing.atoms_to_graphs)": [[133, "core.preprocessing.atoms_to_graphs.AseAtomsAdaptor", false]], "aseatomsdataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseAtomsDataset", false]], "asedbdataset (class in core.datasets)": [[37, "core.datasets.AseDBDataset", false]], "asedbdataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseDBDataset", false]], "asereaddataset (class in core.datasets)": [[37, "core.datasets.AseReadDataset", false]], "asereaddataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseReadDataset", false]], "asereadmultistructuredataset (class in core.datasets)": [[37, "core.datasets.AseReadMultiStructureDataset", false]], "asereadmultistructuredataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset", false]], "assert_is_instance() (in module core.common.typing)": [[28, "core.common.typing.assert_is_instance", false]], "associated_legendre_polynomials() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.associated_legendre_polynomials", false]], "associated_legendre_polynomials() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.associated_legendre_polynomials", false]], "associated_legendre_polynomials() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.associated_legendre_polynomials", false]], "atomembedding (class in core.models.gemnet.layers.embedding_block)": [[73, "core.models.gemnet.layers.embedding_block.AtomEmbedding", false]], "atomembedding (class in core.models.gemnet_gp.layers.embedding_block)": [[86, "core.models.gemnet_gp.layers.embedding_block.AtomEmbedding", false]], "atomembedding (class in core.models.gemnet_oc.layers.embedding_block)": [[100, "core.models.gemnet_oc.layers.embedding_block.AtomEmbedding", false]], "atomic_radii (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.ATOMIC_RADII", false]], "atomic_radii (in module core.datasets.embeddings.atomic_radii)": [[32, "core.datasets.embeddings.atomic_radii.ATOMIC_RADII", false]], "atoms (class in ocpapi)": [[188, "ocpapi.Atoms", false]], "atoms (class in ocpapi.client)": [[185, "ocpapi.client.Atoms", false]], "atoms (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Atoms", false]], "atoms (ocpapi.client.models.slab attribute)": [[186, "ocpapi.client.models.Slab.atoms", false]], "atoms (ocpapi.client.slab attribute)": [[185, "ocpapi.client.Slab.atoms", false]], "atoms (ocpapi.slab attribute)": [[188, "ocpapi.Slab.atoms", false]], "atomstographs (class in core.preprocessing)": [[134, "core.preprocessing.AtomsToGraphs", false]], "atomstographs (class in core.preprocessing.atoms_to_graphs)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs", false]], "atomupdateblock (class in core.models.gemnet.layers.atom_update_block)": [[69, "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock", false]], "atomupdateblock (class in core.models.gemnet_gp.layers.atom_update_block)": [[82, "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock", false]], "atomupdateblock (class in core.models.gemnet_oc.layers.atom_update_block)": [[96, "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock", false]], "atomwisel2loss (class in core.modules.loss)": [[124, "core.modules.loss.AtomwiseL2Loss", false]], "autoframe (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrame", false]], "autoframedesorption (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrameDesorption", false]], "autoframedissociation (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation", false]], "autoframetransfer (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer", false]], "available_pretrained_models (in module core.models)": [[107, "core.models.available_pretrained_models", false]], "available_pretrained_models (in module core.models.model_registry)": [[108, "core.models.model_registry.available_pretrained_models", false]], "average_distance_within_threshold() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.average_distance_within_threshold", false]], "backward() (core.common.gp_utils.copytomodelparallelregion static method)": [[16, "core.common.gp_utils.CopyToModelParallelRegion.backward", false]], "backward() (core.common.gp_utils.gatherfrommodelparallelregion static method)": [[16, "core.common.gp_utils.GatherFromModelParallelRegion.backward", false]], "backward() (core.common.gp_utils.reducefrommodelparallelregion static method)": [[16, "core.common.gp_utils.ReduceFromModelParallelRegion.backward", false]], "backward() (core.common.gp_utils.scattertomodelparallelregion static method)": [[16, "core.common.gp_utils.ScatterToModelParallelRegion.backward", false]], "balanced_partition() (in module core.common.data_parallel)": [[13, "core.common.data_parallel.balanced_partition", false]], "balancedbatchsampler (class in core.common.data_parallel)": [[13, "core.common.data_parallel.BalancedBatchSampler", false]], "barrierless_converged() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.barrierless_converged", false]], "basemodel (class in core.models.base)": [[43, "core.models.base.BaseModel", false]], "basetask (class in core.tasks.task)": [[148, "core.tasks.task.BaseTask", false]], "basetrainer (class in core.trainers)": [[150, "core.trainers.BaseTrainer", false]], "basetrainer (class in core.trainers.base_trainer)": [[149, "core.trainers.base_trainer.BaseTrainer", false]], "basis (class in core.models.utils.basis)": [[119, "core.models.utils.basis.Basis", false]], "basisembedding (class in core.models.gemnet_oc.layers.efficient)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding", false]], "batch_to_atoms() (in module core.common.relaxation.ase_utils)": [[21, "core.common.relaxation.ase_utils.batch_to_atoms", false]], "bernsteinbasis (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.BernsteinBasis", false]], "bernsteinbasis (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.BernsteinBasis", false]], "bernsteinbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.BernsteinBasis", false]], "bessel_basis() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.bessel_basis", false]], "bessel_basis() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.bessel_basis", false]], "bessel_basis() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.bessel_basis", false]], "bin_plot() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.bin_plot", false]], "binned_average() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.binned_average", false]], "both_barriered() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.both_barriered", false]], "both_barrierless() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.both_barrierless", false]], "broadcast() (in module core.common.distutils)": [[14, "core.common.distutils.broadcast", false]], "build_config() (in module core.common.utils)": [[29, "core.common.utils.build_config", false]], "bulk (class in data.oc.core)": [[156, "data.oc.core.Bulk", false]], "bulk (class in data.oc.core.bulk)": [[155, "data.oc.core.bulk.Bulk", false]], "bulk (class in ocpapi)": [[188, "ocpapi.Bulk", false]], "bulk (class in ocpapi.client)": [[185, "ocpapi.client.Bulk", false]], "bulk (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Bulk", false]], "bulk (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.bulk", false]], "bulk (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.bulk", false]], "bulk (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.bulk", false]], "bulk (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.bulk", false]], "bulk (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.bulk", false]], "bulk (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.bulk", false]], "bulk_pkl (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.BULK_PKL", false]], "bulk_pkl_path (in module data.oc.databases.pkls)": [[160, "data.oc.databases.pkls.BULK_PKL_PATH", false]], "bulk_src_id (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.bulk_src_id", false]], "bulk_src_id (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.bulk_src_id", false]], "bulk_src_id (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.bulk_src_id", false]], "bulk_vasp_flags (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.BULK_VASP_FLAGS", false]], "bulks (class in ocpapi)": [[188, "ocpapi.Bulks", false]], "bulks (class in ocpapi.client)": [[185, "ocpapi.client.Bulks", false]], "bulks (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Bulks", false]], "bulks_supported (ocpapi.bulks attribute)": [[188, "ocpapi.Bulks.bulks_supported", false]], "bulks_supported (ocpapi.client.bulks attribute)": [[185, "ocpapi.client.Bulks.bulks_supported", false]], "bulks_supported (ocpapi.client.models.bulks attribute)": [[186, "ocpapi.client.models.Bulks.bulks_supported", false]], "calc_forces() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.calc_forces", false]], "calc_forces_and_update() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.calc_forces_and_update", false]], "calcspherepoints() (in module core.models.scn.sampling)": [[114, "core.models.scn.sampling.CalcSpherePoints", false]], "calcspherepointsrandom() (in module core.models.scn.sampling)": [[114, "core.models.scn.sampling.CalcSpherePointsRandom", false]], "calculate() (core.common.relaxation.ase_utils.ocpcalculator method)": [[21, "core.common.relaxation.ase_utils.OCPCalculator.calculate", false]], "calculate_center_of_mass() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.calculate_center_of_mass", false]], "calculate_coordination_of_bulk_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.calculate_coordination_of_bulk_atoms", false]], "calculate_interatomic_vectors() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.calculate_interatomic_vectors", false]], "calculate_interatomic_vectors() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.calculate_interatomic_vectors", false]], "calculate_interatomic_vectors() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.calculate_interatomic_vectors", false]], "calculate_quad_angles() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.calculate_quad_angles", false]], "calculate_quad_angles() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.calculate_quad_angles", false]], "calculate_surface_k_points() (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.calculate_surface_k_points", false]], "cattsunami": [[10, "module-cattsunami", false]], "cattsunami.core": [[6, "module-cattsunami.core", false]], "cattsunami.core.autoframe": [[5, "module-cattsunami.core.autoframe", false]], "cattsunami.core.ocpneb": [[7, "module-cattsunami.core.ocpneb", false]], "cattsunami.core.reaction": [[8, "module-cattsunami.core.reaction", false]], "cattsunami.databases": [[9, "module-cattsunami.databases", false]], "cattsunami.run_validation.run_validation": [[11, "module-cattsunami.run_validation.run_validation", false]], "cell (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.cell", false]], "cell (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.cell", false]], "cell (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.cell", false]], "cell (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.cell", false]], "cell (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.cell", false]], "cell (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.cell", false]], "cg_change_mat() (in module core.common.utils)": [[29, "core.common.utils.cg_change_mat", false]], "check_convergence() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.check_convergence", false]], "check_traj_files() (in module core.common.utils)": [[29, "core.common.utils.check_traj_files", false]], "checkpoint() (core._cli.runner method)": [[12, "core._cli.Runner.checkpoint", false]], "chem_err() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.chem_err", false]], "circularbasislayer (class in core.models.gemnet.layers.spherical_basis)": [[77, "core.models.gemnet.layers.spherical_basis.CircularBasisLayer", false]], "circularbasislayer (class in core.models.gemnet_gp.layers.spherical_basis)": [[90, "core.models.gemnet_gp.layers.spherical_basis.CircularBasisLayer", false]], "circularbasislayer (class in core.models.gemnet_oc.layers.spherical_basis)": [[105, "core.models.gemnet_oc.layers.spherical_basis.CircularBasisLayer", false]], "cleanup() (in module core.common.distutils)": [[14, "core.common.distutils.cleanup", false]], "cleanup() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.cleanup", false]], "cleanup_gp() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.cleanup_gp", false]], "client (class in ocpapi)": [[188, "ocpapi.Client", false]], "client (class in ocpapi.client)": [[185, "ocpapi.client.Client", false]], "client (class in ocpapi.client.client)": [[184, "ocpapi.client.client.Client", false]], "clone() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.clone", false]], "clone() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.clone", false]], "close() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.close", false]], "close() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.close", false]], "close_db() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.close_db", false]], "close_db() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.close_db", false]], "close_db() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.close_db", false]], "close_db() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.close_db", false]], "close_db() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.close_db", false]], "close_db() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.close_db", false]], "close_db() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.close_db", false]], "coefficient_idx() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.coefficient_idx", false]], "coefficient_idx() (core.models.escn.so3.coefficientmapping method)": [[65, "core.models.escn.so3.CoefficientMapping.coefficient_idx", false]], "coefficientmapping (class in core.models.escn.so3)": [[65, "core.models.escn.so3.CoefficientMapping", false]], "coefficientmappingmodule (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule", false]], "collate() (in module core.common.utils)": [[29, "core.common.utils.collate", false]], "combineyrotations() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.CombineYRotations", false]], "complete (class in core.common.utils)": [[29, "core.common.utils.Complete", false]], "complete_data (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data", false], [176, "id0", false]], "complete_data_merged_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective", false], [176, "id2", false]], "complete_data_merged_defective_co2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_co2", false]], "complete_data_merged_defective_co_ads (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_co_ads", false]], "complete_data_merged_defective_co_ads_2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_co_ads_2", false]], "complete_data_merged_defective_h2o (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_h2o", false]], "complete_data_merged_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine", false], [176, "id1", false]], "complete_data_merged_pristine_co2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_co2", false]], "complete_data_merged_pristine_co_ads (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_co_ads", false]], "complete_data_merged_pristine_co_ads_2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_co_ads_2", false]], "complete_data_merged_pristine_h2o (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_h2o", false]], "complex_idx() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.complex_idx", false]], "complex_idx() (core.models.escn.so3.coefficientmapping method)": [[65, "core.models.escn.so3.CoefficientMapping.complex_idx", false]], "compute_hybrid_success() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.compute_hybrid_success", false]], "compute_neighbors() (in module core.common.utils)": [[29, "core.common.utils.compute_neighbors", false]], "compute_slabs() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.compute_slabs", false]], "compute_valid_ml_success() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.compute_valid_ml_success", false]], "compute_valid_ml_success() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.compute_valid_ml_success", false]], "conditional_grad() (in module core.common.utils)": [[29, "core.common.utils.conditional_grad", false]], "config_id (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.config_id", false]], "config_id (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.config_id", false]], "config_id (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.config_id", false]], "config_ids (ocpapi.adsorbateslabrelaxationssystem attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsSystem.config_ids", false]], "config_ids (ocpapi.client.adsorbateslabrelaxationssystem attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsSystem.config_ids", false]], "config_ids (ocpapi.client.models.adsorbateslabrelaxationssystem attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsSystem.config_ids", false]], "configs (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.configs", false]], "configs (ocpapi.adsorbateslabrelaxationsresults attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsResults.configs", false]], "configs (ocpapi.client.adsorbateslabrelaxationsresults attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsResults.configs", false]], "configs (ocpapi.client.models.adsorbateslabrelaxationsresults attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsResults.configs", false]], "configs (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.configs", false]], "configs (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.configs", false]], "connect_db() (core.datasets.ase_datasets.asedbdataset static method)": [[31, "core.datasets.ase_datasets.AseDBDataset.connect_db", false]], "connect_db() (core.datasets.asedbdataset static method)": [[37, "core.datasets.AseDBDataset.connect_db", false]], "connect_db() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.connect_db", false]], "connect_db() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.connect_db", false]], "connect_db() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.connect_db", false]], "connect_db() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.connect_db", false]], "construct_mapping() (core.common.utils.uniquekeyloader method)": [[29, "core.common.utils.UniqueKeyLoader.construct_mapping", false]], "continuous_embeddings (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.CONTINUOUS_EMBEDDINGS", false]], "continuous_embeddings (in module core.datasets.embeddings.continuous_embeddings)": [[33, "core.datasets.embeddings.continuous_embeddings.CONTINUOUS_EMBEDDINGS", false]], "converged_oszicar() (in module adsorbml.scripts.utils)": [[3, "adsorbml.scripts.utils.converged_oszicar", false]], "convert() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.convert", false]], "convert() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs.convert", false]], "convert_all() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.convert_all", false]], "convert_all() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs.convert_all", false]], "copy_to() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.copy_to", false]], "copy_to_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.copy_to_model_parallel_region", false]], "copytomodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.CopyToModelParallelRegion", false]], "core": [[42, "module-core", false]], "core._cli": [[12, "module-core._cli", false]], "core.common": [[18, "module-core.common", false]], "core.common.data_parallel": [[13, "module-core.common.data_parallel", false]], "core.common.distutils": [[14, "module-core.common.distutils", false]], "core.common.flags": [[15, "module-core.common.flags", false]], "core.common.gp_utils": [[16, "module-core.common.gp_utils", false]], "core.common.hpo_utils": [[17, "module-core.common.hpo_utils", false]], "core.common.logger": [[19, "module-core.common.logger", false]], "core.common.registry": [[20, "module-core.common.registry", false]], "core.common.relaxation": [[22, "module-core.common.relaxation", false]], "core.common.relaxation.ase_utils": [[21, "module-core.common.relaxation.ase_utils", false]], "core.common.relaxation.ml_relaxation": [[23, "module-core.common.relaxation.ml_relaxation", false]], "core.common.relaxation.optimizers": [[24, "module-core.common.relaxation.optimizers", false]], "core.common.relaxation.optimizers.lbfgs_torch": [[25, "module-core.common.relaxation.optimizers.lbfgs_torch", false]], "core.common.transforms": [[26, "module-core.common.transforms", false]], "core.common.tutorial_utils": [[27, "module-core.common.tutorial_utils", false]], "core.common.typing": [[28, "module-core.common.typing", false]], "core.common.utils": [[29, "module-core.common.utils", false]], "core.datasets": [[37, "module-core.datasets", false]], "core.datasets._utils": [[30, "module-core.datasets._utils", false]], "core.datasets.ase_datasets": [[31, "module-core.datasets.ase_datasets", false]], "core.datasets.embeddings": [[34, "module-core.datasets.embeddings", false]], "core.datasets.embeddings.atomic_radii": [[32, "module-core.datasets.embeddings.atomic_radii", false]], "core.datasets.embeddings.continuous_embeddings": [[33, "module-core.datasets.embeddings.continuous_embeddings", false]], "core.datasets.embeddings.khot_embeddings": [[35, "module-core.datasets.embeddings.khot_embeddings", false]], "core.datasets.embeddings.qmof_khot_embeddings": [[36, "module-core.datasets.embeddings.qmof_khot_embeddings", false]], "core.datasets.lmdb_database": [[38, "module-core.datasets.lmdb_database", false]], "core.datasets.lmdb_dataset": [[39, "module-core.datasets.lmdb_dataset", false]], "core.datasets.oc22_lmdb_dataset": [[40, "module-core.datasets.oc22_lmdb_dataset", false]], "core.datasets.target_metadata_guesser": [[41, "module-core.datasets.target_metadata_guesser", false]], "core.models": [[107, "module-core.models", false]], "core.models.base": [[43, "module-core.models.base", false]], "core.models.dimenet_plus_plus": [[44, "module-core.models.dimenet_plus_plus", false]], "core.models.equiformer_v2": [[50, "module-core.models.equiformer_v2", false]], "core.models.equiformer_v2.activation": [[45, "module-core.models.equiformer_v2.activation", false]], "core.models.equiformer_v2.drop": [[46, "module-core.models.equiformer_v2.drop", false]], "core.models.equiformer_v2.edge_rot_mat": [[47, "module-core.models.equiformer_v2.edge_rot_mat", false]], "core.models.equiformer_v2.equiformer_v2_oc20": [[48, "module-core.models.equiformer_v2.equiformer_v2_oc20", false]], "core.models.equiformer_v2.gaussian_rbf": [[49, "module-core.models.equiformer_v2.gaussian_rbf", false]], "core.models.equiformer_v2.input_block": [[51, "module-core.models.equiformer_v2.input_block", false]], "core.models.equiformer_v2.layer_norm": [[52, "module-core.models.equiformer_v2.layer_norm", false]], "core.models.equiformer_v2.module_list": [[53, "module-core.models.equiformer_v2.module_list", false]], "core.models.equiformer_v2.radial_function": [[54, "module-core.models.equiformer_v2.radial_function", false]], "core.models.equiformer_v2.so2_ops": [[55, "module-core.models.equiformer_v2.so2_ops", false]], "core.models.equiformer_v2.so3": [[56, "module-core.models.equiformer_v2.so3", false]], "core.models.equiformer_v2.trainers": [[59, "module-core.models.equiformer_v2.trainers", false]], "core.models.equiformer_v2.trainers.energy_trainer": [[57, "module-core.models.equiformer_v2.trainers.energy_trainer", false]], "core.models.equiformer_v2.trainers.forces_trainer": [[58, "module-core.models.equiformer_v2.trainers.forces_trainer", false]], "core.models.equiformer_v2.trainers.lr_scheduler": [[60, "module-core.models.equiformer_v2.trainers.lr_scheduler", false]], "core.models.equiformer_v2.transformer_block": [[61, "module-core.models.equiformer_v2.transformer_block", false]], "core.models.equiformer_v2.wigner": [[62, "module-core.models.equiformer_v2.wigner", false]], "core.models.escn": [[64, "module-core.models.escn", false]], "core.models.escn.escn": [[63, "module-core.models.escn.escn", false]], "core.models.escn.so3": [[65, "module-core.models.escn.so3", false]], "core.models.gemnet": [[67, "module-core.models.gemnet", false]], "core.models.gemnet.gemnet": [[66, "module-core.models.gemnet.gemnet", false]], "core.models.gemnet.initializers": [[68, "module-core.models.gemnet.initializers", false]], "core.models.gemnet.layers": [[74, "module-core.models.gemnet.layers", false]], "core.models.gemnet.layers.atom_update_block": [[69, "module-core.models.gemnet.layers.atom_update_block", false]], "core.models.gemnet.layers.base_layers": [[70, "module-core.models.gemnet.layers.base_layers", false]], "core.models.gemnet.layers.basis_utils": [[71, "module-core.models.gemnet.layers.basis_utils", false]], "core.models.gemnet.layers.efficient": [[72, "module-core.models.gemnet.layers.efficient", false]], "core.models.gemnet.layers.embedding_block": [[73, "module-core.models.gemnet.layers.embedding_block", false]], "core.models.gemnet.layers.interaction_block": [[75, "module-core.models.gemnet.layers.interaction_block", false]], "core.models.gemnet.layers.radial_basis": [[76, "module-core.models.gemnet.layers.radial_basis", false]], "core.models.gemnet.layers.spherical_basis": [[77, "module-core.models.gemnet.layers.spherical_basis", false]], "core.models.gemnet.utils": [[78, "module-core.models.gemnet.utils", false]], "core.models.gemnet_gp": [[80, "module-core.models.gemnet_gp", false]], "core.models.gemnet_gp.gemnet": [[79, "module-core.models.gemnet_gp.gemnet", false]], "core.models.gemnet_gp.initializers": [[81, "module-core.models.gemnet_gp.initializers", false]], "core.models.gemnet_gp.layers": [[87, "module-core.models.gemnet_gp.layers", false]], "core.models.gemnet_gp.layers.atom_update_block": [[82, "module-core.models.gemnet_gp.layers.atom_update_block", false]], "core.models.gemnet_gp.layers.base_layers": [[83, "module-core.models.gemnet_gp.layers.base_layers", false]], "core.models.gemnet_gp.layers.basis_utils": [[84, "module-core.models.gemnet_gp.layers.basis_utils", false]], "core.models.gemnet_gp.layers.efficient": [[85, "module-core.models.gemnet_gp.layers.efficient", false]], "core.models.gemnet_gp.layers.embedding_block": [[86, "module-core.models.gemnet_gp.layers.embedding_block", false]], "core.models.gemnet_gp.layers.interaction_block": [[88, "module-core.models.gemnet_gp.layers.interaction_block", false]], "core.models.gemnet_gp.layers.radial_basis": [[89, "module-core.models.gemnet_gp.layers.radial_basis", false]], "core.models.gemnet_gp.layers.spherical_basis": [[90, "module-core.models.gemnet_gp.layers.spherical_basis", false]], "core.models.gemnet_gp.utils": [[91, "module-core.models.gemnet_gp.utils", false]], "core.models.gemnet_oc": [[93, "module-core.models.gemnet_oc", false]], "core.models.gemnet_oc.gemnet_oc": [[92, "module-core.models.gemnet_oc.gemnet_oc", false]], "core.models.gemnet_oc.initializers": [[94, "module-core.models.gemnet_oc.initializers", false]], "core.models.gemnet_oc.interaction_indices": [[95, "module-core.models.gemnet_oc.interaction_indices", false]], "core.models.gemnet_oc.layers": [[102, "module-core.models.gemnet_oc.layers", false]], "core.models.gemnet_oc.layers.atom_update_block": [[96, "module-core.models.gemnet_oc.layers.atom_update_block", false]], "core.models.gemnet_oc.layers.base_layers": [[97, "module-core.models.gemnet_oc.layers.base_layers", false]], "core.models.gemnet_oc.layers.basis_utils": [[98, "module-core.models.gemnet_oc.layers.basis_utils", false]], "core.models.gemnet_oc.layers.efficient": [[99, "module-core.models.gemnet_oc.layers.efficient", false]], "core.models.gemnet_oc.layers.embedding_block": [[100, "module-core.models.gemnet_oc.layers.embedding_block", false]], "core.models.gemnet_oc.layers.force_scaler": [[101, "module-core.models.gemnet_oc.layers.force_scaler", false]], "core.models.gemnet_oc.layers.interaction_block": [[103, "module-core.models.gemnet_oc.layers.interaction_block", false]], "core.models.gemnet_oc.layers.radial_basis": [[104, "module-core.models.gemnet_oc.layers.radial_basis", false]], "core.models.gemnet_oc.layers.spherical_basis": [[105, "module-core.models.gemnet_oc.layers.spherical_basis", false]], "core.models.gemnet_oc.utils": [[106, "module-core.models.gemnet_oc.utils", false]], "core.models.model_registry": [[108, "module-core.models.model_registry", false]], "core.models.painn": [[109, "module-core.models.painn", false]], "core.models.painn.painn": [[110, "module-core.models.painn.painn", false]], "core.models.painn.utils": [[111, "module-core.models.painn.utils", false]], "core.models.schnet": [[112, "module-core.models.schnet", false]], "core.models.scn": [[113, "module-core.models.scn", false]], "core.models.scn.sampling": [[114, "module-core.models.scn.sampling", false]], "core.models.scn.scn": [[115, "module-core.models.scn.scn", false]], "core.models.scn.smearing": [[116, "module-core.models.scn.smearing", false]], "core.models.scn.spherical_harmonics": [[117, "module-core.models.scn.spherical_harmonics", false]], "core.models.utils": [[120, "module-core.models.utils", false]], "core.models.utils.activations": [[118, "module-core.models.utils.activations", false]], "core.models.utils.basis": [[119, "module-core.models.utils.basis", false]], "core.modules": [[123, "module-core.modules", false]], "core.modules.evaluator": [[121, "module-core.modules.evaluator", false]], "core.modules.exponential_moving_average": [[122, "module-core.modules.exponential_moving_average", false]], "core.modules.loss": [[124, "module-core.modules.loss", false]], "core.modules.normalizer": [[125, "module-core.modules.normalizer", false]], "core.modules.scaling": [[128, "module-core.modules.scaling", false]], "core.modules.scaling.compat": [[126, "module-core.modules.scaling.compat", false]], "core.modules.scaling.fit": [[127, "module-core.modules.scaling.fit", false]], "core.modules.scaling.scale_factor": [[129, "module-core.modules.scaling.scale_factor", false]], "core.modules.scaling.util": [[130, "module-core.modules.scaling.util", false]], "core.modules.scheduler": [[131, "module-core.modules.scheduler", false]], "core.modules.transforms": [[132, "module-core.modules.transforms", false]], "core.preprocessing": [[134, "module-core.preprocessing", false]], "core.preprocessing.atoms_to_graphs": [[133, "module-core.preprocessing.atoms_to_graphs", false]], "core.scripts": [[140, "module-core.scripts", false]], "core.scripts.download_data": [[135, "module-core.scripts.download_data", false]], "core.scripts.gif_maker_parallelized": [[136, "module-core.scripts.gif_maker_parallelized", false]], "core.scripts.hpo": [[137, "module-core.scripts.hpo", false]], "core.scripts.hpo.run_tune": [[138, "module-core.scripts.hpo.run_tune", false]], "core.scripts.hpo.run_tune_pbt": [[139, "module-core.scripts.hpo.run_tune_pbt", false]], "core.scripts.make_challenge_submission_file": [[141, "module-core.scripts.make_challenge_submission_file", false]], "core.scripts.make_lmdb_sizes": [[142, "module-core.scripts.make_lmdb_sizes", false]], "core.scripts.make_submission_file": [[143, "module-core.scripts.make_submission_file", false]], "core.scripts.preprocess_ef": [[144, "module-core.scripts.preprocess_ef", false]], "core.scripts.preprocess_relaxed": [[145, "module-core.scripts.preprocess_relaxed", false]], "core.scripts.uncompress": [[146, "module-core.scripts.uncompress", false]], "core.tasks": [[147, "module-core.tasks", false]], "core.tasks.task": [[148, "module-core.tasks.task", false]], "core.trainers": [[150, "module-core.trainers", false]], "core.trainers.base_trainer": [[149, "module-core.trainers.base_trainer", false]], "core.trainers.ocp_trainer": [[151, "module-core.trainers.ocp_trainer", false]], "cosine_lr_lambda() (in module core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.cosine_lr_lambda", false]], "cosine_similarity() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.cosine_similarity", false]], "cosinelrlambda (class in core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.CosineLRLambda", false]], "count (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.count", false]], "count() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.count", false]], "count() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.count", false]], "count_scf() (in module adsorbml.scripts.utils)": [[3, "adsorbml.scripts.utils.count_scf", false]], "create_dict_from_args() (in module core.common.utils)": [[29, "core.common.utils.create_dict_from_args", false]], "create_grid() (in module core.common.utils)": [[29, "core.common.utils.create_grid", false]], "current_entry (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.current_entry", false], [176, "id3", false], [176, "id4", false], [176, "id5", false], [176, "id6", false], [176, "id7", false], [176, "id8", false], [176, "id9", false]], "custom_tile_atoms() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.custom_tile_atoms", false]], "data": [[152, "module-data", false]], "data.oc": [[167, "module-data.oc", false]], "data.oc.core": [[156, "module-data.oc.core", false]], "data.oc.core.adsorbate": [[153, "module-data.oc.core.adsorbate", false]], "data.oc.core.adsorbate_slab_config": [[154, "module-data.oc.core.adsorbate_slab_config", false]], "data.oc.core.bulk": [[155, "module-data.oc.core.bulk", false]], "data.oc.core.multi_adsorbate_slab_config": [[157, "module-data.oc.core.multi_adsorbate_slab_config", false]], "data.oc.core.slab": [[158, "module-data.oc.core.slab", false]], "data.oc.databases": [[159, "module-data.oc.databases", false]], "data.oc.databases.pkls": [[160, "module-data.oc.databases.pkls", false]], "data.oc.databases.update": [[161, "module-data.oc.databases.update", false]], "data.oc.experimental.get_energies": [[162, "module-data.oc.experimental.get_energies", false]], "data.oc.experimental.merge_traj": [[163, "module-data.oc.experimental.merge_traj", false]], "data.oc.experimental.perturb_systems": [[164, "module-data.oc.experimental.perturb_systems", false]], "data.oc.experimental.rattle_test": [[165, "module-data.oc.experimental.rattle_test", false]], "data.oc.experimental.utils": [[166, "module-data.oc.experimental.utils", false]], "data.oc.scripts.precompute_sample_structures": [[168, "module-data.oc.scripts.precompute_sample_structures", false]], "data.oc.structure_generator": [[169, "module-data.oc.structure_generator", false]], "data.oc.tests": [[170, "module-data.oc.tests", false]], "data.oc.utils": [[172, "module-data.oc.utils", false]], "data.oc.utils.flag_anomaly": [[171, "module-data.oc.utils.flag_anomaly", false]], "data.oc.utils.vasp": [[173, "module-data.oc.utils.vasp", false]], "data.odac": [[175, "module-data.odac", false]], "data.odac.force_field.ff_analysis": [[174, "module-data.odac.force_field.FF_analysis", false]], "data.odac.promising_mof.promising_mof_energies.energy": [[176, "module-data.odac.promising_mof.promising_mof_energies.energy", false]], "data.om": [[179, "module-data.om", false]], "data.om.biomolecules.geom.sample_geom_drugs": [[177, "module-data.om.biomolecules.geom.sample_geom_drugs", false]], "data.om.biomolecules.geom.write_geom_drugs_structures": [[178, "module-data.om.biomolecules.geom.write_geom_drugs_structures", false]], "data.om.omdata.orca": [[181, "module-data.om.omdata.orca", false]], "data.om.omdata.orca.calc": [[180, "module-data.om.omdata.orca.calc", false]], "data.om.omdata.orca.recipes": [[182, "module-data.om.omdata.orca.recipes", false]], "data_list_collater() (in module core.datasets)": [[37, "core.datasets.data_list_collater", false]], "data_list_collater() (in module core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.data_list_collater", false]], "datatransforms (class in core.modules.transforms)": [[132, "core.modules.transforms.DataTransforms", false]], "ddploss (class in core.modules.loss)": [[124, "core.modules.loss.DDPLoss", false]], "decompose_tensor() (in module core.modules.transforms)": [[132, "core.modules.transforms.decompose_tensor", false]], "decompress_list_of_files() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.decompress_list_of_files", false]], "def_counts_df (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.def_counts_df", false]], "default_client (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.DEFAULT_CLIENT", false]], "delete (ocpapi.lifetime attribute)": [[188, "ocpapi.Lifetime.DELETE", false]], "delete (ocpapi.workflows.adsorbates.lifetime attribute)": [[190, "ocpapi.workflows.adsorbates.Lifetime.DELETE", false]], "delete (ocpapi.workflows.lifetime attribute)": [[193, "ocpapi.workflows.Lifetime.DELETE", false]], "delete() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.delete", false]], "delete() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.delete", false]], "delete_adsorbate_slab_relaxations() (ocpapi.client method)": [[188, "ocpapi.Client.delete_adsorbate_slab_relaxations", false]], "delete_adsorbate_slab_relaxations() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.delete_adsorbate_slab_relaxations", false]], "delete_adsorbate_slab_relaxations() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.delete_adsorbate_slab_relaxations", false]], "denorm() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.denorm", false]], "dense (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.Dense", false]], "dense (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.Dense", false]], "dense (class in core.models.gemnet_oc.layers.base_layers)": [[97, "core.models.gemnet_oc.layers.base_layers.Dense", false]], "dense_rbf_f (core.models.gemnet_gp.layers.atom_update_block.outputblock attribute)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.dense_rbf_F", false]], "describe_fairchem() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.describe_fairchem", false]], "desorption_cutoff_multiplier (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.DESORPTION_CUTOFF_MULTIPLIER", false]], "desorption_reaction_db_path (in module cattsunami.databases)": [[9, "cattsunami.databases.DESORPTION_REACTION_DB_PATH", false]], "detecttrajanomaly (class in data.oc.utils)": [[172, "data.oc.utils.DetectTrajAnomaly", false]], "detecttrajanomaly (class in data.oc.utils.flag_anomaly)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly", false]], "dict_set_recursively() (in module core.common.utils)": [[29, "core.common.utils.dict_set_recursively", false]], "dimenetplusplus (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus", false]], "dimenetpluspluswrap (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap", false]], "dissociation_reaction_db_path (in module cattsunami.databases)": [[9, "cattsunami.databases.DISSOCIATION_REACTION_DB_PATH", false]], "distanceblock (class in core.models.scn.scn)": [[115, "core.models.scn.scn.DistanceBlock", false]], "divide_and_check_no_remainder() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.divide_and_check_no_remainder", false]], "does_not_exist (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.DOES_NOT_EXIST", false]], "does_not_exist (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.DOES_NOT_EXIST", false]], "does_not_exist (ocpapi.status attribute)": [[188, "ocpapi.Status.DOES_NOT_EXIST", false]], "download_links_is2re (in module core.scripts.download_data)": [[135, "core.scripts.download_data.DOWNLOAD_LINKS_is2re", false]], "download_links_s2ef (in module core.scripts.download_data)": [[135, "core.scripts.download_data.DOWNLOAD_LINKS_s2ef", false]], "drop_path() (in module core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.drop_path", false]], "droppath (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.DropPath", false]], "edgeblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.EdgeBlock", false]], "edgeblock (class in core.models.scn.scn)": [[115, "core.models.scn.scn.EdgeBlock", false]], "edgedegreeembedding (class in core.models.equiformer_v2.input_block)": [[51, "core.models.equiformer_v2.input_block.EdgeDegreeEmbedding", false]], "edgeembedding (class in core.models.gemnet.layers.embedding_block)": [[73, "core.models.gemnet.layers.embedding_block.EdgeEmbedding", false]], "edgeembedding (class in core.models.gemnet_gp.layers.embedding_block)": [[86, "core.models.gemnet_gp.layers.embedding_block.EdgeEmbedding", false]], "edgeembedding (class in core.models.gemnet_oc.layers.embedding_block)": [[100, "core.models.gemnet_oc.layers.embedding_block.EdgeEmbedding", false]], "efficientinteractionbilinear (class in core.models.gemnet.layers.efficient)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionBilinear", false]], "efficientinteractionbilinear (class in core.models.gemnet_gp.layers.efficient)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear", false]], "efficientinteractionbilinear (class in core.models.gemnet_oc.layers.efficient)": [[99, "core.models.gemnet_oc.layers.efficient.EfficientInteractionBilinear", false]], "efficientinteractiondownprojection (class in core.models.gemnet.layers.efficient)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection", false]], "efficientinteractiondownprojection (class in core.models.gemnet_gp.layers.efficient)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection", false]], "elements (ocpapi.bulk attribute)": [[188, "ocpapi.Bulk.elements", false]], "elements (ocpapi.client.bulk attribute)": [[185, "ocpapi.client.Bulk.elements", false]], "elements (ocpapi.client.models.bulk attribute)": [[186, "ocpapi.client.models.Bulk.elements", false]], "energy (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.energy", false]], "energy (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.energy", false]], "energy (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.energy", false]], "energy_fc1 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.energy_fc1", false]], "energy_fc1 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.energy_fc1", false]], "energy_fc2 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.energy_fc2", false]], "energy_fc2 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.energy_fc2", false]], "energy_fc3 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.energy_fc3", false]], "energy_fc3 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.energy_fc3", false]], "energy_forces_within_threshold() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.energy_forces_within_threshold", false]], "energy_trajectory (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.energy_trajectory", false]], "energy_trajectory (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.energy_trajectory", false]], "energy_trajectory (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.energy_trajectory", false]], "energy_within_threshold() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.energy_within_threshold", false]], "energyblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.EnergyBlock", false]], "ensure_div() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.ensure_div", false]], "ensure_fitted() (in module core.modules.scaling.util)": [[130, "core.modules.scaling.util.ensure_fitted", false]], "enumerate_surfaces_for_saving() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.enumerate_surfaces_for_saving", false]], "ephemeral (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.ephemeral", false]], "ephemeral (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.ephemeral", false]], "ephemeral (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.ephemeral", false]], "equiformerv2 (class in core.models.equiformer_v2)": [[50, "core.models.equiformer_v2.EquiformerV2", false]], "equiformerv2_oc20 (class in core.models.equiformer_v2.equiformer_v2_oc20)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20", false]], "equiformerv2energytrainer (class in core.models.equiformer_v2.trainers.energy_trainer)": [[57, "core.models.equiformer_v2.trainers.energy_trainer.EquiformerV2EnergyTrainer", false]], "equiformerv2forcestrainer (class in core.models.equiformer_v2.trainers.forces_trainer)": [[58, "core.models.equiformer_v2.trainers.forces_trainer.EquiformerV2ForcesTrainer", false]], "equivariantdegreelayerscale (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale", false]], "equivariantdropout (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.EquivariantDropout", false]], "equivariantdropoutarraysphericalharmonics (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics", false]], "equivariantlayernormarray (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray", false]], "equivariantlayernormarraysphericalharmonics (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics", false]], "equivariantrmsnormarraysphericalharmonics (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics", false]], "equivariantrmsnormarraysphericalharmonicsv2 (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2", false]], "equivariantscalarsdropout (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.EquivariantScalarsDropout", false]], "escn (class in core.models.escn)": [[64, "core.models.escn.eSCN", false]], "escn (class in core.models.escn.escn)": [[63, "core.models.escn.escn.eSCN", false]], "eval() (core.modules.evaluator.evaluator method)": [[121, "core.modules.evaluator.Evaluator.eval", false]], "evaluator (class in core.modules.evaluator)": [[121, "core.modules.evaluator.Evaluator", false]], "expand_edge() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.expand_edge", false]], "expand_edge() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.expand_edge", false]], "exponentialenvelope (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.ExponentialEnvelope", false]], "exponentialenvelope (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.ExponentialEnvelope", false]], "exponentialenvelope (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.ExponentialEnvelope", false]], "exponentialmovingaverage (class in core.modules.exponential_moving_average)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage", false]], "extra_repr() (core.models.equiformer_v2.activation.scaledsilu method)": [[45, "core.models.equiformer_v2.activation.ScaledSiLU.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.activation.scaledsmoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.activation.smoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.SmoothLeakyReLU.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.droppath method)": [[46, "core.models.equiformer_v2.drop.DropPath.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.equivariantdropoutarraysphericalharmonics method)": [[46, "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.equivariantscalarsdropout method)": [[46, "core.models.equiformer_v2.drop.EquivariantScalarsDropout.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.graphdroppath method)": [[46, "core.models.equiformer_v2.drop.GraphDropPath.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.gaussian_rbf.gaussianradialbasislayer method)": [[49, "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer.extra_repr", false]], "extract_file() (in module data.oc.experimental.get_energies)": [[162, "data.oc.experimental.get_energies.extract_file", false]], "extract_file() (in module data.oc.experimental.merge_traj)": [[163, "data.oc.experimental.merge_traj.extract_file", false]], "failed_relaxation (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.FAILED_RELAXATION", false]], "failed_relaxation (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.FAILED_RELAXATION", false]], "failed_relaxation (ocpapi.status attribute)": [[188, "ocpapi.Status.FAILED_RELAXATION", false]], "fairchem_main() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.fairchem_main", false]], "fairchem_root() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.fairchem_root", false]], "feedforwardnetwork (class in core.models.equiformer_v2.transformer_block)": [[61, "core.models.equiformer_v2.transformer_block.FeedForwardNetwork", false]], "filter() (core.common.utils.severitylevelbetween method)": [[29, "core.common.utils.SeverityLevelBetween.filter", false]], "filter_kwargs() (core.models.equiformer_v2.trainers.lr_scheduler.lrscheduler method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler.filter_kwargs", false]], "filter_kwargs() (core.modules.scheduler.lrscheduler method)": [[131, "core.modules.scheduler.LRScheduler.filter_kwargs", false]], "filter_ml_data() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.filter_ml_data", false]], "find_adsorbate_binding_sites() (in module ocpapi)": [[188, "ocpapi.find_adsorbate_binding_sites", false]], "find_adsorbate_binding_sites() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.find_adsorbate_binding_sites", false]], "find_adsorbate_binding_sites() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.find_adsorbate_binding_sites", false]], "find_surface_atoms_by_height() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.find_surface_atoms_by_height", false]], "find_surface_atoms_with_voronoi_given_height() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.find_surface_atoms_with_voronoi_given_height", false]], "fit_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.fit_", false]], "fit_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.fit_", false]], "fit_context_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.fit_context_", false]], "fit_context_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.fit_context_", false]], "fitted (core.modules.scaling.scale_factor.scalefactor property)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.fitted", false]], "fitted (core.modules.scaling.scalefactor property)": [[128, "core.modules.scaling.ScaleFactor.fitted", false]], "flags (class in core.common.flags)": [[15, "core.common.flags.Flags", false]], "flags (in module core.common.flags)": [[15, "core.common.flags.flags", false]], "flip_struct() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.flip_struct", false]], "flip_struct() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.flip_struct", false]], "flipgrid() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.FlipGrid", false]], "force_fc1 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.force_fc1", false]], "force_fc1 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.force_fc1", false]], "force_fc2 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.force_fc2", false]], "force_fc2 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.force_fc2", false]], "force_fc3 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.force_fc3", false]], "force_fc3 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.force_fc3", false]], "forceblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.ForceBlock", false]], "forces (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.forces", false]], "forces (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.forces", false]], "forces (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.forces", false]], "forcescaler (class in core.models.gemnet_oc.layers.force_scaler)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler", false]], "forcesx_mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesx_mae", false]], "forcesx_mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesx_mse", false]], "forcesy_mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesy_mae", false]], "forcesy_mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesy_mse", false]], "forcesz_mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesz_mae", false]], "forcesz_mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesz_mse", false]], "formula (ocpapi.bulk attribute)": [[188, "ocpapi.Bulk.formula", false]], "formula (ocpapi.client.bulk attribute)": [[185, "ocpapi.client.Bulk.formula", false]], "formula (ocpapi.client.models.bulk attribute)": [[186, "ocpapi.client.models.Bulk.formula", false]], "forward() (core.common.gp_utils.copytomodelparallelregion static method)": [[16, "core.common.gp_utils.CopyToModelParallelRegion.forward", false]], "forward() (core.common.gp_utils.gatherfrommodelparallelregion static method)": [[16, "core.common.gp_utils.GatherFromModelParallelRegion.forward", false]], "forward() (core.common.gp_utils.reducefrommodelparallelregion static method)": [[16, "core.common.gp_utils.ReduceFromModelParallelRegion.forward", false]], "forward() (core.common.gp_utils.scattertomodelparallelregion static method)": [[16, "core.common.gp_utils.ScatterToModelParallelRegion.forward", false]], "forward() (core.models.base.basemodel method)": [[43, "core.models.base.BaseModel.forward", false]], "forward() (core.models.dimenet_plus_plus.dimenetplusplus method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.forward", false]], "forward() (core.models.dimenet_plus_plus.dimenetpluspluswrap method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap.forward", false]], "forward() (core.models.dimenet_plus_plus.interactionppblock method)": [[44, "core.models.dimenet_plus_plus.InteractionPPBlock.forward", false]], "forward() (core.models.dimenet_plus_plus.outputppblock method)": [[44, "core.models.dimenet_plus_plus.OutputPPBlock.forward", false]], "forward() (core.models.equiformer_v2.activation.gateactivation method)": [[45, "core.models.equiformer_v2.activation.GateActivation.forward", false]], "forward() (core.models.equiformer_v2.activation.s2activation method)": [[45, "core.models.equiformer_v2.activation.S2Activation.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledsigmoid method)": [[45, "core.models.equiformer_v2.activation.ScaledSigmoid.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledsilu method)": [[45, "core.models.equiformer_v2.activation.ScaledSiLU.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledsmoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledswiglu method)": [[45, "core.models.equiformer_v2.activation.ScaledSwiGLU.forward", false]], "forward() (core.models.equiformer_v2.activation.separables2activation method)": [[45, "core.models.equiformer_v2.activation.SeparableS2Activation.forward", false]], "forward() (core.models.equiformer_v2.activation.smoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.SmoothLeakyReLU.forward", false]], "forward() (core.models.equiformer_v2.activation.swiglu method)": [[45, "core.models.equiformer_v2.activation.SwiGLU.forward", false]], "forward() (core.models.equiformer_v2.drop.droppath method)": [[46, "core.models.equiformer_v2.drop.DropPath.forward", false]], "forward() (core.models.equiformer_v2.drop.equivariantdropout method)": [[46, "core.models.equiformer_v2.drop.EquivariantDropout.forward", false]], "forward() (core.models.equiformer_v2.drop.equivariantdropoutarraysphericalharmonics method)": [[46, "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics.forward", false]], "forward() (core.models.equiformer_v2.drop.equivariantscalarsdropout method)": [[46, "core.models.equiformer_v2.drop.EquivariantScalarsDropout.forward", false]], "forward() (core.models.equiformer_v2.drop.graphdroppath method)": [[46, "core.models.equiformer_v2.drop.GraphDropPath.forward", false]], "forward() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20.forward", false]], "forward() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2.forward", false]], "forward() (core.models.equiformer_v2.gaussian_rbf.gaussianradialbasislayer method)": [[49, "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer.forward", false]], "forward() (core.models.equiformer_v2.input_block.edgedegreeembedding method)": [[51, "core.models.equiformer_v2.input_block.EdgeDegreeEmbedding.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantdegreelayerscale method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantlayernormarray method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantlayernormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonicsv2 method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2.forward", false]], "forward() (core.models.equiformer_v2.radial_function.radialfunction method)": [[54, "core.models.equiformer_v2.radial_function.RadialFunction.forward", false]], "forward() (core.models.equiformer_v2.so2_ops.so2_convolution method)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Convolution.forward", false]], "forward() (core.models.equiformer_v2.so2_ops.so2_linear method)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Linear.forward", false]], "forward() (core.models.equiformer_v2.so2_ops.so2_m_convolution method)": [[55, "core.models.equiformer_v2.so2_ops.SO2_m_Convolution.forward", false]], "forward() (core.models.equiformer_v2.so3.so3_linear method)": [[56, "core.models.equiformer_v2.so3.SO3_Linear.forward", false]], "forward() (core.models.equiformer_v2.so3.so3_linearv2 method)": [[56, "core.models.equiformer_v2.so3.SO3_LinearV2.forward", false]], "forward() (core.models.equiformer_v2.transformer_block.feedforwardnetwork method)": [[61, "core.models.equiformer_v2.transformer_block.FeedForwardNetwork.forward", false]], "forward() (core.models.equiformer_v2.transformer_block.so2equivariantgraphattention method)": [[61, "core.models.equiformer_v2.transformer_block.SO2EquivariantGraphAttention.forward", false]], "forward() (core.models.equiformer_v2.transformer_block.transblockv2 method)": [[61, "core.models.equiformer_v2.transformer_block.TransBlockV2.forward", false]], "forward() (core.models.escn.escn method)": [[64, "core.models.escn.eSCN.forward", false]], "forward() (core.models.escn.escn.edgeblock method)": [[63, "core.models.escn.escn.EdgeBlock.forward", false]], "forward() (core.models.escn.escn.energyblock method)": [[63, "core.models.escn.escn.EnergyBlock.forward", false]], "forward() (core.models.escn.escn.escn method)": [[63, "core.models.escn.escn.eSCN.forward", false]], "forward() (core.models.escn.escn.forceblock method)": [[63, "core.models.escn.escn.ForceBlock.forward", false]], "forward() (core.models.escn.escn.layerblock method)": [[63, "core.models.escn.escn.LayerBlock.forward", false]], "forward() (core.models.escn.escn.messageblock method)": [[63, "core.models.escn.escn.MessageBlock.forward", false]], "forward() (core.models.escn.escn.so2block method)": [[63, "core.models.escn.escn.SO2Block.forward", false]], "forward() (core.models.escn.escn.so2conv method)": [[63, "core.models.escn.escn.SO2Conv.forward", false]], "forward() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.forward", false]], "forward() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.forward", false]], "forward() (core.models.gemnet.layers.atom_update_block.atomupdateblock method)": [[69, "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock.forward", false]], "forward() (core.models.gemnet.layers.atom_update_block.outputblock method)": [[69, "core.models.gemnet.layers.atom_update_block.OutputBlock.forward", false]], "forward() (core.models.gemnet.layers.base_layers.dense method)": [[70, "core.models.gemnet.layers.base_layers.Dense.forward", false]], "forward() (core.models.gemnet.layers.base_layers.residuallayer method)": [[70, "core.models.gemnet.layers.base_layers.ResidualLayer.forward", false]], "forward() (core.models.gemnet.layers.base_layers.scaledsilu method)": [[70, "core.models.gemnet.layers.base_layers.ScaledSiLU.forward", false]], "forward() (core.models.gemnet.layers.base_layers.siqu method)": [[70, "core.models.gemnet.layers.base_layers.SiQU.forward", false]], "forward() (core.models.gemnet.layers.efficient.efficientinteractionbilinear method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionBilinear.forward", false]], "forward() (core.models.gemnet.layers.efficient.efficientinteractiondownprojection method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection.forward", false]], "forward() (core.models.gemnet.layers.embedding_block.atomembedding method)": [[73, "core.models.gemnet.layers.embedding_block.AtomEmbedding.forward", false]], "forward() (core.models.gemnet.layers.embedding_block.edgeembedding method)": [[73, "core.models.gemnet.layers.embedding_block.EdgeEmbedding.forward", false]], "forward() (core.models.gemnet.layers.interaction_block.interactionblocktripletsonly method)": [[75, "core.models.gemnet.layers.interaction_block.InteractionBlockTripletsOnly.forward", false]], "forward() (core.models.gemnet.layers.interaction_block.tripletinteraction method)": [[75, "core.models.gemnet.layers.interaction_block.TripletInteraction.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.bernsteinbasis method)": [[76, "core.models.gemnet.layers.radial_basis.BernsteinBasis.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.exponentialenvelope method)": [[76, "core.models.gemnet.layers.radial_basis.ExponentialEnvelope.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.polynomialenvelope method)": [[76, "core.models.gemnet.layers.radial_basis.PolynomialEnvelope.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.radialbasis method)": [[76, "core.models.gemnet.layers.radial_basis.RadialBasis.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.sphericalbesselbasis method)": [[76, "core.models.gemnet.layers.radial_basis.SphericalBesselBasis.forward", false]], "forward() (core.models.gemnet.layers.spherical_basis.circularbasislayer method)": [[77, "core.models.gemnet.layers.spherical_basis.CircularBasisLayer.forward", false]], "forward() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.forward", false]], "forward() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.forward", false]], "forward() (core.models.gemnet_gp.layers.atom_update_block.atomupdateblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock.forward", false]], "forward() (core.models.gemnet_gp.layers.atom_update_block.outputblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.dense method)": [[83, "core.models.gemnet_gp.layers.base_layers.Dense.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.residuallayer method)": [[83, "core.models.gemnet_gp.layers.base_layers.ResidualLayer.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.scaledsilu method)": [[83, "core.models.gemnet_gp.layers.base_layers.ScaledSiLU.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.siqu method)": [[83, "core.models.gemnet_gp.layers.base_layers.SiQU.forward", false]], "forward() (core.models.gemnet_gp.layers.efficient.efficientinteractionbilinear method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear.forward", false]], "forward() (core.models.gemnet_gp.layers.efficient.efficientinteractiondownprojection method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection.forward", false]], "forward() (core.models.gemnet_gp.layers.embedding_block.atomembedding method)": [[86, "core.models.gemnet_gp.layers.embedding_block.AtomEmbedding.forward", false]], "forward() (core.models.gemnet_gp.layers.embedding_block.edgeembedding method)": [[86, "core.models.gemnet_gp.layers.embedding_block.EdgeEmbedding.forward", false]], "forward() (core.models.gemnet_gp.layers.interaction_block.interactionblocktripletsonly method)": [[88, "core.models.gemnet_gp.layers.interaction_block.InteractionBlockTripletsOnly.forward", false]], "forward() (core.models.gemnet_gp.layers.interaction_block.tripletinteraction method)": [[88, "core.models.gemnet_gp.layers.interaction_block.TripletInteraction.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.bernsteinbasis method)": [[89, "core.models.gemnet_gp.layers.radial_basis.BernsteinBasis.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.exponentialenvelope method)": [[89, "core.models.gemnet_gp.layers.radial_basis.ExponentialEnvelope.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.polynomialenvelope method)": [[89, "core.models.gemnet_gp.layers.radial_basis.PolynomialEnvelope.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.radialbasis method)": [[89, "core.models.gemnet_gp.layers.radial_basis.RadialBasis.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.sphericalbesselbasis method)": [[89, "core.models.gemnet_gp.layers.radial_basis.SphericalBesselBasis.forward", false]], "forward() (core.models.gemnet_gp.layers.spherical_basis.circularbasislayer method)": [[90, "core.models.gemnet_gp.layers.spherical_basis.CircularBasisLayer.forward", false]], "forward() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.forward", false]], "forward() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.forward", false]], "forward() (core.models.gemnet_oc.layers.atom_update_block.atomupdateblock method)": [[96, "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock.forward", false]], "forward() (core.models.gemnet_oc.layers.atom_update_block.outputblock method)": [[96, "core.models.gemnet_oc.layers.atom_update_block.OutputBlock.forward", false]], "forward() (core.models.gemnet_oc.layers.base_layers.dense method)": [[97, "core.models.gemnet_oc.layers.base_layers.Dense.forward", false]], "forward() (core.models.gemnet_oc.layers.base_layers.residuallayer method)": [[97, "core.models.gemnet_oc.layers.base_layers.ResidualLayer.forward", false]], "forward() (core.models.gemnet_oc.layers.base_layers.scaledsilu method)": [[97, "core.models.gemnet_oc.layers.base_layers.ScaledSiLU.forward", false]], "forward() (core.models.gemnet_oc.layers.efficient.basisembedding method)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding.forward", false]], "forward() (core.models.gemnet_oc.layers.efficient.efficientinteractionbilinear method)": [[99, "core.models.gemnet_oc.layers.efficient.EfficientInteractionBilinear.forward", false]], "forward() (core.models.gemnet_oc.layers.embedding_block.atomembedding method)": [[100, "core.models.gemnet_oc.layers.embedding_block.AtomEmbedding.forward", false]], "forward() (core.models.gemnet_oc.layers.embedding_block.edgeembedding method)": [[100, "core.models.gemnet_oc.layers.embedding_block.EdgeEmbedding.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.interactionblock method)": [[103, "core.models.gemnet_oc.layers.interaction_block.InteractionBlock.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.pairinteraction method)": [[103, "core.models.gemnet_oc.layers.interaction_block.PairInteraction.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.quadrupletinteraction method)": [[103, "core.models.gemnet_oc.layers.interaction_block.QuadrupletInteraction.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.tripletinteraction method)": [[103, "core.models.gemnet_oc.layers.interaction_block.TripletInteraction.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.bernsteinbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.BernsteinBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.exponentialenvelope method)": [[104, "core.models.gemnet_oc.layers.radial_basis.ExponentialEnvelope.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.gaussianbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.GaussianBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.polynomialenvelope method)": [[104, "core.models.gemnet_oc.layers.radial_basis.PolynomialEnvelope.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.radialbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.RadialBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.sphericalbesselbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.SphericalBesselBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.spherical_basis.circularbasislayer method)": [[105, "core.models.gemnet_oc.layers.spherical_basis.CircularBasisLayer.forward", false]], "forward() (core.models.gemnet_oc.layers.spherical_basis.sphericalbasislayer method)": [[105, "core.models.gemnet_oc.layers.spherical_basis.SphericalBasisLayer.forward", false]], "forward() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.forward", false]], "forward() (core.models.painn.painn.gatedequivariantblock method)": [[110, "core.models.painn.painn.GatedEquivariantBlock.forward", false]], "forward() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.forward", false]], "forward() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.forward", false]], "forward() (core.models.painn.painn.painnoutput method)": [[110, "core.models.painn.painn.PaiNNOutput.forward", false]], "forward() (core.models.painn.painn.painnupdate method)": [[110, "core.models.painn.painn.PaiNNUpdate.forward", false]], "forward() (core.models.schnet.schnetwrap method)": [[112, "core.models.schnet.SchNetWrap.forward", false]], "forward() (core.models.scn.scn.distanceblock method)": [[115, "core.models.scn.scn.DistanceBlock.forward", false]], "forward() (core.models.scn.scn.edgeblock method)": [[115, "core.models.scn.scn.EdgeBlock.forward", false]], "forward() (core.models.scn.scn.messageblock method)": [[115, "core.models.scn.scn.MessageBlock.forward", false]], "forward() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork.forward", false]], "forward() (core.models.scn.smearing.gaussiansmearing method)": [[116, "core.models.scn.smearing.GaussianSmearing.forward", false]], "forward() (core.models.scn.smearing.linearsigmoidsmearing method)": [[116, "core.models.scn.smearing.LinearSigmoidSmearing.forward", false]], "forward() (core.models.scn.smearing.sigmoidsmearing method)": [[116, "core.models.scn.smearing.SigmoidSmearing.forward", false]], "forward() (core.models.scn.smearing.silusmearing method)": [[116, "core.models.scn.smearing.SiLUSmearing.forward", false]], "forward() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork.forward", false]], "forward() (core.models.utils.activations.act method)": [[118, "core.models.utils.activations.Act.forward", false]], "forward() (core.models.utils.basis.basis method)": [[119, "core.models.utils.basis.Basis.forward", false]], "forward() (core.models.utils.basis.fouriersmearing method)": [[119, "core.models.utils.basis.FourierSmearing.forward", false]], "forward() (core.models.utils.basis.gaussiansmearing method)": [[119, "core.models.utils.basis.GaussianSmearing.forward", false]], "forward() (core.models.utils.basis.sine method)": [[119, "core.models.utils.basis.Sine.forward", false]], "forward() (core.models.utils.basis.sinesmearing method)": [[119, "core.models.utils.basis.SINESmearing.forward", false]], "forward() (core.models.utils.basis.siren method)": [[119, "core.models.utils.basis.SIREN.forward", false]], "forward() (core.models.utils.basis.sphericalsmearing method)": [[119, "core.models.utils.basis.SphericalSmearing.forward", false]], "forward() (core.modules.loss.atomwisel2loss method)": [[124, "core.modules.loss.AtomwiseL2Loss.forward", false]], "forward() (core.modules.loss.ddploss method)": [[124, "core.modules.loss.DDPLoss.forward", false]], "forward() (core.modules.loss.l2maeloss method)": [[124, "core.modules.loss.L2MAELoss.forward", false]], "forward() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.forward", false]], "forward() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.forward", false]], "fouriersmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.FourierSmearing", false]], "from_atoms() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_atoms", false]], "from_atoms() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_atoms", false]], "from_bulk_get_all_slabs() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_bulk_get_all_slabs", false]], "from_bulk_get_all_slabs() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_bulk_get_all_slabs", false]], "from_bulk_get_random_slab() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_bulk_get_random_slab", false]], "from_bulk_get_random_slab() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_bulk_get_random_slab", false]], "from_bulk_get_specific_millers() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_bulk_get_specific_millers", false]], "from_bulk_get_specific_millers() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_bulk_get_specific_millers", false]], "from_grid() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.from_grid", false]], "from_grid() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.from_grid", false]], "from_precomputed_slabs_pkl() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_precomputed_slabs_pkl", false]], "from_precomputed_slabs_pkl() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_precomputed_slabs_pkl", false]], "fromgrid() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.FromGrid", false]], "gateactivation (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.GateActivation", false]], "gatedequivariantblock (class in core.models.painn.painn)": [[110, "core.models.painn.painn.GatedEquivariantBlock", false]], "gather_from_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.gather_from_model_parallel_region", false]], "gather_objects() (in module core.common.distutils)": [[14, "core.common.distutils.gather_objects", false]], "gatherfrommodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.GatherFromModelParallelRegion", false]], "gaussian() (in module core.models.equiformer_v2.gaussian_rbf)": [[49, "core.models.equiformer_v2.gaussian_rbf.gaussian", false]], "gaussianbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.GaussianBasis", false]], "gaussianradialbasislayer (class in core.models.equiformer_v2.gaussian_rbf)": [[49, "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer", false]], "gaussiansmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.GaussianSmearing", false]], "gaussiansmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.GaussianSmearing", false]], "gemnetoc (class in core.models.gemnet_oc)": [[93, "core.models.gemnet_oc.GemNetOC", false]], "gemnetoc (class in core.models.gemnet_oc.gemnet_oc)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC", false]], "gemnett (class in core.models.gemnet)": [[67, "core.models.gemnet.GemNetT", false]], "gemnett (class in core.models.gemnet.gemnet)": [[66, "core.models.gemnet.gemnet.GemNetT", false]], "generate_graph() (core.models.base.basemodel method)": [[43, "core.models.base.BaseModel.generate_graph", false]], "generate_graph_dict() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.generate_graph_dict", false]], "generate_graph_dict() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.generate_graph_dict", false]], "generate_graph_values() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.generate_graph_values", false]], "generate_graph_values() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.generate_graph_values", false]], "generate_interaction_graph() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.generate_interaction_graph", false]], "generate_interaction_graph() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.generate_interaction_graph", false]], "generate_interaction_graph() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.generate_interaction_graph", false]], "generate_interaction_graph() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.generate_interaction_graph", false]], "generate_yml_config() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.generate_yml_config", false]], "get() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get", false]], "get_adsorbate_slab_configs() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbate_slab_configs", false]], "get_adsorbate_slab_configs() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbate_slab_configs", false]], "get_adsorbate_slab_configs() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbate_slab_configs", false]], "get_adsorbate_slab_relaxation_results() (in module ocpapi)": [[188, "ocpapi.get_adsorbate_slab_relaxation_results", false]], "get_adsorbate_slab_relaxation_results() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.get_adsorbate_slab_relaxation_results", false]], "get_adsorbate_slab_relaxation_results() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.get_adsorbate_slab_relaxation_results", false]], "get_adsorbate_slab_relaxations_request() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbate_slab_relaxations_request", false]], "get_adsorbate_slab_relaxations_request() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbate_slab_relaxations_request", false]], "get_adsorbate_slab_relaxations_request() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbate_slab_relaxations_request", false]], "get_adsorbate_slab_relaxations_results() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbate_slab_relaxations_results", false]], "get_adsorbate_slab_relaxations_results() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbate_slab_relaxations_results", false]], "get_adsorbate_slab_relaxations_results() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbate_slab_relaxations_results", false]], "get_adsorbates() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbates", false]], "get_adsorbates() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbates", false]], "get_adsorbates() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbates", false]], "get_angle() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_angle", false]], "get_atoms() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.get_atoms", false]], "get_atoms() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.get_atoms", false]], "get_atoms() (core.datasets.ase_datasets.asereaddataset method)": [[31, "core.datasets.ase_datasets.AseReadDataset.get_atoms", false]], "get_atoms() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset.get_atoms", false]], "get_atoms() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.get_atoms", false]], "get_atoms() (core.datasets.asereaddataset method)": [[37, "core.datasets.AseReadDataset.get_atoms", false]], "get_atoms() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset.get_atoms", false]], "get_bases() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.get_bases", false]], "get_bases() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.get_bases", false]], "get_best_sites_for_product1() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_best_sites_for_product1", false]], "get_best_unique_sites_for_product2() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_best_unique_sites_for_product2", false]], "get_binding_sites() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.get_binding_sites", false]], "get_binding_sites() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.get_binding_sites", false]], "get_bulks() (ocpapi.client method)": [[188, "ocpapi.Client.get_bulks", false]], "get_bulks() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_bulks", false]], "get_bulks() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_bulks", false]], "get_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_class", false]], "get_commit_hash() (in module core.common.utils)": [[29, "core.common.utils.get_commit_hash", false]], "get_data() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.get_data", false]], "get_data() (in module core.scripts.make_lmdb_sizes)": [[142, "core.scripts.make_lmdb_sizes.get_data", false]], "get_data() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_data", false]], "get_dataloader() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.get_dataloader", false]], "get_dataloader() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.get_dataloader", false]], "get_dataset_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_dataset_class", false]], "get_desorption_mapping() (cattsunami.core.reaction method)": [[6, "cattsunami.core.Reaction.get_desorption_mapping", false]], "get_desorption_mapping() (cattsunami.core.reaction.reaction method)": [[8, "cattsunami.core.reaction.Reaction.get_desorption_mapping", false]], "get_dft_compute() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.get_dft_compute", false]], "get_dft_data() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.get_dft_data", false]], "get_dft_data() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.get_dft_data", false]], "get_dp_group() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_dp_group", false]], "get_dp_rank() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_dp_rank", false]], "get_dp_world_size() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_dp_world_size", false]], "get_edge_id() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_edge_id", false]], "get_edge_id() (in module core.models.painn.utils)": [[111, "core.models.painn.utils.get_edge_id", false]], "get_energy_and_forces() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.get_energy_and_forces", false]], "get_energy_and_forces() (core.common.relaxation.optimizers.lbfgs_torch.torchcalc method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc.get_energy_and_forces", false]], "get_fig4a() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4a", false]], "get_fig4b() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4b", false]], "get_fig4c() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4c", false]], "get_fig4d() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4d", false]], "get_forces() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.get_forces", false]], "get_forces() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.get_forces", false]], "get_from_grid_mat() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.get_from_grid_mat", false]], "get_from_grid_mat() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.get_from_grid_mat", false]], "get_gp_group() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_gp_group", false]], "get_gp_rank() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_gp_rank", false]], "get_gp_world_size() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_gp_world_size", false]], "get_graphs_and_indices() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.get_graphs_and_indices", false]], "get_graphs_and_indices() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.get_graphs_and_indices", false]], "get_initializer() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.get_initializer", false]], "get_inner_idx() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_inner_idx", false]], "get_interstitial_distances() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.get_interstitial_distances", false]], "get_l_to_all_m_expand_index() (in module core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.get_l_to_all_m_expand_index", false]], "get_logger_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_logger_class", false]], "get_loss_module() (in module core.common.utils)": [[29, "core.common.utils.get_loss_module", false]], "get_lr() (core.models.equiformer_v2.trainers.lr_scheduler.lrscheduler method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler.get_lr", false]], "get_lr() (core.modules.scheduler.lrscheduler method)": [[131, "core.modules.scheduler.LRScheduler.get_lr", false]], "get_max_neighbors_mask() (in module core.common.utils)": [[29, "core.common.utils.get_max_neighbors_mask", false]], "get_metadata() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.get_metadata", false]], "get_metadata() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.get_metadata", false]], "get_metadata() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset.get_metadata", false]], "get_metadata() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.get_metadata", false]], "get_metadata() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset.get_metadata", false]], "get_metadata() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.get_metadata", false]], "get_metadata() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.get_metadata", false]], "get_metadata_dict() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.multi_adsorbate_slab_config.multipleadsorbateslabconfig method)": [[157, "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.multipleadsorbateslabconfig method)": [[156, "data.oc.core.MultipleAdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.get_metadata_dict", false]], "get_mixed_triplets() (in module core.models.gemnet_oc.interaction_indices)": [[95, "core.models.gemnet_oc.interaction_indices.get_mixed_triplets", false]], "get_mlp() (core.models.gemnet.layers.atom_update_block.atomupdateblock method)": [[69, "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock.get_mlp", false]], "get_mlp() (core.models.gemnet_gp.layers.atom_update_block.atomupdateblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock.get_mlp", false]], "get_mlp() (core.models.gemnet_oc.layers.atom_update_block.atomupdateblock method)": [[96, "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock.get_mlp", false]], "get_model_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_model_class", false]], "get_models() (ocpapi.client method)": [[188, "ocpapi.Client.get_models", false]], "get_models() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_models", false]], "get_models() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_models", false]], "get_most_proximate_symmetric_group() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.get_most_proximate_symmetric_group", false]], "get_neb_frames() (cattsunami.core.autoframe.autoframedesorption method)": [[5, "cattsunami.core.autoframe.AutoFrameDesorption.get_neb_frames", false]], "get_neb_frames() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_neb_frames", false]], "get_neb_frames() (cattsunami.core.autoframe.autoframetransfer method)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer.get_neb_frames", false]], "get_neighbor_order() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_neighbor_order", false]], "get_normalization_layer() (in module core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.get_normalization_layer", false]], "get_parser() (core.common.flags.flags method)": [[15, "core.common.flags.Flags.get_parser", false]], "get_parser() (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.get_parser", false]], "get_parser() (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.get_parser", false]], "get_parser() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.get_parser", false]], "get_pbc_distances() (in module core.common.utils)": [[29, "core.common.utils.get_pbc_distances", false]], "get_precon_forces() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.get_precon_forces", false]], "get_precon_forces() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.get_precon_forces", false]], "get_product2_idx() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.get_product2_idx", false]], "get_projected_angle() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_projected_angle", false]], "get_pruned_edge_idx() (in module core.common.utils)": [[29, "core.common.utils.get_pruned_edge_idx", false]], "get_quadruplets() (in module core.models.gemnet_oc.interaction_indices)": [[95, "core.models.gemnet_oc.interaction_indices.get_quadruplets", false]], "get_random_sites_on_triangle() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.get_random_sites_on_triangle", false]], "get_rank() (in module core.common.distutils)": [[14, "core.common.distutils.get_rank", false]], "get_relaxed_energy() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.ase_datasets.asereaddataset method)": [[31, "core.datasets.ase_datasets.AseReadDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.asereaddataset method)": [[37, "core.datasets.AseReadDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset.get_relaxed_energy", false]], "get_results_ml() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.get_results_ml", false]], "get_results_sp() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.get_results_sp", false]], "get_results_ui_url() (in module ocpapi)": [[188, "ocpapi.get_results_ui_url", false]], "get_results_ui_url() (in module ocpapi.client)": [[185, "ocpapi.client.get_results_ui_url", false]], "get_results_ui_url() (in module ocpapi.client.ui)": [[187, "ocpapi.client.ui.get_results_ui_url", false]], "get_rotate_inv_rescale() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.get_rotate_inv_rescale", false]], "get_sampler() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.get_sampler", false]], "get_sampler() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.get_sampler", false]], "get_shortest_path() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.get_shortest_path", false]], "get_single_point() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.get_single_point", false]], "get_sites_within_r() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_sites_within_r", false]], "get_slabs() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.get_slabs", false]], "get_slabs() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.get_slabs", false]], "get_slabs() (ocpapi.client method)": [[188, "ocpapi.Client.get_slabs", false]], "get_slabs() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_slabs", false]], "get_slabs() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_slabs", false]], "get_sph_harm_basis() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.get_sph_harm_basis", false]], "get_system_pairs_final() (cattsunami.core.autoframe.autoframetransfer method)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer.get_system_pairs_final", false]], "get_system_pairs_initial() (cattsunami.core.autoframe.autoframetransfer method)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer.get_system_pairs_initial", false]], "get_task_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_task_class", false]], "get_to_grid_mat() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.get_to_grid_mat", false]], "get_to_grid_mat() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.get_to_grid_mat", false]], "get_trainer_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_trainer_class", false]], "get_triplets() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.get_triplets", false]], "get_triplets() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.get_triplets", false]], "get_triplets() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.get_triplets", false]], "get_triplets() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.get_triplets", false]], "get_triplets() (in module core.models.gemnet_oc.interaction_indices)": [[95, "core.models.gemnet_oc.interaction_indices.get_triplets", false]], "get_world_size() (in module core.common.distutils)": [[14, "core.common.distutils.get_world_size", false]], "graphdroppath (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.GraphDropPath", false]], "graphparallelgemnett (class in core.models.gemnet_gp)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT", false]], "graphparallelgemnett (class in core.models.gemnet_gp.gemnet)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT", false]], "grid_init() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.grid_init", false]], "guess_property_metadata() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.guess_property_metadata", false]], "guess_target_metadata() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.guess_target_metadata", false]], "has_surface_changed() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.has_surface_changed", false]], "has_surface_changed() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.has_surface_changed", false]], "has_surface_tagged() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.has_surface_tagged", false]], "has_surface_tagged() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.has_surface_tagged", false]], "he_orthogonal_init() (in module core.models.gemnet.initializers)": [[68, "core.models.gemnet.initializers.he_orthogonal_init", false]], "he_orthogonal_init() (in module core.models.gemnet_gp.initializers)": [[81, "core.models.gemnet_gp.initializers.he_orthogonal_init", false]], "he_orthogonal_init() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.he_orthogonal_init", false]], "host (ocpapi.client property)": [[188, "ocpapi.Client.host", false]], "host (ocpapi.client.client property)": [[185, "ocpapi.client.Client.host", false]], "host (ocpapi.client.client.client property)": [[184, "ocpapi.client.client.Client.host", false]], "id (ocpapi.client.model attribute)": [[185, "ocpapi.client.Model.id", false]], "id (ocpapi.client.models.model attribute)": [[186, "ocpapi.client.models.Model.id", false]], "id (ocpapi.model attribute)": [[188, "ocpapi.Model.id", false]], "implemented_properties (core.common.relaxation.ase_utils.ocpcalculator attribute)": [[21, "core.common.relaxation.ase_utils.OCPCalculator.implemented_properties", false]], "index_drop_ddec_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.index_drop_ddec_defective", false]], "index_drop_ddec_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.index_drop_ddec_pristine", false]], "index_fn (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.index_fn", false]], "index_fn (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.index_fn", false]], "indexfn (in module core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor.IndexFn", false]], "infile (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.infile", false]], "init_basis_functions() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.init_basis_functions", false]], "init_basis_functions() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.init_basis_functions", false]], "init_edge_rot_mat() (in module core.models.equiformer_v2.edge_rot_mat)": [[47, "core.models.equiformer_v2.edge_rot_mat.init_edge_rot_mat", false]], "init_shared_basis_layers() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.init_shared_basis_layers", false]], "init_shared_basis_layers() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.init_shared_basis_layers", false]], "initialize_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.initialize_", false]], "initialize_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.initialize_", false]], "initialized() (in module core.common.distutils)": [[14, "core.common.distutils.initialized", false]], "initialized() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.initialized", false]], "initwignerdmatrix() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.InitWignerDMatrix", false]], "inityrotmapping() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.InitYRotMapping", false]], "inner_product_clamped() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.inner_product_clamped", false]], "inner_product_normalized() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.inner_product_normalized", false]], "inner_product_normalized() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.inner_product_normalized", false]], "input_folder (in module data.oc.experimental.get_energies)": [[162, "data.oc.experimental.get_energies.input_folder", false]], "interactionblock (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.InteractionBlock", false]], "interactionblocktripletsonly (class in core.models.gemnet.layers.interaction_block)": [[75, "core.models.gemnet.layers.interaction_block.InteractionBlockTripletsOnly", false]], "interactionblocktripletsonly (class in core.models.gemnet_gp.layers.interaction_block)": [[88, "core.models.gemnet_gp.layers.interaction_block.InteractionBlockTripletsOnly", false]], "interactionppblock (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.InteractionPPBlock", false]], "interpolate() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.interpolate", false]], "interpolate_and_correct_frames() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.interpolate_and_correct_frames", false]], "irreps_sum() (in module core.common.utils)": [[29, "core.common.utils.irreps_sum", false]], "is_adsorbate_adsorbed() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.is_adsorbate_adsorbed", false]], "is_adsorbate_desorbed() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.is_adsorbate_desorbed", false]], "is_adsorbate_desorbed() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.is_adsorbate_desorbed", false]], "is_adsorbate_dissociated() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.is_adsorbate_dissociated", false]], "is_adsorbate_dissociated() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.is_adsorbate_dissociated", false]], "is_adsorbate_intercalated() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.is_adsorbate_intercalated", false]], "is_adsorbate_intercalated() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.is_adsorbate_intercalated", false]], "is_edge_list_respected() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.is_edge_list_respected", false]], "is_failed_sp() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.is_failed_sp", false]], "is_master() (in module core.common.distutils)": [[14, "core.common.distutils.is_master", false]], "is_structure_invertible() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.is_structure_invertible", false]], "is_structure_invertible() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.is_structure_invertible", false]], "is_successful() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.is_successful", false]], "is_successful() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.is_successful", false]], "jn() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.Jn", false]], "jn() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.Jn", false]], "jn() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.Jn", false]], "jn_zeros() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.Jn_zeros", false]], "jn_zeros() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.Jn_zeros", false]], "jn_zeros() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.Jn_zeros", false]], "keep_all_slabs (class in ocpapi)": [[188, "ocpapi.keep_all_slabs", false]], "keep_all_slabs (class in ocpapi.workflows)": [[193, "ocpapi.workflows.keep_all_slabs", false]], "keep_all_slabs (class in ocpapi.workflows.filter)": [[192, "ocpapi.workflows.filter.keep_all_slabs", false]], "keep_slabs_with_miller_indices (class in ocpapi)": [[188, "ocpapi.keep_slabs_with_miller_indices", false]], "keep_slabs_with_miller_indices (class in ocpapi.workflows)": [[193, "ocpapi.workflows.keep_slabs_with_miller_indices", false]], "keep_slabs_with_miller_indices (class in ocpapi.workflows.filter)": [[192, "ocpapi.workflows.filter.keep_slabs_with_miller_indices", false]], "khot_embeddings (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.KHOT_EMBEDDINGS", false]], "khot_embeddings (in module core.datasets.embeddings.khot_embeddings)": [[35, "core.datasets.embeddings.khot_embeddings.KHOT_EMBEDDINGS", false]], "l2maeloss (class in core.modules.loss)": [[124, "core.modules.loss.L2MAELoss", false]], "label_metric_dict() (in module core.common.hpo_utils)": [[17, "core.common.hpo_utils.label_metric_dict", false]], "layerblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.LayerBlock", false]], "lbfgs (class in core.common.relaxation.optimizers.lbfgs_torch)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS", false]], "lifetime (class in ocpapi)": [[188, "ocpapi.Lifetime", false]], "lifetime (class in ocpapi.workflows)": [[193, "ocpapi.workflows.Lifetime", false]], "lifetime (class in ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.Lifetime", false]], "linearsigmoidsmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.LinearSigmoidSmearing", false]], "lmdbdatabase (class in core.datasets)": [[37, "core.datasets.LMDBDatabase", false]], "lmdbdatabase (class in core.datasets.lmdb_database)": [[38, "core.datasets.lmdb_database.LMDBDatabase", false]], "lmdbdataset (class in core.datasets)": [[37, "core.datasets.LmdbDataset", false]], "lmdbdataset (class in core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.LmdbDataset", false]], "load() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load", false]], "load() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load", false]], "load_checkpoint() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.load_checkpoint", false]], "load_checkpoint() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.load_checkpoint", false]], "load_checkpoint() (core.common.relaxation.ase_utils.ocpcalculator method)": [[21, "core.common.relaxation.ase_utils.OCPCalculator.load_checkpoint", false]], "load_checkpoint() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_checkpoint", false]], "load_checkpoint() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_checkpoint", false]], "load_config() (in module core.common.utils)": [[29, "core.common.utils.load_config", false]], "load_datasets() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_datasets", false]], "load_datasets() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_datasets", false]], "load_extras() (core.models.equiformer_v2.trainers.energy_trainer.equiformerv2energytrainer method)": [[57, "core.models.equiformer_v2.trainers.energy_trainer.EquiformerV2EnergyTrainer.load_extras", false]], "load_extras() (core.models.equiformer_v2.trainers.forces_trainer.equiformerv2forcestrainer method)": [[58, "core.models.equiformer_v2.trainers.forces_trainer.EquiformerV2ForcesTrainer.load_extras", false]], "load_extras() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_extras", false]], "load_extras() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_extras", false]], "load_logger() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_logger", false]], "load_logger() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_logger", false]], "load_loss() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_loss", false]], "load_loss() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_loss", false]], "load_model() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_model", false]], "load_model() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_model", false]], "load_optimizer() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_optimizer", false]], "load_optimizer() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_optimizer", false]], "load_scales_compat() (in module core.modules.scaling.compat)": [[126, "core.modules.scaling.compat.load_scales_compat", false]], "load_seed_from_config() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_seed_from_config", false]], "load_seed_from_config() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_seed_from_config", false]], "load_state_dict() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.load_state_dict", false]], "load_state_dict() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.load_state_dict", false]], "load_state_dict() (in module core.common.utils)": [[29, "core.common.utils.load_state_dict", false]], "load_task() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_task", false]], "load_task() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_task", false]], "log (in module ocpapi.workflows.log)": [[194, "ocpapi.workflows.log.log", false]], "log() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.log", false]], "log() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.log", false]], "log() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.log", false]], "log_grid_init() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.log_grid_init", false]], "log_plots() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.log_plots", false]], "log_plots() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.log_plots", false]], "log_plots() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.log_plots", false]], "logger (class in core.common.logger)": [[19, "core.common.logger.Logger", false]], "logger (ocpapi.ratelimitlogging attribute)": [[188, "ocpapi.RateLimitLogging.logger", false]], "logger (ocpapi.workflows.ratelimitlogging attribute)": [[193, "ocpapi.workflows.RateLimitLogging.logger", false]], "logger (ocpapi.workflows.retry.ratelimitlogging attribute)": [[195, "ocpapi.workflows.retry.RateLimitLogging.logger", false]], "lowest_energy_data_co2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co2", false]], "lowest_energy_data_co2_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co2_defective", false]], "lowest_energy_data_co_ads (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads", false]], "lowest_energy_data_co_ads_2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads_2", false]], "lowest_energy_data_co_ads_2_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads_2_defective", false]], "lowest_energy_data_co_ads_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads_defective", false]], "lowest_energy_data_h2o (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_h2o", false]], "lowest_energy_data_h2o_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_h2o_defective", false]], "lrscheduler (class in core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler", false]], "lrscheduler (class in core.modules.scheduler)": [[131, "core.modules.scheduler.LRScheduler", false]], "m (core.models.utils.basis.sphericalsmearing attribute)": [[119, "core.models.utils.basis.SphericalSmearing.m", false]], "mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.mae", false]], "magnitude_error() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.magnitude_error", false]], "main() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.main", false]], "main() (in module core._cli)": [[12, "core._cli.main", false]], "main() (in module core.modules.scaling.fit)": [[127, "core.modules.scaling.fit.main", false]], "main() (in module core.scripts.hpo.run_tune)": [[138, "core.scripts.hpo.run_tune.main", false]], "main() (in module core.scripts.hpo.run_tune_pbt)": [[139, "core.scripts.hpo.run_tune_pbt.main", false]], "main() (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.main", false]], "main() (in module core.scripts.make_lmdb_sizes)": [[142, "core.scripts.make_lmdb_sizes.main", false]], "main() (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.main", false]], "main() (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.main", false]], "main() (in module core.scripts.preprocess_relaxed)": [[145, "core.scripts.preprocess_relaxed.main", false]], "main() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.main", false]], "main() (in module data.oc.experimental.merge_traj)": [[163, "data.oc.experimental.merge_traj.main", false]], "main() (in module data.oc.experimental.perturb_systems)": [[164, "data.oc.experimental.perturb_systems.main", false]], "main() (in module data.oc.experimental.rattle_test)": [[165, "data.oc.experimental.rattle_test.main", false]], "main() (in module data.om.biomolecules.geom.sample_geom_drugs)": [[177, "data.om.biomolecules.geom.sample_geom_drugs.main", false]], "main() (in module data.om.biomolecules.geom.write_geom_drugs_structures)": [[178, "data.om.biomolecules.geom.write_geom_drugs_structures.main", false]], "mapping (core.common.registry.registry attribute)": [[20, "core.common.registry.Registry.mapping", false]], "mark_ephemeral (ocpapi.lifetime attribute)": [[188, "ocpapi.Lifetime.MARK_EPHEMERAL", false]], "mark_ephemeral (ocpapi.workflows.adsorbates.lifetime attribute)": [[190, "ocpapi.workflows.adsorbates.Lifetime.MARK_EPHEMERAL", false]], "mark_ephemeral (ocpapi.workflows.lifetime attribute)": [[193, "ocpapi.workflows.Lifetime.MARK_EPHEMERAL", false]], "mark_preempting() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.mark_preempting", false]], "mark_preempting() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.mark_preempting", false]], "mark_preempting() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.mark_preempting", false]], "mask_neighbors() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.mask_neighbors", false]], "mask_neighbors() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.mask_neighbors", false]], "mask_neighbors() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.mask_neighbors", false]], "masked_select_sparsetensor_flat() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.masked_select_sparsetensor_flat", false]], "max_miller (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.MAX_MILLER", false]], "max_neigh (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.max_neigh", false]], "max_neigh (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.max_neigh", false]], "merge_dicts() (in module core.common.utils)": [[29, "core.common.utils.merge_dicts", false]], "message() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.message", false]], "messageblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.MessageBlock", false]], "messageblock (class in core.models.scn.scn)": [[115, "core.models.scn.scn.MessageBlock", false]], "metadata (core.datasets.lmdb_database.lmdbdatabase property)": [[38, "core.datasets.lmdb_database.LMDBDatabase.metadata", false]], "metadata (core.datasets.lmdbdatabase property)": [[37, "core.datasets.LMDBDatabase.metadata", false]], "metadata (ocpapi.client.models.slab attribute)": [[186, "ocpapi.client.models.Slab.metadata", false]], "metadata (ocpapi.client.slab attribute)": [[185, "ocpapi.client.Slab.metadata", false]], "metadata (ocpapi.slab attribute)": [[188, "ocpapi.Slab.metadata", false]], "metadata_path (core.common.data_parallel._hasmetadata property)": [[13, "core.common.data_parallel._HasMetadata.metadata_path", false]], "metadata_path (core.datasets.lmdb_dataset.lmdbdataset attribute)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.metadata_path", false]], "metadata_path (core.datasets.lmdbdataset attribute)": [[37, "core.datasets.LmdbDataset.metadata_path", false]], "millers (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.millers", false]], "millers (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.millers", false]], "millers (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.millers", false]], "min_diff() (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.min_diff", false]], "min_diff() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.min_diff", false]], "missing_ddec (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.missing_DDEC", false]], "missing_ddec_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.missing_DDEC_defective", false]], "missing_ddec_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.missing_DDEC_pristine", false]], "ml_relax() (in module core.common.relaxation.ml_relaxation)": [[23, "core.common.relaxation.ml_relaxation.ml_relax", false]], "model (class in ocpapi)": [[188, "ocpapi.Model", false]], "model (class in ocpapi.client)": [[185, "ocpapi.client.Model", false]], "model (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Model", false]], "model (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.model", false]], "model (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.model", false]], "model (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.model", false]], "model (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.model", false]], "model (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.model", false]], "model (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.model", false]], "model_name_to_local_file() (in module core.models)": [[107, "core.models.model_name_to_local_file", false]], "model_name_to_local_file() (in module core.models.model_registry)": [[108, "core.models.model_registry.model_name_to_local_file", false]], "model_registry (in module core.models.model_registry)": [[108, "core.models.model_registry.MODEL_REGISTRY", false]], "models (class in ocpapi)": [[188, "ocpapi.Models", false]], "models (class in ocpapi.client)": [[185, "ocpapi.client.Models", false]], "models (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Models", false]], "models (ocpapi.client.models attribute)": [[185, "ocpapi.client.Models.models", false]], "models (ocpapi.client.models.models attribute)": [[186, "ocpapi.client.models.Models.models", false]], "models (ocpapi.models attribute)": [[188, "ocpapi.Models.models", false]], "module": [[0, "module-adsorbml.2023_neurips_challenge.challenge_eval", false], [1, "module-adsorbml.scripts.dense_eval", false], [2, "module-adsorbml.scripts.process_mlrs", false], [3, "module-adsorbml.scripts.utils", false], [4, "module-adsorbml.scripts.write_top_k_vasp", false], [5, "module-cattsunami.core.autoframe", false], [6, "module-cattsunami.core", false], [7, "module-cattsunami.core.ocpneb", false], [8, "module-cattsunami.core.reaction", false], [9, "module-cattsunami.databases", false], [10, "module-cattsunami", false], [11, "module-cattsunami.run_validation.run_validation", false], [12, "module-core._cli", false], [13, "module-core.common.data_parallel", false], [14, "module-core.common.distutils", false], [15, "module-core.common.flags", false], [16, "module-core.common.gp_utils", false], [17, "module-core.common.hpo_utils", false], [18, "module-core.common", false], [19, "module-core.common.logger", false], [20, "module-core.common.registry", false], [21, "module-core.common.relaxation.ase_utils", false], [22, "module-core.common.relaxation", false], [23, "module-core.common.relaxation.ml_relaxation", false], [24, "module-core.common.relaxation.optimizers", false], [25, "module-core.common.relaxation.optimizers.lbfgs_torch", false], [26, "module-core.common.transforms", false], [27, "module-core.common.tutorial_utils", false], [28, "module-core.common.typing", false], [29, "module-core.common.utils", false], [30, "module-core.datasets._utils", false], [31, "module-core.datasets.ase_datasets", false], [32, "module-core.datasets.embeddings.atomic_radii", false], [33, "module-core.datasets.embeddings.continuous_embeddings", false], [34, "module-core.datasets.embeddings", false], [35, "module-core.datasets.embeddings.khot_embeddings", false], [36, "module-core.datasets.embeddings.qmof_khot_embeddings", false], [37, "module-core.datasets", false], [38, "module-core.datasets.lmdb_database", false], [39, "module-core.datasets.lmdb_dataset", false], [40, "module-core.datasets.oc22_lmdb_dataset", false], [41, "module-core.datasets.target_metadata_guesser", false], [42, "module-core", false], [43, "module-core.models.base", false], [44, "module-core.models.dimenet_plus_plus", false], [45, "module-core.models.equiformer_v2.activation", false], [46, "module-core.models.equiformer_v2.drop", false], [47, "module-core.models.equiformer_v2.edge_rot_mat", false], [48, "module-core.models.equiformer_v2.equiformer_v2_oc20", false], [49, "module-core.models.equiformer_v2.gaussian_rbf", false], [50, "module-core.models.equiformer_v2", false], [51, "module-core.models.equiformer_v2.input_block", false], [52, "module-core.models.equiformer_v2.layer_norm", false], [53, "module-core.models.equiformer_v2.module_list", false], [54, "module-core.models.equiformer_v2.radial_function", false], [55, "module-core.models.equiformer_v2.so2_ops", false], [56, "module-core.models.equiformer_v2.so3", false], [57, "module-core.models.equiformer_v2.trainers.energy_trainer", false], [58, "module-core.models.equiformer_v2.trainers.forces_trainer", false], [59, "module-core.models.equiformer_v2.trainers", false], [60, "module-core.models.equiformer_v2.trainers.lr_scheduler", false], [61, "module-core.models.equiformer_v2.transformer_block", false], [62, "module-core.models.equiformer_v2.wigner", false], [63, "module-core.models.escn.escn", false], [64, "module-core.models.escn", false], [65, "module-core.models.escn.so3", false], [66, "module-core.models.gemnet.gemnet", false], [67, "module-core.models.gemnet", false], [68, "module-core.models.gemnet.initializers", false], [69, "module-core.models.gemnet.layers.atom_update_block", false], [70, "module-core.models.gemnet.layers.base_layers", false], [71, "module-core.models.gemnet.layers.basis_utils", false], [72, "module-core.models.gemnet.layers.efficient", false], [73, "module-core.models.gemnet.layers.embedding_block", false], [74, "module-core.models.gemnet.layers", false], [75, "module-core.models.gemnet.layers.interaction_block", false], [76, "module-core.models.gemnet.layers.radial_basis", false], [77, "module-core.models.gemnet.layers.spherical_basis", false], [78, "module-core.models.gemnet.utils", false], [79, "module-core.models.gemnet_gp.gemnet", false], [80, "module-core.models.gemnet_gp", false], [81, "module-core.models.gemnet_gp.initializers", false], [82, "module-core.models.gemnet_gp.layers.atom_update_block", false], [83, "module-core.models.gemnet_gp.layers.base_layers", false], [84, "module-core.models.gemnet_gp.layers.basis_utils", false], [85, "module-core.models.gemnet_gp.layers.efficient", false], [86, "module-core.models.gemnet_gp.layers.embedding_block", false], [87, "module-core.models.gemnet_gp.layers", false], [88, "module-core.models.gemnet_gp.layers.interaction_block", false], [89, "module-core.models.gemnet_gp.layers.radial_basis", false], [90, "module-core.models.gemnet_gp.layers.spherical_basis", false], [91, "module-core.models.gemnet_gp.utils", false], [92, "module-core.models.gemnet_oc.gemnet_oc", false], [93, "module-core.models.gemnet_oc", false], [94, "module-core.models.gemnet_oc.initializers", false], [95, "module-core.models.gemnet_oc.interaction_indices", false], [96, "module-core.models.gemnet_oc.layers.atom_update_block", false], [97, "module-core.models.gemnet_oc.layers.base_layers", false], [98, "module-core.models.gemnet_oc.layers.basis_utils", false], [99, "module-core.models.gemnet_oc.layers.efficient", false], [100, "module-core.models.gemnet_oc.layers.embedding_block", false], [101, "module-core.models.gemnet_oc.layers.force_scaler", false], [102, "module-core.models.gemnet_oc.layers", false], [103, "module-core.models.gemnet_oc.layers.interaction_block", false], [104, "module-core.models.gemnet_oc.layers.radial_basis", false], [105, "module-core.models.gemnet_oc.layers.spherical_basis", false], [106, "module-core.models.gemnet_oc.utils", false], [107, "module-core.models", false], [108, "module-core.models.model_registry", false], [109, "module-core.models.painn", false], [110, "module-core.models.painn.painn", false], [111, "module-core.models.painn.utils", false], [112, "module-core.models.schnet", false], [113, "module-core.models.scn", false], [114, "module-core.models.scn.sampling", false], [115, "module-core.models.scn.scn", false], [116, "module-core.models.scn.smearing", false], [117, "module-core.models.scn.spherical_harmonics", false], [118, "module-core.models.utils.activations", false], [119, "module-core.models.utils.basis", false], [120, "module-core.models.utils", false], [121, "module-core.modules.evaluator", false], [122, "module-core.modules.exponential_moving_average", false], [123, "module-core.modules", false], [124, "module-core.modules.loss", false], [125, "module-core.modules.normalizer", false], [126, "module-core.modules.scaling.compat", false], [127, "module-core.modules.scaling.fit", false], [128, "module-core.modules.scaling", false], [129, "module-core.modules.scaling.scale_factor", false], [130, "module-core.modules.scaling.util", false], [131, "module-core.modules.scheduler", false], [132, "module-core.modules.transforms", false], [133, "module-core.preprocessing.atoms_to_graphs", false], [134, "module-core.preprocessing", false], [135, "module-core.scripts.download_data", false], [136, "module-core.scripts.gif_maker_parallelized", false], [137, "module-core.scripts.hpo", false], [138, "module-core.scripts.hpo.run_tune", false], [139, "module-core.scripts.hpo.run_tune_pbt", false], [140, "module-core.scripts", false], [141, "module-core.scripts.make_challenge_submission_file", false], [142, "module-core.scripts.make_lmdb_sizes", false], [143, "module-core.scripts.make_submission_file", false], [144, "module-core.scripts.preprocess_ef", false], [145, "module-core.scripts.preprocess_relaxed", false], [146, "module-core.scripts.uncompress", false], [147, "module-core.tasks", false], [148, "module-core.tasks.task", false], [149, "module-core.trainers.base_trainer", false], [150, "module-core.trainers", false], [151, "module-core.trainers.ocp_trainer", false], [152, "module-data", false], [153, "module-data.oc.core.adsorbate", false], [154, "module-data.oc.core.adsorbate_slab_config", false], [155, "module-data.oc.core.bulk", false], [156, "module-data.oc.core", false], [157, "module-data.oc.core.multi_adsorbate_slab_config", false], [158, "module-data.oc.core.slab", false], [159, "module-data.oc.databases", false], [160, "module-data.oc.databases.pkls", false], [161, "module-data.oc.databases.update", false], [162, "module-data.oc.experimental.get_energies", false], [163, "module-data.oc.experimental.merge_traj", false], [164, "module-data.oc.experimental.perturb_systems", false], [165, "module-data.oc.experimental.rattle_test", false], [166, "module-data.oc.experimental.utils", false], [167, "module-data.oc", false], [168, "module-data.oc.scripts.precompute_sample_structures", false], [169, "module-data.oc.structure_generator", false], [170, "module-data.oc.tests", false], [171, "module-data.oc.utils.flag_anomaly", false], [172, "module-data.oc.utils", false], [173, "module-data.oc.utils.vasp", false], [174, "module-data.odac.force_field.FF_analysis", false], [175, "module-data.odac", false], [176, "module-data.odac.promising_mof.promising_mof_energies.energy", false], [177, "module-data.om.biomolecules.geom.sample_geom_drugs", false], [178, "module-data.om.biomolecules.geom.write_geom_drugs_structures", false], [179, "module-data.om", false], [180, "module-data.om.omdata.orca.calc", false], [181, "module-data.om.omdata.orca", false], [182, "module-data.om.omdata.orca.recipes", false], [184, "module-ocpapi.client.client", false], [185, "module-ocpapi.client", false], [186, "module-ocpapi.client.models", false], [187, "module-ocpapi.client.ui", false], [188, "module-ocpapi", false], [189, "module-ocpapi.version", false], [190, "module-ocpapi.workflows.adsorbates", false], [191, "module-ocpapi.workflows.context", false], [192, "module-ocpapi.workflows.filter", false], [193, "module-ocpapi.workflows", false], [194, "module-ocpapi.workflows.log", false], [195, "module-ocpapi.workflows.retry", false]], "modulelistinfo (class in core.models.equiformer_v2.module_list)": [[53, "core.models.equiformer_v2.module_list.ModuleListInfo", false]], "mof_name (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.mof_name", false]], "mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.mse", false]], "multipleadsorbateslabconfig (class in data.oc.core)": [[156, "data.oc.core.MultipleAdsorbateSlabConfig", false]], "multipleadsorbateslabconfig (class in data.oc.core.multi_adsorbate_slab_config)": [[157, "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig", false]], "multiply() (in module core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.multiply", false]], "multistep_lr_lambda() (in module core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.multistep_lr_lambda", false]], "multisteplrlambda (class in core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.MultistepLRLambda", false]], "n (core.models.utils.basis.sphericalsmearing attribute)": [[119, "core.models.utils.basis.SphericalSmearing.n", false]], "n_samples (core.modules.scaling.scale_factor._stats attribute)": [[129, "core.modules.scaling.scale_factor._Stats.n_samples", false]], "name (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.name", false]], "name (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.name", false]], "nesteddict (in module core.common.registry)": [[20, "core.common.registry.NestedDict", false]], "new_trainer_context() (in module core.common.utils)": [[29, "core.common.utils.new_trainer_context", false]], "no_limit (in module ocpapi)": [[188, "ocpapi.NO_LIMIT", false]], "no_limit (in module ocpapi.workflows)": [[193, "ocpapi.workflows.NO_LIMIT", false]], "no_limit (in module ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.NO_LIMIT", false]], "no_weight_decay() (core.models.base.basemodel method)": [[43, "core.models.base.BaseModel.no_weight_decay", false]], "no_weight_decay() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20.no_weight_decay", false]], "no_weight_decay() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2.no_weight_decay", false]], "nolimittype (in module ocpapi)": [[188, "ocpapi.NoLimitType", false]], "nolimittype (in module ocpapi.workflows)": [[193, "ocpapi.workflows.NoLimitType", false]], "nolimittype (in module ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.NoLimitType", false]], "none (in module core.modules.evaluator)": [[121, "core.modules.evaluator.NONE", false]], "none_throws() (in module core.common.typing)": [[28, "core.common.typing.none_throws", false]], "nonretryablerequestexception": [[184, "ocpapi.client.client.NonRetryableRequestException", false], [185, "ocpapi.client.NonRetryableRequestException", false], [188, "ocpapi.NonRetryableRequestException", false]], "norm() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.norm", false]], "normalizer (class in core.modules.normalizer)": [[125, "core.modules.normalizer.Normalizer", false]], "not_available (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.NOT_AVAILABLE", false]], "not_available (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.NOT_AVAILABLE", false]], "not_available (ocpapi.status attribute)": [[188, "ocpapi.Status.NOT_AVAILABLE", false]], "num_params (core.models.base.basemodel property)": [[43, "core.models.base.BaseModel.num_params", false]], "num_params (core.models.dimenet_plus_plus.dimenetpluspluswrap property)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap.num_params", false]], "num_params (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 property)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20.num_params", false]], "num_params (core.models.equiformer_v2.equiformerv2 property)": [[50, "core.models.equiformer_v2.EquiformerV2.num_params", false]], "num_params (core.models.escn.escn property)": [[64, "core.models.escn.eSCN.num_params", false]], "num_params (core.models.escn.escn.escn property)": [[63, "core.models.escn.escn.eSCN.num_params", false]], "num_params (core.models.gemnet.gemnet.gemnett property)": [[66, "core.models.gemnet.gemnet.GemNetT.num_params", false]], "num_params (core.models.gemnet.gemnett property)": [[67, "core.models.gemnet.GemNetT.num_params", false]], "num_params (core.models.gemnet_gp.gemnet.graphparallelgemnett property)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.num_params", false]], "num_params (core.models.gemnet_gp.graphparallelgemnett property)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.num_params", false]], "num_params (core.models.gemnet_oc.gemnet_oc.gemnetoc property)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.num_params", false]], "num_params (core.models.gemnet_oc.gemnetoc property)": [[93, "core.models.gemnet_oc.GemNetOC.num_params", false]], "num_params (core.models.painn.painn property)": [[109, "core.models.painn.PaiNN.num_params", false]], "num_params (core.models.painn.painn.painn property)": [[110, "core.models.painn.painn.PaiNN.num_params", false]], "num_params (core.models.schnet.schnetwrap property)": [[112, "core.models.schnet.SchNetWrap.num_params", false]], "num_params (core.models.scn.scn.sphericalchannelnetwork property)": [[115, "core.models.scn.scn.SphericalChannelNetwork.num_params", false]], "num_params (core.models.scn.sphericalchannelnetwork property)": [[113, "core.models.scn.SphericalChannelNetwork.num_params", false]], "numbers (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.numbers", false]], "numbers (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.numbers", false]], "numbers (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.numbers", false]], "numbers (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.numbers", false]], "numbers (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.numbers", false]], "numbers (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.numbers", false]], "oc22lmdbdataset (class in core.datasets)": [[37, "core.datasets.OC22LmdbDataset", false]], "oc22lmdbdataset (class in core.datasets.oc22_lmdb_dataset)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset", false]], "ocp_trainable() (in module core.scripts.hpo.run_tune)": [[138, "core.scripts.hpo.run_tune.ocp_trainable", false]], "ocp_trainable() (in module core.scripts.hpo.run_tune_pbt)": [[139, "core.scripts.hpo.run_tune_pbt.ocp_trainable", false]], "ocpapi": [[188, "module-ocpapi", false]], "ocpapi.client": [[185, "module-ocpapi.client", false]], "ocpapi.client.client": [[184, "module-ocpapi.client.client", false]], "ocpapi.client.models": [[186, "module-ocpapi.client.models", false]], "ocpapi.client.ui": [[187, "module-ocpapi.client.ui", false]], "ocpapi.version": [[189, "module-ocpapi.version", false]], "ocpapi.workflows": [[193, "module-ocpapi.workflows", false]], "ocpapi.workflows.adsorbates": [[190, "module-ocpapi.workflows.adsorbates", false]], "ocpapi.workflows.context": [[191, "module-ocpapi.workflows.context", false]], "ocpapi.workflows.filter": [[192, "module-ocpapi.workflows.filter", false]], "ocpapi.workflows.log": [[194, "module-ocpapi.workflows.log", false]], "ocpapi.workflows.retry": [[195, "module-ocpapi.workflows.retry", false]], "ocpcalculator (class in core.common.relaxation.ase_utils)": [[21, "core.common.relaxation.ase_utils.OCPCalculator", false]], "ocpcollater (class in core.common.data_parallel)": [[13, "core.common.data_parallel.OCPCollater", false]], "ocpneb (class in cattsunami.core)": [[6, "cattsunami.core.OCPNEB", false]], "ocpneb (class in cattsunami.core.ocpneb)": [[7, "cattsunami.core.ocpneb.OCPNEB", false]], "ocptrainer (class in core.trainers)": [[150, "core.trainers.OCPTrainer", false]], "ocptrainer (class in core.trainers.ocp_trainer)": [[151, "core.trainers.ocp_trainer.OCPTrainer", false]], "omitted_config_ids (ocpapi.adsorbateslabrelaxationsresults attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsResults.omitted_config_ids", false]], "omitted_config_ids (ocpapi.client.adsorbateslabrelaxationsresults attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsResults.omitted_config_ids", false]], "omitted_config_ids (ocpapi.client.models.adsorbateslabrelaxationsresults attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsResults.omitted_config_ids", false]], "only_keep_unique_systems() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.only_keep_unique_systems", false]], "opt_parameters (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.OPT_PARAMETERS", false]], "orca_ase_simple_input (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_ASE_SIMPLE_INPUT", false]], "orca_basis (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_BASIS", false]], "orca_blocks (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_BLOCKS", false]], "orca_functional (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_FUNCTIONAL", false]], "orca_simple_input (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_SIMPLE_INPUT", false]], "os_environ_get_or_throw() (in module core.common.distutils)": [[14, "core.common.distutils.os_environ_get_or_throw", false]], "other_fields (ocpapi.client.models._datamodel attribute)": [[186, "ocpapi.client.models._DataModel.other_fields", false]], "out_energy (core.models.gemnet_gp.layers.atom_update_block.outputblock attribute)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.out_energy", false]], "out_forces (core.models.gemnet_gp.layers.atom_update_block.outputblock attribute)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.out_forces", false]], "outputblock (class in core.models.gemnet.layers.atom_update_block)": [[69, "core.models.gemnet.layers.atom_update_block.OutputBlock", false]], "outputblock (class in core.models.gemnet_gp.layers.atom_update_block)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock", false]], "outputblock (class in core.models.gemnet_oc.layers.atom_update_block)": [[96, "core.models.gemnet_oc.layers.atom_update_block.OutputBlock", false]], "outputppblock (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.OutputPPBlock", false]], "pad_tensor() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.pad_tensor", false]], "painn (class in core.models.painn)": [[109, "core.models.painn.PaiNN", false]], "painn (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNN", false]], "painnmessage (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNNMessage", false]], "painnoutput (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNNOutput", false]], "painnupdate (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNNUpdate", false]], "pairinteraction (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.PairInteraction", false]], "parallelize_generation() (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.parallelize_generation", false]], "parse_args() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.parse_args", false]], "parse_args() (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.parse_args", false]], "parse_args() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.parse_args", false]], "parse_args() (in module data.om.biomolecules.geom.sample_geom_drugs)": [[177, "data.om.biomolecules.geom.sample_geom_drugs.parse_args", false]], "parse_args() (in module data.om.biomolecules.geom.write_geom_drugs_structures)": [[178, "data.om.biomolecules.geom.write_geom_drugs_structures.parse_args", false]], "parse_neb_info() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.parse_neb_info", false]], "parse_value() (in module core.common.utils)": [[29, "core.common.utils.parse_value", false]], "parser (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.parser", false]], "parser (in module adsorbml.scripts.write_top_k_vasp)": [[4, "adsorbml.scripts.write_top_k_vasp.parser", false]], "parser (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.parser", false]], "parser (in module core.scripts.download_data)": [[135, "core.scripts.download_data.parser", false]], "parser (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.parser", false]], "parser (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.parser", false]], "parser (in module core.scripts.make_lmdb_sizes)": [[142, "core.scripts.make_lmdb_sizes.parser", false]], "parser (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.parser", false]], "parser (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.parser", false]], "parser (in module core.scripts.preprocess_relaxed)": [[145, "core.scripts.preprocess_relaxed.parser", false]], "parser (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.parser", false]], "pbc (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.pbc", false]], "pbc (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.pbc", false]], "pbc (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.pbc", false]], "pbc (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.pbc", false]], "pbc (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.pbc", false]], "pbc (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.pbc", false]], "pbc_patch() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.pbc_patch", false]], "phys_err() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.phys_err", false]], "place_adsorbate_on_site() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.place_adsorbate_on_site", false]], "place_adsorbate_on_site() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.place_adsorbate_on_site", false]], "place_adsorbate_on_sites() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.place_adsorbate_on_sites", false]], "place_adsorbate_on_sites() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.place_adsorbate_on_sites", false]], "place_adsorbates_on_sites() (data.oc.core.multi_adsorbate_slab_config.multipleadsorbateslabconfig method)": [[157, "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig.place_adsorbates_on_sites", false]], "place_adsorbates_on_sites() (data.oc.core.multipleadsorbateslabconfig method)": [[156, "data.oc.core.MultipleAdsorbateSlabConfig.place_adsorbates_on_sites", false]], "plot_histogram() (in module core.common.utils)": [[29, "core.common.utils.plot_histogram", false]], "plot_traj() (in module data.oc.experimental.utils)": [[166, "data.oc.experimental.utils.plot_traj", false]], "polynomialenvelope (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.PolynomialEnvelope", false]], "polynomialenvelope (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.PolynomialEnvelope", false]], "polynomialenvelope (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.PolynomialEnvelope", false]], "positions (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.positions", false]], "positions (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.positions", false]], "positions (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.positions", false]], "positions (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.positions", false]], "positions (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.positions", false]], "positions (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.positions", false]], "pov_from_atoms() (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.pov_from_atoms", false]], "precompute_enumerate_surface() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.precompute_enumerate_surface", false]], "precompute_slabs() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.precompute_slabs", false]], "predict() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer.predict", false]], "predict() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer.predict", false]], "predicttask (class in core.tasks)": [[147, "core.tasks.PredictTask", false]], "predicttask (class in core.tasks.task)": [[148, "core.tasks.task.PredictTask", false]], "preprocess_data() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.preprocess_data", false]], "print_cuda_usage() (in module core.common.utils)": [[29, "core.common.utils.print_cuda_usage", false]], "process_func() (in module data.oc.experimental.get_energies)": [[162, "data.oc.experimental.get_energies.process_func", false]], "process_ml_data() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.process_ml_data", false]], "process_mlrs() (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.process_mlrs", false]], "promising_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.promising_defective", false]], "promising_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.promising_pristine", false]], "prompt_for_slabs_to_keep (class in ocpapi)": [[188, "ocpapi.prompt_for_slabs_to_keep", false]], "prompt_for_slabs_to_keep (class in ocpapi.workflows)": [[193, "ocpapi.workflows.prompt_for_slabs_to_keep", false]], "prompt_for_slabs_to_keep (class in ocpapi.workflows.filter)": [[192, "ocpapi.workflows.filter.prompt_for_slabs_to_keep", false]], "pyg2_data_transform() (in module core.common.utils)": [[29, "core.common.utils.pyg2_data_transform", false]], "qmof_khot_embeddings (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.QMOF_KHOT_EMBEDDINGS", false]], "qmof_khot_embeddings (in module core.datasets.embeddings.qmof_khot_embeddings)": [[36, "core.datasets.embeddings.qmof_khot_embeddings.QMOF_KHOT_EMBEDDINGS", false]], "quadrupletinteraction (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.QuadrupletInteraction", false]], "r (in module core.common.registry)": [[20, "core.common.registry.R", false]], "r_data_keys (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_data_keys", false]], "r_data_keys (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_data_keys", false]], "r_distances (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_distances", false]], "r_distances (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_distances", false]], "r_edges (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_edges", false]], "r_edges (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_edges", false]], "r_energy (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_energy", false]], "r_energy (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_energy", false]], "r_fixed (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_fixed", false]], "r_fixed (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_fixed", false]], "r_forces (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_forces", false]], "r_forces (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_forces", false]], "r_pbc (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_pbc", false]], "r_pbc (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_pbc", false]], "r_stress (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_stress", false]], "r_stress (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_stress", false]], "radialbasis (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.RadialBasis", false]], "radialbasis (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.RadialBasis", false]], "radialbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.RadialBasis", false]], "radialfunction (class in core.models.equiformer_v2.radial_function)": [[54, "core.models.equiformer_v2.radial_function.RadialFunction", false]], "radius (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.radius", false]], "radius (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.radius", false]], "radius_graph_pbc() (in module core.common.utils)": [[29, "core.common.utils.radius_graph_pbc", false]], "ragged_range() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.ragged_range", false]], "ragged_range() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.ragged_range", false]], "ragged_range() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.ragged_range", false]], "randomly_rotate_adsorbate() (in module data.oc.core.adsorbate)": [[153, "data.oc.core.adsorbate.randomly_rotate_adsorbate", false]], "randomrotate (class in core.common.transforms)": [[26, "core.common.transforms.RandomRotate", false]], "ratelimitexceededexception": [[184, "ocpapi.client.client.RateLimitExceededException", false], [185, "ocpapi.client.RateLimitExceededException", false], [188, "ocpapi.RateLimitExceededException", false]], "ratelimitlogging (class in ocpapi)": [[188, "ocpapi.RateLimitLogging", false]], "ratelimitlogging (class in ocpapi.workflows)": [[193, "ocpapi.workflows.RateLimitLogging", false]], "ratelimitlogging (class in ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.RateLimitLogging", false]], "raw_ads_energy_data (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.raw_ads_energy_data", false]], "reaction (class in cattsunami.core)": [[6, "cattsunami.core.Reaction", false]], "reaction (class in cattsunami.core.reaction)": [[8, "cattsunami.core.reaction.Reaction", false]], "read_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.read_json", false]], "read_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.read_json", false]], "read_lzma() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.read_lzma", false]], "read_value_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.read_value_json", false]], "read_value_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.read_value_json", false]], "real_sph_harm() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.real_sph_harm", false]], "real_sph_harm() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.real_sph_harm", false]], "real_sph_harm() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.real_sph_harm", false]], "reduce_from_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.reduce_from_model_parallel_region", false]], "reducefrommodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.ReduceFromModelParallelRegion", false]], "register() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register", false]], "register_dataset() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_dataset", false]], "register_logger() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_logger", false]], "register_model() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_model", false]], "register_task() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_task", false]], "register_trainer() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_trainer", false]], "registry (class in core.common.registry)": [[20, "core.common.registry.Registry", false]], "registry (in module core.common.registry)": [[20, "core.common.registry.registry", false]], "relaxationtask (class in core.tasks)": [[147, "core.tasks.RelaxationTask", false]], "relaxationtask (class in core.tasks.task)": [[148, "core.tasks.task.RelaxationTask", false]], "rename_data_object_keys() (in module core.datasets._utils)": [[30, "core.datasets._utils.rename_data_object_keys", false]], "reorder_adsorbate() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.reorder_adsorbate", false]], "reorder_edge_list() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.reorder_edge_list", false]], "reorder_symmetric_edges() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.reorder_symmetric_edges", false]], "reorder_symmetric_edges() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.reorder_symmetric_edges", false]], "reorder_symmetric_edges() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.reorder_symmetric_edges", false]], "reorder_symmetric_edges() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.reorder_symmetric_edges", false]], "repeat_blocks() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.repeat_blocks", false]], "repeat_blocks() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.repeat_blocks", false]], "repeat_blocks() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.repeat_blocks", false]], "repeat_blocks() (in module core.models.painn.utils)": [[111, "core.models.painn.utils.repeat_blocks", false]], "requestexception": [[184, "ocpapi.client.client.RequestException", false], [185, "ocpapi.client.RequestException", false], [188, "ocpapi.RequestException", false]], "reserved_keys (in module core.datasets.lmdb_database)": [[38, "core.datasets.lmdb_database.RESERVED_KEYS", false]], "reset_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.reset_", false]], "reset_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.reset_", false]], "reset_parameters() (core.models.dimenet_plus_plus.dimenetplusplus method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.reset_parameters", false]], "reset_parameters() (core.models.dimenet_plus_plus.interactionppblock method)": [[44, "core.models.dimenet_plus_plus.InteractionPPBlock.reset_parameters", false]], "reset_parameters() (core.models.dimenet_plus_plus.outputppblock method)": [[44, "core.models.dimenet_plus_plus.OutputPPBlock.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.atom_update_block.outputblock method)": [[69, "core.models.gemnet.layers.atom_update_block.OutputBlock.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.base_layers.dense method)": [[70, "core.models.gemnet.layers.base_layers.Dense.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.efficient.efficientinteractionbilinear method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionBilinear.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.efficient.efficientinteractiondownprojection method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.atom_update_block.outputblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.base_layers.dense method)": [[83, "core.models.gemnet_gp.layers.base_layers.Dense.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.efficient.efficientinteractionbilinear method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.efficient.efficientinteractiondownprojection method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection.reset_parameters", false]], "reset_parameters() (core.models.gemnet_oc.layers.base_layers.dense method)": [[97, "core.models.gemnet_oc.layers.base_layers.Dense.reset_parameters", false]], "reset_parameters() (core.models.gemnet_oc.layers.efficient.basisembedding method)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding.reset_parameters", false]], "reset_parameters() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.gatedequivariantblock method)": [[110, "core.models.painn.painn.GatedEquivariantBlock.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painnoutput method)": [[110, "core.models.painn.painn.PaiNNOutput.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painnupdate method)": [[110, "core.models.painn.painn.PaiNNUpdate.reset_parameters", false]], "residuallayer (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.ResidualLayer", false]], "residuallayer (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.ResidualLayer", false]], "residuallayer (class in core.models.gemnet_oc.layers.base_layers)": [[97, "core.models.gemnet_oc.layers.base_layers.ResidualLayer", false]], "restart_bug_check() (in module data.oc.experimental.utils)": [[166, "data.oc.experimental.utils.restart_bug_check", false]], "restore() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.restore", false]], "retry_after (ocpapi.client.client.ratelimitexceededexception attribute)": [[184, "ocpapi.client.client.RateLimitExceededException.retry_after", false]], "retry_after (ocpapi.client.ratelimitexceededexception attribute)": [[185, "ocpapi.client.RateLimitExceededException.retry_after", false]], "retry_after (ocpapi.ratelimitexceededexception attribute)": [[188, "ocpapi.RateLimitExceededException.retry_after", false]], "retry_api_calls() (in module ocpapi)": [[188, "ocpapi.retry_api_calls", false]], "retry_api_calls() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.retry_api_calls", false]], "retry_api_calls() (in module ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.retry_api_calls", false]], "rotate() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.rotate", false]], "rotate() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.rotate", false]], "rotate() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.Rotate", false]], "rotate_inv() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.rotate_inv", false]], "rotate_inv() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.rotate_inv", false]], "rotateinv() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotateInv", false]], "rotatewigner() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotateWigner", false]], "rotationmatrix() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotationMatrix", false]], "rotationtowignerdmatrix() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.RotationToWignerDMatrix", false]], "rotationtowignerdmatrix() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.RotationToWignerDMatrix", false]], "rotationtowignerdmatrix() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotationToWignerDMatrix", false]], "run() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.run", false]], "run() (core.tasks.predicttask method)": [[147, "core.tasks.PredictTask.run", false]], "run() (core.tasks.relaxationtask method)": [[147, "core.tasks.RelaxationTask.run", false]], "run() (core.tasks.task.basetask method)": [[148, "core.tasks.task.BaseTask.run", false]], "run() (core.tasks.task.predicttask method)": [[148, "core.tasks.task.PredictTask.run", false]], "run() (core.tasks.task.relaxationtask method)": [[148, "core.tasks.task.RelaxationTask.run", false]], "run() (core.tasks.task.traintask method)": [[148, "core.tasks.task.TrainTask.run", false]], "run() (core.tasks.task.validatetask method)": [[148, "core.tasks.task.ValidateTask.run", false]], "run() (core.tasks.traintask method)": [[147, "core.tasks.TrainTask.run", false]], "run() (core.tasks.validatetask method)": [[147, "core.tasks.ValidateTask.run", false]], "run() (data.oc.structure_generator.structuregenerator method)": [[169, "data.oc.structure_generator.StructureGenerator.run", false]], "run_placements() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.run_placements", false]], "run_relaxations() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer.run_relaxations", false]], "run_relaxations() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer.run_relaxations", false]], "runner (class in core._cli)": [[12, "core._cli.Runner", false]], "s (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.s", false]], "s2activation (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.S2Activation", false]], "s2ef_counts (in module core.scripts.download_data)": [[135, "core.scripts.download_data.S2EF_COUNTS", false]], "save (ocpapi.lifetime attribute)": [[188, "ocpapi.Lifetime.SAVE", false]], "save (ocpapi.workflows.adsorbates.lifetime attribute)": [[190, "ocpapi.workflows.adsorbates.Lifetime.SAVE", false]], "save (ocpapi.workflows.lifetime attribute)": [[193, "ocpapi.workflows.Lifetime.SAVE", false]], "save() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.save", false]], "save() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.save", false]], "save_checkpoint() (in module core.common.utils)": [[29, "core.common.utils.save_checkpoint", false]], "save_experiment_log() (in module core.common.utils)": [[29, "core.common.utils.save_experiment_log", false]], "save_results() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.save_results", false]], "save_results() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.save_results", false]], "scale() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.scale", false]], "scale_factor (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.scale_factor", false]], "scale_factor (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.scale_factor", false]], "scaledict (in module core.modules.scaling.compat)": [[126, "core.modules.scaling.compat.ScaleDict", false]], "scaledsigmoid (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSigmoid", false]], "scaledsilu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSiLU", false]], "scaledsilu (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.ScaledSiLU", false]], "scaledsilu (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.ScaledSiLU", false]], "scaledsilu (class in core.models.gemnet_oc.layers.base_layers)": [[97, "core.models.gemnet_oc.layers.base_layers.ScaledSiLU", false]], "scaledsmoothleakyrelu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU", false]], "scaledswiglu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSwiGLU", false]], "scalefactor (class in core.modules.scaling)": [[128, "core.modules.scaling.ScaleFactor", false]], "scalefactor (class in core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor.ScaleFactor", false]], "scatter_det() (in module core.common.utils)": [[29, "core.common.utils.scatter_det", false]], "scatter_sum() (in module core.models.gemnet_gp.layers.atom_update_block)": [[82, "core.models.gemnet_gp.layers.atom_update_block.scatter_sum", false]], "scatter_to_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.scatter_to_model_parallel_region", false]], "scattertomodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.ScatterToModelParallelRegion", false]], "schnetwrap (class in core.models.schnet)": [[112, "core.models.schnet.SchNetWrap", false]], "select_edges() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.select_edges", false]], "select_edges() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.select_edges", false]], "select_edges() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.select_edges", false]], "select_edges() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.select_edges", false]], "select_symmetric_edges() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.select_symmetric_edges", false]], "separables2activation (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.SeparableS2Activation", false]], "set_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.set_", false]], "set_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.set_", false]], "set_bulk_id_from_db() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.set_bulk_id_from_db", false]], "set_bulk_id_from_db() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.set_bulk_id_from_db", false]], "set_context_var() (in module ocpapi.workflows.context)": [[191, "ocpapi.workflows.context.set_context_var", false]], "set_cutoffs() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.set_cutoffs", false]], "set_cutoffs() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.set_cutoffs", false]], "set_embedding() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.set_embedding", false]], "set_embedding() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.set_embedding", false]], "set_epoch_and_start_iteration() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler.set_epoch_and_start_iteration", false]], "set_epoch_and_start_iteration() (core.common.data_parallel.statefuldistributedsampler method)": [[13, "core.common.data_parallel.StatefulDistributedSampler.set_epoch_and_start_iteration", false]], "set_fixed_atom_constraints() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.set_fixed_atom_constraints", false]], "set_lmax() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.set_lmax", false]], "set_lmax_mmax() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.set_lmax_mmax", false]], "set_lmax_mmax() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.set_lmax_mmax", false]], "set_max_neighbors() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.set_max_neighbors", false]], "set_max_neighbors() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.set_max_neighbors", false]], "set_pbc_patch() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.set_pbc_patch", false]], "set_positions() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.set_positions", false]], "set_positions() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.set_positions", false]], "set_positions() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.set_positions", false]], "set_seed() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.set_seed", false]], "set_seed() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.set_seed", false]], "set_source_dataset_id() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.set_source_dataset_id", false]], "set_source_dataset_id() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.set_source_dataset_id", false]], "set_wigner() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.set_wigner", false]], "setup() (core.tasks.task.basetask method)": [[148, "core.tasks.task.BaseTask.setup", false]], "setup() (in module core.common.distutils)": [[14, "core.common.distutils.setup", false]], "setup_experimental_imports() (in module core.common.utils)": [[29, "core.common.utils.setup_experimental_imports", false]], "setup_gp() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.setup_gp", false]], "setup_imports() (in module core.common.utils)": [[29, "core.common.utils.setup_imports", false]], "setup_logging() (in module core.common.utils)": [[29, "core.common.utils.setup_logging", false]], "severitylevelbetween (class in core.common.utils)": [[29, "core.common.utils.SeverityLevelBetween", false]], "sharded (core.datasets.lmdb_dataset.lmdbdataset attribute)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.sharded", false]], "sharded (core.datasets.lmdbdataset attribute)": [[37, "core.datasets.LmdbDataset.sharded", false]], "shell (in module core.preprocessing.atoms_to_graphs)": [[133, "core.preprocessing.atoms_to_graphs.shell", false]], "shift (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.shift", false]], "shift (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.shift", false]], "shift (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.shift", false]], "sigmoidsmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.SigmoidSmearing", false]], "silusmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.SiLUSmearing", false]], "sine (class in core.models.utils.basis)": [[119, "core.models.utils.basis.Sine", false]], "sinesmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.SINESmearing", false]], "single_point_calculation() (in module data.om.omdata.orca.recipes)": [[182, "data.om.omdata.orca.recipes.single_point_calculation", false]], "singlepointlmdbdataset (class in core.datasets)": [[37, "core.datasets.SinglePointLmdbDataset", false]], "singlepointlmdbdataset (class in core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.SinglePointLmdbDataset", false]], "siqu (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.SiQU", false]], "siqu (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.SiQU", false]], "siren (class in core.models.utils.basis)": [[119, "core.models.utils.basis.SIREN", false]], "slab (class in data.oc.core)": [[156, "data.oc.core.Slab", false]], "slab (class in data.oc.core.slab)": [[158, "data.oc.core.slab.Slab", false]], "slab (class in ocpapi)": [[188, "ocpapi.Slab", false]], "slab (class in ocpapi.client)": [[185, "ocpapi.client.Slab", false]], "slab (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Slab", false]], "slab (ocpapi.adsorbateslabconfigs attribute)": [[188, "ocpapi.AdsorbateSlabConfigs.slab", false]], "slab (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.slab", false]], "slab (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.slab", false]], "slab (ocpapi.client.adsorbateslabconfigs attribute)": [[185, "ocpapi.client.AdsorbateSlabConfigs.slab", false]], "slab (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.slab", false]], "slab (ocpapi.client.models.adsorbateslabconfigs attribute)": [[186, "ocpapi.client.models.AdsorbateSlabConfigs.slab", false]], "slab (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.slab", false]], "slab (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.slab", false]], "slab (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.slab", false]], "slabmetadata (class in ocpapi)": [[188, "ocpapi.SlabMetadata", false]], "slabmetadata (class in ocpapi.client)": [[185, "ocpapi.client.SlabMetadata", false]], "slabmetadata (class in ocpapi.client.models)": [[186, "ocpapi.client.models.SlabMetadata", false]], "slabs (class in ocpapi)": [[188, "ocpapi.Slabs", false]], "slabs (class in ocpapi.client)": [[185, "ocpapi.client.Slabs", false]], "slabs (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Slabs", false]], "slabs (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.slabs", false]], "slabs (ocpapi.client.models.slabs attribute)": [[186, "ocpapi.client.models.Slabs.slabs", false]], "slabs (ocpapi.client.slabs attribute)": [[185, "ocpapi.client.Slabs.slabs", false]], "slabs (ocpapi.slabs attribute)": [[188, "ocpapi.Slabs.slabs", false]], "slabs (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.slabs", false]], "slabs (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.slabs", false]], "smearing (core.models.utils.basis.basis attribute)": [[119, "core.models.utils.basis.Basis.smearing", false]], "smoothleakyrelu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.SmoothLeakyReLU", false]], "so2_convolution (class in core.models.equiformer_v2.so2_ops)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Convolution", false]], "so2_linear (class in core.models.equiformer_v2.so2_ops)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Linear", false]], "so2_m_convolution (class in core.models.equiformer_v2.so2_ops)": [[55, "core.models.equiformer_v2.so2_ops.SO2_m_Convolution", false]], "so2block (class in core.models.escn.escn)": [[63, "core.models.escn.escn.SO2Block", false]], "so2conv (class in core.models.escn.escn)": [[63, "core.models.escn.escn.SO2Conv", false]], "so2equivariantgraphattention (class in core.models.equiformer_v2.transformer_block)": [[61, "core.models.equiformer_v2.transformer_block.SO2EquivariantGraphAttention", false]], "so3_embedding (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding", false]], "so3_embedding (class in core.models.escn.so3)": [[65, "core.models.escn.so3.SO3_Embedding", false]], "so3_grid (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Grid", false]], "so3_grid (class in core.models.escn.so3)": [[65, "core.models.escn.so3.SO3_Grid", false]], "so3_linear (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Linear", false]], "so3_linearv2 (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_LinearV2", false]], "so3_rotation (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation", false]], "so3_rotation (class in core.models.escn.so3)": [[65, "core.models.escn.so3.SO3_Rotation", false]], "sph_harm_prefactor() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.sph_harm_prefactor", false]], "sph_harm_prefactor() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.sph_harm_prefactor", false]], "sph_harm_prefactor() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.sph_harm_prefactor", false]], "spherical_bessel_formulas() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.spherical_bessel_formulas", false]], "spherical_bessel_formulas() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.spherical_bessel_formulas", false]], "spherical_bessel_formulas() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.spherical_bessel_formulas", false]], "sphericalbasislayer (class in core.models.gemnet_oc.layers.spherical_basis)": [[105, "core.models.gemnet_oc.layers.spherical_basis.SphericalBasisLayer", false]], "sphericalbesselbasis (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.SphericalBesselBasis", false]], "sphericalbesselbasis (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.SphericalBesselBasis", false]], "sphericalbesselbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.SphericalBesselBasis", false]], "sphericalchannelnetwork (class in core.models.scn)": [[113, "core.models.scn.SphericalChannelNetwork", false]], "sphericalchannelnetwork (class in core.models.scn.scn)": [[115, "core.models.scn.scn.SphericalChannelNetwork", false]], "sphericalharmonicshelper (class in core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper", false]], "sphericalsmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.SphericalSmearing", false]], "splits (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.SPLITS", false]], "src_id (ocpapi.bulk attribute)": [[188, "ocpapi.Bulk.src_id", false]], "src_id (ocpapi.client.bulk attribute)": [[185, "ocpapi.client.Bulk.src_id", false]], "src_id (ocpapi.client.models.bulk attribute)": [[186, "ocpapi.client.models.Bulk.src_id", false]], "standardize_bulk() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.standardize_bulk", false]], "standardize_bulk() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.standardize_bulk", false]], "state_dict() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.state_dict", false]], "state_dict() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.state_dict", false]], "statefuldistributedsampler (class in core.common.data_parallel)": [[13, "core.common.data_parallel.StatefulDistributedSampler", false]], "stats (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.stats", false]], "stats (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.stats", false]], "status (class in ocpapi)": [[188, "ocpapi.Status", false]], "status (class in ocpapi.client)": [[185, "ocpapi.client.Status", false]], "status (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Status", false]], "status (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.status", false]], "status (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.status", false]], "status (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.status", false]], "step() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.step", false]], "step() (core.models.equiformer_v2.trainers.lr_scheduler.lrscheduler method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler.step", false]], "step() (core.modules.scheduler.lrscheduler method)": [[131, "core.modules.scheduler.LRScheduler.step", false]], "store() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.store", false]], "structuregenerator (class in data.oc.structure_generator)": [[169, "data.oc.structure_generator.StructureGenerator", false]], "submit_adsorbate_slab_relaxations() (ocpapi.client method)": [[188, "ocpapi.Client.submit_adsorbate_slab_relaxations", false]], "submit_adsorbate_slab_relaxations() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.submit_adsorbate_slab_relaxations", false]], "submit_adsorbate_slab_relaxations() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.submit_adsorbate_slab_relaxations", false]], "subselect_edges() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.subselect_edges", false]], "subselect_edges() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.subselect_edges", false]], "subselect_graph() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.subselect_graph", false]], "subselect_graph() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.subselect_graph", false]], "success (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.SUCCESS", false]], "success (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.SUCCESS", false]], "success (ocpapi.status attribute)": [[188, "ocpapi.Status.SUCCESS", false]], "success_threshold (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.SUCCESS_THRESHOLD", false]], "surface_change_cutoff_multiplier (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.SURFACE_CHANGE_CUTOFF_MULTIPLIER", false]], "swiglu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.SwiGLU", false]], "sym (in module core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.sym", false]], "symmetrize_edges() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.symmetrize_edges", false]], "symmetrize_edges() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.symmetrize_edges", false]], "symmetrize_edges() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.symmetrize_edges", false]], "symmetrize_edges() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.symmetrize_edges", false]], "synchronize() (in module core.common.distutils)": [[14, "core.common.distutils.synchronize", false]], "system_id (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.system_id", false]], "system_id (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.system_id", false]], "system_id (ocpapi.adsorbateslabrelaxationssystem attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsSystem.system_id", false]], "system_id (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.system_id", false]], "system_id (ocpapi.client.adsorbateslabrelaxationssystem attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsSystem.system_id", false]], "system_id (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.system_id", false]], "system_id (ocpapi.client.models.adsorbateslabrelaxationssystem attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsSystem.system_id", false]], "system_id (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.system_id", false]], "system_id (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.system_id", false]], "t (in module core.common.distutils)": [[14, "core.common.distutils.T", false]], "t_co (in module core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.T_co", false]], "tag_surface_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.tag_surface_atoms", false]], "tags (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.tags", false]], "tags (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.tags", false]], "tags (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.tags", false]], "tags (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.tags", false]], "tags (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.tags", false]], "tags (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.tags", false]], "target_constant_shape() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.target_constant_shape", false]], "target_extensive() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.target_extensive", false]], "target_per_atom() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.target_per_atom", false]], "task_metrics (core.modules.evaluator.evaluator attribute)": [[121, "core.modules.evaluator.Evaluator.task_metrics", false]], "task_primary_metric (core.modules.evaluator.evaluator attribute)": [[121, "core.modules.evaluator.Evaluator.task_primary_metric", false]], "temp_split_string (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.temp_split_string", false]], "tensorboardlogger (class in core.common.logger)": [[19, "core.common.logger.TensorboardLogger", false]], "there_is_overlap() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.there_is_overlap", false]], "tile_and_tag_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.tile_and_tag_atoms", false]], "tile_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.tile_atoms", false]], "to() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.to", false]], "to_ase_atoms() (ocpapi.adsorbateslabrelaxationresult method)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.atoms method)": [[188, "ocpapi.Atoms.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.adsorbateslabrelaxationresult method)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.atoms method)": [[185, "ocpapi.client.Atoms.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.models.adsorbateslabrelaxationresult method)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.models.atoms method)": [[186, "ocpapi.client.models.Atoms.to_ase_atoms", false]], "to_grid() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.to_grid", false]], "to_grid() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.to_grid", false]], "to_grid() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.to_grid", false]], "to_grid() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.to_grid", false]], "togrid() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.ToGrid", false]], "top (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.top", false]], "top (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.top", false]], "top (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.top", false]], "torchcalc (class in core.common.relaxation.optimizers.lbfgs_torch)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc", false]], "train() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.train", false]], "train() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.train", false]], "train() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer.train", false]], "train() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer.train", false]], "train_test_val_split() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.train_test_val_split", false]], "traintask (class in core.tasks)": [[147, "core.tasks.TrainTask", false]], "traintask (class in core.tasks.task)": [[148, "core.tasks.task.TrainTask", false]], "trajectorylmdbdataset (class in core.datasets)": [[37, "core.datasets.TrajectoryLmdbDataset", false]], "trajectorylmdbdataset (class in core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.TrajectoryLmdbDataset", false]], "transblockv2 (class in core.models.equiformer_v2.transformer_block)": [[61, "core.models.equiformer_v2.transformer_block.TransBlockV2", false]], "transfer_reaction_db_path (in module cattsunami.databases)": [[9, "cattsunami.databases.TRANSFER_REACTION_DB_PATH", false]], "traverse_adsorbate_desorption() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_desorption", false]], "traverse_adsorbate_dissociation() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_dissociation", false]], "traverse_adsorbate_general() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_general", false]], "traverse_adsorbate_transfer() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_transfer", false]], "trim_tensor() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.trim_tensor", false]], "tripletinteraction (class in core.models.gemnet.layers.interaction_block)": [[75, "core.models.gemnet.layers.interaction_block.TripletInteraction", false]], "tripletinteraction (class in core.models.gemnet_gp.layers.interaction_block)": [[88, "core.models.gemnet_gp.layers.interaction_block.TripletInteraction", false]], "tripletinteraction (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.TripletInteraction", false]], "triplets() (core.models.dimenet_plus_plus.dimenetplusplus method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.triplets", false]], "tune_reporter() (in module core.common.hpo_utils)": [[17, "core.common.hpo_utils.tune_reporter", false]], "ui_url (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.ui_url", false]], "ui_url (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.ui_url", false]], "ui_url (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.ui_url", false]], "uncompress_data() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.uncompress_data", false]], "uniform_atoms_lengths() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.uniform_atoms_lengths", false]], "unique_combinations_count (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.unique_combinations_count", false]], "uniquekeyloader (class in core.common.utils)": [[29, "core.common.utils.UniqueKeyLoader", false]], "unregister() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.unregister", false]], "unscale() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.unscale", false]], "unsupportedadsorbateexception": [[188, "ocpapi.UnsupportedAdsorbateException", false], [190, "ocpapi.workflows.adsorbates.UnsupportedAdsorbateException", false], [193, "ocpapi.workflows.UnsupportedAdsorbateException", false]], "unsupportedbulkexception": [[188, "ocpapi.UnsupportedBulkException", false], [190, "ocpapi.workflows.adsorbates.UnsupportedBulkException", false], [193, "ocpapi.workflows.UnsupportedBulkException", false]], "unsupportedmodelexception": [[188, "ocpapi.UnsupportedModelException", false], [190, "ocpapi.workflows.adsorbates.UnsupportedModelException", false], [193, "ocpapi.workflows.UnsupportedModelException", false]], "unwrap_atoms() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.unwrap_atoms", false]], "update() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.update", false]], "update() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.update", false]], "update() (core.modules.evaluator.evaluator method)": [[121, "core.modules.evaluator.Evaluator.update", false]], "update() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.update", false]], "update_best() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.update_best", false]], "update_best() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.update_best", false]], "update_config() (in module core.common.utils)": [[29, "core.common.utils.update_config", false]], "update_dbs() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.update_dbs", false]], "update_distance_map() (in module data.oc.core.multi_adsorbate_slab_config)": [[157, "data.oc.core.multi_adsorbate_slab_config.update_distance_map", false]], "update_graph() (core.common.relaxation.optimizers.lbfgs_torch.torchcalc method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc.update_graph", false]], "update_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.update_json", false]], "update_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.update_json", false]], "update_pkls() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.update_pkls", false]], "url (core.models.dimenet_plus_plus.dimenetplusplus attribute)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.url", false]], "v0_check() (in module data.oc.experimental.utils)": [[166, "data.oc.experimental.utils.v0_check", false]], "validate() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.validate", false]], "validate() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.validate", false]], "validatetask (class in core.tasks)": [[147, "core.tasks.ValidateTask", false]], "validatetask (class in core.tasks.task)": [[148, "core.tasks.task.ValidateTask", false]], "variance_in (core.modules.scaling.scale_factor._stats attribute)": [[129, "core.modules.scaling.scale_factor._Stats.variance_in", false]], "variance_out (core.modules.scaling.scale_factor._stats attribute)": [[129, "core.modules.scaling.scale_factor._Stats.variance_out", false]], "vasp_flags (in module adsorbml.scripts.write_top_k_vasp)": [[4, "adsorbml.scripts.write_top_k_vasp.VASP_FLAGS", false]], "vasp_flags (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.VASP_FLAGS", false]], "vector_rejection() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.vector_rejection", false]], "verify_count() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.verify_count", false]], "version (in module ocpapi.version)": [[189, "ocpapi.version.VERSION", false]], "wait_for_adsorbate_slab_relaxations() (in module ocpapi)": [[188, "ocpapi.wait_for_adsorbate_slab_relaxations", false]], "wait_for_adsorbate_slab_relaxations() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.wait_for_adsorbate_slab_relaxations", false]], "wait_for_adsorbate_slab_relaxations() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.wait_for_adsorbate_slab_relaxations", false]], "wandblogger (class in core.common.logger)": [[19, "core.common.logger.WandBLogger", false]], "warmup_lr_lambda() (in module core.common.utils)": [[29, "core.common.utils.warmup_lr_lambda", false]], "watch() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.watch", false]], "watch() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.watch", false]], "watch() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.watch", false]], "weight (core.models.gemnet_oc.layers.efficient.basisembedding attribute)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding.weight", false]], "wigner_d() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.wigner_D", false]], "wigner_d() (in module core.models.equiformer_v2.wigner)": [[62, "core.models.equiformer_v2.wigner.wigner_D", false]], "wigner_d() (in module core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics.wigner_D", false]], "write() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.write", false]], "write_images_to_lmdb() (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.write_images_to_lmdb", false]], "write_images_to_lmdb() (in module core.scripts.preprocess_relaxed)": [[145, "core.scripts.preprocess_relaxed.write_images_to_lmdb", false]], "write_is2re_relaxations() (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.write_is2re_relaxations", false]], "write_is2re_relaxations() (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.write_is2re_relaxations", false]], "write_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.write_json", false]], "write_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.write_json", false]], "write_orca_inputs() (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.write_orca_inputs", false]], "write_pickle() (in module data.om.biomolecules.geom.sample_geom_drugs)": [[177, "data.om.biomolecules.geom.sample_geom_drugs.write_pickle", false]], "write_predictions() (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.write_predictions", false]], "write_predictions() (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.write_predictions", false]], "write_surface() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.write_surface", false]], "write_vasp_input_files() (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.write_vasp_input_files", false]]}, "objects": {"": [[10, 0, 0, "-", "cattsunami"], [42, 0, 0, "-", "core"], [152, 0, 0, "-", "data"], [188, 0, 0, "-", "ocpapi"]], "adsorbml.2023_neurips_challenge": [[0, 0, 0, "-", "challenge_eval"]], "adsorbml.2023_neurips_challenge.challenge_eval": [[0, 1, 1, "", "compute_valid_ml_success"], [0, 1, 1, "", "get_dft_data"], [0, 1, 1, "", "is_successful"], [0, 1, 1, "", "main"], [0, 1, 1, "", "parse_args"], [0, 1, 1, "", "process_ml_data"]], "adsorbml.scripts": [[1, 0, 0, "-", "dense_eval"], [2, 0, 0, "-", "process_mlrs"], [3, 0, 0, "-", "utils"], [4, 0, 0, "-", "write_top_k_vasp"]], "adsorbml.scripts.dense_eval": [[1, 2, 1, "", "SUCCESS_THRESHOLD"], [1, 1, 1, "", "compute_hybrid_success"], [1, 1, 1, "", "compute_valid_ml_success"], [1, 1, 1, "", "filter_ml_data"], [1, 1, 1, "", "get_dft_compute"], [1, 1, 1, "", "get_dft_data"], [1, 1, 1, "", "is_successful"], [1, 2, 1, "", "parser"]], "adsorbml.scripts.process_mlrs": [[2, 2, 1, "", "DESORPTION_CUTOFF_MULTIPLIER"], [2, 2, 1, "", "SURFACE_CHANGE_CUTOFF_MULTIPLIER"], [2, 2, 1, "", "args"], [2, 1, 1, "", "min_diff"], [2, 1, 1, "", "parse_args"], [2, 1, 1, "", "process_mlrs"]], "adsorbml.scripts.utils": [[3, 1, 1, "", "converged_oszicar"], [3, 1, 1, "", "count_scf"]], "adsorbml.scripts.write_top_k_vasp": [[4, 2, 1, "", "VASP_FLAGS"], [4, 2, 1, "", "parser"]], "cattsunami": [[10, 2, 1, "", "__version__"], [6, 0, 0, "-", "core"], [9, 0, 0, "-", "databases"]], "cattsunami.core": [[6, 3, 1, "", "OCPNEB"], [6, 3, 1, "", "Reaction"], [5, 0, 0, "-", "autoframe"], [7, 0, 0, "-", "ocpneb"], [8, 0, 0, "-", "reaction"]], "cattsunami.core.OCPNEB": [[6, 4, 1, "", "get_forces"], [6, 4, 1, "", "get_precon_forces"], [6, 4, 1, "", "load_checkpoint"], [6, 4, 1, "", "set_positions"]], "cattsunami.core.Reaction": [[6, 4, 1, "", "get_desorption_mapping"]], "cattsunami.core.autoframe": [[5, 3, 1, "", "AutoFrame"], [5, 3, 1, "", "AutoFrameDesorption"], [5, 3, 1, "", "AutoFrameDissociation"], [5, 3, 1, "", "AutoFrameTransfer"], [5, 1, 1, "", "get_product2_idx"], [5, 1, 1, "", "get_shortest_path"], [5, 1, 1, "", "interpolate"], [5, 1, 1, "", "interpolate_and_correct_frames"], [5, 1, 1, "", "is_adsorbate_adsorbed"], [5, 1, 1, "", "is_edge_list_respected"], [5, 1, 1, "", "reorder_edge_list"], [5, 1, 1, "", "traverse_adsorbate_desorption"], [5, 1, 1, "", "traverse_adsorbate_dissociation"], [5, 1, 1, "", "traverse_adsorbate_general"], [5, 1, 1, "", "traverse_adsorbate_transfer"], [5, 1, 1, "", "unwrap_atoms"]], "cattsunami.core.autoframe.AutoFrame": [[5, 4, 1, "", "are_all_adsorbate_atoms_overlapping"], [5, 4, 1, "", "get_most_proximate_symmetric_group"], [5, 4, 1, "", "only_keep_unique_systems"], [5, 4, 1, "", "reorder_adsorbate"]], "cattsunami.core.autoframe.AutoFrameDesorption": [[5, 4, 1, "", "get_neb_frames"]], "cattsunami.core.autoframe.AutoFrameDissociation": [[5, 4, 1, "", "get_best_sites_for_product1"], [5, 4, 1, "", "get_best_unique_sites_for_product2"], [5, 4, 1, "", "get_neb_frames"], [5, 4, 1, "", "get_sites_within_r"]], "cattsunami.core.autoframe.AutoFrameTransfer": [[5, 4, 1, "", "get_neb_frames"], [5, 4, 1, "", "get_system_pairs_final"], [5, 4, 1, "", "get_system_pairs_initial"]], "cattsunami.core.ocpneb": [[7, 3, 1, "", "OCPNEB"]], "cattsunami.core.ocpneb.OCPNEB": [[7, 4, 1, "", "get_forces"], [7, 4, 1, "", "get_precon_forces"], [7, 4, 1, "", "load_checkpoint"], [7, 4, 1, "", "set_positions"]], "cattsunami.core.reaction": [[8, 3, 1, "", "Reaction"]], "cattsunami.core.reaction.Reaction": [[8, 4, 1, "", "get_desorption_mapping"]], "cattsunami.databases": [[9, 2, 1, "", "DESORPTION_REACTION_DB_PATH"], [9, 2, 1, "", "DISSOCIATION_REACTION_DB_PATH"], [9, 2, 1, "", "TRANSFER_REACTION_DB_PATH"]], "cattsunami.run_validation": [[11, 0, 0, "-", "run_validation"]], "cattsunami.run_validation.run_validation": [[11, 1, 1, "", "all_converged"], [11, 1, 1, "", "barrierless_converged"], [11, 1, 1, "", "both_barriered"], [11, 1, 1, "", "both_barrierless"], [11, 1, 1, "", "get_results_ml"], [11, 1, 1, "", "get_results_sp"], [11, 1, 1, "", "get_single_point"], [11, 1, 1, "", "is_failed_sp"], [11, 1, 1, "", "parse_neb_info"], [11, 2, 1, "", "parser"]], "core": [[12, 0, 0, "-", "_cli"], [18, 0, 0, "-", "common"], [37, 0, 0, "-", "datasets"], [107, 0, 0, "-", "models"], [123, 0, 0, "-", "modules"], [134, 0, 0, "-", "preprocessing"], [140, 0, 0, "-", "scripts"], [147, 0, 0, "-", "tasks"], [150, 0, 0, "-", "trainers"]], "core._cli": [[12, 3, 1, "", "Runner"], [12, 1, 1, "", "main"]], "core._cli.Runner": [[12, 4, 1, "", "__call__"], [12, 4, 1, "", "checkpoint"]], "core.common": [[13, 0, 0, "-", "data_parallel"], [14, 0, 0, "-", "distutils"], [15, 0, 0, "-", "flags"], [16, 0, 0, "-", "gp_utils"], [17, 0, 0, "-", "hpo_utils"], [19, 0, 0, "-", "logger"], [20, 0, 0, "-", "registry"], [22, 0, 0, "-", "relaxation"], [26, 0, 0, "-", "transforms"], [27, 0, 0, "-", "tutorial_utils"], [28, 0, 0, "-", "typing"], [29, 0, 0, "-", "utils"]], "core.common.data_parallel": [[13, 3, 1, "", "BalancedBatchSampler"], [13, 3, 1, "", "OCPCollater"], [13, 3, 1, "", "StatefulDistributedSampler"], [13, 3, 1, "", "_HasMetadata"], [13, 1, 1, "", "balanced_partition"]], "core.common.data_parallel.BalancedBatchSampler": [[13, 4, 1, "", "__iter__"], [13, 4, 1, "", "__len__"], [13, 4, 1, "", "_load_dataset"], [13, 4, 1, "", "set_epoch_and_start_iteration"]], "core.common.data_parallel.OCPCollater": [[13, 4, 1, "", "__call__"]], "core.common.data_parallel.StatefulDistributedSampler": [[13, 4, 1, "", "__iter__"], [13, 4, 1, "", "set_epoch_and_start_iteration"]], "core.common.data_parallel._HasMetadata": [[13, 5, 1, "", "metadata_path"]], "core.common.distutils": [[14, 2, 1, "", "T"], [14, 1, 1, "", "all_gather"], [14, 1, 1, "", "all_reduce"], [14, 1, 1, "", "broadcast"], [14, 1, 1, "", "cleanup"], [14, 1, 1, "", "gather_objects"], [14, 1, 1, "", "get_rank"], [14, 1, 1, "", "get_world_size"], [14, 1, 1, "", "initialized"], [14, 1, 1, "", "is_master"], [14, 1, 1, "", "os_environ_get_or_throw"], [14, 1, 1, "", "setup"], [14, 1, 1, "", "synchronize"]], "core.common.flags": [[15, 3, 1, "", "Flags"], [15, 2, 1, "", "flags"]], "core.common.flags.Flags": [[15, 4, 1, "", "add_core_args"], [15, 4, 1, "", "get_parser"]], "core.common.gp_utils": [[16, 3, 1, "", "CopyToModelParallelRegion"], [16, 3, 1, "", "GatherFromModelParallelRegion"], [16, 3, 1, "", "ReduceFromModelParallelRegion"], [16, 3, 1, "", "ScatterToModelParallelRegion"], [16, 2, 1, "", "_DATA_PARALLEL_GROUP"], [16, 2, 1, "", "_GRAPH_PARALLEL_GROUP"], [16, 1, 1, "", "_gather"], [16, 1, 1, "", "_gather_with_padding"], [16, 1, 1, "", "_reduce"], [16, 1, 1, "", "_split"], [16, 1, 1, "", "_split_tensor"], [16, 1, 1, "", "cleanup_gp"], [16, 1, 1, "", "copy_to_model_parallel_region"], [16, 1, 1, "", "divide_and_check_no_remainder"], [16, 1, 1, "", "ensure_div"], [16, 1, 1, "", "gather_from_model_parallel_region"], [16, 1, 1, "", "get_dp_group"], [16, 1, 1, "", "get_dp_rank"], [16, 1, 1, "", "get_dp_world_size"], [16, 1, 1, "", "get_gp_group"], [16, 1, 1, "", "get_gp_rank"], [16, 1, 1, "", "get_gp_world_size"], [16, 1, 1, "", "initialized"], [16, 1, 1, "", "pad_tensor"], [16, 1, 1, "", "reduce_from_model_parallel_region"], [16, 1, 1, "", "scatter_to_model_parallel_region"], [16, 1, 1, "", "setup_gp"], [16, 1, 1, "", "trim_tensor"]], "core.common.gp_utils.CopyToModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.gp_utils.GatherFromModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.gp_utils.ReduceFromModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.gp_utils.ScatterToModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.hpo_utils": [[17, 1, 1, "", "label_metric_dict"], [17, 1, 1, "", "tune_reporter"]], "core.common.logger": [[19, 3, 1, "", "Logger"], [19, 3, 1, "", "TensorboardLogger"], [19, 3, 1, "", "WandBLogger"]], "core.common.logger.Logger": [[19, 4, 1, "", "log"], [19, 4, 1, "", "log_plots"], [19, 4, 1, "", "mark_preempting"], [19, 4, 1, "", "watch"]], "core.common.logger.TensorboardLogger": [[19, 4, 1, "", "log"], [19, 4, 1, "", "log_plots"], [19, 4, 1, "", "mark_preempting"], [19, 4, 1, "", "watch"]], "core.common.logger.WandBLogger": [[19, 4, 1, "", "log"], [19, 4, 1, "", "log_plots"], [19, 4, 1, "", "mark_preempting"], [19, 4, 1, "", "watch"]], "core.common.registry": [[20, 2, 1, "", "NestedDict"], [20, 2, 1, "", "R"], [20, 3, 1, "", "Registry"], [20, 1, 1, "", "_get_absolute_mapping"], [20, 2, 1, "", "registry"]], "core.common.registry.Registry": [[20, 4, 1, "", "__import_error"], [20, 4, 1, "", "get"], [20, 4, 1, "", "get_class"], [20, 4, 1, "", "get_dataset_class"], [20, 4, 1, "", "get_logger_class"], [20, 4, 1, "", "get_model_class"], [20, 4, 1, "", "get_task_class"], [20, 4, 1, "", "get_trainer_class"], [20, 6, 1, "", "mapping"], [20, 4, 1, "", "register"], [20, 4, 1, "", "register_dataset"], [20, 4, 1, "", "register_logger"], [20, 4, 1, "", "register_model"], [20, 4, 1, "", "register_task"], [20, 4, 1, "", "register_trainer"], [20, 4, 1, "", "unregister"]], "core.common.relaxation": [[21, 0, 0, "-", "ase_utils"], [23, 0, 0, "-", "ml_relaxation"], [24, 0, 0, "-", "optimizers"]], "core.common.relaxation.ase_utils": [[21, 3, 1, "", "OCPCalculator"], [21, 1, 1, "", "batch_to_atoms"]], "core.common.relaxation.ase_utils.OCPCalculator": [[21, 4, 1, "", "calculate"], [21, 6, 1, "", "implemented_properties"], [21, 4, 1, "", "load_checkpoint"]], "core.common.relaxation.ml_relaxation": [[23, 1, 1, "", "ml_relax"]], "core.common.relaxation.optimizers": [[25, 0, 0, "-", "lbfgs_torch"]], "core.common.relaxation.optimizers.lbfgs_torch": [[25, 3, 1, "", "LBFGS"], [25, 3, 1, "", "TorchCalc"]], "core.common.relaxation.optimizers.lbfgs_torch.LBFGS": [[25, 4, 1, "", "check_convergence"], [25, 4, 1, "", "get_energy_and_forces"], [25, 4, 1, "", "run"], [25, 4, 1, "", "set_positions"], [25, 4, 1, "", "step"], [25, 4, 1, "", "write"]], "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc": [[25, 4, 1, "", "get_energy_and_forces"], [25, 4, 1, "", "update_graph"]], "core.common.transforms": [[26, 3, 1, "", "RandomRotate"]], "core.common.transforms.RandomRotate": [[26, 4, 1, "", "__call__"], [26, 4, 1, "", "__repr__"]], "core.common.tutorial_utils": [[27, 1, 1, "", "describe_fairchem"], [27, 1, 1, "", "fairchem_main"], [27, 1, 1, "", "fairchem_root"], [27, 1, 1, "", "generate_yml_config"], [27, 1, 1, "", "train_test_val_split"]], "core.common.typing": [[28, 2, 1, "", "_T"], [28, 1, 1, "", "assert_is_instance"], [28, 1, 1, "", "none_throws"]], "core.common.utils": [[29, 3, 1, "", "Complete"], [29, 3, 1, "", "SeverityLevelBetween"], [29, 3, 1, "", "UniqueKeyLoader"], [29, 1, 1, "", "_get_project_root"], [29, 1, 1, "", "_import_local_file"], [29, 1, 1, "", "_report_incompat_keys"], [29, 1, 1, "", "_resolve_scale_factor_submodule"], [29, 1, 1, "", "add_edge_distance_to_graph"], [29, 1, 1, "", "build_config"], [29, 1, 1, "", "cg_change_mat"], [29, 1, 1, "", "check_traj_files"], [29, 1, 1, "", "collate"], [29, 1, 1, "", "compute_neighbors"], [29, 1, 1, "", "conditional_grad"], [29, 1, 1, "", "create_dict_from_args"], [29, 1, 1, "", "create_grid"], [29, 1, 1, "", "dict_set_recursively"], [29, 1, 1, "", "get_commit_hash"], [29, 1, 1, "", "get_loss_module"], [29, 1, 1, "", "get_max_neighbors_mask"], [29, 1, 1, "", "get_pbc_distances"], [29, 1, 1, "", "get_pruned_edge_idx"], [29, 1, 1, "", "irreps_sum"], [29, 1, 1, "", "load_config"], [29, 1, 1, "", "load_state_dict"], [29, 1, 1, "", "merge_dicts"], [29, 1, 1, "", "new_trainer_context"], [29, 1, 1, "", "parse_value"], [29, 1, 1, "", "plot_histogram"], [29, 1, 1, "", "print_cuda_usage"], [29, 1, 1, "", "pyg2_data_transform"], [29, 1, 1, "", "radius_graph_pbc"], [29, 1, 1, "", "save_checkpoint"], [29, 1, 1, "", "save_experiment_log"], [29, 1, 1, "", "scatter_det"], [29, 1, 1, "", "setup_experimental_imports"], [29, 1, 1, "", "setup_imports"], [29, 1, 1, "", "setup_logging"], [29, 1, 1, "", "update_config"], [29, 1, 1, "", "warmup_lr_lambda"]], "core.common.utils.Complete": [[29, 4, 1, "", "__call__"]], "core.common.utils.SeverityLevelBetween": [[29, 4, 1, "", "filter"]], "core.common.utils.UniqueKeyLoader": [[29, 4, 1, "", "construct_mapping"]], "core.datasets": [[37, 3, 1, "", "AseDBDataset"], [37, 3, 1, "", "AseReadDataset"], [37, 3, 1, "", "AseReadMultiStructureDataset"], [37, 3, 1, "", "LMDBDatabase"], [37, 3, 1, "", "LmdbDataset"], [37, 3, 1, "", "OC22LmdbDataset"], [37, 3, 1, "", "SinglePointLmdbDataset"], [37, 3, 1, "", "TrajectoryLmdbDataset"], [30, 0, 0, "-", "_utils"], [31, 0, 0, "-", "ase_datasets"], [37, 1, 1, "", "data_list_collater"], [34, 0, 0, "-", "embeddings"], [38, 0, 0, "-", "lmdb_database"], [39, 0, 0, "-", "lmdb_dataset"], [40, 0, 0, "-", "oc22_lmdb_dataset"], [41, 0, 0, "-", "target_metadata_guesser"]], "core.datasets.AseDBDataset": [[37, 4, 1, "", "_load_dataset_get_ids"], [37, 4, 1, "", "close_db"], [37, 4, 1, "", "connect_db"], [37, 4, 1, "", "get_atoms"], [37, 4, 1, "", "get_metadata"], [37, 4, 1, "", "get_relaxed_energy"]], "core.datasets.AseReadDataset": [[37, 4, 1, "", "_load_dataset_get_ids"], [37, 4, 1, "", "get_atoms"], [37, 4, 1, "", "get_relaxed_energy"]], "core.datasets.AseReadMultiStructureDataset": [[37, 4, 1, "", "_load_dataset_get_ids"], [37, 4, 1, "", "get_atoms"], [37, 4, 1, "", "get_metadata"], [37, 4, 1, "", "get_relaxed_energy"]], "core.datasets.LMDBDatabase": [[37, 4, 1, "", "__enter__"], [37, 4, 1, "", "__exit__"], [37, 4, 1, "", "_get_row"], [37, 4, 1, "", "_get_row_by_index"], [37, 4, 1, "", "_load_ids"], [37, 5, 1, "", "_nextid"], [37, 4, 1, "", "_select"], [37, 4, 1, "", "_update"], [37, 4, 1, "", "_write"], [37, 4, 1, "", "_write_deleted_ids"], [37, 4, 1, "", "close"], [37, 4, 1, "", "count"], [37, 4, 1, "", "delete"], [37, 5, 1, "", "metadata"]], "core.datasets.LmdbDataset": [[37, 4, 1, "", "__getitem__"], [37, 4, 1, "", "__len__"], [37, 4, 1, "", "close_db"], [37, 4, 1, "", "connect_db"], [37, 4, 1, "", "get_metadata"], [37, 6, 1, "", "metadata_path"], [37, 6, 1, "", "sharded"]], "core.datasets.OC22LmdbDataset": [[37, 4, 1, "", "__getitem__"], [37, 4, 1, "", "__len__"], [37, 4, 1, "", "close_db"], [37, 4, 1, "", "connect_db"]], "core.datasets._utils": [[30, 1, 1, "", "rename_data_object_keys"]], "core.datasets.ase_datasets": [[31, 3, 1, "", "AseAtomsDataset"], [31, 3, 1, "", "AseDBDataset"], [31, 3, 1, "", "AseReadDataset"], [31, 3, 1, "", "AseReadMultiStructureDataset"], [31, 1, 1, "", "apply_one_tags"]], "core.datasets.ase_datasets.AseAtomsDataset": [[31, 4, 1, "", "__getitem__"], [31, 4, 1, "", "__len__"], [31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "close_db"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_metadata"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.ase_datasets.AseDBDataset": [[31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "close_db"], [31, 4, 1, "", "connect_db"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_metadata"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.ase_datasets.AseReadDataset": [[31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.ase_datasets.AseReadMultiStructureDataset": [[31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_metadata"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.embeddings": [[34, 2, 1, "", "ATOMIC_RADII"], [34, 2, 1, "", "CONTINUOUS_EMBEDDINGS"], [34, 2, 1, "", "KHOT_EMBEDDINGS"], [34, 2, 1, "", "QMOF_KHOT_EMBEDDINGS"], [32, 0, 0, "-", "atomic_radii"], [33, 0, 0, "-", "continuous_embeddings"], [35, 0, 0, "-", "khot_embeddings"], [36, 0, 0, "-", "qmof_khot_embeddings"]], "core.datasets.embeddings.atomic_radii": [[32, 2, 1, "", "ATOMIC_RADII"]], "core.datasets.embeddings.continuous_embeddings": [[33, 2, 1, "", "CONTINUOUS_EMBEDDINGS"]], "core.datasets.embeddings.khot_embeddings": [[35, 2, 1, "", "KHOT_EMBEDDINGS"]], "core.datasets.embeddings.qmof_khot_embeddings": [[36, 2, 1, "", "QMOF_KHOT_EMBEDDINGS"]], "core.datasets.lmdb_database": [[38, 3, 1, "", "LMDBDatabase"], [38, 2, 1, "", "RESERVED_KEYS"]], "core.datasets.lmdb_database.LMDBDatabase": [[38, 4, 1, "", "__enter__"], [38, 4, 1, "", "__exit__"], [38, 4, 1, "", "_get_row"], [38, 4, 1, "", "_get_row_by_index"], [38, 4, 1, "", "_load_ids"], [38, 5, 1, "", "_nextid"], [38, 4, 1, "", "_select"], [38, 4, 1, "", "_update"], [38, 4, 1, "", "_write"], [38, 4, 1, "", "_write_deleted_ids"], [38, 4, 1, "", "close"], [38, 4, 1, "", "count"], [38, 4, 1, "", "delete"], [38, 5, 1, "", "metadata"]], "core.datasets.lmdb_dataset": [[39, 3, 1, "", "LmdbDataset"], [39, 3, 1, "", "SinglePointLmdbDataset"], [39, 2, 1, "", "T_co"], [39, 3, 1, "", "TrajectoryLmdbDataset"], [39, 1, 1, "", "data_list_collater"]], "core.datasets.lmdb_dataset.LmdbDataset": [[39, 4, 1, "", "__getitem__"], [39, 4, 1, "", "__len__"], [39, 4, 1, "", "close_db"], [39, 4, 1, "", "connect_db"], [39, 4, 1, "", "get_metadata"], [39, 6, 1, "", "metadata_path"], [39, 6, 1, "", "sharded"]], "core.datasets.oc22_lmdb_dataset": [[40, 3, 1, "", "OC22LmdbDataset"]], "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset": [[40, 4, 1, "", "__getitem__"], [40, 4, 1, "", "__len__"], [40, 4, 1, "", "close_db"], [40, 4, 1, "", "connect_db"]], "core.datasets.target_metadata_guesser": [[41, 1, 1, "", "guess_property_metadata"], [41, 1, 1, "", "guess_target_metadata"], [41, 1, 1, "", "target_constant_shape"], [41, 1, 1, "", "target_extensive"], [41, 1, 1, "", "target_per_atom"], [41, 1, 1, "", "uniform_atoms_lengths"]], "core.models": [[107, 2, 1, "", "available_pretrained_models"], [43, 0, 0, "-", "base"], [44, 0, 0, "-", "dimenet_plus_plus"], [50, 0, 0, "-", "equiformer_v2"], [64, 0, 0, "-", "escn"], [67, 0, 0, "-", "gemnet"], [80, 0, 0, "-", "gemnet_gp"], [93, 0, 0, "-", "gemnet_oc"], [107, 1, 1, "", "model_name_to_local_file"], [108, 0, 0, "-", "model_registry"], [109, 0, 0, "-", "painn"], [112, 0, 0, "-", "schnet"], [113, 0, 0, "-", "scn"], [120, 0, 0, "-", "utils"]], "core.models.base": [[43, 3, 1, "", "BaseModel"]], "core.models.base.BaseModel": [[43, 4, 1, "", "forward"], [43, 4, 1, "", "generate_graph"], [43, 4, 1, "", "no_weight_decay"], [43, 5, 1, "", "num_params"]], "core.models.dimenet_plus_plus": [[44, 3, 1, "", "DimeNetPlusPlus"], [44, 3, 1, "", "DimeNetPlusPlusWrap"], [44, 3, 1, "", "InteractionPPBlock"], [44, 3, 1, "", "OutputPPBlock"], [44, 2, 1, "", "sym"]], "core.models.dimenet_plus_plus.DimeNetPlusPlus": [[44, 4, 1, "", "forward"], [44, 4, 1, "", "reset_parameters"], [44, 4, 1, "", "triplets"], [44, 6, 1, "", "url"]], "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap": [[44, 4, 1, "", "_forward"], [44, 4, 1, "", "forward"], [44, 5, 1, "", "num_params"]], "core.models.dimenet_plus_plus.InteractionPPBlock": [[44, 4, 1, "", "forward"], [44, 4, 1, "", "reset_parameters"]], "core.models.dimenet_plus_plus.OutputPPBlock": [[44, 4, 1, "", "forward"], [44, 4, 1, "", "reset_parameters"]], "core.models.equiformer_v2": [[50, 3, 1, "", "EquiformerV2"], [45, 0, 0, "-", "activation"], [46, 0, 0, "-", "drop"], [47, 0, 0, "-", "edge_rot_mat"], [48, 0, 0, "-", "equiformer_v2_oc20"], [49, 0, 0, "-", "gaussian_rbf"], [51, 0, 0, "-", "input_block"], [52, 0, 0, "-", "layer_norm"], [53, 0, 0, "-", "module_list"], [54, 0, 0, "-", "radial_function"], [55, 0, 0, "-", "so2_ops"], [56, 0, 0, "-", "so3"], [59, 0, 0, "-", "trainers"], [61, 0, 0, "-", "transformer_block"], [62, 0, 0, "-", "wigner"]], "core.models.equiformer_v2.EquiformerV2": [[50, 4, 1, "", "_init_edge_rot_mat"], [50, 4, 1, "", "_init_weights"], [50, 4, 1, "", "_uniform_init_linear_weights"], [50, 4, 1, "", "_uniform_init_rad_func_linear_weights"], [50, 4, 1, "", "forward"], [50, 4, 1, "", "no_weight_decay"], [50, 5, 1, "", "num_params"]], "core.models.equiformer_v2.activation": [[45, 3, 1, "", "GateActivation"], [45, 3, 1, "", "S2Activation"], [45, 3, 1, "", "ScaledSiLU"], [45, 3, 1, "", "ScaledSigmoid"], [45, 3, 1, "", "ScaledSmoothLeakyReLU"], [45, 3, 1, "", "ScaledSwiGLU"], [45, 3, 1, "", "SeparableS2Activation"], [45, 3, 1, "", "SmoothLeakyReLU"], [45, 3, 1, "", "SwiGLU"]], "core.models.equiformer_v2.activation.GateActivation": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.S2Activation": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSiLU": [[45, 4, 1, "", "extra_repr"], [45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSigmoid": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU": [[45, 4, 1, "", "extra_repr"], [45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSwiGLU": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.SeparableS2Activation": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.SmoothLeakyReLU": [[45, 4, 1, "", "extra_repr"], [45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.SwiGLU": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop": [[46, 3, 1, "", "DropPath"], [46, 3, 1, "", "EquivariantDropout"], [46, 3, 1, "", "EquivariantDropoutArraySphericalHarmonics"], [46, 3, 1, "", "EquivariantScalarsDropout"], [46, 3, 1, "", "GraphDropPath"], [46, 1, 1, "", "drop_path"]], "core.models.equiformer_v2.drop.DropPath": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.EquivariantDropout": [[46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.EquivariantScalarsDropout": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.GraphDropPath": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.edge_rot_mat": [[47, 1, 1, "", "init_edge_rot_mat"]], "core.models.equiformer_v2.equiformer_v2_oc20": [[48, 3, 1, "", "EquiformerV2_OC20"], [48, 2, 1, "", "_AVG_DEGREE"], [48, 2, 1, "", "_AVG_NUM_NODES"]], "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20": [[48, 4, 1, "", "_init_edge_rot_mat"], [48, 4, 1, "", "_init_weights"], [48, 4, 1, "", "_uniform_init_linear_weights"], [48, 4, 1, "", "_uniform_init_rad_func_linear_weights"], [48, 4, 1, "", "forward"], [48, 4, 1, "", "no_weight_decay"], [48, 5, 1, "", "num_params"]], "core.models.equiformer_v2.gaussian_rbf": [[49, 3, 1, "", "GaussianRadialBasisLayer"], [49, 1, 1, "", "gaussian"]], "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer": [[49, 4, 1, "", "extra_repr"], [49, 4, 1, "", "forward"]], "core.models.equiformer_v2.input_block": [[51, 3, 1, "", "EdgeDegreeEmbedding"]], "core.models.equiformer_v2.input_block.EdgeDegreeEmbedding": [[51, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm": [[52, 3, 1, "", "EquivariantDegreeLayerScale"], [52, 3, 1, "", "EquivariantLayerNormArray"], [52, 3, 1, "", "EquivariantLayerNormArraySphericalHarmonics"], [52, 3, 1, "", "EquivariantRMSNormArraySphericalHarmonics"], [52, 3, 1, "", "EquivariantRMSNormArraySphericalHarmonicsV2"], [52, 1, 1, "", "get_l_to_all_m_expand_index"], [52, 1, 1, "", "get_normalization_layer"]], "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.module_list": [[53, 3, 1, "", "ModuleListInfo"]], "core.models.equiformer_v2.module_list.ModuleListInfo": [[53, 4, 1, "", "__repr__"]], "core.models.equiformer_v2.radial_function": [[54, 3, 1, "", "RadialFunction"]], "core.models.equiformer_v2.radial_function.RadialFunction": [[54, 4, 1, "", "forward"]], "core.models.equiformer_v2.so2_ops": [[55, 3, 1, "", "SO2_Convolution"], [55, 3, 1, "", "SO2_Linear"], [55, 3, 1, "", "SO2_m_Convolution"]], "core.models.equiformer_v2.so2_ops.SO2_Convolution": [[55, 4, 1, "", "forward"]], "core.models.equiformer_v2.so2_ops.SO2_Linear": [[55, 4, 1, "", "forward"]], "core.models.equiformer_v2.so2_ops.SO2_m_Convolution": [[55, 4, 1, "", "forward"]], "core.models.equiformer_v2.so3": [[56, 3, 1, "", "CoefficientMappingModule"], [56, 3, 1, "", "SO3_Embedding"], [56, 3, 1, "", "SO3_Grid"], [56, 3, 1, "", "SO3_Linear"], [56, 3, 1, "", "SO3_LinearV2"], [56, 3, 1, "", "SO3_Rotation"]], "core.models.equiformer_v2.so3.CoefficientMappingModule": [[56, 4, 1, "", "__repr__"], [56, 4, 1, "", "coefficient_idx"], [56, 4, 1, "", "complex_idx"], [56, 4, 1, "", "get_rotate_inv_rescale"]], "core.models.equiformer_v2.so3.SO3_Embedding": [[56, 4, 1, "", "_expand_edge"], [56, 4, 1, "", "_from_grid"], [56, 4, 1, "", "_grid_act"], [56, 4, 1, "", "_l_primary"], [56, 4, 1, "", "_m_primary"], [56, 4, 1, "", "_reduce_edge"], [56, 4, 1, "", "_rotate"], [56, 4, 1, "", "_rotate_inv"], [56, 4, 1, "", "clone"], [56, 4, 1, "", "expand_edge"], [56, 4, 1, "", "set_embedding"], [56, 4, 1, "", "set_lmax_mmax"], [56, 4, 1, "", "to_grid"]], "core.models.equiformer_v2.so3.SO3_Grid": [[56, 4, 1, "", "from_grid"], [56, 4, 1, "", "get_from_grid_mat"], [56, 4, 1, "", "get_to_grid_mat"], [56, 4, 1, "", "to_grid"]], "core.models.equiformer_v2.so3.SO3_Linear": [[56, 4, 1, "", "__repr__"], [56, 4, 1, "", "forward"]], "core.models.equiformer_v2.so3.SO3_LinearV2": [[56, 4, 1, "", "__repr__"], [56, 4, 1, "", "forward"]], "core.models.equiformer_v2.so3.SO3_Rotation": [[56, 4, 1, "", "RotationToWignerDMatrix"], [56, 4, 1, "", "rotate"], [56, 4, 1, "", "rotate_inv"], [56, 4, 1, "", "set_wigner"]], "core.models.equiformer_v2.trainers": [[57, 0, 0, "-", "energy_trainer"], [58, 0, 0, "-", "forces_trainer"], [60, 0, 0, "-", "lr_scheduler"]], "core.models.equiformer_v2.trainers.energy_trainer": [[57, 3, 1, "", "EquiformerV2EnergyTrainer"]], "core.models.equiformer_v2.trainers.energy_trainer.EquiformerV2EnergyTrainer": [[57, 4, 1, "", "load_extras"]], "core.models.equiformer_v2.trainers.forces_trainer": [[58, 3, 1, "", "EquiformerV2ForcesTrainer"]], "core.models.equiformer_v2.trainers.forces_trainer.EquiformerV2ForcesTrainer": [[58, 4, 1, "", "load_extras"]], "core.models.equiformer_v2.trainers.lr_scheduler": [[60, 3, 1, "", "CosineLRLambda"], [60, 3, 1, "", "LRScheduler"], [60, 3, 1, "", "MultistepLRLambda"], [60, 1, 1, "", "cosine_lr_lambda"], [60, 1, 1, "", "multiply"], [60, 1, 1, "", "multistep_lr_lambda"]], "core.models.equiformer_v2.trainers.lr_scheduler.CosineLRLambda": [[60, 4, 1, "", "__call__"]], "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler": [[60, 4, 1, "", "filter_kwargs"], [60, 4, 1, "", "get_lr"], [60, 4, 1, "", "step"]], "core.models.equiformer_v2.trainers.lr_scheduler.MultistepLRLambda": [[60, 4, 1, "", "__call__"]], "core.models.equiformer_v2.transformer_block": [[61, 3, 1, "", "FeedForwardNetwork"], [61, 3, 1, "", "SO2EquivariantGraphAttention"], [61, 3, 1, "", "TransBlockV2"]], "core.models.equiformer_v2.transformer_block.FeedForwardNetwork": [[61, 4, 1, "", "forward"]], "core.models.equiformer_v2.transformer_block.SO2EquivariantGraphAttention": [[61, 4, 1, "", "forward"]], "core.models.equiformer_v2.transformer_block.TransBlockV2": [[61, 4, 1, "", "forward"]], "core.models.equiformer_v2.wigner": [[62, 2, 1, "", "_Jd"], [62, 1, 1, "", "_z_rot_mat"], [62, 1, 1, "", "wigner_D"]], "core.models.escn": [[64, 3, 1, "", "eSCN"], [63, 0, 0, "-", "escn"], [65, 0, 0, "-", "so3"]], "core.models.escn.eSCN": [[64, 4, 1, "", "_init_edge_rot_mat"], [64, 4, 1, "", "forward"], [64, 5, 1, "", "num_params"]], "core.models.escn.escn": [[63, 3, 1, "", "EdgeBlock"], [63, 3, 1, "", "EnergyBlock"], [63, 3, 1, "", "ForceBlock"], [63, 3, 1, "", "LayerBlock"], [63, 3, 1, "", "MessageBlock"], [63, 3, 1, "", "SO2Block"], [63, 3, 1, "", "SO2Conv"], [63, 3, 1, "", "eSCN"]], "core.models.escn.escn.EdgeBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.EnergyBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.ForceBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.LayerBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.MessageBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.SO2Block": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.SO2Conv": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.eSCN": [[63, 4, 1, "", "_init_edge_rot_mat"], [63, 4, 1, "", "forward"], [63, 5, 1, "", "num_params"]], "core.models.escn.so3": [[65, 3, 1, "", "CoefficientMapping"], [65, 3, 1, "", "SO3_Embedding"], [65, 3, 1, "", "SO3_Grid"], [65, 3, 1, "", "SO3_Rotation"], [65, 2, 1, "", "_Jd"]], "core.models.escn.so3.CoefficientMapping": [[65, 4, 1, "", "coefficient_idx"], [65, 4, 1, "", "complex_idx"]], "core.models.escn.so3.SO3_Embedding": [[65, 4, 1, "", "_expand_edge"], [65, 4, 1, "", "_from_grid"], [65, 4, 1, "", "_grid_act"], [65, 4, 1, "", "_l_primary"], [65, 4, 1, "", "_m_primary"], [65, 4, 1, "", "_reduce_edge"], [65, 4, 1, "", "_rotate"], [65, 4, 1, "", "_rotate_inv"], [65, 4, 1, "", "clone"], [65, 4, 1, "", "expand_edge"], [65, 4, 1, "", "set_embedding"], [65, 4, 1, "", "set_lmax_mmax"], [65, 4, 1, "", "to_grid"]], "core.models.escn.so3.SO3_Grid": [[65, 4, 1, "", "_initialize"], [65, 4, 1, "", "from_grid"], [65, 4, 1, "", "get_from_grid_mat"], [65, 4, 1, "", "get_to_grid_mat"], [65, 4, 1, "", "to_grid"]], "core.models.escn.so3.SO3_Rotation": [[65, 4, 1, "", "RotationToWignerDMatrix"], [65, 4, 1, "", "_z_rot_mat"], [65, 4, 1, "", "rotate"], [65, 4, 1, "", "rotate_inv"], [65, 4, 1, "", "set_lmax"], [65, 4, 1, "", "wigner_D"]], "core.models.gemnet": [[67, 3, 1, "", "GemNetT"], [66, 0, 0, "-", "gemnet"], [68, 0, 0, "-", "initializers"], [74, 0, 0, "-", "layers"], [78, 0, 0, "-", "utils"]], "core.models.gemnet.GemNetT": [[67, 4, 1, "", "forward"], [67, 4, 1, "", "generate_interaction_graph"], [67, 4, 1, "", "get_triplets"], [67, 5, 1, "", "num_params"], [67, 4, 1, "", "reorder_symmetric_edges"], [67, 4, 1, "", "select_edges"], [67, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet.gemnet": [[66, 3, 1, "", "GemNetT"]], "core.models.gemnet.gemnet.GemNetT": [[66, 4, 1, "", "forward"], [66, 4, 1, "", "generate_interaction_graph"], [66, 4, 1, "", "get_triplets"], [66, 5, 1, "", "num_params"], [66, 4, 1, "", "reorder_symmetric_edges"], [66, 4, 1, "", "select_edges"], [66, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet.initializers": [[68, 1, 1, "", "_standardize"], [68, 1, 1, "", "he_orthogonal_init"]], "core.models.gemnet.layers": [[69, 0, 0, "-", "atom_update_block"], [70, 0, 0, "-", "base_layers"], [71, 0, 0, "-", "basis_utils"], [72, 0, 0, "-", "efficient"], [73, 0, 0, "-", "embedding_block"], [75, 0, 0, "-", "interaction_block"], [76, 0, 0, "-", "radial_basis"], [77, 0, 0, "-", "spherical_basis"]], "core.models.gemnet.layers.atom_update_block": [[69, 3, 1, "", "AtomUpdateBlock"], [69, 3, 1, "", "OutputBlock"]], "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock": [[69, 4, 1, "", "forward"], [69, 4, 1, "", "get_mlp"]], "core.models.gemnet.layers.atom_update_block.OutputBlock": [[69, 4, 1, "", "forward"], [69, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.base_layers": [[70, 3, 1, "", "Dense"], [70, 3, 1, "", "ResidualLayer"], [70, 3, 1, "", "ScaledSiLU"], [70, 3, 1, "", "SiQU"]], "core.models.gemnet.layers.base_layers.Dense": [[70, 4, 1, "", "forward"], [70, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.base_layers.ResidualLayer": [[70, 4, 1, "", "forward"]], "core.models.gemnet.layers.base_layers.ScaledSiLU": [[70, 4, 1, "", "forward"]], "core.models.gemnet.layers.base_layers.SiQU": [[70, 4, 1, "", "forward"]], "core.models.gemnet.layers.basis_utils": [[71, 1, 1, "", "Jn"], [71, 1, 1, "", "Jn_zeros"], [71, 1, 1, "", "associated_legendre_polynomials"], [71, 1, 1, "", "bessel_basis"], [71, 1, 1, "", "real_sph_harm"], [71, 1, 1, "", "sph_harm_prefactor"], [71, 1, 1, "", "spherical_bessel_formulas"]], "core.models.gemnet.layers.efficient": [[72, 3, 1, "", "EfficientInteractionBilinear"], [72, 3, 1, "", "EfficientInteractionDownProjection"]], "core.models.gemnet.layers.efficient.EfficientInteractionBilinear": [[72, 4, 1, "", "forward"], [72, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection": [[72, 4, 1, "", "forward"], [72, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.embedding_block": [[73, 3, 1, "", "AtomEmbedding"], [73, 3, 1, "", "EdgeEmbedding"]], "core.models.gemnet.layers.embedding_block.AtomEmbedding": [[73, 4, 1, "", "forward"]], "core.models.gemnet.layers.embedding_block.EdgeEmbedding": [[73, 4, 1, "", "forward"]], "core.models.gemnet.layers.interaction_block": [[75, 3, 1, "", "InteractionBlockTripletsOnly"], [75, 3, 1, "", "TripletInteraction"]], "core.models.gemnet.layers.interaction_block.InteractionBlockTripletsOnly": [[75, 4, 1, "", "forward"]], "core.models.gemnet.layers.interaction_block.TripletInteraction": [[75, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis": [[76, 3, 1, "", "BernsteinBasis"], [76, 3, 1, "", "ExponentialEnvelope"], [76, 3, 1, "", "PolynomialEnvelope"], [76, 3, 1, "", "RadialBasis"], [76, 3, 1, "", "SphericalBesselBasis"]], "core.models.gemnet.layers.radial_basis.BernsteinBasis": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.ExponentialEnvelope": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.PolynomialEnvelope": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.RadialBasis": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.SphericalBesselBasis": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.spherical_basis": [[77, 3, 1, "", "CircularBasisLayer"]], "core.models.gemnet.layers.spherical_basis.CircularBasisLayer": [[77, 4, 1, "", "forward"]], "core.models.gemnet.utils": [[78, 1, 1, "", "calculate_interatomic_vectors"], [78, 1, 1, "", "inner_product_normalized"], [78, 1, 1, "", "mask_neighbors"], [78, 1, 1, "", "ragged_range"], [78, 1, 1, "", "read_json"], [78, 1, 1, "", "read_value_json"], [78, 1, 1, "", "repeat_blocks"], [78, 1, 1, "", "update_json"], [78, 1, 1, "", "write_json"]], "core.models.gemnet_gp": [[80, 3, 1, "", "GraphParallelGemNetT"], [79, 0, 0, "-", "gemnet"], [81, 0, 0, "-", "initializers"], [87, 0, 0, "-", "layers"], [91, 0, 0, "-", "utils"]], "core.models.gemnet_gp.GraphParallelGemNetT": [[80, 4, 1, "", "forward"], [80, 4, 1, "", "generate_interaction_graph"], [80, 4, 1, "", "get_triplets"], [80, 5, 1, "", "num_params"], [80, 4, 1, "", "reorder_symmetric_edges"], [80, 4, 1, "", "select_edges"], [80, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet_gp.gemnet": [[79, 3, 1, "", "GraphParallelGemNetT"]], "core.models.gemnet_gp.gemnet.GraphParallelGemNetT": [[79, 4, 1, "", "forward"], [79, 4, 1, "", "generate_interaction_graph"], [79, 4, 1, "", "get_triplets"], [79, 5, 1, "", "num_params"], [79, 4, 1, "", "reorder_symmetric_edges"], [79, 4, 1, "", "select_edges"], [79, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet_gp.initializers": [[81, 1, 1, "", "_standardize"], [81, 1, 1, "", "he_orthogonal_init"]], "core.models.gemnet_gp.layers": [[82, 0, 0, "-", "atom_update_block"], [83, 0, 0, "-", "base_layers"], [84, 0, 0, "-", "basis_utils"], [85, 0, 0, "-", "efficient"], [86, 0, 0, "-", "embedding_block"], [88, 0, 0, "-", "interaction_block"], [89, 0, 0, "-", "radial_basis"], [90, 0, 0, "-", "spherical_basis"]], "core.models.gemnet_gp.layers.atom_update_block": [[82, 3, 1, "", "AtomUpdateBlock"], [82, 3, 1, "", "OutputBlock"], [82, 1, 1, "", "scatter_sum"]], "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock": [[82, 4, 1, "", "forward"], [82, 4, 1, "", "get_mlp"]], "core.models.gemnet_gp.layers.atom_update_block.OutputBlock": [[82, 6, 1, "", "dense_rbf_F"], [82, 4, 1, "", "forward"], [82, 6, 1, "", "out_energy"], [82, 6, 1, "", "out_forces"], [82, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.base_layers": [[83, 3, 1, "", "Dense"], [83, 3, 1, "", "ResidualLayer"], [83, 3, 1, "", "ScaledSiLU"], [83, 3, 1, "", "SiQU"]], "core.models.gemnet_gp.layers.base_layers.Dense": [[83, 4, 1, "", "forward"], [83, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.base_layers.ResidualLayer": [[83, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.base_layers.ScaledSiLU": [[83, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.base_layers.SiQU": [[83, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.basis_utils": [[84, 1, 1, "", "Jn"], [84, 1, 1, "", "Jn_zeros"], [84, 1, 1, "", "associated_legendre_polynomials"], [84, 1, 1, "", "bessel_basis"], [84, 1, 1, "", "real_sph_harm"], [84, 1, 1, "", "sph_harm_prefactor"], [84, 1, 1, "", "spherical_bessel_formulas"]], "core.models.gemnet_gp.layers.efficient": [[85, 3, 1, "", "EfficientInteractionBilinear"], [85, 3, 1, "", "EfficientInteractionDownProjection"]], "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear": [[85, 4, 1, "", "forward"], [85, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection": [[85, 4, 1, "", "forward"], [85, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.embedding_block": [[86, 3, 1, "", "AtomEmbedding"], [86, 3, 1, "", "EdgeEmbedding"]], "core.models.gemnet_gp.layers.embedding_block.AtomEmbedding": [[86, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.embedding_block.EdgeEmbedding": [[86, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.interaction_block": [[88, 3, 1, "", "InteractionBlockTripletsOnly"], [88, 3, 1, "", "TripletInteraction"]], "core.models.gemnet_gp.layers.interaction_block.InteractionBlockTripletsOnly": [[88, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.interaction_block.TripletInteraction": [[88, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis": [[89, 3, 1, "", "BernsteinBasis"], [89, 3, 1, "", "ExponentialEnvelope"], [89, 3, 1, "", "PolynomialEnvelope"], [89, 3, 1, "", "RadialBasis"], [89, 3, 1, "", "SphericalBesselBasis"]], "core.models.gemnet_gp.layers.radial_basis.BernsteinBasis": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.ExponentialEnvelope": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.PolynomialEnvelope": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.RadialBasis": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.SphericalBesselBasis": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.spherical_basis": [[90, 3, 1, "", "CircularBasisLayer"]], "core.models.gemnet_gp.layers.spherical_basis.CircularBasisLayer": [[90, 4, 1, "", "forward"]], "core.models.gemnet_gp.utils": [[91, 1, 1, "", "calculate_interatomic_vectors"], [91, 1, 1, "", "inner_product_normalized"], [91, 1, 1, "", "mask_neighbors"], [91, 1, 1, "", "ragged_range"], [91, 1, 1, "", "read_json"], [91, 1, 1, "", "read_value_json"], [91, 1, 1, "", "repeat_blocks"], [91, 1, 1, "", "update_json"], [91, 1, 1, "", "write_json"]], "core.models.gemnet_oc": [[93, 3, 1, "", "GemNetOC"], [92, 0, 0, "-", "gemnet_oc"], [94, 0, 0, "-", "initializers"], [95, 0, 0, "-", "interaction_indices"], [102, 0, 0, "-", "layers"], [106, 0, 0, "-", "utils"]], "core.models.gemnet_oc.GemNetOC": [[93, 4, 1, "", "calculate_quad_angles"], [93, 4, 1, "", "forward"], [93, 4, 1, "", "generate_graph_dict"], [93, 4, 1, "", "get_bases"], [93, 4, 1, "", "get_graphs_and_indices"], [93, 4, 1, "", "init_basis_functions"], [93, 4, 1, "", "init_shared_basis_layers"], [93, 5, 1, "", "num_params"], [93, 4, 1, "", "select_symmetric_edges"], [93, 4, 1, "", "set_cutoffs"], [93, 4, 1, "", "set_max_neighbors"], [93, 4, 1, "", "subselect_edges"], [93, 4, 1, "", "subselect_graph"], [93, 4, 1, "", "symmetrize_edges"]], "core.models.gemnet_oc.gemnet_oc": [[92, 3, 1, "", "GemNetOC"]], "core.models.gemnet_oc.gemnet_oc.GemNetOC": [[92, 4, 1, "", "calculate_quad_angles"], [92, 4, 1, "", "forward"], [92, 4, 1, "", "generate_graph_dict"], [92, 4, 1, "", "get_bases"], [92, 4, 1, "", "get_graphs_and_indices"], [92, 4, 1, "", "init_basis_functions"], [92, 4, 1, "", "init_shared_basis_layers"], [92, 5, 1, "", "num_params"], [92, 4, 1, "", "select_symmetric_edges"], [92, 4, 1, "", "set_cutoffs"], [92, 4, 1, "", "set_max_neighbors"], [92, 4, 1, "", "subselect_edges"], [92, 4, 1, "", "subselect_graph"], [92, 4, 1, "", "symmetrize_edges"]], "core.models.gemnet_oc.initializers": [[94, 1, 1, "", "_standardize"], [94, 1, 1, "", "get_initializer"], [94, 1, 1, "", "grid_init"], [94, 1, 1, "", "he_orthogonal_init"], [94, 1, 1, "", "log_grid_init"]], "core.models.gemnet_oc.interaction_indices": [[95, 1, 1, "", "get_mixed_triplets"], [95, 1, 1, "", "get_quadruplets"], [95, 1, 1, "", "get_triplets"]], "core.models.gemnet_oc.layers": [[96, 0, 0, "-", "atom_update_block"], [97, 0, 0, "-", "base_layers"], [98, 0, 0, "-", "basis_utils"], [99, 0, 0, "-", "efficient"], [100, 0, 0, "-", "embedding_block"], [101, 0, 0, "-", "force_scaler"], [103, 0, 0, "-", "interaction_block"], [104, 0, 0, "-", "radial_basis"], [105, 0, 0, "-", "spherical_basis"]], "core.models.gemnet_oc.layers.atom_update_block": [[96, 3, 1, "", "AtomUpdateBlock"], [96, 3, 1, "", "OutputBlock"]], "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock": [[96, 4, 1, "", "forward"], [96, 4, 1, "", "get_mlp"]], "core.models.gemnet_oc.layers.atom_update_block.OutputBlock": [[96, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.base_layers": [[97, 3, 1, "", "Dense"], [97, 3, 1, "", "ResidualLayer"], [97, 3, 1, "", "ScaledSiLU"]], "core.models.gemnet_oc.layers.base_layers.Dense": [[97, 4, 1, "", "forward"], [97, 4, 1, "", "reset_parameters"]], "core.models.gemnet_oc.layers.base_layers.ResidualLayer": [[97, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.base_layers.ScaledSiLU": [[97, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.basis_utils": [[98, 1, 1, "", "Jn"], [98, 1, 1, "", "Jn_zeros"], [98, 1, 1, "", "associated_legendre_polynomials"], [98, 1, 1, "", "bessel_basis"], [98, 1, 1, "", "get_sph_harm_basis"], [98, 1, 1, "", "real_sph_harm"], [98, 1, 1, "", "sph_harm_prefactor"], [98, 1, 1, "", "spherical_bessel_formulas"]], "core.models.gemnet_oc.layers.efficient": [[99, 3, 1, "", "BasisEmbedding"], [99, 3, 1, "", "EfficientInteractionBilinear"]], "core.models.gemnet_oc.layers.efficient.BasisEmbedding": [[99, 4, 1, "", "forward"], [99, 4, 1, "", "reset_parameters"], [99, 6, 1, "", "weight"]], "core.models.gemnet_oc.layers.efficient.EfficientInteractionBilinear": [[99, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.embedding_block": [[100, 3, 1, "", "AtomEmbedding"], [100, 3, 1, "", "EdgeEmbedding"]], "core.models.gemnet_oc.layers.embedding_block.AtomEmbedding": [[100, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.embedding_block.EdgeEmbedding": [[100, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.force_scaler": [[101, 3, 1, "", "ForceScaler"]], "core.models.gemnet_oc.layers.force_scaler.ForceScaler": [[101, 4, 1, "", "calc_forces"], [101, 4, 1, "", "calc_forces_and_update"], [101, 4, 1, "", "scale"], [101, 4, 1, "", "unscale"], [101, 4, 1, "", "update"]], "core.models.gemnet_oc.layers.interaction_block": [[103, 3, 1, "", "InteractionBlock"], [103, 3, 1, "", "PairInteraction"], [103, 3, 1, "", "QuadrupletInteraction"], [103, 3, 1, "", "TripletInteraction"]], "core.models.gemnet_oc.layers.interaction_block.InteractionBlock": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.interaction_block.PairInteraction": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.interaction_block.QuadrupletInteraction": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.interaction_block.TripletInteraction": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis": [[104, 3, 1, "", "BernsteinBasis"], [104, 3, 1, "", "ExponentialEnvelope"], [104, 3, 1, "", "GaussianBasis"], [104, 3, 1, "", "PolynomialEnvelope"], [104, 3, 1, "", "RadialBasis"], [104, 3, 1, "", "SphericalBesselBasis"]], "core.models.gemnet_oc.layers.radial_basis.BernsteinBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.ExponentialEnvelope": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.GaussianBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.PolynomialEnvelope": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.RadialBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.SphericalBesselBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.spherical_basis": [[105, 3, 1, "", "CircularBasisLayer"], [105, 3, 1, "", "SphericalBasisLayer"]], "core.models.gemnet_oc.layers.spherical_basis.CircularBasisLayer": [[105, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.spherical_basis.SphericalBasisLayer": [[105, 4, 1, "", "forward"]], "core.models.gemnet_oc.utils": [[106, 1, 1, "", "calculate_interatomic_vectors"], [106, 1, 1, "", "get_angle"], [106, 1, 1, "", "get_edge_id"], [106, 1, 1, "", "get_inner_idx"], [106, 1, 1, "", "get_neighbor_order"], [106, 1, 1, "", "get_projected_angle"], [106, 1, 1, "", "inner_product_clamped"], [106, 1, 1, "", "mask_neighbors"], [106, 1, 1, "", "masked_select_sparsetensor_flat"], [106, 1, 1, "", "ragged_range"], [106, 1, 1, "", "repeat_blocks"], [106, 1, 1, "", "vector_rejection"]], "core.models.model_registry": [[108, 2, 1, "", "MODEL_REGISTRY"], [108, 2, 1, "", "available_pretrained_models"], [108, 1, 1, "", "model_name_to_local_file"]], "core.models.painn": [[109, 3, 1, "", "PaiNN"], [110, 0, 0, "-", "painn"], [111, 0, 0, "-", "utils"]], "core.models.painn.PaiNN": [[109, 4, 1, "", "__repr__"], [109, 4, 1, "", "forward"], [109, 4, 1, "", "generate_graph_values"], [109, 5, 1, "", "num_params"], [109, 4, 1, "", "reset_parameters"], [109, 4, 1, "", "select_symmetric_edges"], [109, 4, 1, "", "symmetrize_edges"]], "core.models.painn.painn": [[110, 3, 1, "", "GatedEquivariantBlock"], [110, 3, 1, "", "PaiNN"], [110, 3, 1, "", "PaiNNMessage"], [110, 3, 1, "", "PaiNNOutput"], [110, 3, 1, "", "PaiNNUpdate"]], "core.models.painn.painn.GatedEquivariantBlock": [[110, 4, 1, "", "forward"], [110, 4, 1, "", "reset_parameters"]], "core.models.painn.painn.PaiNN": [[110, 4, 1, "", "__repr__"], [110, 4, 1, "", "forward"], [110, 4, 1, "", "generate_graph_values"], [110, 5, 1, "", "num_params"], [110, 4, 1, "", "reset_parameters"], [110, 4, 1, "", "select_symmetric_edges"], [110, 4, 1, "", "symmetrize_edges"]], "core.models.painn.painn.PaiNNMessage": [[110, 4, 1, "", "aggregate"], [110, 4, 1, "", "forward"], [110, 4, 1, "", "message"], [110, 4, 1, "", "reset_parameters"], [110, 4, 1, "", "update"]], "core.models.painn.painn.PaiNNOutput": [[110, 4, 1, "", "forward"], [110, 4, 1, "", "reset_parameters"]], "core.models.painn.painn.PaiNNUpdate": [[110, 4, 1, "", "forward"], [110, 4, 1, "", "reset_parameters"]], "core.models.painn.utils": [[111, 1, 1, "", "get_edge_id"], [111, 1, 1, "", "repeat_blocks"]], "core.models.schnet": [[112, 3, 1, "", "SchNetWrap"]], "core.models.schnet.SchNetWrap": [[112, 4, 1, "", "_forward"], [112, 4, 1, "", "forward"], [112, 5, 1, "", "num_params"]], "core.models.scn": [[113, 3, 1, "", "SphericalChannelNetwork"], [114, 0, 0, "-", "sampling"], [115, 0, 0, "-", "scn"], [116, 0, 0, "-", "smearing"], [117, 0, 0, "-", "spherical_harmonics"]], "core.models.scn.SphericalChannelNetwork": [[113, 4, 1, "", "_forward_helper"], [113, 4, 1, "", "_init_edge_rot_mat"], [113, 4, 1, "", "_rank_edge_distances"], [113, 6, 1, "", "energy_fc1"], [113, 6, 1, "", "energy_fc2"], [113, 6, 1, "", "energy_fc3"], [113, 6, 1, "", "force_fc1"], [113, 6, 1, "", "force_fc2"], [113, 6, 1, "", "force_fc3"], [113, 4, 1, "", "forward"], [113, 5, 1, "", "num_params"]], "core.models.scn.sampling": [[114, 1, 1, "", "CalcSpherePoints"], [114, 1, 1, "", "CalcSpherePointsRandom"]], "core.models.scn.scn": [[115, 3, 1, "", "DistanceBlock"], [115, 3, 1, "", "EdgeBlock"], [115, 3, 1, "", "MessageBlock"], [115, 3, 1, "", "SphericalChannelNetwork"]], "core.models.scn.scn.DistanceBlock": [[115, 4, 1, "", "forward"]], "core.models.scn.scn.EdgeBlock": [[115, 4, 1, "", "forward"]], "core.models.scn.scn.MessageBlock": [[115, 4, 1, "", "forward"]], "core.models.scn.scn.SphericalChannelNetwork": [[115, 4, 1, "", "_forward_helper"], [115, 4, 1, "", "_init_edge_rot_mat"], [115, 4, 1, "", "_rank_edge_distances"], [115, 6, 1, "", "energy_fc1"], [115, 6, 1, "", "energy_fc2"], [115, 6, 1, "", "energy_fc3"], [115, 6, 1, "", "force_fc1"], [115, 6, 1, "", "force_fc2"], [115, 6, 1, "", "force_fc3"], [115, 4, 1, "", "forward"], [115, 5, 1, "", "num_params"]], "core.models.scn.smearing": [[116, 3, 1, "", "GaussianSmearing"], [116, 3, 1, "", "LinearSigmoidSmearing"], [116, 3, 1, "", "SiLUSmearing"], [116, 3, 1, "", "SigmoidSmearing"]], "core.models.scn.smearing.GaussianSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.smearing.LinearSigmoidSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.smearing.SiLUSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.smearing.SigmoidSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.spherical_harmonics": [[117, 3, 1, "", "SphericalHarmonicsHelper"], [117, 2, 1, "", "_Jd"], [117, 1, 1, "", "_z_rot_mat"], [117, 1, 1, "", "wigner_D"]], "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper": [[117, 4, 1, "", "CombineYRotations"], [117, 4, 1, "", "FlipGrid"], [117, 4, 1, "", "FromGrid"], [117, 4, 1, "", "InitWignerDMatrix"], [117, 4, 1, "", "InitYRotMapping"], [117, 4, 1, "", "Rotate"], [117, 4, 1, "", "RotateInv"], [117, 4, 1, "", "RotateWigner"], [117, 4, 1, "", "RotationMatrix"], [117, 4, 1, "", "RotationToWignerDMatrix"], [117, 4, 1, "", "ToGrid"]], "core.models.utils": [[118, 0, 0, "-", "activations"], [119, 0, 0, "-", "basis"]], "core.models.utils.activations": [[118, 3, 1, "", "Act"]], "core.models.utils.activations.Act": [[118, 4, 1, "", "forward"]], "core.models.utils.basis": [[119, 3, 1, "", "Basis"], [119, 3, 1, "", "FourierSmearing"], [119, 3, 1, "", "GaussianSmearing"], [119, 3, 1, "", "SINESmearing"], [119, 3, 1, "", "SIREN"], [119, 3, 1, "", "Sine"], [119, 3, 1, "", "SphericalSmearing"]], "core.models.utils.basis.Basis": [[119, 4, 1, "", "forward"], [119, 6, 1, "", "smearing"]], "core.models.utils.basis.FourierSmearing": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.GaussianSmearing": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.SINESmearing": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.SIREN": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.Sine": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.SphericalSmearing": [[119, 4, 1, "", "forward"], [119, 6, 1, "", "m"], [119, 6, 1, "", "n"]], "core.modules": [[121, 0, 0, "-", "evaluator"], [122, 0, 0, "-", "exponential_moving_average"], [124, 0, 0, "-", "loss"], [125, 0, 0, "-", "normalizer"], [128, 0, 0, "-", "scaling"], [131, 0, 0, "-", "scheduler"], [132, 0, 0, "-", "transforms"]], "core.modules.evaluator": [[121, 3, 1, "", "Evaluator"], [121, 2, 1, "", "NONE"], [121, 1, 1, "", "average_distance_within_threshold"], [121, 1, 1, "", "cosine_similarity"], [121, 1, 1, "", "energy_forces_within_threshold"], [121, 1, 1, "", "energy_within_threshold"], [121, 1, 1, "", "forcesx_mae"], [121, 1, 1, "", "forcesx_mse"], [121, 1, 1, "", "forcesy_mae"], [121, 1, 1, "", "forcesy_mse"], [121, 1, 1, "", "forcesz_mae"], [121, 1, 1, "", "forcesz_mse"], [121, 1, 1, "", "mae"], [121, 1, 1, "", "magnitude_error"], [121, 1, 1, "", "min_diff"], [121, 1, 1, "", "mse"]], "core.modules.evaluator.Evaluator": [[121, 4, 1, "", "eval"], [121, 6, 1, "", "task_metrics"], [121, 6, 1, "", "task_primary_metric"], [121, 4, 1, "", "update"]], "core.modules.exponential_moving_average": [[122, 3, 1, "", "ExponentialMovingAverage"]], "core.modules.exponential_moving_average.ExponentialMovingAverage": [[122, 4, 1, "", "_get_parameters"], [122, 4, 1, "", "copy_to"], [122, 4, 1, "", "load_state_dict"], [122, 4, 1, "", "restore"], [122, 4, 1, "", "state_dict"], [122, 4, 1, "", "store"], [122, 4, 1, "", "update"]], "core.modules.loss": [[124, 3, 1, "", "AtomwiseL2Loss"], [124, 3, 1, "", "DDPLoss"], [124, 3, 1, "", "L2MAELoss"]], "core.modules.loss.AtomwiseL2Loss": [[124, 4, 1, "", "forward"]], "core.modules.loss.DDPLoss": [[124, 4, 1, "", "forward"]], "core.modules.loss.L2MAELoss": [[124, 4, 1, "", "forward"]], "core.modules.normalizer": [[125, 3, 1, "", "Normalizer"]], "core.modules.normalizer.Normalizer": [[125, 4, 1, "", "denorm"], [125, 4, 1, "", "load_state_dict"], [125, 4, 1, "", "norm"], [125, 4, 1, "", "state_dict"], [125, 4, 1, "", "to"]], "core.modules.scaling": [[128, 3, 1, "", "ScaleFactor"], [126, 0, 0, "-", "compat"], [127, 0, 0, "-", "fit"], [129, 0, 0, "-", "scale_factor"], [130, 0, 0, "-", "util"]], "core.modules.scaling.ScaleFactor": [[128, 4, 1, "", "_enforce_consistency"], [128, 4, 1, "", "_observe"], [128, 4, 1, "", "fit_"], [128, 4, 1, "", "fit_context_"], [128, 5, 1, "", "fitted"], [128, 4, 1, "", "forward"], [128, 6, 1, "", "index_fn"], [128, 4, 1, "", "initialize_"], [128, 6, 1, "", "name"], [128, 4, 1, "", "reset_"], [128, 6, 1, "", "scale_factor"], [128, 4, 1, "", "set_"], [128, 6, 1, "", "stats"]], "core.modules.scaling.compat": [[126, 2, 1, "", "ScaleDict"], [126, 1, 1, "", "_load_scale_dict"], [126, 1, 1, "", "load_scales_compat"]], "core.modules.scaling.fit": [[127, 1, 1, "", "_prefilled_input"], [127, 1, 1, "", "_train_batch"], [127, 1, 1, "", "main"]], "core.modules.scaling.scale_factor": [[129, 2, 1, "", "IndexFn"], [129, 3, 1, "", "ScaleFactor"], [129, 3, 1, "", "_Stats"], [129, 1, 1, "", "_check_consistency"]], "core.modules.scaling.scale_factor.ScaleFactor": [[129, 4, 1, "", "_enforce_consistency"], [129, 4, 1, "", "_observe"], [129, 4, 1, "", "fit_"], [129, 4, 1, "", "fit_context_"], [129, 5, 1, "", "fitted"], [129, 4, 1, "", "forward"], [129, 6, 1, "", "index_fn"], [129, 4, 1, "", "initialize_"], [129, 6, 1, "", "name"], [129, 4, 1, "", "reset_"], [129, 6, 1, "", "scale_factor"], [129, 4, 1, "", "set_"], [129, 6, 1, "", "stats"]], "core.modules.scaling.scale_factor._Stats": [[129, 6, 1, "", "n_samples"], [129, 6, 1, "", "variance_in"], [129, 6, 1, "", "variance_out"]], "core.modules.scaling.util": [[130, 1, 1, "", "ensure_fitted"]], "core.modules.scheduler": [[131, 3, 1, "", "LRScheduler"]], "core.modules.scheduler.LRScheduler": [[131, 4, 1, "", "filter_kwargs"], [131, 4, 1, "", "get_lr"], [131, 4, 1, "", "step"]], "core.modules.transforms": [[132, 3, 1, "", "DataTransforms"], [132, 1, 1, "", "decompose_tensor"]], "core.modules.transforms.DataTransforms": [[132, 4, 1, "", "__call__"]], "core.preprocessing": [[134, 3, 1, "", "AtomsToGraphs"], [133, 0, 0, "-", "atoms_to_graphs"]], "core.preprocessing.AtomsToGraphs": [[134, 4, 1, "", "_get_neighbors_pymatgen"], [134, 4, 1, "", "_reshape_features"], [134, 4, 1, "", "convert"], [134, 4, 1, "", "convert_all"], [134, 6, 1, "", "max_neigh"], [134, 6, 1, "", "r_data_keys"], [134, 6, 1, "", "r_distances"], [134, 6, 1, "", "r_edges"], [134, 6, 1, "", "r_energy"], [134, 6, 1, "", "r_fixed"], [134, 6, 1, "", "r_forces"], [134, 6, 1, "", "r_pbc"], [134, 6, 1, "", "r_stress"], [134, 6, 1, "", "radius"]], "core.preprocessing.atoms_to_graphs": [[133, 2, 1, "", "AseAtomsAdaptor"], [133, 3, 1, "", "AtomsToGraphs"], [133, 2, 1, "", "shell"]], "core.preprocessing.atoms_to_graphs.AtomsToGraphs": [[133, 4, 1, "", "_get_neighbors_pymatgen"], [133, 4, 1, "", "_reshape_features"], [133, 4, 1, "", "convert"], [133, 4, 1, "", "convert_all"], [133, 6, 1, "", "max_neigh"], [133, 6, 1, "", "r_data_keys"], [133, 6, 1, "", "r_distances"], [133, 6, 1, "", "r_edges"], [133, 6, 1, "", "r_energy"], [133, 6, 1, "", "r_fixed"], [133, 6, 1, "", "r_forces"], [133, 6, 1, "", "r_pbc"], [133, 6, 1, "", "r_stress"], [133, 6, 1, "", "radius"]], "core.scripts": [[135, 0, 0, "-", "download_data"], [136, 0, 0, "-", "gif_maker_parallelized"], [137, 0, 0, "-", "hpo"], [141, 0, 0, "-", "make_challenge_submission_file"], [142, 0, 0, "-", "make_lmdb_sizes"], [143, 0, 0, "-", "make_submission_file"], [144, 0, 0, "-", "preprocess_ef"], [145, 0, 0, "-", "preprocess_relaxed"], [146, 0, 0, "-", "uncompress"]], "core.scripts.download_data": [[135, 2, 1, "", "DOWNLOAD_LINKS_is2re"], [135, 2, 1, "", "DOWNLOAD_LINKS_s2ef"], [135, 2, 1, "", "S2EF_COUNTS"], [135, 1, 1, "", "cleanup"], [135, 1, 1, "", "get_data"], [135, 2, 1, "", "parser"], [135, 1, 1, "", "preprocess_data"], [135, 1, 1, "", "uncompress_data"], [135, 1, 1, "", "verify_count"]], "core.scripts.gif_maker_parallelized": [[136, 1, 1, "", "get_parser"], [136, 1, 1, "", "parallelize_generation"], [136, 2, 1, "", "parser"], [136, 1, 1, "", "pov_from_atoms"]], "core.scripts.hpo": [[138, 0, 0, "-", "run_tune"], [139, 0, 0, "-", "run_tune_pbt"]], "core.scripts.hpo.run_tune": [[138, 1, 1, "", "main"], [138, 1, 1, "", "ocp_trainable"]], "core.scripts.hpo.run_tune_pbt": [[139, 1, 1, "", "main"], [139, 1, 1, "", "ocp_trainable"]], "core.scripts.make_challenge_submission_file": [[141, 1, 1, "", "main"], [141, 2, 1, "", "parser"], [141, 1, 1, "", "write_is2re_relaxations"], [141, 1, 1, "", "write_predictions"]], "core.scripts.make_lmdb_sizes": [[142, 1, 1, "", "get_data"], [142, 1, 1, "", "main"], [142, 2, 1, "", "parser"]], "core.scripts.make_submission_file": [[143, 2, 1, "", "SPLITS"], [143, 1, 1, "", "main"], [143, 2, 1, "", "parser"], [143, 1, 1, "", "write_is2re_relaxations"], [143, 1, 1, "", "write_predictions"]], "core.scripts.preprocess_ef": [[144, 1, 1, "", "get_parser"], [144, 1, 1, "", "main"], [144, 2, 1, "", "parser"], [144, 1, 1, "", "write_images_to_lmdb"]], "core.scripts.preprocess_relaxed": [[145, 1, 1, "", "main"], [145, 2, 1, "", "parser"], [145, 1, 1, "", "write_images_to_lmdb"]], "core.scripts.uncompress": [[146, 1, 1, "", "decompress_list_of_files"], [146, 1, 1, "", "get_parser"], [146, 1, 1, "", "main"], [146, 2, 1, "", "parser"], [146, 1, 1, "", "read_lzma"]], "core.tasks": [[147, 3, 1, "", "PredictTask"], [147, 3, 1, "", "RelaxationTask"], [147, 3, 1, "", "TrainTask"], [147, 3, 1, "", "ValidateTask"], [148, 0, 0, "-", "task"]], "core.tasks.PredictTask": [[147, 4, 1, "", "run"]], "core.tasks.RelaxationTask": [[147, 4, 1, "", "run"]], "core.tasks.TrainTask": [[147, 4, 1, "", "_process_error"], [147, 4, 1, "", "run"]], "core.tasks.ValidateTask": [[147, 4, 1, "", "run"]], "core.tasks.task": [[148, 3, 1, "", "BaseTask"], [148, 3, 1, "", "PredictTask"], [148, 3, 1, "", "RelaxationTask"], [148, 3, 1, "", "TrainTask"], [148, 3, 1, "", "ValidateTask"]], "core.tasks.task.BaseTask": [[148, 4, 1, "", "run"], [148, 4, 1, "", "setup"]], "core.tasks.task.PredictTask": [[148, 4, 1, "", "run"]], "core.tasks.task.RelaxationTask": [[148, 4, 1, "", "run"]], "core.tasks.task.TrainTask": [[148, 4, 1, "", "_process_error"], [148, 4, 1, "", "run"]], "core.tasks.task.ValidateTask": [[148, 4, 1, "", "run"]], "core.trainers": [[150, 3, 1, "", "BaseTrainer"], [150, 3, 1, "", "OCPTrainer"], [149, 0, 0, "-", "base_trainer"], [151, 0, 0, "-", "ocp_trainer"]], "core.trainers.BaseTrainer": [[150, 4, 1, "", "_backward"], [150, 4, 1, "", "_get_timestamp"], [150, 5, 1, "", "_unwrapped_model"], [150, 4, 1, "", "get_dataloader"], [150, 4, 1, "", "get_sampler"], [150, 4, 1, "", "load"], [150, 4, 1, "", "load_checkpoint"], [150, 4, 1, "", "load_datasets"], [150, 4, 1, "", "load_extras"], [150, 4, 1, "", "load_logger"], [150, 4, 1, "", "load_loss"], [150, 4, 1, "", "load_model"], [150, 4, 1, "", "load_optimizer"], [150, 4, 1, "", "load_seed_from_config"], [150, 4, 1, "", "load_task"], [150, 4, 1, "", "save"], [150, 4, 1, "", "save_results"], [150, 4, 1, "", "set_seed"], [150, 4, 1, "", "train"], [150, 4, 1, "", "update_best"], [150, 4, 1, "", "validate"]], "core.trainers.OCPTrainer": [[150, 4, 1, "", "_compute_loss"], [150, 4, 1, "", "_compute_metrics"], [150, 4, 1, "", "_forward"], [150, 4, 1, "", "predict"], [150, 4, 1, "", "run_relaxations"], [150, 4, 1, "", "train"]], "core.trainers.base_trainer": [[149, 3, 1, "", "BaseTrainer"]], "core.trainers.base_trainer.BaseTrainer": [[149, 4, 1, "", "_backward"], [149, 4, 1, "", "_get_timestamp"], [149, 5, 1, "", "_unwrapped_model"], [149, 4, 1, "", "get_dataloader"], [149, 4, 1, "", "get_sampler"], [149, 4, 1, "", "load"], [149, 4, 1, "", "load_checkpoint"], [149, 4, 1, "", "load_datasets"], [149, 4, 1, "", "load_extras"], [149, 4, 1, "", "load_logger"], [149, 4, 1, "", "load_loss"], [149, 4, 1, "", "load_model"], [149, 4, 1, "", "load_optimizer"], [149, 4, 1, "", "load_seed_from_config"], [149, 4, 1, "", "load_task"], [149, 4, 1, "", "save"], [149, 4, 1, "", "save_results"], [149, 4, 1, "", "set_seed"], [149, 4, 1, "", "train"], [149, 4, 1, "", "update_best"], [149, 4, 1, "", "validate"]], "core.trainers.ocp_trainer": [[151, 3, 1, "", "OCPTrainer"]], "core.trainers.ocp_trainer.OCPTrainer": [[151, 4, 1, "", "_compute_loss"], [151, 4, 1, "", "_compute_metrics"], [151, 4, 1, "", "_forward"], [151, 4, 1, "", "predict"], [151, 4, 1, "", "run_relaxations"], [151, 4, 1, "", "train"]], "data": [[167, 0, 0, "-", "oc"], [175, 0, 0, "-", "odac"], [179, 0, 0, "-", "om"]], "data.oc": [[167, 2, 1, "", "__version__"], [156, 0, 0, "-", "core"], [159, 0, 0, "-", "databases"], [169, 0, 0, "-", "structure_generator"], [170, 0, 0, "-", "tests"], [172, 0, 0, "-", "utils"]], "data.oc.core": [[156, 3, 1, "", "Adsorbate"], [156, 3, 1, "", "AdsorbateSlabConfig"], [156, 3, 1, "", "Bulk"], [156, 3, 1, "", "MultipleAdsorbateSlabConfig"], [156, 3, 1, "", "Slab"], [153, 0, 0, "-", "adsorbate"], [154, 0, 0, "-", "adsorbate_slab_config"], [155, 0, 0, "-", "bulk"], [157, 0, 0, "-", "multi_adsorbate_slab_config"], [158, 0, 0, "-", "slab"]], "data.oc.core.Adsorbate": [[156, 4, 1, "", "__len__"], [156, 4, 1, "", "__repr__"], [156, 4, 1, "", "__str__"], [156, 4, 1, "", "_get_adsorbate_from_random"], [156, 4, 1, "", "_load_adsorbate"]], "data.oc.core.AdsorbateSlabConfig": [[156, 4, 1, "", "_find_combos_to_check"], [156, 4, 1, "", "_get_projected_points"], [156, 4, 1, "", "_get_scaled_normal"], [156, 4, 1, "", "get_binding_sites"], [156, 4, 1, "", "get_metadata_dict"], [156, 4, 1, "", "place_adsorbate_on_site"], [156, 4, 1, "", "place_adsorbate_on_sites"]], "data.oc.core.Bulk": [[156, 4, 1, "", "__eq__"], [156, 4, 1, "", "__len__"], [156, 4, 1, "", "__repr__"], [156, 4, 1, "", "__str__"], [156, 4, 1, "", "_get_bulk_from_random"], [156, 4, 1, "", "get_slabs"], [156, 4, 1, "", "set_bulk_id_from_db"], [156, 4, 1, "", "set_source_dataset_id"]], "data.oc.core.MultipleAdsorbateSlabConfig": [[156, 4, 1, "", "get_metadata_dict"], [156, 4, 1, "", "place_adsorbates_on_sites"]], "data.oc.core.Slab": [[156, 4, 1, "", "__eq__"], [156, 4, 1, "", "__len__"], [156, 4, 1, "", "__repr__"], [156, 4, 1, "", "__str__"], [156, 4, 1, "", "from_atoms"], [156, 4, 1, "", "from_bulk_get_all_slabs"], [156, 4, 1, "", "from_bulk_get_random_slab"], [156, 4, 1, "", "from_bulk_get_specific_millers"], [156, 4, 1, "", "from_precomputed_slabs_pkl"], [156, 4, 1, "", "get_metadata_dict"], [156, 4, 1, "", "has_surface_tagged"]], "data.oc.core.adsorbate": [[153, 3, 1, "", "Adsorbate"], [153, 1, 1, "", "randomly_rotate_adsorbate"]], "data.oc.core.adsorbate.Adsorbate": [[153, 4, 1, "", "__len__"], [153, 4, 1, "", "__repr__"], [153, 4, 1, "", "__str__"], [153, 4, 1, "", "_get_adsorbate_from_random"], [153, 4, 1, "", "_load_adsorbate"]], "data.oc.core.adsorbate_slab_config": [[154, 3, 1, "", "AdsorbateSlabConfig"], [154, 1, 1, "", "custom_tile_atoms"], [154, 1, 1, "", "get_interstitial_distances"], [154, 1, 1, "", "get_random_sites_on_triangle"], [154, 1, 1, "", "there_is_overlap"]], "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig": [[154, 4, 1, "", "_find_combos_to_check"], [154, 4, 1, "", "_get_projected_points"], [154, 4, 1, "", "_get_scaled_normal"], [154, 4, 1, "", "get_binding_sites"], [154, 4, 1, "", "get_metadata_dict"], [154, 4, 1, "", "place_adsorbate_on_site"], [154, 4, 1, "", "place_adsorbate_on_sites"]], "data.oc.core.bulk": [[155, 3, 1, "", "Bulk"]], "data.oc.core.bulk.Bulk": [[155, 4, 1, "", "__eq__"], [155, 4, 1, "", "__len__"], [155, 4, 1, "", "__repr__"], [155, 4, 1, "", "__str__"], [155, 4, 1, "", "_get_bulk_from_random"], [155, 4, 1, "", "get_slabs"], [155, 4, 1, "", "set_bulk_id_from_db"], [155, 4, 1, "", "set_source_dataset_id"]], "data.oc.core.multi_adsorbate_slab_config": [[157, 3, 1, "", "MultipleAdsorbateSlabConfig"], [157, 1, 1, "", "update_distance_map"]], "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig": [[157, 4, 1, "", "get_metadata_dict"], [157, 4, 1, "", "place_adsorbates_on_sites"]], "data.oc.core.slab": [[158, 3, 1, "", "Slab"], [158, 1, 1, "", "calculate_center_of_mass"], [158, 1, 1, "", "calculate_coordination_of_bulk_atoms"], [158, 1, 1, "", "compute_slabs"], [158, 1, 1, "", "find_surface_atoms_by_height"], [158, 1, 1, "", "find_surface_atoms_with_voronoi_given_height"], [158, 1, 1, "", "flip_struct"], [158, 1, 1, "", "is_structure_invertible"], [158, 1, 1, "", "set_fixed_atom_constraints"], [158, 1, 1, "", "standardize_bulk"], [158, 1, 1, "", "tag_surface_atoms"], [158, 1, 1, "", "tile_and_tag_atoms"], [158, 1, 1, "", "tile_atoms"]], "data.oc.core.slab.Slab": [[158, 4, 1, "", "__eq__"], [158, 4, 1, "", "__len__"], [158, 4, 1, "", "__repr__"], [158, 4, 1, "", "__str__"], [158, 4, 1, "", "from_atoms"], [158, 4, 1, "", "from_bulk_get_all_slabs"], [158, 4, 1, "", "from_bulk_get_random_slab"], [158, 4, 1, "", "from_bulk_get_specific_millers"], [158, 4, 1, "", "from_precomputed_slabs_pkl"], [158, 4, 1, "", "get_metadata_dict"], [158, 4, 1, "", "has_surface_tagged"]], "data.oc.databases": [[160, 0, 0, "-", "pkls"], [161, 0, 0, "-", "update"]], "data.oc.databases.pkls": [[160, 2, 1, "", "ADSORBATE_PKL_PATH"], [160, 2, 1, "", "BULK_PKL_PATH"]], "data.oc.databases.update": [[161, 1, 1, "", "pbc_patch"], [161, 1, 1, "", "set_pbc_patch"], [161, 1, 1, "", "update_dbs"], [161, 1, 1, "", "update_pkls"]], "data.oc.experimental": [[162, 0, 0, "-", "get_energies"], [163, 0, 0, "-", "merge_traj"], [164, 0, 0, "-", "perturb_systems"], [165, 0, 0, "-", "rattle_test"], [166, 0, 0, "-", "utils"]], "data.oc.experimental.get_energies": [[162, 1, 1, "", "extract_file"], [162, 2, 1, "", "input_folder"], [162, 1, 1, "", "process_func"]], "data.oc.experimental.merge_traj": [[163, 1, 1, "", "extract_file"], [163, 1, 1, "", "main"]], "data.oc.experimental.perturb_systems": [[164, 1, 1, "", "main"]], "data.oc.experimental.rattle_test": [[165, 1, 1, "", "main"]], "data.oc.experimental.utils": [[166, 1, 1, "", "plot_traj"], [166, 1, 1, "", "restart_bug_check"], [166, 1, 1, "", "v0_check"]], "data.oc.scripts": [[168, 0, 0, "-", "precompute_sample_structures"]], "data.oc.scripts.precompute_sample_structures": [[168, 2, 1, "", "BULK_PKL"], [168, 2, 1, "", "MAX_MILLER"], [168, 2, 1, "", "__authors__"], [168, 2, 1, "", "__email__"], [168, 1, 1, "", "enumerate_surfaces_for_saving"], [168, 1, 1, "", "flip_struct"], [168, 1, 1, "", "is_structure_invertible"], [168, 1, 1, "", "precompute_enumerate_surface"], [168, 2, 1, "", "s"], [168, 1, 1, "", "standardize_bulk"]], "data.oc.structure_generator": [[169, 3, 1, "", "StructureGenerator"], [169, 2, 1, "", "args"], [169, 1, 1, "", "parse_args"], [169, 1, 1, "", "precompute_slabs"], [169, 1, 1, "", "run_placements"], [169, 1, 1, "", "write_surface"]], "data.oc.structure_generator.StructureGenerator": [[169, 4, 1, "", "_write_adslabs"], [169, 4, 1, "", "run"]], "data.oc.utils": [[172, 3, 1, "", "DetectTrajAnomaly"], [171, 0, 0, "-", "flag_anomaly"], [173, 0, 0, "-", "vasp"]], "data.oc.utils.DetectTrajAnomaly": [[172, 4, 1, "", "_get_connectivity"], [172, 4, 1, "", "has_surface_changed"], [172, 4, 1, "", "is_adsorbate_desorbed"], [172, 4, 1, "", "is_adsorbate_dissociated"], [172, 4, 1, "", "is_adsorbate_intercalated"]], "data.oc.utils.flag_anomaly": [[171, 3, 1, "", "DetectTrajAnomaly"]], "data.oc.utils.flag_anomaly.DetectTrajAnomaly": [[171, 4, 1, "", "_get_connectivity"], [171, 4, 1, "", "has_surface_changed"], [171, 4, 1, "", "is_adsorbate_desorbed"], [171, 4, 1, "", "is_adsorbate_dissociated"], [171, 4, 1, "", "is_adsorbate_intercalated"]], "data.oc.utils.vasp": [[173, 2, 1, "", "BULK_VASP_FLAGS"], [173, 2, 1, "", "VASP_FLAGS"], [173, 2, 1, "", "__author__"], [173, 2, 1, "", "__email__"], [173, 1, 1, "", "_clean_up_inputs"], [173, 1, 1, "", "calculate_surface_k_points"], [173, 1, 1, "", "write_vasp_input_files"]], "data.odac.force_field": [[174, 0, 0, "-", "FF_analysis"]], "data.odac.force_field.FF_analysis": [[174, 1, 1, "", "bin_plot"], [174, 1, 1, "", "binned_average"], [174, 1, 1, "", "chem_err"], [174, 1, 1, "", "get_Fig4a"], [174, 1, 1, "", "get_Fig4b"], [174, 1, 1, "", "get_Fig4c"], [174, 1, 1, "", "get_Fig4d"], [174, 1, 1, "", "get_data"], [174, 2, 1, "", "infile"], [174, 1, 1, "", "phys_err"]], "data.odac.promising_mof.promising_mof_energies": [[176, 0, 0, "-", "energy"]], "data.odac.promising_mof.promising_mof_energies.energy": [[176, 2, 1, "id12", "adsorption_data"], [176, 2, 1, "id13", "adsorption_data_defective"], [176, 2, 1, "id0", "complete_data"], [176, 2, 1, "id2", "complete_data_merged_defective"], [176, 2, 1, "", "complete_data_merged_defective_co2"], [176, 2, 1, "", "complete_data_merged_defective_co_ads"], [176, 2, 1, "", "complete_data_merged_defective_co_ads_2"], [176, 2, 1, "", "complete_data_merged_defective_h2o"], [176, 2, 1, "id1", "complete_data_merged_pristine"], [176, 2, 1, "", "complete_data_merged_pristine_co2"], [176, 2, 1, "", "complete_data_merged_pristine_co_ads"], [176, 2, 1, "", "complete_data_merged_pristine_co_ads_2"], [176, 2, 1, "", "complete_data_merged_pristine_h2o"], [176, 2, 1, "", "count"], [176, 2, 1, "id9", "current_entry"], [176, 2, 1, "", "def_counts_df"], [176, 2, 1, "", "index_drop_ddec_defective"], [176, 2, 1, "", "index_drop_ddec_pristine"], [176, 2, 1, "", "lowest_energy_data_co2"], [176, 2, 1, "", "lowest_energy_data_co2_defective"], [176, 2, 1, "", "lowest_energy_data_co_ads"], [176, 2, 1, "", "lowest_energy_data_co_ads_2"], [176, 2, 1, "", "lowest_energy_data_co_ads_2_defective"], [176, 2, 1, "", "lowest_energy_data_co_ads_defective"], [176, 2, 1, "", "lowest_energy_data_h2o"], [176, 2, 1, "", "lowest_energy_data_h2o_defective"], [176, 2, 1, "", "missing_DDEC"], [176, 2, 1, "", "missing_DDEC_defective"], [176, 2, 1, "", "missing_DDEC_pristine"], [176, 2, 1, "", "mof_name"], [176, 2, 1, "", "promising_defective"], [176, 2, 1, "", "promising_pristine"], [176, 2, 1, "", "raw_ads_energy_data"], [176, 2, 1, "", "temp_split_string"], [176, 2, 1, "", "unique_combinations_count"]], "data.om.biomolecules.geom": [[177, 0, 0, "-", "sample_geom_drugs"], [178, 0, 0, "-", "write_geom_drugs_structures"]], "data.om.biomolecules.geom.sample_geom_drugs": [[177, 1, 1, "", "main"], [177, 1, 1, "", "parse_args"], [177, 1, 1, "", "write_pickle"]], "data.om.biomolecules.geom.write_geom_drugs_structures": [[178, 1, 1, "", "main"], [178, 1, 1, "", "parse_args"]], "data.om.omdata": [[181, 0, 0, "-", "orca"]], "data.om.omdata.orca": [[180, 0, 0, "-", "calc"], [182, 0, 0, "-", "recipes"]], "data.om.omdata.orca.calc": [[180, 2, 1, "", "OPT_PARAMETERS"], [180, 2, 1, "", "ORCA_ASE_SIMPLE_INPUT"], [180, 2, 1, "", "ORCA_BASIS"], [180, 2, 1, "", "ORCA_BLOCKS"], [180, 2, 1, "", "ORCA_FUNCTIONAL"], [180, 2, 1, "", "ORCA_SIMPLE_INPUT"], [180, 1, 1, "", "write_orca_inputs"]], "data.om.omdata.orca.recipes": [[182, 1, 1, "", "ase_relaxation"], [182, 1, 1, "", "single_point_calculation"]], "ocpapi": [[188, 3, 1, "", "AdsorbateBindingSites"], [188, 3, 1, "", "AdsorbateSlabConfigs"], [188, 3, 1, "", "AdsorbateSlabRelaxationResult"], [188, 3, 1, "", "AdsorbateSlabRelaxations"], [188, 3, 1, "", "AdsorbateSlabRelaxationsRequest"], [188, 3, 1, "", "AdsorbateSlabRelaxationsResults"], [188, 3, 1, "", "AdsorbateSlabRelaxationsSystem"], [188, 3, 1, "", "Adsorbates"], [188, 3, 1, "", "Atoms"], [188, 3, 1, "", "Bulk"], [188, 3, 1, "", "Bulks"], [188, 3, 1, "", "Client"], [188, 3, 1, "", "Lifetime"], [188, 3, 1, "", "Model"], [188, 3, 1, "", "Models"], [188, 2, 1, "", "NO_LIMIT"], [188, 2, 1, "", "NoLimitType"], [188, 7, 1, "", "NonRetryableRequestException"], [188, 7, 1, "", "RateLimitExceededException"], [188, 3, 1, "", "RateLimitLogging"], [188, 7, 1, "", "RequestException"], [188, 3, 1, "", "Slab"], [188, 3, 1, "", "SlabMetadata"], [188, 3, 1, "", "Slabs"], [188, 3, 1, "", "Status"], [188, 7, 1, "", "UnsupportedAdsorbateException"], [188, 7, 1, "", "UnsupportedBulkException"], [188, 7, 1, "", "UnsupportedModelException"], [188, 2, 1, "", "__version__"], [185, 0, 0, "-", "client"], [188, 1, 1, "", "find_adsorbate_binding_sites"], [188, 1, 1, "", "get_adsorbate_slab_relaxation_results"], [188, 1, 1, "", "get_results_ui_url"], [188, 3, 1, "", "keep_all_slabs"], [188, 3, 1, "", "keep_slabs_with_miller_indices"], [188, 3, 1, "", "prompt_for_slabs_to_keep"], [188, 1, 1, "", "retry_api_calls"], [189, 0, 0, "-", "version"], [188, 1, 1, "", "wait_for_adsorbate_slab_relaxations"], [193, 0, 0, "-", "workflows"]], "ocpapi.AdsorbateBindingSites": [[188, 6, 1, "", "adsorbate"], [188, 6, 1, "", "bulk"], [188, 6, 1, "", "model"], [188, 6, 1, "", "slabs"]], "ocpapi.AdsorbateSlabConfigs": [[188, 6, 1, "", "adsorbate_configs"], [188, 6, 1, "", "slab"]], "ocpapi.AdsorbateSlabRelaxationResult": [[188, 6, 1, "", "cell"], [188, 6, 1, "", "config_id"], [188, 6, 1, "", "energy"], [188, 6, 1, "", "energy_trajectory"], [188, 6, 1, "", "forces"], [188, 6, 1, "", "numbers"], [188, 6, 1, "", "pbc"], [188, 6, 1, "", "positions"], [188, 6, 1, "", "status"], [188, 6, 1, "", "system_id"], [188, 6, 1, "", "tags"], [188, 4, 1, "", "to_ase_atoms"]], "ocpapi.AdsorbateSlabRelaxations": [[188, 6, 1, "", "api_host"], [188, 6, 1, "", "configs"], [188, 6, 1, "", "slab"], [188, 6, 1, "", "system_id"], [188, 6, 1, "", "ui_url"]], "ocpapi.AdsorbateSlabRelaxationsRequest": [[188, 6, 1, "", "adsorbate"], [188, 6, 1, "", "adsorbate_configs"], [188, 6, 1, "", "adsorbate_reaction"], [188, 6, 1, "", "bulk"], [188, 6, 1, "", "ephemeral"], [188, 6, 1, "", "model"], [188, 6, 1, "", "slab"]], "ocpapi.AdsorbateSlabRelaxationsResults": [[188, 6, 1, "", "configs"], [188, 6, 1, "", "omitted_config_ids"]], "ocpapi.AdsorbateSlabRelaxationsSystem": [[188, 6, 1, "", "config_ids"], [188, 6, 1, "", "system_id"]], "ocpapi.Adsorbates": [[188, 6, 1, "", "adsorbates_supported"]], "ocpapi.Atoms": [[188, 6, 1, "", "cell"], [188, 6, 1, "", "numbers"], [188, 6, 1, "", "pbc"], [188, 6, 1, "", "positions"], [188, 6, 1, "", "tags"], [188, 4, 1, "", "to_ase_atoms"]], "ocpapi.Bulk": [[188, 6, 1, "", "elements"], [188, 6, 1, "", "formula"], [188, 6, 1, "", "src_id"]], "ocpapi.Bulks": [[188, 6, 1, "", "bulks_supported"]], "ocpapi.Client": [[188, 4, 1, "", "_run_request"], [188, 4, 1, "", "delete_adsorbate_slab_relaxations"], [188, 4, 1, "", "get_adsorbate_slab_configs"], [188, 4, 1, "", "get_adsorbate_slab_relaxations_request"], [188, 4, 1, "", "get_adsorbate_slab_relaxations_results"], [188, 4, 1, "", "get_adsorbates"], [188, 4, 1, "", "get_bulks"], [188, 4, 1, "", "get_models"], [188, 4, 1, "", "get_slabs"], [188, 5, 1, "", "host"], [188, 4, 1, "", "submit_adsorbate_slab_relaxations"]], "ocpapi.Lifetime": [[188, 6, 1, "", "DELETE"], [188, 6, 1, "", "MARK_EPHEMERAL"], [188, 6, 1, "", "SAVE"]], "ocpapi.Model": [[188, 6, 1, "", "id"]], "ocpapi.Models": [[188, 6, 1, "", "models"]], "ocpapi.RateLimitExceededException": [[188, 6, 1, "", "retry_after"]], "ocpapi.RateLimitLogging": [[188, 6, 1, "", "action"], [188, 6, 1, "", "logger"]], "ocpapi.Slab": [[188, 6, 1, "", "atoms"], [188, 6, 1, "", "metadata"]], "ocpapi.SlabMetadata": [[188, 6, 1, "", "bulk_src_id"], [188, 6, 1, "", "millers"], [188, 6, 1, "", "shift"], [188, 6, 1, "", "top"]], "ocpapi.Slabs": [[188, 6, 1, "", "slabs"]], "ocpapi.Status": [[188, 6, 1, "", "DOES_NOT_EXIST"], [188, 6, 1, "", "FAILED_RELAXATION"], [188, 6, 1, "", "NOT_AVAILABLE"], [188, 6, 1, "", "SUCCESS"], [188, 4, 1, "", "__str__"]], "ocpapi.client": [[185, 3, 1, "", "AdsorbateSlabConfigs"], [185, 3, 1, "", "AdsorbateSlabRelaxationResult"], [185, 3, 1, "", "AdsorbateSlabRelaxationsRequest"], [185, 3, 1, "", "AdsorbateSlabRelaxationsResults"], [185, 3, 1, "", "AdsorbateSlabRelaxationsSystem"], [185, 3, 1, "", "Adsorbates"], [185, 3, 1, "", "Atoms"], [185, 3, 1, "", "Bulk"], [185, 3, 1, "", "Bulks"], [185, 3, 1, "", "Client"], [185, 3, 1, "", "Model"], [185, 3, 1, "", "Models"], [185, 7, 1, "", "NonRetryableRequestException"], [185, 7, 1, "", "RateLimitExceededException"], [185, 7, 1, "", "RequestException"], [185, 3, 1, "", "Slab"], [185, 3, 1, "", "SlabMetadata"], [185, 3, 1, "", "Slabs"], [185, 3, 1, "", "Status"], [184, 0, 0, "-", "client"], [185, 1, 1, "", "get_results_ui_url"], [186, 0, 0, "-", "models"], [187, 0, 0, "-", "ui"]], "ocpapi.client.AdsorbateSlabConfigs": [[185, 6, 1, "", "adsorbate_configs"], [185, 6, 1, "", "slab"]], "ocpapi.client.AdsorbateSlabRelaxationResult": [[185, 6, 1, "", "cell"], [185, 6, 1, "", "config_id"], [185, 6, 1, "", "energy"], [185, 6, 1, "", "energy_trajectory"], [185, 6, 1, "", "forces"], [185, 6, 1, "", "numbers"], [185, 6, 1, "", "pbc"], [185, 6, 1, "", "positions"], [185, 6, 1, "", "status"], [185, 6, 1, "", "system_id"], [185, 6, 1, "", "tags"], [185, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.AdsorbateSlabRelaxationsRequest": [[185, 6, 1, "", "adsorbate"], [185, 6, 1, "", "adsorbate_configs"], [185, 6, 1, "", "adsorbate_reaction"], [185, 6, 1, "", "bulk"], [185, 6, 1, "", "ephemeral"], [185, 6, 1, "", "model"], [185, 6, 1, "", "slab"]], "ocpapi.client.AdsorbateSlabRelaxationsResults": [[185, 6, 1, "", "configs"], [185, 6, 1, "", "omitted_config_ids"]], "ocpapi.client.AdsorbateSlabRelaxationsSystem": [[185, 6, 1, "", "config_ids"], [185, 6, 1, "", "system_id"]], "ocpapi.client.Adsorbates": [[185, 6, 1, "", "adsorbates_supported"]], "ocpapi.client.Atoms": [[185, 6, 1, "", "cell"], [185, 6, 1, "", "numbers"], [185, 6, 1, "", "pbc"], [185, 6, 1, "", "positions"], [185, 6, 1, "", "tags"], [185, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.Bulk": [[185, 6, 1, "", "elements"], [185, 6, 1, "", "formula"], [185, 6, 1, "", "src_id"]], "ocpapi.client.Bulks": [[185, 6, 1, "", "bulks_supported"]], "ocpapi.client.Client": [[185, 4, 1, "", "_run_request"], [185, 4, 1, "", "delete_adsorbate_slab_relaxations"], [185, 4, 1, "", "get_adsorbate_slab_configs"], [185, 4, 1, "", "get_adsorbate_slab_relaxations_request"], [185, 4, 1, "", "get_adsorbate_slab_relaxations_results"], [185, 4, 1, "", "get_adsorbates"], [185, 4, 1, "", "get_bulks"], [185, 4, 1, "", "get_models"], [185, 4, 1, "", "get_slabs"], [185, 5, 1, "", "host"], [185, 4, 1, "", "submit_adsorbate_slab_relaxations"]], "ocpapi.client.Model": [[185, 6, 1, "", "id"]], "ocpapi.client.Models": [[185, 6, 1, "", "models"]], "ocpapi.client.RateLimitExceededException": [[185, 6, 1, "", "retry_after"]], "ocpapi.client.Slab": [[185, 6, 1, "", "atoms"], [185, 6, 1, "", "metadata"]], "ocpapi.client.SlabMetadata": [[185, 6, 1, "", "bulk_src_id"], [185, 6, 1, "", "millers"], [185, 6, 1, "", "shift"], [185, 6, 1, "", "top"]], "ocpapi.client.Slabs": [[185, 6, 1, "", "slabs"]], "ocpapi.client.Status": [[185, 6, 1, "", "DOES_NOT_EXIST"], [185, 6, 1, "", "FAILED_RELAXATION"], [185, 6, 1, "", "NOT_AVAILABLE"], [185, 6, 1, "", "SUCCESS"], [185, 4, 1, "", "__str__"]], "ocpapi.client.client": [[184, 3, 1, "", "Client"], [184, 7, 1, "", "NonRetryableRequestException"], [184, 7, 1, "", "RateLimitExceededException"], [184, 7, 1, "", "RequestException"]], "ocpapi.client.client.Client": [[184, 4, 1, "", "_run_request"], [184, 4, 1, "", "delete_adsorbate_slab_relaxations"], [184, 4, 1, "", "get_adsorbate_slab_configs"], [184, 4, 1, "", "get_adsorbate_slab_relaxations_request"], [184, 4, 1, "", "get_adsorbate_slab_relaxations_results"], [184, 4, 1, "", "get_adsorbates"], [184, 4, 1, "", "get_bulks"], [184, 4, 1, "", "get_models"], [184, 4, 1, "", "get_slabs"], [184, 5, 1, "", "host"], [184, 4, 1, "", "submit_adsorbate_slab_relaxations"]], "ocpapi.client.client.RateLimitExceededException": [[184, 6, 1, "", "retry_after"]], "ocpapi.client.models": [[186, 3, 1, "", "AdsorbateSlabConfigs"], [186, 3, 1, "", "AdsorbateSlabRelaxationResult"], [186, 3, 1, "", "AdsorbateSlabRelaxationsRequest"], [186, 3, 1, "", "AdsorbateSlabRelaxationsResults"], [186, 3, 1, "", "AdsorbateSlabRelaxationsSystem"], [186, 3, 1, "", "Adsorbates"], [186, 3, 1, "", "Atoms"], [186, 3, 1, "", "Bulk"], [186, 3, 1, "", "Bulks"], [186, 3, 1, "", "Model"], [186, 3, 1, "", "Models"], [186, 3, 1, "", "Slab"], [186, 3, 1, "", "SlabMetadata"], [186, 3, 1, "", "Slabs"], [186, 3, 1, "", "Status"], [186, 3, 1, "", "_DataModel"]], "ocpapi.client.models.AdsorbateSlabConfigs": [[186, 6, 1, "", "adsorbate_configs"], [186, 6, 1, "", "slab"]], "ocpapi.client.models.AdsorbateSlabRelaxationResult": [[186, 6, 1, "", "cell"], [186, 6, 1, "", "config_id"], [186, 6, 1, "", "energy"], [186, 6, 1, "", "energy_trajectory"], [186, 6, 1, "", "forces"], [186, 6, 1, "", "numbers"], [186, 6, 1, "", "pbc"], [186, 6, 1, "", "positions"], [186, 6, 1, "", "status"], [186, 6, 1, "", "system_id"], [186, 6, 1, "", "tags"], [186, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.models.AdsorbateSlabRelaxationsRequest": [[186, 6, 1, "", "adsorbate"], [186, 6, 1, "", "adsorbate_configs"], [186, 6, 1, "", "adsorbate_reaction"], [186, 6, 1, "", "bulk"], [186, 6, 1, "", "ephemeral"], [186, 6, 1, "", "model"], [186, 6, 1, "", "slab"]], "ocpapi.client.models.AdsorbateSlabRelaxationsResults": [[186, 6, 1, "", "configs"], [186, 6, 1, "", "omitted_config_ids"]], "ocpapi.client.models.AdsorbateSlabRelaxationsSystem": [[186, 6, 1, "", "config_ids"], [186, 6, 1, "", "system_id"]], "ocpapi.client.models.Adsorbates": [[186, 6, 1, "", "adsorbates_supported"]], "ocpapi.client.models.Atoms": [[186, 6, 1, "", "cell"], [186, 6, 1, "", "numbers"], [186, 6, 1, "", "pbc"], [186, 6, 1, "", "positions"], [186, 6, 1, "", "tags"], [186, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.models.Bulk": [[186, 6, 1, "", "elements"], [186, 6, 1, "", "formula"], [186, 6, 1, "", "src_id"]], "ocpapi.client.models.Bulks": [[186, 6, 1, "", "bulks_supported"]], "ocpapi.client.models.Model": [[186, 6, 1, "", "id"]], "ocpapi.client.models.Models": [[186, 6, 1, "", "models"]], "ocpapi.client.models.Slab": [[186, 6, 1, "", "atoms"], [186, 6, 1, "", "metadata"]], "ocpapi.client.models.SlabMetadata": [[186, 6, 1, "", "bulk_src_id"], [186, 6, 1, "", "millers"], [186, 6, 1, "", "shift"], [186, 6, 1, "", "top"]], "ocpapi.client.models.Slabs": [[186, 6, 1, "", "slabs"]], "ocpapi.client.models.Status": [[186, 6, 1, "", "DOES_NOT_EXIST"], [186, 6, 1, "", "FAILED_RELAXATION"], [186, 6, 1, "", "NOT_AVAILABLE"], [186, 6, 1, "", "SUCCESS"], [186, 4, 1, "", "__str__"]], "ocpapi.client.models._DataModel": [[186, 6, 1, "", "other_fields"]], "ocpapi.client.ui": [[187, 2, 1, "", "_API_TO_UI_HOSTS"], [187, 1, 1, "", "get_results_ui_url"]], "ocpapi.keep_all_slabs": [[188, 4, 1, "", "__call__"]], "ocpapi.keep_slabs_with_miller_indices": [[188, 4, 1, "", "__call__"]], "ocpapi.prompt_for_slabs_to_keep": [[188, 4, 1, "", "__call__"], [188, 4, 1, "", "_sort_key"]], "ocpapi.version": [[189, 2, 1, "", "VERSION"]], "ocpapi.workflows": [[193, 3, 1, "", "AdsorbateBindingSites"], [193, 3, 1, "", "AdsorbateSlabRelaxations"], [193, 3, 1, "", "Lifetime"], [193, 2, 1, "", "NO_LIMIT"], [193, 2, 1, "", "NoLimitType"], [193, 3, 1, "", "RateLimitLogging"], [193, 7, 1, "", "UnsupportedAdsorbateException"], [193, 7, 1, "", "UnsupportedBulkException"], [193, 7, 1, "", "UnsupportedModelException"], [190, 0, 0, "-", "adsorbates"], [191, 0, 0, "-", "context"], [192, 0, 0, "-", "filter"], [193, 1, 1, "", "find_adsorbate_binding_sites"], [193, 1, 1, "", "get_adsorbate_slab_relaxation_results"], [193, 3, 1, "", "keep_all_slabs"], [193, 3, 1, "", "keep_slabs_with_miller_indices"], [194, 0, 0, "-", "log"], [193, 3, 1, "", "prompt_for_slabs_to_keep"], [195, 0, 0, "-", "retry"], [193, 1, 1, "", "retry_api_calls"], [193, 1, 1, "", "wait_for_adsorbate_slab_relaxations"]], "ocpapi.workflows.AdsorbateBindingSites": [[193, 6, 1, "", "adsorbate"], [193, 6, 1, "", "bulk"], [193, 6, 1, "", "model"], [193, 6, 1, "", "slabs"]], "ocpapi.workflows.AdsorbateSlabRelaxations": [[193, 6, 1, "", "api_host"], [193, 6, 1, "", "configs"], [193, 6, 1, "", "slab"], [193, 6, 1, "", "system_id"], [193, 6, 1, "", "ui_url"]], "ocpapi.workflows.Lifetime": [[193, 6, 1, "", "DELETE"], [193, 6, 1, "", "MARK_EPHEMERAL"], [193, 6, 1, "", "SAVE"]], "ocpapi.workflows.RateLimitLogging": [[193, 6, 1, "", "action"], [193, 6, 1, "", "logger"]], "ocpapi.workflows.adsorbates": [[190, 3, 1, "", "AdsorbateBindingSites"], [190, 3, 1, "", "AdsorbateSlabRelaxations"], [190, 7, 1, "", "AdsorbatesException"], [190, 2, 1, "", "DEFAULT_CLIENT"], [190, 3, 1, "", "Lifetime"], [190, 7, 1, "", "UnsupportedAdsorbateException"], [190, 7, 1, "", "UnsupportedBulkException"], [190, 7, 1, "", "UnsupportedModelException"], [190, 2, 1, "", "_CTX_AD_BULK"], [190, 2, 1, "", "_CTX_SLAB"], [190, 2, 1, "", "_DEFAULT_ADSLAB_FILTER"], [190, 1, 1, "", "_delete_system"], [190, 1, 1, "", "_ensure_adsorbate_supported"], [190, 1, 1, "", "_ensure_model_supported"], [190, 1, 1, "", "_ensure_system_deleted"], [190, 1, 1, "", "_get_absorbate_configs_on_slab"], [190, 1, 1, "", "_get_absorbate_configs_on_slab_with_logging"], [190, 1, 1, "", "_get_adsorbate_configs_on_slabs"], [190, 1, 1, "", "_get_bulk_if_supported"], [190, 1, 1, "", "_get_slabs"], [190, 1, 1, "", "_refresh_pbar"], [190, 1, 1, "", "_relax_binding_sites_on_slabs"], [190, 1, 1, "", "_run_relaxations_on_slab"], [190, 1, 1, "", "_setup_log_record_factory"], [190, 1, 1, "", "_submit_relaxations"], [190, 1, 1, "", "_submit_relaxations_with_progress_logging"], [190, 1, 1, "", "find_adsorbate_binding_sites"], [190, 1, 1, "", "get_adsorbate_slab_relaxation_results"], [190, 1, 1, "", "wait_for_adsorbate_slab_relaxations"]], "ocpapi.workflows.adsorbates.AdsorbateBindingSites": [[190, 6, 1, "", "adsorbate"], [190, 6, 1, "", "bulk"], [190, 6, 1, "", "model"], [190, 6, 1, "", "slabs"]], "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations": [[190, 6, 1, "", "api_host"], [190, 6, 1, "", "configs"], [190, 6, 1, "", "slab"], [190, 6, 1, "", "system_id"], [190, 6, 1, "", "ui_url"]], "ocpapi.workflows.adsorbates.Lifetime": [[190, 6, 1, "", "DELETE"], [190, 6, 1, "", "MARK_EPHEMERAL"], [190, 6, 1, "", "SAVE"]], "ocpapi.workflows.context": [[191, 1, 1, "", "set_context_var"]], "ocpapi.workflows.filter": [[192, 3, 1, "", "keep_all_slabs"], [192, 3, 1, "", "keep_slabs_with_miller_indices"], [192, 3, 1, "", "prompt_for_slabs_to_keep"]], "ocpapi.workflows.filter.keep_all_slabs": [[192, 4, 1, "", "__call__"]], "ocpapi.workflows.filter.keep_slabs_with_miller_indices": [[192, 4, 1, "", "__call__"]], "ocpapi.workflows.filter.prompt_for_slabs_to_keep": [[192, 4, 1, "", "__call__"], [192, 4, 1, "", "_sort_key"]], "ocpapi.workflows.keep_all_slabs": [[193, 4, 1, "", "__call__"]], "ocpapi.workflows.keep_slabs_with_miller_indices": [[193, 4, 1, "", "__call__"]], "ocpapi.workflows.log": [[194, 2, 1, "", "log"]], "ocpapi.workflows.prompt_for_slabs_to_keep": [[193, 4, 1, "", "__call__"], [193, 4, 1, "", "_sort_key"]], "ocpapi.workflows.retry": [[195, 2, 1, "", "NO_LIMIT"], [195, 2, 1, "", "NoLimitType"], [195, 3, 1, "", "RateLimitLogging"], [195, 3, 1, "", "_wait_check_retry_after"], [195, 1, 1, "", "retry_api_calls"]], "ocpapi.workflows.retry.RateLimitLogging": [[195, 6, 1, "", "action"], [195, 6, 1, "", "logger"]], "ocpapi.workflows.retry._wait_check_retry_after": [[195, 4, 1, "", "__call__"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "data", "Python data"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:data", "3": "py:class", "4": "py:method", "5": "py:property", "6": "py:attribute", "7": "py:exception"}, "terms": {"": [20, 31, 37, 78, 91, 92, 93, 95, 106, 129, 154, 156, 157, 158, 165, 168, 173, 182, 196, 197, 200, 201, 202, 204, 208, 209, 211, 215, 216, 217, 219, 221, 223, 226, 227, 229], "0": [0, 1, 3, 5, 6, 7, 13, 14, 16, 21, 23, 25, 26, 27, 29, 37, 38, 39, 40, 41, 44, 45, 46, 48, 50, 52, 57, 58, 61, 63, 64, 66, 67, 68, 71, 76, 78, 79, 80, 81, 84, 88, 89, 91, 92, 93, 94, 98, 101, 103, 104, 106, 109, 110, 111, 112, 113, 115, 116, 118, 119, 133, 134, 149, 150, 151, 154, 156, 157, 158, 171, 172, 174, 176, 180, 185, 186, 188, 189, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 208, 209, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 228], "00": 203, "000": [198, 217], "0001": [3, 106, 217, 228], "00341": [201, 209], "0078125": 204, "01": [25, 29, 209, 217, 219, 226], "0117": 209, "0126": 209, "0139": 209, "0142": 209, "0160": 209, "0161": 209, "0163b0e8c4df6d9c426b875a28d9178a": 198, "0164": 209, "0167": 209, "0173": 209, "0179": 209, "0186": 209, "0191": 209, "0193": 209, "01c879067a05b4288055a1fdf821e068": 197, "02": [63, 64, 113, 115, 209, 223, 224], "0211": 209, "0216": 209, "0225": 209, "023": 209, "0257": 209, "0267": 209, "027": 209, "02782": 212, "02825": 209, "0294": 209, "03": [209, 223], "030": 209, "03150": [109, 110], "032": 209, "0321": 217, "0329": 209, "0334": 209, "04": [211, 217], "043e1e0b0cce64c62f01a8563dbc3178": 200, "0443": 209, "0444": 209, "0494": 209, "05": [5, 6, 7, 48, 50, 52, 118, 199, 214, 217, 219, 221, 223, 224, 226, 228], "0511": 209, "0568": 209, "0576": 209, "059": 209, "0594": 209, "0595": 209, "06": [203, 209], "0614": 209, "065": 209, "0668": 217, "0673": 209, "0684": 209, "0693": 209, "0737": 209, "0741": 209, "0743": 209, "079041076c3f15d18ecb5d17c509cdf": 197, "08": 209, "0815": 217, "0823047bbbe05fa0e63f9d83ec601487": 197, "08917": 209, "09435": 217, "09913759c6e0f8d649f7ec9dff9e0e8b": 201, "09990": 209, "0c04525": [197, 209, 216], "0g": 197, "1": [0, 1, 2, 3, 5, 6, 7, 13, 16, 26, 27, 31, 37, 38, 43, 44, 45, 46, 48, 49, 50, 52, 56, 63, 64, 65, 68, 70, 72, 76, 78, 81, 82, 83, 85, 88, 89, 91, 92, 93, 94, 97, 104, 106, 110, 111, 113, 115, 116, 117, 118, 119, 124, 128, 129, 133, 134, 154, 156, 157, 158, 171, 172, 180, 183, 185, 186, 188, 189, 190, 193, 195, 196, 198, 199, 200, 202, 203, 204, 208, 209, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228], "10": [5, 44, 48, 50, 53, 63, 64, 78, 91, 94, 106, 111, 112, 113, 115, 119, 154, 158, 188, 190, 193, 197, 199, 202, 203, 204, 208, 209, 212, 214, 216, 217, 221, 223, 226, 227, 228], "100": [25, 31, 37, 39, 57, 58, 149, 150, 151, 154, 156, 157, 209, 214, 217, 218, 219, 221, 223, 224, 228], "1000": [208, 217, 218, 224], "1000000": 197, "1000000000": 29, "1002": 204, "1006m": 197, "100k": [209, 217], "1021": [197, 202, 209, 216, 221, 223], "1039": 226, "109": 1, "1099511627776": [208, 217], "109g": 197, "109m": 200, "10k": [204, 209, 211, 217], "10x": 197, "10z": [217, 219], "11": 205, "111": [199, 214, 223], "112g": 198, "11500": 197, "116": 204, "118": 223, "1180": 217, "11948267": 204, "12": [48, 50, 78, 91, 106, 109, 110, 111, 158, 182, 197, 209, 217, 219], "12059": 212, "126": 212, "127": 209, "128": [44, 48, 50, 63, 64, 109, 110, 112, 113, 115, 204, 217], "12a7087bfd189a06ccbec9bc7add2bcd": 197, "13": [78, 91, 106, 111, 197, 204, 208, 217, 218, 219, 221], "130m": 197, "133934018": 197, "133953162": 197, "134": 221, "134m": 217, "135m": 208, "136g": 197, "13dc06c6510346d8a7f614d5b26c8ffa": 200, "14": [217, 219], "145": 197, "147m": 201, "15": [221, 229], "150": [31, 37, 196], "151g": 197, "153m": 209, "16": [1, 48, 50, 127, 197, 217, 221], "162f0660b2f1c9209c5b57f7b9e545a7": 201, "165g": 197, "170": 203, "172g": 201, "17g": 197, "18": [36, 209, 217, 219], "181": 210, "185k": 217, "18793": 200, "18793_clean_3hdhbg6tiz": 200, "18g": 201, "19": [161, 221], "1ba0bc266130f186850f5faa547b6a02": 198, "1d": [76, 89], "1d140aaa2e7b287124ab38911a711d70": 197, "1e": [52, 224], "1ev": [0, 1], "1f": [202, 204, 221], "1g": [197, 201], "1m": [217, 229], "1t": 197, "1x1": [113, 115, 117], "2": [0, 1, 5, 13, 16, 26, 29, 36, 41, 44, 45, 48, 50, 52, 53, 55, 61, 63, 64, 70, 71, 78, 83, 84, 91, 92, 93, 97, 98, 101, 106, 110, 111, 113, 115, 117, 121, 129, 154, 155, 156, 158, 168, 174, 185, 186, 188, 190, 193, 195, 196, 198, 200, 201, 202, 203, 204, 208, 209, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 228], "20": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 113, 115, 116, 118, 119, 124, 128, 129, 174, 203, 204, 209, 217, 219, 221, 226], "200": [5, 31, 37, 133, 134, 196, 199, 216, 217, 226, 228], "2000": 101, "200k": [197, 209, 217], "201": 223, "2010": [209, 217], "2014": 223, "2015": 202, "2016": [204, 229], "2020": [44, 216, 217], "2021": [76, 89, 104, 109, 110, 141, 209, 216, 217, 220], "2022": 226, "2023": [200, 212, 216, 221], "2024": 216, "20atom": 217, "20data": 223, "20environ": 217, "20g": [197, 200], "20gnu": 217, "20lgpl": 217, "20licens": 217, "20m": [197, 209, 217], "20simul": 217, "20th": 217, "20the": 217, "21": [52, 136, 161, 209], "2102": [109, 110], "214ca96e620c5ec6e8a6ff8144a22a04": 197, "2190": 221, "2201": 221, "2204": 212, "2206": 209, "22179": 197, "225g": 197, "23": 48, "2306": 212, "2311": [201, 209], "232g": 201, "234": 1, "236fe4e950aa2fbdde94ef2821fb48d2": 197, "24": [217, 219], "2409": 199, "24930": 197, "24931": 197, "24936": 197, "24943": 197, "24946": 197, "24948": 197, "24951": 197, "24961": 197, "24963": 197, "24965": 197, "24966": 197, "24967": 197, "24985": 197, "24986": 197, "24987": 197, "24988": 197, "25": [25, 217, 219, 223], "25115": 204, "25597": 223, "256": [44, 63, 64, 113, 115, 217, 226], "25602": 223, "25k": [197, 217], "26": 209, "264": 223, "267": 211, "27": [217, 219], "2772": 217, "28": 209, "294k": 197, "29d1b992715054e920e8bb2afe97b393": 197, "29g": [197, 198], "2a27de122d32917cc5b6ac0a21c63c1c": 197, "2b355741f9300445703270e0e4b8c01c": 197, "2c05877": 221, "2d": [77, 90, 105], "2d71adb9e305e6f3bca49e5df9b5a86a": 197, "2f": [221, 223, 228], "2g": [197, 201], "2m": [197, 203, 209, 211, 217], "2o2": 223, "3": [5, 21, 44, 60, 63, 64, 78, 91, 92, 93, 106, 111, 112, 136, 154, 158, 173, 188, 193, 195, 197, 198, 199, 200, 202, 208, 210, 212, 217, 218, 219, 221, 223, 224, 226, 228], "30": [119, 155, 156, 188, 190, 193, 202, 217, 219, 224], "300": [180, 199, 211, 224, 228], "306g": 197, "30859": 200, "30g": 197, "31m": [203, 209, 221, 223, 224, 228], "32": [48, 50, 217], "33": [1, 228], "34": 209, "343039": 221, "344m": 197, "347f4183465810e9b384e7a033baefc7": 197, "34815": 200, "34g": [197, 200], "35": [217, 219], "350k": 197, "35g": 197, "3630": 202, "3639": 202, "3671793937683105": 211, "368de083dafdc3bbdb560d35e2a102c0": 197, "3697f04faf04251a23da8b88a78209f7": 197, "36ba974d80c20ff636431f7c0ad225da": 197, "381e72fd8b9c055065fd3afff6b0945b": 201, "386c99407fe63080d26cda525dfdd8cd": 197, "390": 203, "395238876342773": 48, "3c1aaf790659f7ff89bf1eed8b396b63": 197, "3cc90425ec042a70085ba7eb2916a79a": 197, "3d": [105, 154, 217], "3e": 211, "3e26c3bcef01ccfc9b001931065ea6e6": 198, "3f": 202, "3g": [197, 199], "3rd": 158, "3x": 110, "3x3": [185, 186, 188, 217, 219], "4": [6, 7, 44, 78, 91, 94, 106, 111, 153, 154, 155, 156, 168, 197, 199, 200, 201, 202, 203, 209, 211, 217, 221, 223, 224, 227, 228, 229], "40": [63, 64, 119, 226], "400": 204, "40431149b27b64ce1fb40cac4e2e064b": 197, "415g": 197, "417": 209, "41af": 216, "42": [27, 226], "423ffd0c67f5": 212, "424m": 200, "42g": 197, "431ab0d7557a4639605ba8b67793f053": 197, "44": 223, "447": 209, "448f7d352ab6e32f754e24de64ca302a": 197, "44g": 197, "45": [199, 217, 219], "45150244": 216, "45264": [76, 89, 104], "456": 1, "458": [202, 209], "45y": [217, 219], "460328": 197, "460k": 217, "461313": 197, "466k": 197, "467": 209, "46g": 197, "473f": 212, "47573199c545afe46c554ff756c3e38f": 197, "476g": 201, "4822a06f6c5f41bdefd3cbbd8856c11f": 197, "482ee306a5ae2eee78cac40d10059ebc": 197, "483": [202, 209], "48877a0c6f2994baac82cb722711aaa2": 197, "489": 1, "494": 46, "4_neb1": 199, "4ddcccd62a834a76fe6167461f512529": 197, "4dfab479495f76179749c1956046fbd8": 197, "4g": 197, "4m": 217, "4th": 199, "5": [2, 5, 43, 44, 45, 46, 48, 49, 50, 52, 56, 70, 76, 78, 83, 89, 91, 97, 101, 104, 106, 110, 111, 115, 116, 118, 119, 124, 128, 129, 156, 158, 164, 171, 172, 197, 201, 202, 203, 204, 209, 214, 217, 221, 223, 224, 226, 228, 229], "50": [21, 29, 66, 67, 79, 80, 92, 93, 101, 104, 109, 110, 112, 116, 119, 204, 208, 211, 217, 218, 219, 221, 229], "500": [48, 50], "50a6ff098f9ba7adbba9ac115726cc5a": 197, "51154989": [78, 91, 106, 111], "512": [48, 50, 109, 110, 217], "52af34a93758c82fae951e52af445089": 199, "532d6cd1fe541a0ddb0aa0f99962b7db": 197, "534m": 201, "5418a1b331f6c7689a5405cca4cc8d15": 197, "542": 204, "544": 13, "54722937": 210, "55": 209, "559": 216, "559112": 200, "559112_ryqxa0n0uc_ohyukozy3g": 200, "56": 209, "563": [203, 209], "5639": 209, "5728": 209, "5731862978d80502bbf7017d68c2c729": 197, "58": 223, "5872c21c": 216, "59": 203, "5999": 209, "5ced8ea84584aa229d31e693e0fb090f": 197, "5g": [197, 199], "5x": 197, "6": [5, 21, 29, 44, 66, 67, 78, 79, 80, 91, 92, 93, 106, 109, 110, 111, 112, 113, 115, 119, 133, 134, 197, 199, 202, 208, 209, 210, 211, 217, 218, 223, 224], "60": 3, "60ac9f965f9589a3389483e3d1e58144": 197, "6199": 209, "63": 226, "636": 226, "6388": 209, "64": [44, 209, 217], "644": 226, "6458": 209, "6510": 197, "654m": 198, "658": 198, "66": 209, "6604e7130ea41fabff93c229af2486433093e3b4": 218, "6658": 209, "66acc5460a999625c3364f0f3bcca871": 197, "66df44121806debef6dc038df7115d1d": 197, "68": [209, 223], "682": 209, "682d8a6b05ca5948b34dc5e5f6bbcd61": 197, "6877": 200, "69": 197, "6_1134_23": 1, "6a": 217, "6b": 222, "6ffa903a62d8ec3319ecec6a03b06276": 197, "6g": 197, "7": [44, 78, 91, 106, 111, 217, 219, 221, 223, 226], "70": [211, 217], "700834326e789a6e38bf3922d9fcb792": 197, "7137": 209, "71g": 200, "72": 209, "7554450631141663": 217, "7586356401443481": 211, "75x": [217, 219], "76": 203, "77": 48, "781g": 201, "78d25997e0aaf754df526ab37276bb89": 198, "7979b9e7ab557d6979b33e352486f0ef": 197, "7_6566_62": 1, "7bcae43cee451306e34ec416588a7f09": 197, "7e123e6f4fb10d6897be3f47721dfd4a": 197, "7eaa0d63": 212, "7g": 197, "8": [27, 44, 48, 50, 63, 64, 78, 91, 101, 106, 111, 113, 115, 156, 158, 174, 197, 199, 204, 205, 209, 211, 217, 219, 223, 228], "80": [202, 217], "809m": 201, "80g": 200, "81": [197, 203], "8106": 217, "81317": 48, "81927b78d9e4184cc3c398e79760126a": 201, "82": 197, "83": [66, 67, 92, 93, 109, 110, 199, 217], "83aa": 212, "83m": 209, "841g": 197, "84424aa2ad30301e23ece1438ea39923": 197, "85": [197, 198], "850m": 197, "863bc983245ffc0285305a1850e19cf7": 197, "8837": 209, "887317180633545": 217, "88dcc02fd8c174a72d2c416878fc44ff": 197, "8bff6bf3e10cc84acc4a283a375fcc23": 197, "8cfbb67beb312b98c40fcb891dfa480a": 197, "8ee1066149c305d7c17c219b369c5a73": 197, "8f39": 216, "8g": [197, 198], "8hr": 211, "9": [78, 91, 106, 111, 158, 197, 198, 199, 203, 212], "90": [48, 50, 63, 64, 113, 115, 209], "906543aaefc171edab388ff4f0fe8a20": 197, "90x": [214, 223], "91": 209, "918b20960438494ab160a9dbd9668157": 197, "93": 36, "932": 199, "94486": [76, 89, 104], "95": 226, "953474cb93f0b08cdc523399f03f7c36": 197, "960c2450814024b66f3c79121179ac60": 197, "969171404838562": 211, "977b6be1cbac6864e63c4c7fbf8a3fc": 200, "979": 204, "97g": 197, "981738567352295": 211, "986": 223, "987": 204, "9881": 209, "999": 217, "999736": 197, "999809": 197, "999826": 197, "999838": 197, "999859": 197, "999866": 197, "999944": 197, "999973": 197, "9ac71e198d75b1427182cd34abb73e4d": 197, "9c9e4d617d306751760a80f1453e71f1": 197, "9dbcf7566e40965dd7f8a186a75a718": 197, "9e3ed4d1e497bfdce4472ee70455edef": 197, "9e5912df6f7b11706d1046cdb9e3087": 197, "9f352fbc32bb2b8caf4788aba28b2eb7": 197, "9fed845aaab8fb4bf85e3a8db57796e0": 197, "9g": 197, "9th": 199, "A": [1, 11, 21, 29, 44, 92, 93, 110, 112, 133, 134, 153, 154, 156, 158, 168, 169, 173, 188, 190, 193, 195, 197, 198, 201, 202, 203, 204, 207, 208, 211, 212, 216, 217, 218, 219, 224, 225, 229], "AND": [44, 110, 207, 217], "AS": [44, 110, 207, 217], "ASE": [21, 23, 31, 37, 38, 133, 134, 165, 185, 186, 188, 197, 198, 199, 203, 217, 218, 219, 221, 224, 228, 229], "And": [205, 224, 228], "As": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 199, 204, 208, 217, 220, 221, 223, 224], "At": [11, 202, 211, 217, 219, 223], "BE": [44, 110, 207, 217], "BUT": [44, 110, 207, 217], "Be": 221, "But": [66, 67, 79, 80, 203, 226, 228], "By": [110, 202, 210, 217, 224, 228], "FOR": [3, 44, 110, 207, 217], "For": [0, 1, 5, 13, 29, 31, 37, 39, 40, 51, 52, 55, 60, 61, 106, 129, 141, 153, 154, 156, 158, 173, 184, 185, 188, 197, 198, 199, 200, 201, 202, 203, 209, 210, 211, 212, 216, 217, 219, 221, 223, 224, 226, 228], "IN": [44, 110, 207, 217], "If": [0, 1, 11, 16, 20, 23, 26, 29, 31, 37, 48, 50, 55, 61, 66, 67, 69, 71, 79, 80, 82, 84, 92, 93, 96, 98, 109, 110, 112, 122, 131, 158, 166, 168, 171, 172, 184, 185, 186, 188, 190, 193, 195, 196, 197, 199, 203, 204, 205, 208, 210, 211, 212, 216, 217, 218, 219, 221, 223, 224, 226, 228], "In": [1, 13, 31, 37, 71, 73, 84, 86, 95, 98, 110, 154, 156, 157, 158, 168, 197, 199, 200, 202, 203, 204, 208, 210, 211, 212, 217, 218, 219, 221, 223, 226, 229], "It": [1, 5, 11, 16, 31, 66, 67, 79, 80, 95, 158, 168, 185, 186, 188, 190, 193, 196, 198, 199, 202, 203, 204, 216, 217, 219, 221, 223, 224, 226, 227], "NO": [44, 110, 197, 207, 217], "NOT": [44, 110, 207, 217], "No": [92, 93, 217], "Not": [31, 37, 203], "OF": [44, 110, 207, 217], "OR": [44, 110, 207, 217], "On": [48, 50, 63, 64, 113, 115, 210, 212, 227, 228], "One": [158, 180, 197, 199, 217, 226, 227], "Or": 211, "Such": 13, "THE": [44, 110, 207, 217], "TO": [44, 110, 207, 217, 219], "That": [202, 204, 224, 226, 228], "The": [0, 1, 2, 5, 11, 12, 13, 16, 21, 26, 29, 31, 37, 38, 39, 40, 44, 48, 50, 51, 52, 57, 58, 61, 63, 64, 95, 110, 112, 113, 115, 122, 133, 134, 150, 151, 153, 156, 158, 168, 169, 171, 172, 184, 185, 186, 187, 188, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 202, 205, 207, 209, 210, 211, 212, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "Then": [0, 5, 16, 158, 202, 203, 221, 223, 229], "There": [16, 31, 37, 158, 168, 196, 199, 202, 203, 211, 217, 223, 224, 228, 229], "These": [21, 106, 196, 197, 202, 203, 211, 217, 221, 223, 228, 229], "To": [16, 37, 38, 39, 45, 46, 49, 131, 156, 158, 168, 196, 197, 200, 204, 205, 210, 211, 214, 215, 217, 218, 219, 221, 223, 228, 229, 230], "WITH": [44, 110, 207, 217], "With": [52, 154, 156, 203, 208, 217, 221], "_": [110, 112, 203, 204, 221, 224, 226], "__author__": 173, "__authors__": 168, "__call__": [12, 13, 26, 29, 60, 132, 188, 192, 193, 195], "__email__": [168, 173], "__enter__": [37, 38], "__eq__": [155, 156, 158], "__exit__": [37, 38], "__file__": 221, "__getitem__": [31, 37, 39, 40], "__getitems__": [37, 39], "__import_error": 20, "__init__": [13, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 217], "__iter__": 13, "__len__": [13, 31, 37, 39, 40, 153, 155, 156, 158], "__repr__": [26, 52, 53, 56, 109, 110, 153, 155, 156, 158], "__str__": [153, 155, 156, 158, 185, 186, 188], "__version__": [10, 167, 188], "_api_to_ui_host": 187, "_avg_degre": 48, "_avg_num_nod": 48, "_backward": [149, 150], "_check_consist": 129, "_clean_up_input": 173, "_cli": [42, 183], "_compute_loss": [150, 151], "_compute_metr": [150, 151], "_ctx_ad_bulk": 190, "_ctx_slab": 190, "_data_parallel_group": 16, "_datamodel": [185, 186, 188], "_default_adslab_filt": [188, 190, 193], "_delete_system": 190, "_enforce_consist": [128, 129], "_ensure_adsorbate_support": 190, "_ensure_model_support": 190, "_ensure_system_delet": 190, "_error_msg": [128, 129], "_expand_edg": [56, 65], "_find_combos_to_check": [154, 156], "_forward": [44, 112, 150, 151], "_forward_help": [113, 115], "_from_grid": [56, 65], "_gather": 16, "_gather_with_pad": 16, "_get_absolute_map": 20, "_get_absorbate_configs_on_slab": 190, "_get_absorbate_configs_on_slab_with_log": 190, "_get_adsorbate_configs_on_slab": 190, "_get_adsorbate_from_random": [153, 156], "_get_bulk_from_random": [155, 156], "_get_bulk_if_support": 190, "_get_connect": [171, 172], "_get_neighbors_pymatgen": [133, 134], "_get_paramet": 122, "_get_project_root": 29, "_get_projected_point": [154, 156], "_get_row": [37, 38], "_get_row_by_index": [37, 38], "_get_scaled_norm": [154, 156], "_get_slab": 190, "_get_timestamp": [149, 150], "_graph_parallel_group": 16, "_grid_act": [56, 65], "_h": 221, "_hasmetadata": 13, "_i": [110, 112], "_import_local_fil": 29, "_incompatiblekei": 29, "_init_edge_rot_mat": [48, 50, 63, 64, 113, 115], "_init_weight": [48, 50], "_initi": 65, "_j": [110, 112], "_jd": [62, 65, 117], "_l_primari": [56, 65], "_load_adsorb": [153, 156], "_load_dataset": 13, "_load_dataset_get_id": [31, 37], "_load_id": [37, 38], "_load_scale_dict": 126, "_local_metadata": [128, 129], "_m_primari": [56, 65], "_missing_kei": [128, 129], "_nextid": [37, 38], "_nnh": 221, "_observ": [128, 129], "_predict": 211, "_prefilled_input": 127, "_process_error": [147, 148], "_rank_edge_dist": [113, 115], "_reduc": 16, "_reduce_edg": [56, 65], "_refresh_pbar": 190, "_relax_binding_sites_on_slab": 190, "_report_incompat_kei": 29, "_reshape_featur": [133, 134], "_resolve_scale_factor_submodul": 29, "_rotat": [56, 65], "_rotate_inv": [56, 65], "_run_relaxations_on_slab": 190, "_run_request": [184, 185, 188], "_select": [37, 38], "_setup_log_record_factori": 190, "_sort_kei": [188, 192, 193], "_split": 16, "_split_tensor": 16, "_standard": [68, 81, 94], "_stat": [128, 129], "_strict": [128, 129], "_submit_relax": 190, "_submit_relaxations_with_progress_log": 190, "_t": 28, "_train_batch": 127, "_unexpected_kei": [128, 129], "_uniform_init_linear_weight": [48, 50], "_uniform_init_rad_func_linear_weight": [48, 50], "_unwrapped_model": [149, 150, 226], "_updat": [37, 38], "_util": [37, 42, 183], "_wait_check_retry_aft": 195, "_write": [37, 38], "_write_adslab": 169, "_write_deleted_id": [37, 38], "_z_rot_mat": [62, 65, 117], "a0": 226, "a193b4c72f915ba0b21a41790696b23c": 197, "a21081f3f55eb0c98a91021bbe3dac44": 197, "a2a_graph": [92, 93, 103], "a2ee2a_graph": [92, 93, 103], "a2g": [208, 217, 218], "a2g_arg": [31, 37, 196, 202, 204, 227], "a405ce403018bf8afbd4425d5c0b34d5": 197, "a_0": [76, 89, 104], "aa": 226, "ab": [109, 110, 202, 204, 209, 212], "abc": [19, 29, 31, 121, 122, 133, 134, 149, 150], "abhishek": [197, 200, 201, 209, 212, 216, 217], "abhshkdz": 217, "abl": [202, 203, 227], "about": [5, 95, 154, 156, 184, 185, 186, 188, 190, 196, 197, 200, 202, 204, 208, 214, 217, 221, 223, 224, 226, 228, 230], "abov": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 168, 197, 204, 207, 208, 209, 211, 212, 217, 218, 219, 223, 224, 226, 227, 228, 229], "absolut": [5, 27, 29, 202, 217, 219], "absorb": [185, 186, 188], "abstract": [19, 31, 37, 39, 43, 44, 148, 149, 150], "ac": [197, 200, 202, 209, 216, 217, 221], "ac84": 212, "accedingsequencelengthbatchsampl": 13, "accedingsequencelengthsampl": 13, "acceler": [110, 182, 199, 213, 217, 229], "accept": [16, 37, 39, 45, 46, 49], "acces": 217, "access": [199, 211, 212, 224, 226], "accident": [5, 158], "accompani": [110, 200], "accord": [68, 81, 94, 158, 202, 217, 219], "accordingli": [197, 205, 211, 217], "account": [112, 133, 134, 217, 223], "accumul": [202, 226, 229], "accur": [158, 202, 203, 217], "accuraci": [202, 217, 219], "achiev": [11, 21, 217, 228], "across": [1, 5, 48, 50, 52, 182, 197, 198, 211, 217, 221], "acscat": [197, 209, 216, 221], "act": [13, 20, 44, 53, 56, 63, 65, 115, 118, 119], "action": [44, 110, 184, 185, 188, 193, 195, 207, 217], "activ": [42, 44, 48, 50, 61, 63, 66, 67, 69, 70, 73, 75, 79, 80, 82, 83, 86, 88, 92, 93, 96, 97, 100, 103, 107, 120, 183, 205, 210, 211, 217, 221, 226], "active_discoveri": 20, "activediscoverytrain": 20, "actual": [197, 217, 226], "ad": [92, 93, 96, 153, 154, 156, 185, 186, 188, 193, 195, 197, 200, 208, 211, 217, 219, 220, 221, 223], "adamw": 217, "adapt": [29, 78, 91, 106, 111, 158, 226, 229], "add": [5, 11, 31, 46, 48, 50, 53, 56, 66, 67, 79, 80, 92, 93, 109, 110, 112, 190, 197, 202, 212, 217, 221, 223, 224], "add_additional_inform": 204, "add_adsorb": [203, 208, 214, 217, 218, 219, 223], "add_core_arg": 15, "add_edge_distance_to_graph": 29, "addfilt": 227, "addhandl": 227, "addit": [5, 31, 37, 48, 50, 110, 182, 196, 197, 202, 208, 212, 219, 220, 223, 224], "addition": [29, 208, 217, 220], "address": [31, 37, 158, 168, 196, 217], "adeesh": [200, 209, 217], "adequ": [224, 228], "adj_edg": 95, "adjac": [5, 95], "adjust": [202, 228], "administr": 205, "adopt": 217, "adorb": 212, "adosrb": 200, "ads0": 169, "ads1": 169, "ads_id": 197, "ads_len": 224, "ads_symbol": [197, 200], "adslab": [169, 188, 190, 192, 193, 208, 212, 217, 218, 219, 221, 224], "adslab_filt": [188, 190, 193, 212], "adslab_obj": 169, "adsorb": [2, 5, 92, 93, 152, 154, 156, 157, 158, 163, 167, 169, 171, 172, 183, 184, 185, 186, 188, 193, 198, 200, 208, 209, 210, 211, 214, 217, 218, 219, 222, 223, 228, 229], "adsorbate1": 5, "adsorbate2": 5, "adsorbate_atom": [153, 154, 156], "adsorbate_binding_index": 224, "adsorbate_binding_indic": [153, 156], "adsorbate_c": [154, 156], "adsorbate_c2": [154, 156], "adsorbate_config": [184, 185, 186, 188, 190], "adsorbate_db": [153, 156], "adsorbate_db_path": [6, 8, 153, 156, 221, 228], "adsorbate_h": 221, "adsorbate_id_from_db": [153, 156, 228], "adsorbate_idx": [154, 156], "adsorbate_index": 169, "adsorbate_nnh": 221, "adsorbate_pkl_path": [153, 156, 160, 228], "adsorbate_react": [185, 186, 188], "adsorbate_reference_energi": [217, 219], "adsorbate_slab_config": [5, 152, 156, 167, 183], "adsorbate_slab_configur": 154, "adsorbate_smil": 224, "adsorbate_smiles_from_db": [153, 156, 221, 224], "adsorbate_smiles_h": 221, "adsorbate_smiles_nnh": 221, "adsorbatebindingsit": [188, 190, 193, 212], "adsorbates_support": [185, 186, 188, 212], "adsorbatesexcept": [188, 190, 193], "adsorbatesitefind": [154, 156, 157], "adsorbateslabconfig": [154, 156, 157, 184, 185, 186, 188, 190, 192, 193, 221, 224, 228], "adsorbateslabrelax": [188, 190, 193], "adsorbateslabrelaxationresult": [185, 186, 188, 190, 193, 212], "adsorbateslabrelaxationsrequest": [184, 185, 186, 188], "adsorbateslabrelaxationsresult": [184, 185, 186, 188], "adsorbateslabrelaxationssystem": [184, 185, 186, 188], "adsorbml": [198, 212, 216, 221], "adsorbt": 219, "adsorpt": [1, 5, 168, 197, 198, 200, 203, 208, 209, 210, 211, 212, 219, 221, 229], "adsorption_data": 176, "adsorption_data_defect": 176, "adsorption_energi": [217, 219], "adsorption_sit": [197, 198], "advanc": 217, "advantag": [211, 217, 224], "advis": [31, 37, 202], "aecc5e23542de49beceb4b7e44c153b9": 197, "aed414cdd240fbb5670b5de6887a138b": 197, "af": 228, "af9817f0aff": 216, "affect": [122, 154, 156, 157, 197, 217, 218, 221, 223], "affili": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207], "affin": [33, 52, 158, 168], "after": [12, 44, 48, 50, 61, 66, 67, 73, 75, 78, 79, 80, 86, 88, 91, 92, 93, 96, 100, 103, 106, 111, 122, 153, 156, 188, 193, 195, 203, 210, 211, 212, 221, 224, 226], "ag": 223, "again": [185, 186, 188, 202, 217], "against": [184, 185, 188], "agg": [217, 219], "agg2_out_s": [99, 103], "aggr": 110, "aggr_kwarg": 110, "aggreg": [51, 63, 66, 67, 69, 79, 80, 82, 92, 93, 95, 96, 99, 110, 112, 113, 115, 117, 210], "ago": 229, "agreement": [166, 202, 223], "ahead": 217, "ai": [217, 220], "aim": 217, "aini": [168, 197, 209, 212, 216, 217], "air": 216, "aka": 226, "akolluru": 217, "al": [109, 110, 217, 221], "alert": 203, "algo": 158, "algorithm": [158, 217], "align": [5, 158, 168], "all": [1, 2, 5, 13, 16, 21, 27, 29, 31, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 53, 55, 56, 61, 63, 66, 67, 70, 79, 80, 83, 92, 93, 95, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 141, 154, 156, 157, 158, 163, 168, 169, 184, 185, 186, 188, 190, 192, 193, 196, 197, 198, 200, 201, 202, 203, 205, 207, 209, 210, 211, 216, 217, 218, 219, 222, 223, 224, 226, 227, 228, 229], "all_converg": 11, "all_gath": 14, "all_reduc": 14, "all_slabs_info": [158, 168], "all_system": 5, "all_system_energi": 5, "all_systems_binding_idx": 5, "alloc": 203, "alloi": 222, "allow": [5, 11, 29, 31, 37, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 106, 110, 115, 116, 118, 119, 124, 128, 129, 171, 172, 184, 185, 188, 190, 193, 199, 202, 217, 218, 223, 227, 228], "allow_pickl": 204, "allow_shared_calcul": [6, 7], "allowed_model": [188, 190, 193], "allowed_radius_max": 5, "allowed_radius_min": 5, "allpop": 180, "along": [5, 48, 50, 51, 61, 110, 154, 156, 157, 158, 164, 185, 186, 188, 199, 200, 201, 208, 217], "alpha": [25, 48, 50, 61, 62, 65, 117, 202, 211, 217], "alpha_drop": [48, 50, 61], "alreadi": [2, 107, 108, 154, 155, 156, 169, 185, 186, 188, 196, 203, 223, 227], "also": [1, 11, 16, 37, 39, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 153, 156, 158, 168, 185, 186, 188, 196, 198, 201, 202, 203, 204, 205, 209, 211, 212, 215, 217, 218, 223, 224, 226, 227, 229], "altern": [204, 211, 212, 217, 219, 223, 224, 227], "although": [110, 196, 202, 211, 217], "alwai": [13, 109, 110], "am": 224, "am4059149": 202, "ambigu": 203, "amedford6": 174, "ammar": [200, 209], "ammonia": 217, "among": [212, 224], "amongst": [48, 50, 92, 93], "amount": [195, 223], "amp": [57, 58, 101, 149, 150, 151, 202, 203, 204, 217, 227], "amsgrad": 217, "an": [0, 1, 2, 5, 13, 16, 20, 27, 29, 31, 37, 39, 43, 44, 45, 46, 49, 52, 53, 55, 56, 63, 70, 83, 97, 104, 106, 110, 115, 116, 118, 119, 122, 124, 128, 129, 133, 134, 149, 150, 153, 154, 155, 156, 158, 162, 166, 168, 171, 172, 180, 184, 185, 186, 188, 190, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 208, 211, 212, 213, 214, 215, 216, 218, 219, 223, 224, 226, 227, 229], "analogi": 110, "analys": [2, 221], "analysi": [197, 221, 227], "analyz": [211, 217, 221], "anatomi": 199, "andrew": [168, 173, 201, 209, 217], "ang": 228, "ang_mom": 29, "angl": [26, 62, 65, 66, 67, 75, 79, 80, 88, 92, 93, 103, 106, 117, 156, 157, 217], "angle_ab": 106, "angle_cab": 106, "angle_cabd": [92, 93], "angstom": [133, 134], "angstrom": [48, 50, 63, 64, 66, 67, 76, 79, 80, 89, 92, 93, 104, 113, 115, 133, 134, 154, 156, 157, 158, 217, 226], "angular": 29, "ani": [2, 5, 13, 16, 21, 29, 31, 37, 39, 40, 44, 110, 153, 154, 155, 156, 158, 171, 172, 184, 185, 188, 190, 191, 192, 193, 195, 197, 199, 200, 201, 203, 205, 207, 209, 210, 211, 212, 217, 218, 223, 227], "anl": 223, "annoi": 227, "annot": 221, "announc": 216, "anom": [221, 224], "anomali": [2, 197, 224], "anomalies_by_sid": 2, "anomol": [221, 224], "anoth": [158, 199, 203, 210, 217, 219, 226], "answer": [203, 210], "anuroop": [197, 200, 201, 209, 216, 217], "anyth": 226, "apart": 217, "api": [184, 185, 186, 187, 188, 190, 193, 195, 212], "api_host": [185, 187, 188, 190, 193], "appear": [197, 229], "append": [57, 58, 110, 150, 151, 204, 217, 218, 221, 224, 226, 228], "appl": 202, "appli": [5, 11, 16, 31, 37, 46, 112, 190, 217, 219], "applic": [5, 57, 58, 110, 150, 151, 199, 208, 216, 217, 219, 226, 228, 229], "apply_constraint": [25, 217, 219], "apply_one_tag": [31, 37], "approach": [202, 204, 211, 214, 216, 217, 221, 224, 228, 229], "appropri": [29, 31, 37, 133, 134, 158, 205], "approxim": [48, 50, 63, 64, 113, 115, 217, 219], "apt": 5, "aquisit": 198, "ar": [0, 1, 2, 5, 11, 12, 13, 16, 21, 29, 31, 37, 38, 39, 40, 45, 46, 48, 49, 50, 52, 53, 57, 58, 66, 67, 68, 71, 79, 80, 81, 84, 92, 93, 94, 95, 98, 109, 110, 122, 133, 134, 136, 150, 151, 153, 154, 156, 157, 158, 164, 168, 173, 184, 185, 186, 188, 190, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 211, 212, 214, 216, 217, 219, 221, 223, 224, 226, 227, 228, 229], "arbitrari": [16, 29, 180, 208, 216, 217, 219], "arbitrarili": [0, 1, 48, 50, 92, 93], "arbitrarli": 218, "architectur": [210, 217, 229], "are_all_adsorbate_atoms_overlap": 5, "area": 217, "aren": 221, "arg": [2, 12, 16, 29, 31, 37, 38, 48, 50, 92, 93, 141, 142, 143, 144, 145, 146, 166, 168, 169, 173, 185, 186, 188, 190, 193, 217, 224, 227], "argpars": [15, 136, 141, 143, 144, 146, 169], "args_overrid": [29, 227], "argsort": [13, 204], "argument": [12, 13, 16, 29, 31, 37, 46, 56, 70, 71, 83, 84, 97, 98, 110, 112, 129, 158, 168, 173, 196, 197, 211, 217, 218, 219, 221, 227], "argumentpars": [15, 136, 144, 146], "aris": [44, 110, 207, 217], "arosen93": 36, "around": [5, 26, 112, 133, 134, 182, 188, 190, 193, 218, 226, 227, 228, 229], "arrai": [133, 134, 202, 204, 217, 219, 224, 226, 229], "arriv": [217, 219], "art": [217, 223, 229], "articl": [197, 200, 201, 202, 209, 212, 216], "arxiv": [109, 110, 201, 209, 212, 216, 217, 223], "ascii": [37, 39, 40, 208, 217], "asctim": 227, "ase": [5, 6, 7, 11, 21, 27, 31, 37, 38, 133, 134, 136, 153, 154, 155, 156, 158, 161, 168, 171, 172, 173, 185, 186, 188, 196, 197, 199, 202, 203, 204, 208, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "ase_atom": 212, "ase_dataset": [37, 42, 183], "ase_db": [27, 196, 202, 204, 227], "ase_read": 196, "ase_read_arg": [31, 37, 196], "ase_read_multi": 196, "ase_relax": 182, "ase_relax_job": 182, "ase_util": [18, 22, 42, 183, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228], "aseatomsadaptor": 133, "aseatomsdataset": [31, 37], "asedbdataset": [31, 37], "aselmdbdataset": [31, 37], "aseneb": [6, 7], "asereaddataset": [31, 37], "asereadmultistructuredataset": [31, 37], "ask": [21, 212], "assert_is_inst": 28, "assess": [5, 11, 171, 172, 198, 199, 221, 224], "asset": 216, "assign": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 106, 110, 112, 115, 116, 118, 119, 124, 128, 129, 185, 186, 188, 191, 208, 217], "associ": [1, 44, 71, 84, 98, 99, 110, 200, 207, 217, 229], "associated_legendre_polynomi": [71, 84, 98], "assum": [29, 31, 37, 45, 52, 154, 156, 185, 186, 188, 196, 212, 217, 224], "assumpt": [37, 38], "async": [184, 185, 188, 190, 192, 193], "async_op": 14, "asyncgener": 190, "asynchron": [184, 185, 188], "asyncio": 212, "atct": 223, "atom": [5, 11, 13, 21, 25, 29, 31, 32, 33, 37, 38, 44, 48, 50, 51, 61, 63, 64, 66, 67, 69, 73, 75, 78, 79, 80, 82, 86, 88, 91, 92, 93, 95, 96, 99, 100, 103, 106, 109, 110, 112, 113, 115, 133, 134, 153, 154, 155, 156, 157, 158, 165, 166, 168, 171, 172, 173, 180, 182, 184, 185, 186, 188, 190, 193, 197, 198, 200, 201, 202, 204, 208, 210, 211, 214, 220, 221, 223, 224, 229], "atom_dist": [29, 106], "atom_edge_embed": [48, 50], "atom_edge_interact": [92, 93, 103, 217], "atom_emb": 217, "atom_emb_s": 217, "atom_featur": [73, 86, 100], "atom_interact": [92, 93, 103, 217], "atom_tag": 224, "atom_upd": [69, 82], "atom_update_block": [67, 74, 80, 87, 93, 102, 107, 183], "atomembed": [73, 86, 100, 217], "atomic_numb": [51, 61, 63, 115, 133, 134, 217, 218], "atomic_radii": [34, 37, 42, 183], "atomist": [217, 219, 226, 229], "atoms_collect": [133, 134], "atoms_fin": 2, "atoms_init": 2, "atoms_len": 41, "atoms_list": [41, 221, 224, 228], "atoms_tag": [171, 172], "atoms_til": 158, "atoms_to_graph": [42, 134, 183, 218], "atoms_transform": [31, 37], "atoms_transform_arg": [31, 37], "atomsrow": [37, 38], "atomstograph": [31, 37, 133, 134, 217, 218], "atomupdateblock": [69, 82, 96], "atomwisel2loss": 124, "attach": 202, "attempt": [31, 37, 184, 185, 188, 190, 193, 195], "attent": [48, 50, 52, 61, 110], "attn_activ": [48, 50, 61], "attn_alpha_channel": [48, 50, 61], "attn_alpha_head": [48, 50, 61], "attn_hidden_channel": [48, 50, 61], "attn_value_channel": [48, 50, 61], "attn_value_head": [48, 50, 61], "attribut": [13, 21, 43, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 185, 186, 197, 200, 201, 208, 209, 217], "au": 204, "audienc": [206, 220], "augment": [154, 156, 223], "author": [44, 110, 168, 173, 197, 200, 201, 207, 209, 212, 216, 217], "auto": 183, "autoapi": 183, "autofram": [6, 10, 183, 228], "autoframedesorpt": 5, "autoframedissoci": [5, 228], "autoframetransf": 5, "autograd": 16, "autom": [204, 208, 221, 223, 224], "automat": [16, 57, 58, 110, 113, 115, 117, 150, 151, 202, 203, 212, 214, 217, 228], "auxiliari": [37, 38], "avail": [1, 38, 110, 185, 186, 188, 190, 193, 197, 200, 201, 205, 208, 209, 210, 211, 214, 217, 221, 229], "available_pretrained_checkpoint": [107, 108], "available_pretrained_model": [107, 108, 204, 214, 229], "averag": [14, 48, 50, 122, 210, 228], "average_distance_within_threshold": 121, "avg_degre": [48, 50], "avg_num_nod": [48, 50], "avoid": [5, 31, 37, 196, 197, 203, 212], "awai": [113, 115, 156, 157, 217], "await": [188, 190, 193, 212], "awar": 196, "ax": [26, 174, 214, 217, 219, 221, 223], "ax1": [221, 226], "ax2": [221, 226], "axi": [26, 106, 110, 203, 208, 217, 218, 219, 221], "axvlin": 226, "b": [16, 29, 66, 67, 79, 80, 92, 93, 95, 106, 158, 174, 185, 186, 188, 204, 205, 212, 217, 221, 223, 226], "b07c64158e4bfa5f7b9bf6263753ecc5": 198, "b12b706854f5d899e02a9ae6578b5d45": 197, "b2": 209, "b35dc24e99ef3aeaee6c5c949903de94": 200, "b703": 216, "back": [191, 195, 212], "backend": [31, 37, 38, 196], "background": [206, 220], "backoff_factor": 101, "backpropag": [92, 93], "backward": [16, 131, 153, 156], "bader": 229, "balanc": 211, "balanced_partit": 13, "balancedbatchsampl": [13, 149, 150], "band": [113, 115, 117], "bar": [31, 37, 190], "bare": [197, 217, 219], "barrier": 11, "barrierless": 11, "barrierless_converg": 11, "base": [5, 6, 7, 12, 13, 16, 19, 21, 23, 29, 31, 37, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 96, 97, 99, 100, 103, 104, 105, 107, 109, 110, 112, 113, 115, 116, 117, 118, 119, 124, 128, 129, 147, 148, 149, 150, 151, 156, 157, 183, 184, 185, 186, 188, 190, 193, 195, 196, 197, 200, 202, 211, 212, 216, 217, 223, 226, 227, 229], "base_config": 29, "base_joint": 211, "base_lay": [67, 74, 80, 82, 87, 93, 102, 107, 183], "base_train": [42, 127, 150, 151, 183], "basedata": [37, 39], "basedataset": 20, "baselin": [197, 217], "basemodel": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115], "bases_a2": 103, "bases_e2": 103, "bases_e2a": 103, "bases_qint": 103, "basetask": [20, 147, 148], "basetrain": [127, 149, 150, 151], "bash": 217, "basi": [42, 44, 48, 50, 63, 64, 66, 67, 71, 72, 75, 76, 77, 79, 80, 84, 85, 88, 89, 90, 92, 93, 96, 98, 99, 100, 103, 104, 105, 107, 113, 115, 120, 182, 183, 197, 217], "basic": 217, "basis_a2a_rad": 103, "basis_atom_upd": 103, "basis_emb_s": 44, "basis_rad": 96, "basis_typ": 119, "basis_util": [67, 74, 80, 87, 93, 102, 107, 183], "basis_width_scalar": [63, 64, 113, 115, 116], "basisembed": 99, "batch": [13, 21, 23, 25, 29, 37, 39, 44, 46, 56, 61, 65, 112, 127, 150, 151, 185, 186, 188, 203, 210, 211, 217, 228], "batch_idx": [92, 93, 109, 110], "batch_siz": [6, 7, 13, 124, 149, 150, 199, 202, 203, 217, 227, 228], "batch_to_atom": 21, "bb": 29, "bb4a01956736399c8cee5e219f8c1229": 197, "bbox_to_anchor": 202, "bc74b6474a13542cc56eaa97bd51adfc": 197, "bc7c55330ece006d09496a5ff01d5d50": 197, "bcada432482f6e87b24e14b6b744992a": 197, "becaus": [184, 185, 188, 199, 201, 203, 208, 211, 217, 221, 223, 224], "becker": 217, "becom": [158, 168, 190, 203], "been": [11, 21, 37, 38, 154, 184, 185, 186, 188, 190, 193, 204, 208, 213, 216, 217, 224, 228, 229], "befor": [43, 44, 45, 46, 49, 52, 56, 66, 67, 70, 75, 79, 80, 83, 88, 92, 93, 96, 97, 103, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 184, 185, 188, 190, 193, 196, 197, 212, 217], "began": 229, "begin": [208, 217], "behav": 217, "behavior": [29, 31, 166], "being": [5, 29, 60, 184, 185, 186, 187, 188, 190, 193, 195, 197, 199, 211, 212, 229], "belong": 199, "below": [11, 29, 106, 197, 202, 203, 204, 208, 211, 212, 217, 219, 223, 224, 227, 228], "benchmark": 217, "beneath": [217, 219], "benefici": 217, "benefit": 217, "bernstein": [76, 89, 104], "bernsteinbasi": [76, 89, 104], "besid": [31, 37], "bess_basi": [71, 84, 98], "bessel": [71, 76, 77, 84, 89, 90, 98, 104, 105], "bessel_basi": [71, 84, 98], "best": [0, 1, 16, 202, 226], "best_checkpoint": [202, 217], "best_checpoint": 217, "best_dft_energi": [0, 1], "best_ml_dft_energi": 1, "best_pred_energi": 0, "beta": [62, 65, 117], "better": [31, 37, 68, 81, 92, 93, 94, 104, 105, 136, 202, 204, 217, 218, 223, 227], "between": [5, 29, 31, 37, 48, 50, 63, 64, 78, 91, 92, 93, 94, 95, 106, 113, 115, 133, 134, 154, 156, 157, 188, 190, 193, 203, 210, 217, 218, 221, 223, 229], "beyond": [216, 217], "bfaf689e5827fcf26c51e567bb8dd1b": 197, "bfb6e03d4a687987ff68976f0793cc46": 197, "bfg": [199, 203, 208, 214, 217, 218, 221, 223, 224, 228], "bi": 217, "bia": [45, 56, 70, 83, 97, 217], "bias": 217, "bigger": 23, "biggest": 223, "bigoplu": 110, "bigoplus_": 110, "bilinear": [66, 67, 72, 75, 79, 80, 85, 88, 92, 93, 99, 103], "billion": 217, "bimetal": 221, "bin": [174, 204, 208, 217], "bin_plot": 174, "binari": [133, 134], "bind": [5, 153, 154, 156, 157, 171, 172, 184, 185, 188, 190, 193, 197, 198, 212, 217, 223], "binding_idx": 153, "binding_indic": 224, "binned_averag": 174, "blob": [38, 182, 209, 218, 226], "block": [33, 44, 46, 48, 50, 55, 63, 64, 66, 67, 69, 70, 73, 75, 78, 79, 80, 82, 83, 86, 88, 91, 92, 93, 96, 97, 100, 103, 106, 110, 111, 112, 113, 115, 184, 185, 188, 190, 193, 204, 217, 226], "block_inc": [78, 91, 106, 111], "bluish": 226, "bo": 202, "bo2": 202, "board": [210, 216], "bodi": [184, 185, 188], "boe": 204, "boilerpl": 217, "bond": [5, 171, 172, 229], "bond_feat_dim": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 217], "bool": [0, 5, 11, 12, 13, 14, 16, 19, 20, 21, 23, 25, 29, 31, 37, 38, 39, 41, 43, 44, 45, 46, 48, 49, 50, 51, 52, 55, 56, 57, 58, 61, 63, 64, 66, 67, 69, 70, 71, 77, 78, 79, 80, 82, 83, 84, 90, 91, 92, 93, 95, 96, 97, 98, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 116, 118, 119, 122, 124, 128, 129, 130, 133, 134, 135, 149, 150, 151, 154, 155, 156, 158, 171, 172, 184, 185, 186, 188, 190, 193, 217, 218], "bool_matrix": 224, "boolean": [2, 11, 16, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 158, 168, 197, 198, 217, 219], "borrow": [20, 44, 216], "both": [11, 13, 45, 46, 49, 52, 92, 93, 103, 109, 110, 158, 169, 188, 190, 193, 197, 200, 211, 214, 217, 219], "both_barri": 11, "both_barrierless": 11, "bottleneck": 196, "bottom": [156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 217, 219], "bound": 5, "boundari": [48, 50, 63, 64, 78, 91, 92, 93, 106, 112, 113, 115, 133, 134], "box": [217, 219], "brabson": [201, 209], "branch": 226, "brandon": [197, 200, 209, 212, 216, 217], "breach": [184, 185, 188], "breadth": 213, "break": [5, 171, 172, 217], "breviti": [221, 224, 228], "bridg": [154, 156, 157, 221, 223], "broadcast": 14, "broken": [197, 200, 217], "brook": 212, "browser": [202, 227], "broyden": 217, "brute": 217, "budget": 217, "bug": [166, 197], "build": [44, 66, 67, 79, 80, 92, 93, 203, 204, 205, 208, 214, 217, 218, 219, 223, 226, 227, 229], "build_config": [29, 217, 227], "built": [48, 50], "bulk": [2, 29, 92, 93, 152, 156, 158, 167, 168, 169, 183, 184, 185, 186, 188, 190, 193, 197, 198, 199, 200, 203, 208, 217, 218, 219, 221, 223, 224, 228], "bulk0": 169, "bulk1": 169, "bulk_atom": [155, 156, 158, 168], "bulk_cn": 158, "bulk_cn_dict": 158, "bulk_databas": 168, "bulk_db": [155, 156], "bulk_db_path": [155, 156, 221, 228], "bulk_id": [197, 200, 221], "bulk_id_from_db": [155, 156], "bulk_ind": 169, "bulk_index": [168, 169], "bulk_mpid": 197, "bulk_pkl": 168, "bulk_pkl_path": [155, 156, 160, 228], "bulk_src_id": [185, 186, 188, 221, 224], "bulk_src_id_from_db": [155, 156, 221, 224, 228], "bulk_symbol": [197, 200], "bulk_vasp_flag": 173, "bulkier": 217, "bulks_support": [185, 186, 188, 212], "bump": 226, "bwood": 217, "byte": [197, 198, 199, 200, 201], "c": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 52, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 154, 167, 185, 186, 188, 197, 198, 200, 202, 204, 205, 207, 209, 212, 216, 217, 219, 221, 223, 226, 228], "c05289fd56d64c74306ebf57f1061318": 197, "c18735c405ce6ce5761432b07287d8d9": 198, "c2h6": 226, "c3h8": [217, 219], "c7f383b50faa6244e265c9611466cb8f": 197, "c8742faa8ca40e8edb4110069817fa70": 197, "c_index": [133, 134], "caca0058b641bfdc9f8de4527e60feb7": 197, "cach": [107, 108], "cache_sorted_by": 2, "cait": 52, "calc": [11, 181, 202, 203, 204, 214, 221, 223, 224, 226, 227, 228], "calc_forc": 101, "calc_forces_and_upd": 101, "calc_kwarg": 182, "calcspherepoint": 114, "calcspherepointsrandom": 114, "calcuat": 201, "calcul": [1, 5, 11, 13, 21, 37, 39, 40, 51, 61, 71, 78, 84, 91, 92, 93, 98, 101, 106, 117, 157, 158, 164, 166, 169, 173, 182, 185, 186, 188, 190, 193, 197, 198, 199, 202, 203, 208, 211, 212, 214, 218, 219, 220, 221, 224, 226, 227, 228, 229], "calculate_center_of_mass": 158, "calculate_coordination_of_bulk_atom": 158, "calculate_interatomic_vector": [78, 91, 106], "calculate_quad_angl": [92, 93], "calculate_surface_k_point": 173, "caleb": [197, 209, 216, 217], "calibr": 223, "call": [11, 16, 21, 29, 43, 44, 45, 46, 49, 52, 56, 60, 70, 83, 97, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 169, 184, 185, 188, 190, 193, 195, 202, 210, 212, 217, 226, 229], "callabl": [12, 31, 37, 40, 69, 72, 82, 85, 96, 188, 190, 193], "caller": [190, 191], "can": [1, 13, 16, 20, 21, 29, 31, 37, 38, 43, 44, 45, 46, 48, 49, 50, 52, 53, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 136, 150, 151, 156, 157, 158, 168, 169, 184, 185, 186, 187, 188, 190, 193, 196, 197, 198, 200, 201, 202, 204, 205, 206, 209, 210, 211, 212, 216, 217, 218, 219, 220, 221, 223, 224, 226, 227, 228, 229], "cancel": 190, "candid": [5, 190, 202, 217, 221], "cannot": [56, 185, 186, 188, 203, 217, 219], "capabl": [217, 229], "capac": 203, "caption": 19, "captur": [203, 204, 211, 216, 217, 226, 227], "carbon": [217, 226], "care": [95, 203, 217, 223], "carnegi": 217, "carri": [217, 219, 227], "cartesian": [71, 84, 98, 185, 186, 188, 197, 198, 229], "case": [0, 1, 5, 13, 29, 31, 37, 110, 154, 156, 157, 190, 196, 199, 208, 211, 212, 217], "cat": [202, 211, 217], "catalyast": 217, "catalysi": [197, 198, 199, 200, 209, 214, 216, 217, 221, 229], "catalyst": [141, 154, 156, 184, 185, 188, 211, 212, 216, 218, 219, 220, 229], "catalyt": 221, "catchal": 186, "categori": 217, "cattsunami": [183, 199], "caus": [184, 185, 188, 202, 203, 204, 221, 227], "cbf": [66, 67, 77, 79, 80, 90, 92, 93, 99, 105, 217], "cbf3": [75, 88], "cc668fecf679b6edaac8fd8fb9cdd404": 197, "ccai": 217, "cch": 197, "cch2": 197, "cch2oh": 197, "cch3": 197, "ccho": 197, "cchoh": 197, "cco": 197, "cd": [205, 217], "cell": [5, 21, 29, 95, 121, 133, 134, 154, 158, 168, 173, 185, 186, 188, 197, 202, 203, 212, 218, 221, 226, 227, 228], "cell_offset": [29, 44, 66, 67, 79, 80, 95, 106, 109, 110, 111, 217], "center": [5, 52, 133, 134, 154, 156, 157, 158, 202, 208, 217, 218, 219, 224], "center_coordin": 5, "central": [20, 154, 216, 229], "centuri": 217, "certain": [29, 31, 217, 219], "certainli": 204, "cf51128f8522b7b66fc68d79980d6def": 197, "cfc04dd2f87b4102ab2f607240d25fb1": 197, "cg_change_mat": 29, "cgcnn": [20, 33, 35, 36, 209, 216], "cgcnnconv": 20, "ch": 197, "ch2": 197, "ch2ch2oh": 197, "ch2ch3": 197, "ch2oh": 197, "ch3": [197, 226], "ch3ch2oh": 226, "ch3oh": 226, "ch4": [197, 203], "ch_dissoc_on_ru_": 228, "ch_dissoc_on_ru_0": 228, "ch_dissoc_on_ru_0001": 228, "challeng": [141, 197, 200, 201, 209, 211, 216, 217], "chang": [5, 12, 21, 29, 46, 158, 168, 171, 172, 196, 202, 210, 211, 216, 217, 220, 221, 223, 224, 226, 227, 228], "channel": [48, 50, 51, 52, 54, 55, 56, 61, 63, 64, 65, 112, 113, 115, 117], "channels_list": 54, "chanussot": [197, 209, 216, 217], "charg": [21, 44, 110, 180, 182, 207, 217, 229], "chch2": 197, "chch2oh": 197, "chcho": 197, "chchoh": 197, "chco": 197, "chcoh": 197, "check": [0, 1, 3, 5, 13, 154, 156, 165, 166, 185, 186, 188, 190, 193, 195, 199, 202, 205, 208, 210, 217, 218, 221, 224, 230], "check_converg": 25, "check_immedi": [188, 190, 193], "check_traj_fil": 29, "checker": 13, "checkpoint": [12, 21, 27, 29, 48, 50, 107, 108, 149, 150, 163, 166, 197, 203, 204, 209, 210, 211, 214, 223, 224, 227, 228], "checkpoint_dir": [29, 138, 139, 202, 217], "checkpoint_fil": [29, 149, 150], "checkpoint_path": [6, 7, 21, 27, 149, 150, 199, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "checksum": [197, 198, 199, 200, 201], "chem": [204, 205, 209, 217, 223, 226], "chem_err": 174, "chemic": [185, 186, 188, 197, 198, 200, 216, 217], "chemistri": [206, 213, 216, 217], "child": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 228], "chmiela": [76, 89, 104], "cho": 197, "choch2oh": 197, "chochoh": 197, "choh": 197, "chohch2": 197, "chohch2oh": 197, "chohch3": 197, "chohchoh": 197, "choi": [201, 209], "choic": [29, 204, 217], "choos": [169, 188, 192, 193, 202, 204, 214, 218, 226, 229], "chosen": [5, 136, 197, 198], "chunk": 13, "cif": [31, 37, 196], "circular": [66, 67, 75, 79, 80, 88, 92, 93, 99, 103, 105], "circularbasislay": [77, 90, 105], "cite": 209, "cl": 28, "claim": [44, 110, 207, 217], "clariti": [217, 219], "class": [197, 199, 210, 212, 217, 218, 228], "classic": 219, "classif": 197, "classmethod": [20, 156, 158], "classvar": [20, 21, 121], "clean": [198, 202, 209, 210], "cleaner": 11, "cleanli": [31, 37], "cleanup": [14, 135], "cleanup_gp": 16, "clear": 226, "click": 229, "client": [183, 188, 190, 192, 193, 212], "climat": 220, "climb": [6, 7, 199, 228], "clip_grad_norm": 217, "clone": [56, 65, 82, 217], "close": [37, 38, 158, 203, 208, 217, 219, 226], "close_db": [31, 37, 39, 40], "closer": [202, 203, 217, 219], "closest": [5, 154, 156, 157, 226], "cluster": [211, 225], "cm": 197, "cmap": 226, "cmd": [202, 204, 227], "cmp": [37, 38], "cmu": [168, 173, 217], "cn": 197, "co": [197, 217, 219, 220, 223, 224], "coch2o": 197, "coch2oh": 197, "coch3": 197, "cocho": 197, "code": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 136, 137, 140, 141, 143, 148, 149, 151, 167, 188, 197, 200, 201, 210, 216, 221, 225, 226, 228], "codebas": [209, 210, 216, 217], "coeff": 217, "coeffici": [55, 56, 63, 65, 76, 89, 104], "coefficient_idx": [56, 65], "coefficientmap": 65, "coefficientmappingmodul": [51, 55, 56, 61], "coh": 197, "cohch2oh": 197, "cohch3": 197, "cohcho": 197, "cohchoh": 197, "cohcoh": 197, "colab": 220, "collabor": 216, "collat": [29, 133, 134], "collate_and_sav": [133, 134], "collect": [29, 121, 122, 133, 134, 149, 150, 217], "collid": 217, "color": [217, 226], "colorbar": 226, "column": [37, 38, 217, 219], "com": [44, 78, 91, 106, 111, 182, 184, 185, 188, 197, 198, 200, 204, 205, 209, 211, 212, 216, 217, 218, 226], "combin": [5, 16, 21, 48, 50, 69, 70, 82, 83, 96, 97, 154, 156, 157, 158, 198, 202, 217, 223], "combinatori": [156, 157], "combineyrot": 117, "combo": 224, "come": [166, 202, 217, 218], "command": [169, 197, 202, 203, 204, 205, 220, 227], "comment": 204, "commit": [208, 217], "common": [42, 110, 131, 133, 134, 149, 150, 183, 197, 200, 201, 202, 204, 209, 214, 217, 221, 223, 224, 226, 227, 228, 229], "commonli": 217, "commun": [197, 209, 216, 217], "communn": 217, "comp": 221, "compar": [0, 1, 5, 202, 222, 223, 224, 226], "comparison": [204, 223], "compat": [5, 16, 42, 48, 50, 123, 128, 131, 153, 156, 183, 217, 221, 229], "complet": [29, 182, 211, 217], "complete_data": 176, "complete_data_merged_defect": 176, "complete_data_merged_defective_co2": 176, "complete_data_merged_defective_co_ad": 176, "complete_data_merged_defective_co_ads_2": 176, "complete_data_merged_defective_h2o": 176, "complete_data_merged_pristin": 176, "complete_data_merged_pristine_co2": 176, "complete_data_merged_pristine_co_ad": 176, "complete_data_merged_pristine_co_ads_2": 176, "complete_data_merged_pristine_h2o": 176, "complex": 223, "complex_idx": [56, 65], "compli": 5, "complic": 224, "compon": [48, 50, 52, 55, 61, 158, 168], "composit": [197, 198, 200, 202, 221, 229], "comprehens": [216, 220], "compress": [53, 197, 198, 199, 200, 201], "compressed_dir": 135, "compris": [198, 199], "compromis": 202, "compscienc": 110, "comput": [0, 1, 3, 16, 31, 37, 39, 40, 48, 50, 63, 64, 71, 84, 98, 110, 112, 113, 115, 122, 196, 197, 198, 201, 204, 206, 210, 212, 213, 217, 218, 221, 223, 226], "computation": 217, "compute_hybrid_success": 1, "compute_neighbor": 29, "compute_slab": 158, "compute_valid_ml_success": [0, 1], "con": [208, 217, 218, 219], "concaten": [5, 52, 66, 67, 73, 75, 78, 79, 80, 86, 88, 91, 92, 93, 100, 103, 106, 110, 217], "concept": [20, 227], "conceptu": [204, 223], "concern": 217, "conclus": 11, "condit": [3, 44, 48, 50, 63, 64, 78, 91, 92, 93, 106, 110, 112, 113, 115, 133, 134, 198, 207], "condition": [153, 156], "conditional_grad": 29, "confer": 216, "config": [1, 2, 12, 14, 16, 19, 20, 27, 29, 31, 37, 39, 40, 57, 58, 60, 131, 132, 138, 139, 147, 148, 150, 151, 154, 156, 157, 185, 186, 188, 190, 193, 196, 197, 200, 202, 203, 204, 209, 210, 212, 219, 221, 224, 227, 228, 229], "config_id": [0, 1, 184, 185, 186, 188, 190, 193, 198], "config_idx": 224, "config_yml": 21, "configs_for_dedupl": 224, "configs_for_dft": 224, "configur": [0, 1, 2, 5, 37, 39, 40, 57, 58, 150, 151, 154, 156, 157, 158, 168, 184, 185, 186, 188, 190, 192, 193, 195, 198, 204, 209, 211, 212, 217, 222, 223, 226, 229], "confirm": [156, 158], "conjug": 217, "connect": [31, 37, 44, 46, 66, 67, 75, 78, 79, 80, 88, 91, 92, 93, 95, 103, 106, 110, 171, 172, 196, 202, 204, 207, 217, 229], "connect_arg": [31, 37, 196], "connect_db": [31, 37, 39, 40], "consecut": [78, 91, 106, 111], "consequ": 217, "consid": [5, 11, 46, 78, 91, 106, 133, 134, 158, 171, 172, 196, 197, 200, 201, 202, 205, 209, 211, 212, 216, 217, 219, 221, 223, 224, 226], "consider": 217, "consist": [1, 198, 211, 217, 219, 229], "consistenli": 217, "consol": 29, "constant": [71, 84, 98, 158, 223, 226], "constrain": [158, 223], "constraint": [0, 1, 203, 208, 218, 223], "construct": [37, 39, 110, 133, 134, 202, 208, 211, 217, 219, 221, 223, 226, 229], "construct_map": 29, "consum": 221, "contain": [3, 11, 27, 29, 31, 37, 39, 40, 43, 44, 45, 46, 49, 52, 53, 56, 66, 67, 70, 71, 79, 80, 83, 84, 92, 93, 95, 97, 98, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 154, 156, 157, 158, 163, 168, 169, 173, 183, 188, 190, 193, 196, 197, 198, 199, 200, 201, 202, 208, 210, 211, 217, 218, 219, 226], "context": [16, 183, 188, 193], "context_var": 191, "contextlib": 203, "contextvar": [190, 191], "contiguous_chunk": 16, "continu": [33, 112, 202, 208, 212, 217, 224], "continuous_embed": [34, 37, 42, 183], "continuous_index": [78, 91, 106, 111], "contract": [44, 110, 207, 217], "contrast": 209, "contribut": [205, 216, 217, 221], "control": [66, 67, 76, 77, 79, 80, 89, 90, 92, 93, 104, 105, 188, 190, 191, 193, 195, 217, 218, 219], "contruct": 54, "conv": [11, 55, 61, 63, 199, 228], "conv1": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "conv2": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "conv2d": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "conveni": [196, 197], "convent": 5, "convention": 223, "converg": [3, 5, 11, 180, 199, 217, 228], "converged_idx": 228, "converged_oszicar": 3, "convers": 217, "convert": [29, 43, 44, 45, 46, 49, 51, 52, 56, 61, 63, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 200, 210, 211, 217, 219, 220, 223], "convert_al": [133, 134, 208, 217, 218], "convext": 191, "convolut": [48, 50, 55, 61, 63, 64, 112, 113, 115, 117, 229], "coordin": [5, 71, 84, 98, 112, 154, 156, 158, 185, 186, 188, 197, 198, 223, 228, 229], "coorespond": [199, 224], "copi": [5, 29, 44, 66, 67, 79, 80, 110, 122, 154, 156, 158, 185, 186, 188, 207, 212, 217, 221, 224], "copper": [217, 219, 224], "copy_to": 122, "copy_to_model_parallel_region": 16, "copyright": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207, 217], "copytomodelparallelregion": 16, "core": [10, 152, 167, 182, 183, 197, 199, 202, 203, 204, 208, 210, 214, 217, 218, 221, 223, 224, 226, 227, 228, 229], "correct": [5, 16, 48, 50, 78, 91, 92, 93, 106, 210, 221, 223, 224], "correctli": [1, 5, 211, 217], "correl": [198, 221], "correlact": 182, "correspond": [1, 5, 11, 16, 23, 31, 37, 38, 55, 94, 133, 134, 154, 156, 157, 158, 197, 198, 200, 202, 211, 217, 218, 219, 229], "cosin": [60, 66, 67, 77, 79, 80, 90, 92, 93, 217, 224, 226], "cosine_lr_lambda": 60, "cosine_similar": [121, 224, 226], "cosinelrlambda": 60, "cossim1": 226, "cossim2": 226, "cossim3": 226, "cost": [31, 37, 217, 229], "cos\u03c6_abd": [92, 93], "cos\u03c6_cab": [77, 90, 92, 93, 105], "could": [5, 27, 37, 39, 66, 67, 79, 80, 158, 168, 184, 185, 186, 188, 197, 199, 202, 203, 204, 212, 217, 219, 223, 226, 228, 229], "count": [1, 37, 38, 71, 84, 98, 176, 196, 224], "count_scf": 3, "counter": [66, 67, 79, 80, 92, 93, 109, 110], "counterpart": [197, 200], "cours": 217, "coval": [33, 154, 156, 157], "cover": [202, 217], "coverag": [198, 223], "cpdir": 202, "cpline": 202, "cpu": [6, 7, 21, 29, 57, 58, 110, 114, 149, 150, 151, 196, 202, 203, 204, 205, 210, 211, 214, 215, 221, 223, 224, 227, 228], "craft": 229, "crash": [221, 223], "creat": [16, 21, 29, 46, 66, 67, 79, 80, 95, 110, 144, 145, 149, 150, 158, 168, 169, 183, 185, 186, 188, 202, 204, 205, 208, 218, 220, 221, 223, 224, 228, 229], "create_dict_from_arg": 29, "create_grid": 29, "create_indic": [37, 38], "creation": 217, "creativ": [197, 200, 201, 209], "criterion": 5, "critic": 203, "cross": [29, 106], "crystal": [158, 168], "ctx": [16, 227], "cu": [158, 203, 217, 219, 220, 223], "cuco_adslab": [208, 218], "cuda": [23, 25, 101, 203, 205, 217], "cull": 224, "curat": 12, "current": [12, 16, 31, 57, 58, 122, 150, 151, 190, 203, 211, 212, 217, 223, 229], "current_entri": 176, "current_step": [29, 60], "curv": 202, "cushion": [171, 172], "custom": [13, 16, 37, 39, 45, 46, 49, 53, 182, 217, 228], "custom_tile_atom": 154, "cut": [158, 185, 186, 188, 228], "cutoff": [21, 43, 44, 49, 63, 64, 66, 67, 76, 79, 80, 89, 92, 93, 95, 104, 109, 110, 112, 113, 115, 133, 134, 158, 197, 198, 217, 218], "cutoff_aeaint": [92, 93, 217], "cutoff_aint": [92, 93, 217], "cutoff_index": 115, "cutoff_list": 115, "cutoff_multipli": [171, 172], "cutoff_orig": [92, 93], "cutoff_qint": [92, 93, 217], "cxhyoznw": 223, "cycl": 223, "cyclic": 166, "d": [29, 51, 56, 61, 65, 76, 89, 92, 93, 95, 104, 129, 202, 204, 217, 223, 227], "d297b27b02822f9b6af80bdb64aee819": 197, "d2dd00055e": 226, "d32200f74ad5c3bfd42e8835f36d57ab": 197, "d3c829f1952db6e4f428273ee05f59b1": 197, "d4151542856b4b6405f276808f75358a": 197, "d687a151345305897b9245af4b0f9967": 197, "d_ca": [77, 90, 105], "d_scale": [76, 89, 104, 217], "d_st": [78, 91, 106, 217], "da": [197, 200, 201, 209, 212, 216, 217], "da2268545e80ca1664026449dd2fdd24": 197, "dac": [201, 209], "dai": [217, 229], "damag": [44, 110, 207, 217], "daml": 29, "damp": [25, 211, 217], "dark": 226, "dash": [217, 219], "data": [13, 14, 16, 25, 26, 27, 29, 30, 31, 37, 38, 39, 40, 43, 44, 46, 48, 50, 63, 64, 66, 67, 78, 79, 80, 91, 92, 93, 109, 110, 112, 113, 115, 132, 133, 134, 149, 150, 183, 186, 196, 198, 202, 204, 211, 216, 220, 221, 223, 224, 225, 226, 228, 229], "data_list": [13, 29, 37, 39, 133, 134], "data_list_collat": [37, 39], "data_load": [150, 151], "data_object": [30, 132, 208, 217, 218], "data_parallel": [18, 42, 149, 150, 183], "data_sourc": 13, "data_visu": 218, "data_w_om": 174, "databas": [10, 31, 37, 38, 133, 134, 152, 153, 155, 156, 167, 183, 202, 221, 226, 228], "dataclasses_json": 186, "datadir": 135, "datafram": [11, 221, 224], "dataload": [13, 37, 39, 48, 50, 142, 149, 150, 197, 200, 201], "datapoint": [31, 37], "datasampl": 13, "dataset": [13, 20, 42, 57, 58, 110, 133, 134, 146, 149, 150, 151, 166, 183, 198, 199, 200, 201, 202, 204, 209, 210, 212, 214, 219, 220, 227], "datatransform": 132, "date": 216, "datefmt": 227, "datetim": [184, 185, 188, 217], "david": [201, 209], "db": [27, 31, 37, 38, 133, 134, 161, 169, 196, 202, 204, 208, 217, 221, 227], "dd456b7e19ef592d9f0308d911b91d7c": 197, "ddp": [57, 58, 150, 151], "ddploss": 124, "de": [44, 217, 219, 221], "de83cf50247f5556fa4f9f64beff1eeb": 197, "dead": 217, "deal": [44, 110, 207, 208, 217], "debug": [27, 57, 58, 150, 151, 180, 210, 215, 217, 223, 229], "dec": 29, "decad": [217, 229], "decai": [43, 48, 50, 122], "decay_epoch": 60, "decay_r": 60, "decis": 223, "decompos": 110, "decompose_tensor": 132, "decomposed_lay": 110, "decomposit": 110, "decompress_list_of_fil": 146, "decor": [13, 20, 29, 188, 193, 195], "decorrel": [68, 81, 94], "decreas": [202, 217, 226], "deem": 29, "deep": [29, 68, 81, 94, 158], "deepcopi": 217, "deeper": [52, 217], "def": [13, 16, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 208, 217, 224], "def2": 180, "def_counts_df": 176, "default": [17, 20, 26, 31, 37, 39, 40, 44, 57, 58, 66, 67, 76, 79, 80, 89, 92, 93, 104, 110, 112, 131, 133, 134, 150, 151, 173, 184, 185, 188, 190, 193, 195, 202, 203, 204, 205, 210, 211, 212, 217, 223, 224, 226], "default_cli": [188, 190, 193], "default_wait": 195, "defgrid3": 180, "defin": [1, 13, 16, 92, 93, 95, 106, 110, 158, 168, 184, 185, 186, 188, 190, 193, 197, 202, 208, 214, 218, 219, 221, 224, 227], "definit": [0, 1, 224, 228], "degener": [29, 48, 50, 92, 93], "degeneraci": 29, "degeneracy_toler": 29, "degre": [26, 48, 50, 51, 52, 55, 56, 61, 63, 64, 65, 71, 76, 84, 89, 98, 104, 113, 115, 117, 158, 168, 218, 224], "dejavu": [217, 219], "del": [208, 217], "del_intmd_fil": 135, "delaunai": [154, 156, 157], "deleg": 110, "delet": [27, 37, 38, 184, 185, 186, 188, 190, 193, 202, 203, 204, 227], "delete_adsorbate_slab_relax": [184, 185, 188], "deleted_id": 38, "delta_fmax_climb": 228, "demand": 217, "demo": [188, 190, 192, 193, 208, 212, 216, 217, 219], "demonstr": [31, 37, 208, 217, 221, 224], "denorm": 125, "denot": [110, 217, 219], "dens": [66, 67, 69, 70, 73, 75, 79, 80, 82, 83, 86, 88, 92, 93, 96, 97, 100, 103, 106, 217], "dense_rbf_f": 82, "densiti": [217, 223, 229], "depend": [29, 31, 110, 154, 156, 197, 202, 203, 205, 211, 212, 217, 223], "deprec": [31, 37], "depth": [5, 46, 217, 219], "deriv": [12, 31, 185, 186, 188], "describ": [185, 186, 188, 197, 211, 212], "describe_fairchem": [27, 229], "descript": [109, 110, 184, 185, 186, 188, 190, 193, 195, 217], "descriptor": 224, "design": [217, 220], "desir": [5, 29, 153, 154, 156, 221, 229], "desorb": [171, 172, 217, 221, 224], "desorpt": [6, 8, 171, 172, 197, 199, 221], "desorption_cutoff_multipli": [2, 171, 172], "desorption_id_83_2409_9_111": 199, "desorption_reaction_db_path": 9, "despit": 199, "detail": [13, 16, 182, 184, 185, 188, 190, 193, 197, 202, 203, 205, 209, 210, 211, 212, 217, 219, 223, 224, 226, 228, 229], "detect": [29, 217], "detector": [221, 224], "detecttrajanomali": [171, 172, 221, 224], "determin": [1, 5, 17, 29, 133, 134, 158, 197, 198, 199, 202, 203, 210, 223, 228], "determinist": 203, "dev": 205, "develop": [216, 220, 226, 228, 229], "devi": [197, 209, 216, 217], "deviat": [211, 217, 223, 226], "devic": [13, 14, 23, 25, 29, 56, 65, 114, 125, 149, 150], "df": [221, 224], "df2": 11, "df_all": 221, "df_flat": 221, "df_h": 221, "df_nnh": 221, "dff880f1a5baa7f67b52fd3ed745443d": 197, "dft": [0, 1, 3, 11, 174, 198, 199, 202, 203, 204, 209, 210, 211, 217, 219, 223], "dft_ad": 174, "dft_ads_energi": [0, 1], "dft_adsorption_energi": 1, "dft_co2": 174, "dft_data": [0, 1], "dft_energi": [0, 1], "dft_h2o": 174, "dft_po": 121, "diagnost": 225, "diatanc": 63, "dict": [0, 1, 2, 5, 11, 12, 17, 21, 29, 30, 31, 37, 38, 39, 40, 57, 58, 60, 66, 67, 76, 77, 79, 80, 89, 90, 92, 93, 95, 104, 105, 109, 110, 121, 122, 129, 131, 135, 149, 150, 151, 153, 154, 155, 156, 157, 158, 182, 187, 188, 190, 193], "dict1": 29, "dict2": 29, "dict_set_recurs": 29, "dictionari": [1, 11, 21, 27, 29, 30, 31, 37, 95, 126, 129, 158, 173, 182, 197, 200, 202, 217, 226], "did": [223, 224], "differ": [3, 5, 20, 29, 31, 37, 46, 52, 92, 93, 95, 110, 156, 157, 158, 164, 188, 190, 193, 197, 198, 199, 201, 202, 204, 205, 210, 211, 217, 219, 221, 223, 226, 229], "differenti": [16, 110, 112], "difficult": [31, 217], "digit": 226, "dihedr": [92, 93], "dii": 180, "dim": [16, 82, 217], "dim_siz": [82, 106, 110, 217], "dimenet": [44, 209, 216, 217], "dimenet_plus_plu": [42, 107, 183, 217], "dimenetplusplu": 44, "dimenetpluspluswrap": 44, "dimenns": 226, "dimens": [29, 110, 203, 226], "dimension": 226, "dipol": [21, 180], "dir": [202, 211], "direct": [66, 67, 78, 79, 80, 91, 92, 93, 103, 106, 109, 110, 154, 158, 168, 196, 197, 198, 216, 217, 219, 223, 230], "direct_forc": [66, 67, 69, 79, 80, 82, 92, 93, 96, 109, 110, 113, 115, 217], "directli": [16, 31, 37, 39, 40, 69, 82, 96, 110, 153, 155, 156, 196, 197, 199, 200, 201, 205, 209, 211, 216, 217, 223], "directori": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 150, 151, 163, 164, 167, 169, 182, 188, 196, 197, 199, 202, 208, 209, 211, 217], "dirlist": 162, "dirnam": 135, "disabl": [29, 31], "disable_eval_tqdm": [149, 150, 151], "disable_tqdm": [133, 134, 149, 150, 151, 208, 217, 218], "disadvantag": [31, 37], "disassoci": [221, 224], "discard": [0, 1, 171, 172, 218, 227], "discov": 217, "discoveri": [201, 209, 213, 217, 226], "discrep": 223, "discuss": [46, 158, 203, 210, 217, 219, 223, 229], "disk": [31, 37], "displai": [46, 217, 219, 227, 228], "dissoci": [5, 197, 199, 217, 221, 223], "dissociation_reaction_db_path": [9, 228], "dist": [14, 49, 104, 116, 217], "distanc": [5, 44, 48, 50, 51, 61, 63, 64, 76, 78, 89, 91, 104, 106, 112, 113, 115, 133, 134, 154, 156, 157, 158, 217, 218, 224], "distance_expans": [63, 115], "distance_funct": [48, 50, 63, 64, 113, 115], "distance_resolut": [63, 64, 113, 115], "distance_vec": 217, "distanceblock": 115, "distiguish": 199, "distinct": [66, 67, 79, 80, 95, 158, 168, 185, 186, 188, 211], "distribut": [12, 14, 29, 44, 57, 58, 110, 150, 151, 197, 200, 207, 211, 217], "distributedsampl": 13, "distutil": [18, 42, 183], "divers": 217, "divid": 221, "divide_and_check_no_remaind": 16, "dk": [31, 37, 197, 217, 219], "dl": [197, 198, 200, 211, 217], "dmax": 29, "dmin": 29, "do": [1, 5, 11, 16, 21, 31, 44, 52, 110, 154, 156, 157, 173, 196, 202, 203, 204, 205, 207, 211, 217, 221, 223, 224, 227], "doc": [205, 218], "docstr": 158, "document": [44, 110, 183, 203, 207, 211, 212, 214, 215, 216, 217, 219, 221], "doe": [5, 29, 66, 67, 71, 79, 80, 84, 98, 107, 108, 156, 157, 185, 186, 188, 193, 195, 199, 203, 204, 211, 217, 218, 219], "does_not_exist": [185, 186, 188], "doesn": [20, 184, 185, 188, 223], "doi": [197, 202, 204, 209, 216, 221, 223, 226], "domain": [197, 199, 201, 217, 221], "domingo": [197, 200, 209, 216, 217], "don": [48, 50, 169, 202, 204, 210, 217, 221, 223, 224, 227], "done": [5, 211, 223, 224], "dont": 228, "dortmund": 44, "dot": 27, "down": [52, 66, 67, 72, 75, 79, 80, 85, 88, 92, 93, 101, 103, 158, 168, 217], "download": [107, 108, 146, 201, 205, 208, 209, 210, 211, 214, 223, 224, 228, 229], "download_data": [42, 140, 183, 197], "download_links_is2r": 135, "download_links_s2ef": 135, "downsampl": [113, 115], "downstream": [133, 134], "dpp": 217, "dpp_is2re_sampl": 217, "dq": 103, "drive": 217, "drop": [42, 48, 50, 61, 107, 183], "drop_graph": 46, "drop_last": 13, "drop_path": 46, "drop_path_r": [48, 50, 61], "drop_prob": 46, "dropconnect": 46, "dropout": [46, 48, 50, 61, 68, 81, 94], "droppath": 46, "dscribe": 224, "dset": 210, "dt": [75, 88, 204, 209, 216, 217], "dtu": [31, 37, 197, 217, 219], "dtype": [56, 65], "dual": 211, "duck": 13, "due": [1, 197, 217, 223], "dummi": 21, "dump": [12, 208, 217], "duplic": [5, 29, 92, 93, 224], "dure": [16, 48, 50, 55, 61, 63, 110, 113, 115, 117, 184, 185, 186, 188, 190, 193, 199, 217, 219, 221], "dx": [202, 204, 217, 219, 223, 226], "dyn": [208, 217, 218, 219], "dynam": [68, 81, 94, 197, 217], "dynamic_relax": [6, 7], "dyneb": [6, 7], "e": [1, 5, 16, 17, 19, 29, 31, 37, 68, 69, 76, 81, 82, 89, 94, 95, 96, 104, 110, 112, 147, 148, 154, 155, 156, 157, 158, 168, 196, 197, 199, 202, 203, 205, 209, 210, 217, 221, 226, 228], "e4fe9890764fcf59e01e3ceab089b978": 197, "e836de4ec146b1b611533f1ef682cac": 197, "e_": 217, "e_lit_h": 221, "e_lit_nnh": 221, "ea": 228, "each": [1, 2, 5, 16, 29, 31, 37, 44, 48, 50, 51, 55, 61, 63, 66, 67, 71, 78, 79, 80, 84, 91, 94, 95, 98, 99, 106, 110, 111, 112, 133, 134, 154, 156, 157, 158, 168, 184, 185, 186, 188, 190, 193, 196, 197, 198, 199, 200, 201, 202, 203, 208, 209, 211, 212, 215, 217, 219, 221, 223, 226, 228, 229], "earli": [226, 229], "earlier": [166, 197, 217], "early_stop_batch": [23, 25], "easi": [31, 37, 226], "easier": [66, 67, 79, 80, 202, 224], "easili": [110, 217, 226], "ebea523c6f8d61248a37b4dd660b11e6": 200, "ec1e964d2ee6f468fa5773743e3994a4": 197, "ec9aa2c4c4bd4419359438ba7fbb881d": 197, "econom": 217, "edata": 223, "edg": [5, 29, 48, 50, 51, 55, 61, 63, 64, 66, 67, 69, 72, 73, 75, 78, 79, 80, 82, 85, 86, 88, 91, 92, 93, 95, 96, 99, 100, 103, 106, 109, 110, 112, 133, 134, 197, 203, 208, 218, 229], "edge_atom_interact": [92, 93, 103, 217], "edge_attr_sph": 119, "edge_channel": [48, 50, 63, 64], "edge_channels_list": [51, 55, 61], "edge_dist": [51, 61, 63, 66, 67, 79, 80, 113, 115], "edge_distance_vec": [47, 48, 50, 63, 64, 113, 115], "edge_dst": 49, "edge_emb": 217, "edge_emb_s": 217, "edge_featur": [73, 86, 100], "edge_idx": [106, 111], "edge_index": [29, 44, 48, 50, 51, 56, 61, 63, 64, 65, 66, 67, 79, 80, 95, 100, 103, 109, 110, 113, 115, 208, 217, 218], "edge_index_main": 103, "edge_list": 5, "edge_list_fin": 5, "edge_mask": [78, 91, 106], "edge_offset": [85, 88], "edge_rbf": 110, "edge_rot_mat": [42, 50, 56, 65, 107, 117, 183], "edge_src": 49, "edge_vector": [66, 67, 79, 80, 110], "edgeblock": [63, 115], "edgedegreeembed": 51, "edgeembed": [73, 86, 100, 217], "edgelist": 5, "ediff": 3, "edit": 205, "edu": [154, 168, 173, 197, 217], "ee937e5290f8f720c914dc9a56e0281f": 198, "effect": [76, 89, 92, 93, 104, 158, 168, 173, 217, 224], "effici": [31, 37, 63, 64, 67, 74, 77, 80, 87, 90, 93, 102, 107, 110, 183, 196, 198, 204, 212, 217, 228], "efficientinteractionbilinear": [72, 85, 99], "efficientinteractiondownproject": [72, 85], "efficientnet": 46, "effict": 196, "effort": [213, 216], "eg": [68, 81, 94], "either": [16, 17, 31, 37, 48, 50, 71, 78, 84, 91, 98, 106, 111, 126, 133, 134, 205, 211], "elaps": [202, 204, 221, 223], "elax": 217, "electrocatalysi": 217, "electrocatalyst": [200, 209, 217], "electrochem": 217, "electron": [3, 33, 76, 89, 104], "electroneg": 33, "element": [13, 35, 36, 48, 50, 71, 78, 84, 91, 98, 99, 106, 111, 158, 185, 186, 188, 203, 210, 219, 229], "elif": 224, "ellipsi": [31, 37, 153, 156], "elprop": 180, "els": [71, 84, 98, 202, 224], "ema": 122, "ema_decai": 217, "emb": [99, 217, 226], "emb_siz": [72, 73, 85, 86, 99, 100, 217], "emb_size_a2a_in": 103, "emb_size_a2a_out": 103, "emb_size_aint_in": [92, 93, 217], "emb_size_aint_out": [92, 93, 217], "emb_size_atom": [66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 217], "emb_size_bil_trip": [66, 67, 75, 79, 80, 88, 217], "emb_size_bilinear": [75, 88], "emb_size_cbf": [66, 67, 75, 79, 80, 88, 92, 93, 103, 217], "emb_size_edg": [66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 217], "emb_size_in": [99, 103], "emb_size_interm": [72, 85, 99], "emb_size_out": [99, 103], "emb_size_pair_in": 103, "emb_size_pair_out": 103, "emb_size_quad_in": [92, 93, 103, 217], "emb_size_quad_out": [92, 93, 103, 217], "emb_size_rbf": [66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 217], "emb_size_sbf": [92, 93, 103, 217], "emb_size_trip": [66, 67, 75, 79, 80, 88, 217], "emb_size_trip_in": [92, 93, 103, 217], "emb_size_trip_out": [92, 93, 103, 217], "embarrassingli": 221, "embbed": 226, "embed": [37, 42, 44, 48, 50, 51, 55, 56, 61, 63, 65, 66, 67, 69, 70, 72, 73, 75, 79, 80, 82, 83, 85, 86, 88, 92, 93, 95, 96, 97, 99, 100, 103, 110, 183, 202, 225], "embedding_block": [67, 74, 80, 87, 93, 102, 107, 183], "embedding_monkeypatch": 226, "empir": 210, "empti": [29, 129, 184, 185, 188, 190, 193], "emt": [208, 217, 218, 219], "emul": 52, "enabl": [29, 101, 205, 213, 217, 229], "encod": [204, 208, 217], "encourag": [212, 217], "end": [94, 119, 180, 202, 211, 217, 223], "end_lmax": [56, 65, 117], "energet": [154, 156, 157, 221], "energi": [0, 1, 2, 3, 5, 6, 7, 11, 21, 25, 29, 31, 33, 37, 39, 40, 48, 50, 57, 58, 63, 66, 67, 69, 79, 80, 82, 92, 93, 96, 101, 112, 133, 134, 150, 151, 166, 184, 185, 186, 188, 190, 196, 198, 199, 202, 204, 209, 212, 216, 218, 221, 224, 226, 228, 229], "energies_for_dedupl": 224, "energy_fc1": [113, 115], "energy_fc2": [113, 115], "energy_fc3": [113, 115], "energy_forces_within_threshold": 121, "energy_train": [50, 59, 107, 183, 217], "energy_trajectori": [185, 186, 188], "energy_within_threshold": 121, "energyblock": 63, "energytrain": 217, "enforc": [5, 16, 29, 92, 93, 203], "enforce_consist": [128, 129], "enforce_max_neighbors_strictli": [29, 43, 48, 50, 92, 93, 209], "enforce_max_strictli": 29, "engin": 216, "engrad": 180, "enhanc": 221, "enough": [196, 217, 219, 226], "ensur": [0, 1, 3, 5, 16, 48, 50, 76, 89, 92, 93, 104, 109, 110, 156, 157, 171, 172, 188, 190, 193, 198, 208, 211, 212, 217, 219], "ensure_div": 16, "ensure_fit": 130, "enter": [188, 190, 193], "entir": [1, 31, 37, 197, 211, 217], "entri": [11, 37, 38, 95, 154, 156, 197, 199, 200, 211, 223, 224, 226], "enum": [185, 186, 188, 190, 193], "enumer": [53, 66, 67, 79, 80, 95, 99, 156, 157, 158, 168, 188, 190, 193, 197, 198, 199, 208, 212, 217, 218, 222, 226], "enumerate_surfaces_for_sav": 168, "env": [16, 205, 217], "env_expon": 217, "envelop": [66, 67, 76, 79, 80, 89, 92, 93, 104, 109, 110, 217], "envelope_expon": 44, "environ": [21, 37, 39, 158, 204, 214, 217, 219, 224, 226], "eo": 202, "eos_data": 202, "ep": [52, 106], "ephemer": [184, 185, 186, 188, 190, 193], "epitaxi": 202, "epoch": [13, 17, 31, 37, 60, 131, 202, 217], "equat": 202, "equidist": [48, 50], "equiform": [48, 50, 61], "equiformer_v2": [42, 107, 183], "equiformer_v2_31m_s2ef_all_md": [188, 190, 193, 212], "equiformer_v2_oc20": [42, 50, 107, 183], "equiformerv2": [50, 203, 209, 216, 221, 223, 224, 228], "equiformerv2_oc20": 48, "equiformerv2energytrain": 57, "equiformerv2forcestrain": 58, "equival": [5, 16, 224], "equivalent_idx_factor": 5, "equivari": [63, 64, 109, 110], "equivariantdegreelayerscal": 52, "equivariantdropout": 46, "equivariantdropoutarraysphericalharmon": 46, "equivariantlayernormarrai": 52, "equivariantlayernormarraysphericalharmon": 52, "equivariantrmsnormarraysphericalharmon": 52, "equivariantrmsnormarraysphericalharmonicsv2": 52, "equivariantscalarsdropout": 46, "eqv2": 203, "err_co2": 174, "err_h2o": 174, "erron": 224, "error": [2, 29, 31, 184, 185, 188, 202, 203, 204, 212, 223, 227], "errors_by_sid": 2, "escn": [42, 107, 183, 203, 209, 216, 223], "especi": [217, 223, 224], "essenti": [217, 227], "establish": [1, 221], "estim": 217, "et": [109, 110, 217, 221], "etc": [19, 29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 168, 184, 185, 186, 188, 197], "ethan": 226, "ethanol": 226, "ethanol_emb": 226, "euclidean": 224, "ev": [202, 204, 208, 209, 217, 219, 221, 223, 226, 228], "eval": 121, "eval_batch_s": 217, "eval_everi": [202, 227], "eval_metr": [57, 58, 121, 149, 150, 151, 217], "eval_on_free_atom": 217, "evalu": [0, 1, 6, 7, 42, 43, 44, 45, 46, 49, 52, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 123, 124, 128, 129, 150, 151, 183, 184, 185, 188, 190, 196, 197, 198, 212, 216, 217], "even": [48, 50, 202, 217, 223], "evenli": 211, "event": [5, 29, 44, 110, 154, 156, 171, 172, 184, 185, 188, 207, 217], "eventu": 202, "ever": 227, "everi": [13, 29, 31, 37, 60, 66, 67, 79, 80, 92, 93, 109, 110, 122, 164, 196, 199, 217], "everydai": 217, "everyth": 217, "everytim": 202, "evid": 202, "ex": [31, 37, 196], "exact": [68, 81, 94], "exactli": [48, 50, 92, 93], "exampl": [13, 16, 21, 29, 31, 37, 43, 44, 45, 46, 49, 51, 52, 53, 55, 56, 57, 58, 61, 70, 78, 83, 91, 97, 104, 106, 110, 111, 115, 116, 118, 119, 124, 128, 129, 150, 151, 158, 184, 185, 188, 196, 197, 199, 200, 202, 203, 210, 211, 212, 217, 223, 224, 225, 229], "exc_typ": [37, 38], "exc_valu": [37, 38], "exce": 221, "exceed": [184, 185, 188, 223], "except": [27, 48, 50, 69, 75, 82, 88, 173, 184, 185, 188, 190, 193, 195], "excess": 217, "exchang": [182, 223], "excit": 206, "exclud": [1, 2, 71, 84, 98], "execut": [110, 188, 190, 193, 202, 210], "exercis": 221, "exhaust": 221, "exist": [5, 6, 7, 20, 21, 27, 29, 31, 71, 84, 92, 93, 98, 107, 108, 109, 110, 158, 168, 169, 185, 186, 188, 196, 197, 210, 211, 217], "exist_ok": [208, 217, 219, 221, 224], "exp": [16, 112, 217], "expand": 52, "expand_edg": [56, 65], "expand_idx": 103, "expans": 217, "expect": [1, 5, 13, 29, 37, 39, 68, 71, 81, 84, 94, 98, 110, 153, 156, 184, 185, 188, 197, 208, 211, 217, 223], "expens": [202, 212, 217], "experi": [57, 58, 150, 151, 217, 223, 229], "experiment": [29, 223], "explain": [37, 38, 211, 229], "explicit": 226, "explicitli": [154, 156, 186, 217, 221], "exploit": [154, 156], "explor": [202, 212, 217, 219, 223, 229], "explos": 217, "expon": [76, 89, 104, 217], "exponenti": [76, 89, 104, 122], "exponential_moving_averag": [42, 123, 183], "exponentialenvelop": [76, 89, 104], "exponentialmovingaverag": 122, "expos": [184, 185, 188, 193, 195], "express": [44, 110, 207, 217, 219], "expt": 223, "extend": [16, 212, 224], "extens": [66, 67, 79, 80, 92, 93, 217, 229], "extra": [2, 45, 46, 49, 185, 186, 188, 197], "extra_m0_featur": 55, "extra_m0_output_channel": 55, "extra_repr": [45, 46, 49], "extract": [55, 144, 145, 197, 208, 211, 217, 221, 224, 226], "extract_fil": [162, 163], "extract_to": [162, 163], "extrapol": [197, 223], "extrem": [196, 219], "extxyz": [144, 145, 197, 201, 217, 219], "ey": 224, "f": [43, 44, 45, 46, 49, 52, 56, 69, 70, 82, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 199, 202, 203, 204, 205, 208, 212, 217, 219, 221, 223, 224, 226, 227, 228], "f57f7f5c1302637940f2cc858e789410": 197, "f7f2f58669a30abae8cb9ba1b7f2bcd2": 201, "f8d0909c2623a393148435dede7d3a46": 197, "f98866d08fe3451ae7ebc47bb51599aa": 197, "f_st": [92, 93], "f_st_vec": 217, "f_t": [92, 93], "fa24472e0c02c34d91f3ffe6b77bfb11": 197, "face": 217, "facebook": [12, 137, 140, 141, 143, 217], "facebookresearch": [20, 216], "facilit": 229, "facillit": 5, "factor": [26, 66, 67, 71, 79, 80, 84, 92, 93, 98, 126, 217, 223], "factori": 190, "fadel": 122, "fail": [11, 166, 185, 186, 188, 190, 201, 204, 210, 212], "failed_relax": [185, 186, 188], "failur": [0, 1], "fair": [156, 157, 205, 209, 217, 226], "fairchem": [5, 12, 20, 27, 31, 37, 44, 48, 50, 57, 58, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 127, 131, 149, 150, 151, 154, 156, 157, 188, 190, 192, 193, 196, 197, 199, 202, 204, 208, 212, 214, 217, 218, 221, 223, 224, 226, 227, 228, 229], "fairchem_main": [27, 202, 204], "fairchem_root": 27, "fairli": 217, "fall": [166, 195, 216, 217, 223], "fallback": 29, "fals": [5, 6, 7, 11, 12, 13, 14, 16, 20, 23, 25, 29, 31, 37, 38, 39, 44, 45, 46, 48, 50, 55, 57, 58, 61, 63, 64, 66, 67, 70, 71, 77, 78, 79, 80, 83, 84, 90, 91, 92, 93, 95, 97, 98, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 119, 122, 130, 133, 134, 149, 150, 151, 154, 158, 168, 171, 172, 184, 185, 186, 188, 190, 193, 196, 202, 203, 204, 208, 209, 211, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228], "famili": [217, 219], "familiar": [212, 217], "far": [197, 217], "farm": 217, "farther": 226, "fashion": 221, "fast": [196, 208, 219, 221], "fast_interval_sec": [188, 190, 193], "faster": 217, "fastest": 208, "favor": [154, 156, 157, 221, 223], "fb": 217, "fbaipublicfil": [197, 198, 200, 211, 217], "fcb71363018fb1e7127db2500e39e11a": 197, "fcc": [203, 214, 223, 226], "fcc100": [208, 217, 218, 219], "fcc111": [203, 214, 223], "fd589b013b72e62e11a6b2a5bd1d323c": 198, "fdc4cd19977496909d61be4aee61c4f1": 197, "feasibl": 196, "featur": [48, 50, 51, 52, 55, 61, 63, 64, 68, 81, 94, 110, 144, 145, 211, 212, 217, 226, 229], "fed": 168, "feed": 217, "feedforward": [48, 50, 61], "feedforwardnetwork": 61, "feedstock": 217, "feel": [210, 213, 217, 219], "fei": 44, "fertil": 217, "fetch": [37, 39, 184, 185, 186, 188, 190, 193], "few": [197, 202, 206, 210, 217, 223, 224, 229], "fewer": 5, "ff": 174, "ff6981fdbcd2e65d351505c15d218d76": 197, "ffmpeg": 136, "ffn": [48, 50, 52, 61], "ffn_activ": [48, 50, 61], "ffn_hidden_channel": [48, 50, 61], "fid": [208, 217, 218], "field": [76, 89, 104, 153, 156, 184, 185, 186, 188, 190, 193], "fig": [214, 217, 219, 221, 223, 228], "fig5a": 174, "fig5b": 174, "fig5c": 174, "fig5d": 174, "figshar": 204, "figsiz": [217, 219], "figur": [158, 166, 168, 198, 217, 219, 222, 223, 224], "file": [0, 1, 2, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 126, 133, 134, 137, 140, 141, 142, 143, 144, 145, 148, 149, 151, 153, 154, 156, 157, 161, 164, 166, 167, 168, 169, 173, 188, 197, 200, 201, 203, 204, 205, 207, 209, 210, 212, 217, 221, 227, 228, 229], "file_out": 221, "file_to_unzip": [162, 163], "filehandl": 227, "filelink": 227, "filenam": [27, 31, 37, 38, 135, 141, 166, 196], "filepath": [31, 37, 196], "filetyp": [31, 37], "fill": 168, "filter": [1, 2, 11, 29, 31, 37, 106, 112, 183, 188, 190, 193, 196, 208, 217, 221], "filter_kwarg": [60, 131], "filter_ml_data": 1, "final": [2, 5, 23, 31, 37, 66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 174, 188, 190, 193, 197, 199, 210, 211, 212, 214, 217, 219, 221, 224, 229], "final_atom": [171, 172, 224], "final_fram": 5, "final_slab_atom": [171, 172], "final_structur": [217, 219], "final_til": 5, "find": [5, 11, 31, 37, 66, 67, 79, 80, 154, 156, 157, 158, 190, 199, 202, 208, 210, 211, 217, 221, 223, 224, 226, 229], "find_adsorbate_binding_sit": [188, 190, 193, 212], "find_surface_atoms_by_height": 158, "find_surface_atoms_with_voronoi": 158, "find_surface_atoms_with_voronoi_given_height": 158, "fine": [13, 48, 50, 136, 204, 223, 225, 226, 229], "finish": [188, 190, 193, 212, 215], "finit": 212, "first": [2, 5, 16, 21, 27, 29, 33, 66, 67, 71, 75, 79, 80, 84, 88, 92, 93, 98, 99, 103, 104, 110, 153, 156, 188, 190, 193, 195, 197, 199, 202, 204, 212, 214, 218, 221, 223, 224, 226, 227, 229], "fit": [29, 42, 44, 110, 123, 128, 129, 158, 168, 183, 196, 202, 203, 207, 214, 217], "fit_": [128, 129], "fit_context_": [128, 129], "fit_transform": 226, "fix": [66, 67, 79, 80, 133, 134, 156, 157, 158, 165, 173, 185, 186, 188, 193, 195, 197, 210, 218], "fixatom": [208, 217, 218, 219, 223], "fixed_wait_sec": [188, 193, 195], "flag": [11, 18, 42, 48, 50, 133, 134, 183, 210, 224, 227], "flag_anomali": [152, 167, 172, 183], "fletcher": 217, "fli": 217, "flip": [158, 168, 224], "flip_struct": [158, 168], "flipgrid": 117, "flipped_struct": [158, 168], "float": [5, 23, 25, 26, 29, 31, 37, 41, 44, 45, 46, 48, 49, 50, 51, 52, 60, 61, 63, 64, 66, 67, 71, 76, 79, 80, 84, 89, 92, 93, 98, 101, 104, 106, 109, 110, 112, 113, 115, 116, 117, 118, 119, 121, 122, 128, 129, 133, 134, 154, 156, 157, 158, 168, 171, 172, 185, 186, 188, 190, 192, 193, 195, 217, 218], "float16": 204, "float32": [204, 211], "florian": 217, "flow": 110, "fluorit": 202, "fly": [48, 50, 63, 64, 112, 113, 115, 197, 217], "fmax": [5, 6, 7, 23, 25, 199, 208, 214, 217, 218, 219, 221, 223, 224, 228], "fname": 166, "focu": [202, 229], "folder": [3, 29, 31, 37, 39, 40, 196, 197, 210, 217], "follow": [1, 2, 5, 12, 16, 36, 44, 60, 110, 154, 156, 169, 188, 190, 193, 197, 198, 200, 201, 202, 205, 207, 208, 209, 210, 211, 212, 217, 218, 221, 224, 228, 230], "font": [217, 219], "fontsiz": [217, 219], "forc": [5, 6, 7, 11, 21, 23, 25, 29, 31, 37, 39, 40, 48, 50, 57, 58, 63, 64, 66, 67, 69, 76, 79, 80, 82, 89, 92, 93, 96, 101, 104, 112, 113, 115, 133, 134, 150, 151, 184, 185, 186, 188, 190, 193, 196, 202, 212, 216, 218, 223, 226, 227, 229], "force_balanc": 13, "force_coeffici": 217, "force_consist": 25, "force_fc1": [113, 115], "force_fc2": [113, 115], "force_fc3": [113, 115], "force_scal": [93, 102, 107, 183], "forceblock": 63, "forcenet": 216, "forces_coupl": [92, 93, 217], "forces_train": [50, 59, 107, 183], "forcescal": 101, "forcestrain": 217, "forcesx_ma": 121, "forcesx_ms": 121, "forcesy_ma": 121, "forcesy_ms": 121, "forcesz_ma": 121, "forcesz_ms": 121, "forev": [188, 193, 195], "fork": [205, 216], "form": [46, 110, 112, 133, 134, 171, 172, 197, 217], "format": [0, 12, 29, 185, 186, 188, 196, 197, 200, 201, 211, 217, 219, 223], "formatopt": 197, "formatt": 227, "former": [106, 122], "formerli": [208, 217, 229], "formula": [16, 71, 84, 98, 154, 156, 185, 186, 188, 212], "forward": [16, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61, 63, 64, 66, 67, 69, 70, 72, 73, 75, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 103, 104, 105, 109, 110, 112, 113, 115, 116, 118, 119, 124, 128, 129, 210, 217], "found": [5, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 150, 151, 167, 188, 197, 203, 211, 217, 219, 220, 221, 224, 226], "four": 197, "fourier": [77, 90, 105], "fouriersmear": 119, "fourth": 202, "fp": 219, "fr": [202, 227], "frac": [217, 219], "fraction": 27, "fragment": 203, "frame": [1, 3, 5, 11, 23, 31, 37, 185, 186, 188, 197, 199, 208, 217, 218, 228], "frame_set": 228, "frame_til": 5, "framework": [218, 224, 228], "free": [44, 110, 133, 134, 203, 207, 210, 213, 217, 219], "freedom": [76, 89, 104, 158, 168, 224], "frequenc": [57, 58, 66, 67, 71, 76, 77, 79, 80, 84, 89, 90, 92, 93, 98, 104, 105, 150, 151], "fresh": 214, "fro": 166, "from": [0, 1, 2, 5, 12, 13, 20, 26, 27, 29, 31, 36, 37, 38, 39, 40, 44, 48, 50, 52, 60, 61, 63, 68, 78, 81, 91, 92, 93, 94, 95, 98, 106, 110, 111, 112, 122, 126, 129, 131, 136, 144, 145, 153, 154, 155, 156, 157, 158, 161, 166, 168, 173, 184, 185, 186, 188, 190, 192, 193, 196, 197, 198, 199, 200, 201, 202, 204, 205, 207, 208, 209, 212, 214, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "from_atom": [156, 158], "from_bulk_get_all_slab": [156, 158], "from_bulk_get_random_slab": [156, 158], "from_bulk_get_specific_mil": [156, 158, 221, 224, 228], "from_grid": [56, 65], "from_json": 212, "from_precomputed_slabs_pkl": [156, 158], "fromgrid": 117, "frozen": [171, 172], "ft": 202, "fuel": 217, "full": [12, 23, 31, 37, 163, 166, 199, 211, 217, 219], "full_data": 204, "full_db": 204, "full_traj": 166, "fulli": 217, "func": [13, 63], "function": [38, 40, 43, 44, 45, 48, 50, 54, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 69, 70, 73, 75, 76, 77, 79, 80, 83, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 103, 104, 105, 110, 113, 115, 116, 118, 119, 124, 128, 150, 151, 202, 210, 212, 217, 223, 224, 229], "funk": 154, "funtion": 44, "furnish": [44, 110, 207, 217], "further": [113, 115, 202, 203], "furthermor": 110, "furthest": [217, 218], "futur": [185, 186, 188, 190, 193, 229], "fysik": [31, 37, 197, 217, 219], "g": [1, 16, 17, 19, 31, 37, 110, 155, 156, 196, 202, 203, 217, 221], "ga": [197, 198, 209, 210, 217, 219], "gain": 217, "gamma": [62, 65, 76, 89, 104, 112, 117], "gamma_": 110, "gap": [156, 157, 217], "gas_reference_energi": [217, 219], "gaspi": [168, 173], "gastegg": [76, 89, 104], "gate": [48, 50, 61, 110], "gateactiv": 45, "gatedequivariantblock": 110, "gather": [14, 166], "gather_from_model_parallel_region": 16, "gather_object": 14, "gatherfrommodelparallelregion": 16, "gating_scalar": 45, "gaurante": [156, 157], "gaussian": [48, 49, 50, 63, 64, 76, 89, 104, 112, 113, 115, 217], "gaussian_rbf": [42, 50, 107, 183], "gaussianbasi": 104, "gaussianradialbasislay": 49, "gaussiansmear": [116, 119, 217], "gcn": 110, "gemnet": [31, 42, 80, 88, 103, 107, 183, 202, 203, 204, 209, 214, 216, 223, 226, 227, 229], "gemnet_gp": [42, 107, 183], "gemnet_oc": [42, 107, 183, 217], "gemnet_oc_base_s2ef_all_md": 212, "gemnet_t": 217, "gemnetoc": [92, 93, 226], "gemnett": [66, 67], "gener": [0, 1, 5, 13, 19, 20, 27, 68, 81, 92, 93, 94, 136, 142, 154, 156, 157, 158, 168, 169, 171, 172, 183, 184, 185, 186, 187, 188, 190, 191, 192, 193, 195, 196, 197, 198, 202, 203, 211, 212, 216, 220, 221, 228, 229], "generaliz": [198, 212], "generate_graph": 43, "generate_graph_dict": [92, 93], "generate_graph_valu": [109, 110], "generate_interaction_graph": [66, 67, 79, 80], "generate_yml_config": [27, 202, 204, 227], "genproto": 13, "geomet": [133, 134], "geometr": [44, 133, 134, 216, 217, 218], "geometri": [5, 182, 202, 217, 221, 223, 229], "get": [5, 6, 8, 11, 20, 29, 31, 37, 38, 56, 65, 66, 67, 79, 80, 95, 98, 110, 154, 156, 157, 158, 168, 184, 185, 188, 197, 199, 202, 204, 210, 217, 220, 222, 223, 224, 225, 226, 227, 229], "get_adsorb": [184, 185, 188, 212], "get_adsorbate_slab_config": [184, 185, 188], "get_adsorbate_slab_relaxation_result": [188, 190, 193], "get_adsorbate_slab_relaxations_request": [184, 185, 188], "get_adsorbate_slab_relaxations_result": [184, 185, 188, 190, 193], "get_angl": 106, "get_atom": [31, 37, 204], "get_atomic_numb": [217, 219], "get_atoms_object": 31, "get_bas": [92, 93], "get_best_sites_for_product1": 5, "get_best_unique_sites_for_product2": 5, "get_binding_sit": [154, 156], "get_bulk": [184, 185, 188, 212], "get_chemical_symbol": [217, 219, 224], "get_class": 20, "get_commit_hash": 29, "get_data": [135, 142, 174], "get_dataload": [149, 150], "get_dataset_class": 20, "get_desorption_map": [6, 8], "get_dft_comput": 1, "get_dft_data": [0, 1], "get_dist": 226, "get_dp_group": 16, "get_dp_rank": 16, "get_dp_world_s": 16, "get_edge_id": [106, 111], "get_energy_and_forc": 25, "get_fig4a": 174, "get_fig4b": 174, "get_fig4c": 174, "get_fig4d": 174, "get_forc": [6, 7, 203, 212, 217, 219], "get_from_grid_mat": [56, 65], "get_gp_group": 16, "get_gp_rank": 16, "get_gp_world_s": 16, "get_graphs_and_indic": [92, 93], "get_initi": 94, "get_inner_idx": 106, "get_interstitial_dist": 154, "get_l_to_all_m_expand_index": 52, "get_logger_class": 20, "get_loss_modul": 29, "get_lr": [60, 131], "get_max_neighbors_mask": 29, "get_metadata": [31, 37, 39], "get_metadata_dict": [154, 156, 157, 158], "get_mixed_triplet": 95, "get_mlp": [69, 82, 96], "get_model": [184, 185, 188], "get_model_class": 20, "get_most_proximate_symmetric_group": 5, "get_neb_fram": [5, 228], "get_neighbor_ord": 106, "get_normalization_lay": 52, "get_pars": [15, 136, 144, 146, 227], "get_pbc_dist": [29, 217], "get_potential_energi": [202, 203, 204, 212, 217, 219, 221, 223, 224, 226, 228], "get_precon_forc": [6, 7], "get_product2_idx": 5, "get_projected_angl": 106, "get_pruned_edge_idx": 29, "get_quadruplet": 95, "get_random_sites_on_triangl": 154, "get_rank": 14, "get_relaxed_energi": [31, 37], "get_results_ml": 11, "get_results_sp": 11, "get_results_ui_url": [185, 187, 188], "get_rotate_inv_rescal": 56, "get_sampl": [149, 150], "get_shortest_path": 5, "get_single_point": 11, "get_sites_within_r": 5, "get_slab": [155, 156, 184, 185, 188], "get_sph_harm_basi": 98, "get_stress": 21, "get_surface_sit": 158, "get_system_pairs_fin": 5, "get_system_pairs_initi": 5, "get_tag": [208, 210, 217, 219, 221, 224], "get_task_class": 20, "get_to_grid_mat": [56, 65], "get_trainer_class": 20, "get_triplet": [66, 67, 79, 80, 95], "get_volum": 202, "get_world_s": 14, "getcwd": 182, "getlogg": 227, "gib": 203, "gif": [136, 219], "gif_maker_parallel": [42, 140, 183], "gin": 110, "gist": 221, "github": [36, 44, 182, 197, 205, 209, 210, 216, 217, 218, 226], "githubusercont": 205, "give": [5, 29, 78, 91, 106, 154, 156, 158, 168, 213, 215, 217], "given": [0, 1, 3, 5, 13, 16, 26, 37, 39, 54, 78, 91, 92, 93, 106, 110, 122, 133, 134, 154, 156, 157, 163, 166, 169, 173, 210, 217, 218], "glob": [31, 37, 217, 221, 224], "global": [20, 78, 91, 106, 111, 112, 198], "gnn": [48, 50, 63, 64, 110, 113, 115, 217], "gnoc": 226, "go": [2, 52, 92, 93, 197, 202, 217, 223], "goal": [217, 221], "goe": [173, 217], "gold": 204, "goldfarb": 217, "good": [173, 197, 202, 204, 217, 223, 224], "googl": 220, "gov": [217, 223], "goyal": [168, 197, 200, 209, 216, 217], "gp_util": [18, 42, 183], "gpu": [196, 197, 202, 203, 204, 205, 210, 211, 217, 221, 224, 227, 228], "grab": [224, 228], "grad": [16, 29], "grad_input": 217, "grad_output": 16, "grad_target_mean": [211, 217], "grad_target_std": [211, 217], "gradcheck": 16, "gradient": [16, 19, 66, 67, 69, 79, 80, 82, 92, 93, 96, 217, 219], "gradscal": 101, "grain": 13, "grant": [44, 110, 207, 217], "granular": 110, "graph": [5, 46, 48, 50, 61, 63, 64, 92, 93, 95, 110, 112, 113, 115, 133, 134, 144, 145, 199, 216, 217, 229], "graph_in": 95, "graph_out": 95, "graphdroppath": 46, "graphparallelgemnett": [79, 80], "graphsag": 110, "great": [217, 219], "greater": 5, "greedili": 13, "grei": 217, "grep": [202, 204], "grid": [48, 50, 56, 61, 63, 65, 94, 117, 217, 226], "grid_init": 94, "grid_resolut": [48, 50], "groenenboom": 204, "ground": [0, 1, 217, 219], "group": [2, 5, 14, 33], "grow": 217, "growth": 202, "growth_factor": 101, "growth_interv": 101, "guarante": [184, 185, 188], "guess": [190, 212, 217, 221, 223], "guess_property_metadata": 41, "guess_target_metadata": 41, "gz": [197, 198, 200, 201, 217], "g\u00fcnnemann": 217, "h": [69, 73, 75, 82, 86, 88, 96, 100, 103, 197, 217, 219, 221, 223, 226, 227, 228], "h2": [217, 219, 223], "h2o": [203, 217, 219, 223], "h_": [112, 217, 223], "h_atom": 217, "h_t": 217, "ha": [3, 5, 11, 13, 16, 21, 29, 31, 66, 67, 71, 79, 80, 84, 92, 93, 98, 106, 109, 110, 113, 115, 154, 158, 168, 184, 185, 188, 190, 193, 195, 197, 202, 203, 204, 206, 208, 216, 217, 218, 221, 223, 224, 228, 229], "had": [166, 190, 197, 217, 226, 229], "hadamard": [75, 88], "half": 228, "halid": 197, "halv": 52, "hand": [227, 229], "handl": [16, 188, 190, 193, 212, 228, 229], "handler": 29, "handler_err": 227, "handler_out": 227, "handpick": 217, "happen": [5, 202, 203, 217, 221, 226], "hard": 217, "hardwar": [110, 211], "harm": [71, 84, 98], "harmon": [44, 48, 50, 55, 56, 61, 63, 64, 65, 71, 84, 98, 113, 115, 117], "has_surface_chang": [171, 172, 221, 224], "has_surface_tag": [156, 158], "hashabl": 121, "have": [5, 13, 16, 37, 38, 43, 44, 45, 46, 48, 49, 50, 52, 56, 70, 83, 92, 93, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 136, 154, 156, 158, 168, 169, 171, 172, 186, 188, 190, 193, 196, 197, 199, 202, 203, 204, 205, 210, 211, 212, 216, 217, 218, 221, 223, 224, 226, 227, 228, 229], "hcoda1": 174, "hcp": 223, "he": [68, 81, 94], "he_orthogonal_init": [68, 70, 81, 83, 94, 97], "head": [48, 50, 61, 227], "hear": 230, "heavili": [44, 212], "heighest": 158, "height": [174, 203, 214, 216, 223], "height_tag": 158, "help": [29, 31, 37, 133, 134, 156, 157, 204, 206, 215, 217, 219, 229], "helper": [12, 56, 65, 117, 149, 150, 184, 185, 188, 190, 202], "henc": 95, "henkelman": 197, "heorthogon": [66, 67, 69, 79, 80, 82, 92, 93, 217], "her": [218, 221], "hera": [197, 200, 209, 216, 217], "here": [0, 1, 5, 38, 66, 67, 79, 80, 92, 93, 109, 110, 173, 197, 199, 202, 203, 204, 205, 209, 210, 211, 213, 217, 219, 220, 221, 223, 224, 226, 227, 228, 229], "herebi": [44, 110, 207, 217], "hessian": 217, "heur": 198, "heur0": 169, "heur1": 169, "heurist": [154, 156, 157, 158, 169, 197, 198, 221, 224], "heuristic_adslab": [221, 224], "heuristic_adslabs_h": 221, "heuristic_adslabs_nnh": 221, "heurstic": 169, "hidden": [44, 48, 50, 51, 61, 63, 64, 112, 113, 115], "hidden_channel": [44, 51, 55, 61, 63, 64, 109, 110, 112, 113, 115], "hidden_channels_list": 115, "hierarchi": 29, "high": [0, 1, 196, 202, 210, 212, 217, 226, 229], "higher": [52, 223, 226, 227], "highli": [208, 223], "highlight": [213, 217], "hist": [204, 208, 217], "histor": [37, 39, 40], "histori": 217, "hit": [188, 193, 195, 217], "ho": [197, 209, 216, 217], "hold": [5, 53], "holder": [44, 110, 207, 217], "hollow": [154, 156, 157, 221], "home": [5, 174], "hope": 217, "host": [184, 185, 187, 188, 190, 193, 211], "hot": [33, 35, 36], "hour": [217, 221, 228], "how": [16, 92, 93, 196, 202, 204, 206, 208, 209, 211, 213, 214, 215, 217, 218, 219, 220, 223, 224, 226, 228, 229], "howev": [46, 71, 84, 98, 110, 196, 217, 219, 223, 224, 227], "hpo": [42, 140, 183], "hpo_util": [18, 42, 183], "html": [31, 37, 158, 185, 186, 188, 197, 217, 219, 228], "http": [31, 37, 44, 78, 91, 106, 109, 110, 111, 154, 158, 184, 185, 188, 197, 198, 200, 202, 204, 205, 209, 211, 212, 216, 217, 218, 219, 221, 223, 226], "hu": [197, 209, 216, 217], "hundr": 212, "hybrid": [1, 141, 211], "hydrogen": 217, "hyperparamet": [66, 67, 76, 77, 79, 80, 89, 90, 92, 93, 104, 105, 210, 217], "i": [0, 1, 2, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 61, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 124, 125, 128, 129, 131, 133, 134, 136, 137, 140, 141, 143, 148, 149, 150, 151, 154, 155, 156, 157, 158, 166, 167, 168, 171, 172, 184, 185, 186, 187, 188, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 202, 204, 205, 207, 208, 209, 211, 212, 216, 217, 218, 219, 220, 221, 223, 224, 226, 227, 228, 229], "i_structur": [217, 219], "iccv": 52, "id": [1, 2, 31, 37, 38, 155, 156, 184, 185, 186, 187, 188, 190, 193, 197, 198, 199, 200, 202, 204, 209, 211, 212, 217, 221], "id3_ba": [66, 67, 75, 79, 80, 88], "id3_ca": [66, 67, 75, 77, 79, 80, 88, 90], "id3_ragged_idx": [66, 67, 75, 79, 80, 88], "id_": [78, 91, 106], "id_ca": [72, 85], "id_j": [69, 82], "id_ragged_idx": [72, 85], "id_reduc": [72, 85], "id_swap": [75, 88, 103], "id_t": [78, 91, 106], "idea": [204, 213, 215, 216, 217, 221], "ident": 166, "identifi": [5, 31, 37, 57, 58, 133, 134, 149, 150, 151, 154, 156, 197, 198, 199, 200, 202, 204, 208, 217, 218, 219, 221], "idx": [3, 5, 31, 37, 38, 39, 40, 103, 106, 208, 217, 218, 221, 224, 228], "idx_": [73, 75, 86, 88, 217], "idx_agg2": 103, "idx_agg2_inn": [99, 103], "idx_agg2_out": 99, "idx_agg_inn": 99, "idx_agg_out": 99, "idx_atom": 96, "idx_ji": 44, "idx_kj": 44, "idx_map": 5, "idx_of_interest": 228, "idx_rad_inn": 99, "idx_rad_out": 99, "idx_sph_inn": 99, "idx_sph_out": 99, "idx_t": [73, 75, 86, 88, 217], "idxs_to_keep": 224, "ignor": [13, 21, 37, 39, 40, 158, 188, 192, 193, 203], "ij": 217, "ill": 106, "illumin": 217, "illustr": [204, 217, 219], "iloc": 224, "imag": [6, 7, 52, 95, 164, 166, 203, 208, 217, 219, 228], "imagin": 224, "img": 216, "immedi": [188, 190, 193], "impact": [220, 223], "impl": 46, "implement": [12, 13, 16, 21, 31, 37, 39, 44, 45, 46, 49, 110, 197, 216, 217, 224], "implemented_properti": 21, "impli": [44, 110, 199, 207, 217], "implicit": 229, "import": [11, 20, 29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 198, 199, 202, 203, 204, 208, 210, 212, 214, 218, 219, 221, 223, 224, 226, 227, 228, 229], "importantli": 31, "improv": [122, 202, 203, 204, 217, 223, 224, 228], "in_channel": [45, 115], "in_featur": [56, 70, 97, 217], "in_lmax": [56, 65], "in_mmax": [56, 65], "inc": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207], "incar": 11, "incid": 95, "includ": [1, 5, 21, 29, 31, 37, 44, 66, 67, 79, 80, 110, 133, 134, 184, 185, 186, 188, 190, 193, 195, 196, 197, 198, 204, 207, 211, 212, 213, 216, 217, 220, 221, 223, 229], "include_data": [37, 38], "include_relaxed_energi": [31, 37, 196], "incom": 95, "incorpor": [157, 218, 224], "incorrect": 197, "increas": [29, 78, 91, 106, 111, 158, 168, 217, 221, 228], "increasingli": [216, 229], "increment": [78, 91, 106, 111], "ind": [154, 156, 157, 204, 226], "indefinit": [188, 190, 193], "independ": [190, 211], "index": [5, 29, 31, 37, 38, 39, 53, 78, 82, 91, 106, 110, 111, 133, 134, 142, 153, 155, 156, 158, 168, 169, 196, 197, 199, 208, 217, 218, 219, 224, 226, 228], "index_drop_ddec_defect": 176, "index_drop_ddec_pristin": 176, "index_fil": [31, 37, 196], "index_fn": [128, 129], "indexfn": [128, 129], "indic": [5, 13, 37, 39, 51, 61, 66, 67, 78, 79, 80, 91, 92, 93, 95, 106, 111, 112, 133, 134, 153, 154, 156, 157, 158, 162, 168, 169, 173, 185, 186, 188, 192, 193, 197, 198, 199, 200, 202, 203, 208, 212, 217, 218, 219, 224], "individu": [5, 133, 134, 188, 190, 193, 203, 212], "induc": [171, 172], "inf": [92, 93, 101], "infer": [37, 39, 40, 210], "infil": 174, "infinit": [217, 219], "influenc": 223, "info": [5, 17, 46, 63, 64, 113, 115, 133, 134, 204, 217, 220, 227], "info_str": 53, "inform": [1, 5, 20, 27, 31, 37, 45, 46, 49, 133, 134, 154, 156, 184, 185, 186, 188, 190, 196, 198, 199, 202, 208, 212, 217, 218, 219, 223, 224, 226, 228, 229], "infrastructur": [196, 199], "ingo": 95, "inherit": [149, 150], "init": 5, "init_atom": [171, 172], "init_basis_funct": [92, 93], "init_edge_rot_mat": 47, "init_kwarg": 94, "init_scal": 101, "init_shared_basis_lay": [92, 93], "initi": [5, 6, 8, 12, 14, 16, 23, 29, 31, 37, 39, 40, 42, 48, 50, 57, 58, 66, 67, 69, 70, 72, 73, 76, 79, 80, 82, 83, 85, 86, 89, 92, 93, 97, 100, 104, 107, 110, 119, 122, 129, 150, 151, 153, 154, 155, 156, 158, 166, 171, 172, 183, 188, 190, 193, 198, 199, 212, 216, 219, 221, 223, 224], "initial_atom": 224, "initial_charg": 21, "initial_fram": 5, "initial_lr": 29, "initial_magmom": 21, "initial_struc": [208, 217], "initial_til": 5, "initialize_": [128, 129], "initwignerdmatrix": 117, "inityrotmap": 117, "inlin": [203, 217, 219], "inner": [5, 78, 91, 106, 217], "inner_product_clamp": 106, "inner_product_norm": [78, 91], "innov": 217, "inpfil": 146, "inplac": 45, "input": [16, 29, 45, 52, 54, 55, 56, 60, 66, 67, 70, 71, 79, 80, 83, 84, 94, 95, 97, 98, 99, 100, 103, 110, 118, 124, 131, 158, 164, 166, 168, 169, 173, 180, 184, 185, 186, 187, 188, 190, 191, 192, 193, 197, 198, 200, 201, 210, 211, 212, 216, 217, 228], "input_block": [42, 50, 107, 183], "input_channel": [51, 55, 61], "input_embed": [56, 61], "input_fold": 162, "input_scalar": 45, "input_tensor": 45, "insert": [13, 21], "insid": 97, "inspect": [202, 221, 223, 226], "inspir": [20, 101, 217], "instal": [27, 214, 217, 229], "instanc": [29, 31, 37, 155, 156, 184, 185, 188, 190, 193, 217], "instanti": [31, 110, 224, 228], "instead": [16, 26, 33, 95, 106, 173, 197, 203, 211, 221, 224], "instruct": [205, 217, 224, 228], "int": [3, 5, 6, 8, 13, 14, 16, 19, 21, 23, 25, 26, 29, 31, 37, 38, 39, 40, 43, 44, 45, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 121, 124, 127, 129, 133, 134, 149, 150, 151, 153, 154, 155, 156, 157, 158, 169, 182, 184, 185, 186, 188, 190, 192, 193, 195, 204, 217, 218, 224], "int_": [13, 119], "int_dft_co2": 174, "int_dft_h2o": 174, "int_emb_s": 44, "integ": [2, 27, 37, 38, 39, 40, 133, 134, 168, 173, 197, 198, 200, 202], "integr": [37, 39, 48, 50, 56, 63, 64, 113, 115], "intend": [16, 31, 37, 208, 217], "intens": [217, 229], "intention": 197, "inter": [156, 157, 228], "interact": [31, 44, 73, 75, 86, 88, 92, 93, 95, 100, 103, 112, 113, 115, 171, 172, 188, 192, 193, 203, 210, 219, 220, 229], "interaction_block": [67, 74, 80, 87, 93, 102, 107, 183], "interaction_indic": [42, 93, 107, 183], "interactionblock": 103, "interactionblocktripletsonli": [75, 88], "interactionppblock": 44, "interactom": [66, 67, 79, 80], "interatom": [44, 66, 67, 79, 80, 92, 93, 112, 133, 134], "intercal": [221, 224], "intercept": 221, "interest": [197, 208, 211, 217, 219, 220, 228], "interfac": [19, 21, 202, 217], "intermedi": [72, 85, 95, 99, 163, 166, 217], "intermetal": 197, "intermitt": 217, "intern": [20, 29, 197], "internal_weight": 55, "internet": 229, "interplai": 217, "interpol": 5, "interpolate_and_correct_fram": 5, "interpret": 223, "interrel": 217, "intersect": [5, 154, 156], "interstiti": [5, 156, 157], "interstitial_gap": [154, 156, 157], "interv": [26, 219], "interval_sec": 190, "intro": 206, "introduc": [110, 223, 229], "introduct": [217, 222], "intuit": [217, 219], "inv_cutoff": 217, "invari": [29, 48, 50, 51, 55, 61, 63, 64, 110, 229], "invers": [76, 89, 104], "inverse_neg": [66, 67, 79, 80, 109, 110], "investig": [223, 226, 229], "involv": [1, 13, 158, 168, 217], "io": [31, 37, 196, 197, 199, 203, 208, 212, 217, 218, 219, 221, 224, 228], "ionic": [1, 3, 198], "ionic_step": [1, 3], "ioniz": 33, "ip_op_pair": 146, "ipynb": 218, "ipython": [202, 212, 217, 219, 227, 228], "ir": 223, "irrep": [29, 46, 56, 65], "irreps_sum": 29, "is2": 197, "is2r": [37, 39, 40, 57, 58, 150, 151, 196, 210, 220, 224, 228], "is2re_predict": [211, 217], "is2re_result": 217, "is2rs_submiss": 211, "is_adsorbate_adsorb": 5, "is_adsorbate_desorb": [171, 172, 221, 224], "is_adsorbate_dissoci": [171, 172, 221, 224], "is_adsorbate_intercal": [171, 172, 221, 224], "is_avail": 217, "is_debug": [57, 58, 149, 150, 151, 217], "is_edge_list_respect": 5, "is_failed_sp": 11, "is_mast": 14, "is_structure_invert": [158, 168], "is_success": [0, 1], "isn": [13, 171, 172, 223], "issu": [36, 202, 203, 204, 210, 216, 217], "item": [20, 217, 226], "iter": [5, 13, 17, 25, 31, 37, 53, 122, 129, 149, 150, 151, 188, 192, 193, 199, 211, 217, 221, 224], "itersect": [154, 156], "ith": [37, 38], "its": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 171, 172, 188, 190, 191, 193, 207, 212, 216, 217, 224, 229], "itself": [29, 158, 168, 217, 219], "j": [66, 67, 79, 80, 92, 93, 109, 110, 112, 180, 201, 202, 204, 209, 217, 223, 226], "janic": [200, 209, 212, 217], "janlan": 217, "javier": [197, 200, 209, 216, 217], "ji": 217, "jing": 221, "jn": [71, 84, 98], "jn_zero": [71, 84, 98], "job": [11, 29, 182, 190, 203, 217], "johann": 217, "join": [180, 216, 217, 219], "jointli": 211, "journal": [197, 200, 201, 209, 212, 216], "jp508805h": 223, "json": [31, 37, 38, 66, 67, 79, 80, 126, 174, 202, 212, 217, 223], "judgement": [202, 229], "jump": 5, "junwoong": [197, 209, 216, 217], "jupyt": [203, 212, 220, 221, 227, 229], "just": [5, 11, 16, 37, 38, 57, 58, 136, 150, 151, 196, 203, 204, 208, 213, 217, 219, 221, 223, 224, 228], "jvp": 16, "k": [1, 6, 7, 33, 35, 36, 71, 84, 98, 129, 173, 199, 217, 221, 223, 226, 228], "k2zn6o7_mp": 200, "k4zn12o14": 200, "k_pt": 173, "kaim": [68, 81, 94], "keep": [57, 58, 78, 91, 106, 111, 150, 151, 188, 192, 193, 196, 203, 204, 216, 221, 223, 224], "keep_all_slab": [188, 192, 193, 212], "keep_in_memori": [31, 37, 196], "keep_slabs_with_miller_indic": [188, 192, 193, 212], "kei": [1, 20, 27, 29, 30, 37, 38, 39, 40, 78, 91, 121, 129, 133, 134, 149, 150, 158, 188, 192, 193, 197, 200, 202, 208, 217, 226, 229], "keith": 204, "kept": [48, 50, 224], "kernel": [68, 69, 81, 82, 94, 221, 223], "kernel_initi": [72, 85], "kevin": [168, 173, 197, 209, 216, 217], "key_map": [30, 31, 37], "key_sequ": 29, "key_value_pair": [37, 38, 204], "keyword": [31, 37, 70, 83, 97, 129, 196], "khot_embed": [34, 37, 42, 183], "kind": [20, 44, 110, 203, 204, 207, 217, 221, 223, 226, 229], "kitchin": [202, 204, 223, 226], "klicpera": 217, "klicperajo": 44, "kmax": [72, 85, 88, 99], "know": [203, 206, 223], "knowledg": 217, "known": [184, 185, 188, 221], "kolluru": [200, 209, 217], "ktran": [168, 173], "kwarg": [12, 13, 16, 29, 37, 38, 69, 75, 82, 88, 92, 93, 129, 156, 158, 174, 182, 184, 185, 188], "kwd": [185, 186, 188, 190, 193], "l": [48, 50, 51, 52, 53, 55, 61, 63, 65, 71, 84, 98, 117, 217, 226], "l2": 226, "l22": 182, "l2mae": 217, "l2maeloss": 124, "l4": [203, 209], "l6": 209, "l_degre": [71, 84, 98], "l_harmon": 56, "l_max": 224, "l_maxdegre": [71, 84, 98], "label": [158, 185, 186, 188, 192, 193, 202, 217, 219, 221, 223, 226, 229], "label_metric_dict": 17, "labels": [217, 219], "lack": 229, "lambda": 60, "lambda_": 209, "lambda_f": 209, "lambda_typ": 60, "lambdalr": 60, "lan": [200, 209, 212, 217], "lan2023adsorbml": 212, "laptop": 229, "larg": [5, 13, 31, 37, 156, 157, 201, 202, 204, 208, 209, 210, 217, 219, 223, 227, 229], "larger": [31, 37, 158, 168, 197, 223], "largest": [13, 208, 217], "larri": [206, 217], "last": [21, 31, 37, 51, 61, 110, 196, 199, 202], "lastli": [133, 134], "late": 223, "later": [2, 5, 29, 122, 125, 184, 185, 186, 188, 202, 211, 217, 221, 224, 226, 229], "latest": [166, 213, 216, 217, 230], "latter": [221, 224], "lattic": [158, 185, 186, 188, 223, 226], "launch": [210, 211, 212, 217, 221], "lavril": [197, 209, 216, 217], "lawrenc": [197, 200, 209, 212, 216, 217], "lay12": [203, 209], "lay20": 209, "layer": [20, 42, 44, 46, 48, 50, 52, 54, 61, 63, 64, 66, 67, 79, 80, 92, 93, 107, 110, 112, 113, 115, 119, 183, 217, 219], "layer_idx": 63, "layer_kwarg": [70, 83, 97], "layer_norm": [42, 48, 50, 61, 107, 183], "layer_norm_sh": [48, 50, 61], "layerblock": 63, "lbfg": [25, 217, 219], "lbfgs_torch": [18, 22, 24, 183], "lbl": 217, "lbrabson3": 174, "lc": 226, "le4": 209, "lead": [29, 204, 217], "leaderboard": 217, "leap": [198, 212], "learn": [29, 60, 68, 76, 81, 89, 94, 104, 131, 196, 198, 202, 204, 211, 212, 214, 217, 229], "learnabl": [110, 229], "least": [31, 156, 157, 158, 188, 190, 193, 204], "leav": [5, 221], "led": [197, 217], "left": [110, 197, 202, 221, 222, 225], "legend": [202, 217, 219, 221, 223, 226], "legendr": [71, 84, 98], "legendre_out": 217, "len": [13, 21, 37, 38, 78, 91, 106, 111, 202, 203, 204, 208, 217, 218, 219, 221, 226], "length": [13, 37, 39, 40, 56, 65, 71, 84, 98, 199, 208, 217], "less": [1, 5, 154, 156, 158, 217, 223, 224], "let": [202, 217, 221, 229], "level": [29, 211, 212], "levelnam": 227, "leverag": [217, 221, 223, 229], "lf100": 209, "lgpl2": 38, "li2cr2o4": 200, "liabil": [44, 110, 207, 217], "liabl": [44, 110, 207, 217], "librari": [212, 217], "licens": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 197, 200, 201, 209, 217], "licro2_mp": 200, "lie": 5, "lifetim": [188, 190, 193], "like": [21, 33, 53, 60, 188, 190, 193, 198, 199, 202, 203, 204, 210, 216, 217, 219, 221, 223, 224, 226, 227, 229], "limit": [37, 38, 44, 110, 174, 184, 185, 186, 188, 190, 193, 195, 207, 212, 219, 220, 229], "lin_ref": [48, 50, 210], "line": [45, 46, 49, 169, 197, 202, 203, 204, 220, 221, 223, 227], "linear": [5, 44, 48, 50, 53, 54, 55, 61, 63, 68, 81, 94, 113, 115, 210, 217, 226], "linearli": [5, 29], "linearsigmoid": [48, 50, 63, 64, 113, 115], "linearsigmoidsmear": 116, "linewidth": 221, "link": [197, 198, 199, 200, 201, 205, 211, 213, 227], "linker": 201, "linregress": 221, "linspac": [217, 226], "list": [2, 5, 11, 13, 14, 21, 26, 27, 29, 31, 37, 38, 39, 43, 48, 50, 51, 53, 54, 55, 56, 60, 61, 63, 64, 65, 71, 84, 92, 93, 98, 110, 119, 129, 133, 134, 153, 154, 155, 156, 157, 158, 166, 168, 169, 182, 184, 185, 186, 188, 190, 192, 193, 197, 202, 204, 209, 212, 217, 224, 226, 229], "liter": [13, 29], "literatur": [222, 229], "literature_data": 221, "littl": [29, 202, 217, 219, 221, 223, 226], "liu": 226, "ll": [204, 214, 217], "lmax": [45, 48, 50, 52, 56, 63, 64, 65, 113, 115, 117], "lmax_list": [48, 50, 51, 55, 56, 61, 63, 64, 65], "lmdb": [31, 37, 39, 40, 144, 145, 146, 196, 197, 198, 199, 200, 201, 210, 211, 220, 224, 228], "lmdb_databas": [37, 42, 183], "lmdb_dataset": [37, 42, 183], "lmdb_path": [37, 39, 40], "lmdbdatabas": [37, 38], "lmdbdataset": [37, 39, 208, 217], "lmdbdatset": 217, "load": [6, 7, 21, 31, 37, 38, 39, 40, 48, 50, 122, 126, 149, 150, 155, 156, 196, 197, 200, 202, 203, 204, 210, 211, 214, 221, 223, 226, 229], "load_balanc": [142, 211], "load_checkpoint": [6, 7, 21, 149, 150, 217], "load_config": 29, "load_dataset": [149, 150], "load_dataset_get_id": 31, "load_energy_lin_ref": [48, 50], "load_extra": [57, 58, 149, 150], "load_logg": [149, 150], "load_loss": [149, 150], "load_model": [149, 150], "load_optim": [149, 150], "load_scales_compat": 126, "load_seed_from_config": [149, 150], "load_state_dict": [29, 122, 125], "load_task": [149, 150], "loc": [202, 221], "local": [57, 58, 107, 108, 150, 151, 188, 190, 193, 197, 198, 212, 217, 226, 227], "local_cach": [21, 107, 108, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "local_rank": [57, 58, 149, 150, 151, 217], "locat": [5, 158, 168, 217, 219, 224], "log": [19, 29, 57, 58, 76, 89, 104, 150, 151, 183, 188, 190, 193, 195, 202, 208, 211, 217, 221, 227], "log_formatt": 227, "log_grid_init": 94, "log_plot": 19, "logan": [201, 209], "logarithm": 94, "logdir": 211, "logfil": [208, 218, 221, 223], "logger": [18, 20, 29, 42, 57, 58, 149, 150, 151, 183, 188, 193, 195, 202, 204, 217, 227], "logic": 110, "logrecord": 29, "lone": 197, "long": [66, 67, 79, 80, 95, 158, 204, 215, 217, 227], "longer": [5, 16, 171, 172, 216, 217, 228], "longtensor": [208, 217], "look": [60, 158, 168, 199, 202, 217, 219, 221, 223, 224, 226], "lookup": [0, 1], "loop": [3, 31, 37, 163, 184, 185, 188, 202, 221, 226], "lose": [66, 67, 79, 80, 92, 93, 109, 110], "loss": [42, 57, 58, 123, 149, 150, 151, 183, 202], "loss_energi": 217, "loss_fn": [57, 58, 124, 149, 150, 151, 217], "loss_forc": [202, 217, 227], "loss_nam": [29, 124], "lost": 5, "lot": [202, 203, 204, 216, 217, 221], "low": [198, 212, 217, 223], "low_e_valu": 224, "lower": [0, 1, 113, 115, 212, 217, 223, 226], "lowest": [2, 5, 202, 221, 223, 224, 226], "lowest_energy_data_co2": 176, "lowest_energy_data_co2_defect": 176, "lowest_energy_data_co_ad": 176, "lowest_energy_data_co_ads_2": 176, "lowest_energy_data_co_ads_2_defect": 176, "lowest_energy_data_co_ads_defect": 176, "lowest_energy_data_h2o": 176, "lowest_energy_data_h2o_defect": 176, "lowik": [197, 209, 216, 217], "lr": 131, "lr_gamma": 29, "lr_initi": [211, 217], "lr_mileston": 217, "lr_min_factor": 60, "lr_schedul": [50, 59, 107, 183], "lrschedul": [60, 131], "lv": [62, 65], "lval": [56, 65], "lw": [217, 219], "lzma": 197, "m": [48, 50, 51, 52, 55, 56, 61, 63, 65, 69, 71, 72, 75, 82, 84, 85, 88, 96, 98, 99, 100, 103, 119, 158, 168, 201, 204, 209, 212, 217, 226, 227], "m2": [203, 209], "m3": 209, "m_ba": [72, 85], "m_ca": [72, 85, 99], "m_complex": 56, "m_db": [72, 85], "m_ji": 217, "m_order": [71, 84, 98], "m_output_channel": 55, "m_rbf": [73, 86, 217], "m_st": [73, 86, 100, 217], "machin": [188, 190, 193, 198, 205, 211, 212, 217, 229], "made": [0, 1, 5, 29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 184, 185, 188, 193, 195, 202, 203, 206, 229], "mae": [121, 124, 202, 204, 209, 217], "magic": 202, "magmom": 21, "magnitud": [154, 156, 203, 217], "magnitude_error": 121, "mai": [12, 13, 29, 171, 172, 186, 196, 197, 202, 203, 204, 210, 211, 217, 218, 219, 221, 223, 224, 226], "main": [0, 12, 27, 31, 46, 95, 127, 138, 139, 141, 142, 143, 144, 145, 146, 163, 164, 165, 177, 178, 182, 202, 203, 205, 209, 210, 211, 217, 221, 224, 226, 227, 228], "main_graph": [92, 93, 95], "mainstai": 229, "maintain": [20, 122, 154, 171, 172, 217, 219], "major": [208, 217], "make": [5, 11, 12, 16, 31, 37, 39, 66, 67, 68, 79, 80, 81, 92, 93, 94, 109, 110, 136, 173, 184, 185, 188, 190, 193, 195, 197, 203, 205, 210, 211, 219, 222, 223, 224, 226, 227, 228, 229], "make_challenge_submission_fil": [42, 140, 183], "make_lmdb_s": [42, 140, 183, 211], "make_submission_fil": [42, 140, 141, 183, 211], "makedir": [208, 217, 219, 221, 224], "malform": [184, 185, 188], "mamba": 205, "manag": 203, "mandatori": 217, "mani": [16, 31, 37, 38, 39, 40, 71, 84, 98, 136, 158, 168, 196, 203, 204, 213, 216, 217, 219, 221, 223, 224, 226, 228], "manner": 217, "manual": 212, "manuscript": [1, 197, 200, 201, 209], "map": [0, 1, 5, 6, 8, 20, 29, 31, 37, 39, 56, 65, 95, 110, 126, 129, 157, 188, 190, 193, 198, 217], "map_async": [208, 217], "map_idx": 5, "map_siz": [208, 217], "mapping_adslab_slab": 197, "mapping_idx": 228, "mapping_nam": 20, "mappingreduc": [51, 55, 56, 61, 63, 65], "margin": 224, "mark": [188, 190, 193], "mark_ephemer": [188, 190, 193], "mark_preempt": 19, "marker": 202, "mask": [29, 66, 67, 79, 80, 92, 93, 106, 109, 110, 223], "mask_neighbor": [78, 91, 106], "masked_select_sparsetensor_flat": 106, "mass": [154, 156, 157, 158, 204], "master": [38, 44, 218], "match": [5, 31, 37, 196, 226], "mater": 202, "materi": [184, 185, 186, 188, 190, 193, 197, 198, 199, 200, 202, 212, 216, 217, 221, 229], "mathbf": [110, 112], "mathcal": [110, 112], "mathrm": 26, "matmul": 95, "matplotlib": [202, 204, 208, 214, 217, 219, 221, 223, 226, 228], "matric": [51, 61], "matrix": [65, 66, 67, 68, 72, 79, 80, 81, 85, 94, 95, 99, 106, 158, 168, 171, 172, 185, 186, 188], "matt": [201, 209, 212], "matthia": 44, "max": [17, 23, 29, 110, 204, 217, 219, 228], "max_attempt": [188, 193, 195], "max_epoch": [202, 217, 227], "max_force_it": 101, "max_jitter_sec": [188, 193, 195], "max_level": 29, "max_mil": [155, 156, 158, 168], "max_n": 119, "max_neigh": [29, 133, 134, 208, 217, 218], "max_neighbor": [21, 43, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 217], "max_neighbors_aeaint": [92, 93, 217], "max_neighbors_aint": [92, 93, 217], "max_neighbors_orig": [92, 93], "max_neighbors_qint": [92, 93, 217], "max_num_el": [48, 50, 51, 61, 63, 64, 113, 115], "max_num_neighbor": [113, 115], "max_num_neighbors_threshold": [29, 106], "max_radiu": [48, 50], "max_split_size_mb": 203, "maxim": 17, "maximum": [3, 48, 50, 51, 56, 61, 63, 64, 65, 66, 67, 71, 72, 76, 77, 79, 80, 84, 85, 89, 90, 92, 93, 98, 99, 104, 105, 109, 110, 113, 115, 117, 133, 134, 158, 168, 188, 193, 195, 217, 218], "maxit": 180, "maxstep": [25, 211, 217], "mayb": 203, "md": [197, 203, 209, 217, 221, 223, 224, 228], "md5": [197, 198, 199, 200, 201], "mean": [49, 110, 112, 124, 125, 158, 168, 202, 203, 204, 205, 210, 211, 214, 217, 221, 223, 226], "meaning": 217, "meantim": 205, "measur": [1, 198], "mechan": 217, "medford": [201, 209], "medium": 217, "meet": 217, "mehta": 202, "mellon": 217, "member": 21, "meminit": [208, 217], "memori": [25, 31, 37, 63, 64, 110, 113, 115, 196, 197, 203, 204, 211, 217, 223], "mention": 217, "merchant": [44, 110, 207, 217], "merg": [29, 44, 66, 67, 79, 80, 110, 163, 207, 217, 221], "merge_dict": 29, "merit": 198, "mesh": 173, "messag": [61, 63, 64, 66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 109, 110, 113, 115, 117, 190, 227, 229], "messageblock": [63, 115], "messagepass": 110, "meta": [10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 148, 149, 151, 167, 188, 207], "metadata": [0, 37, 38, 142, 154, 156, 157, 169, 185, 186, 188, 198, 211], "metadata_path": [13, 37, 39], "metademolab": [184, 185, 188, 212], "metal": 197, "metalloid": 197, "meth": 13, "methan": 226, "methane_emb": 226, "methanol": 226, "methanol_emb": 226, "method": [1, 6, 7, 12, 13, 16, 37, 38, 39, 45, 46, 49, 53, 66, 67, 79, 80, 92, 93, 110, 122, 156, 157, 158, 168, 180, 184, 185, 188, 190, 193, 195, 204, 211, 215, 217, 226, 229], "metric": [17, 57, 58, 60, 121, 131, 149, 150, 151, 216, 217, 224], "metric_dict": 17, "metric_to_opt": 17, "mib": 203, "middl": [217, 219], "might": [158, 184, 185, 188, 203, 210, 223, 229], "mileston": 29, "miller": [156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 199, 200, 212, 224], "miller_idx": 198, "miller_index": [197, 200], "miller_indic": [188, 192, 193], "million": 217, "mimic": 227, "min": [17, 110, 204, 217, 221, 224, 228], "min_": [221, 224], "min_ab": [156, 158], "min_diff": [2, 121], "min_e_ml": 221, "min_e_ml_i": 221, "min_e_ml_x": 221, "min_level": 29, "min_max": 17, "mind": [13, 31, 37, 203, 224], "minim": [5, 17, 188, 190, 193, 217, 227], "minimum": [5, 154, 156, 157, 158, 198, 211, 226], "minor": 197, "minu": [209, 210], "minut": [188, 190, 193, 202, 204, 212, 228], "mirror": [158, 168], "mislead": [46, 203], "miss": [21, 37, 38, 201], "missing_ddec": 176, "missing_ddec_defect": 176, "missing_ddec_pristin": 176, "mit": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207, 212, 216, 217], "mitig": 229, "mix": [46, 57, 58, 95, 150, 151, 203, 204, 217], "mkdir": [217, 224], "ml": [0, 1, 2, 11, 23, 185, 186, 188, 197, 206, 211, 222, 223], "ml_data": [0, 1], "ml_dft_target": 0, "ml_energi": [0, 1], "ml_relax": [18, 22, 42, 183], "ml_trajectori": 217, "mlp": [48, 50, 61, 110, 229], "mmax": [45, 56, 65, 113, 115, 117], "mmax_list": [48, 50, 51, 55, 56, 61, 63, 64, 65], "mmf": 216, "mode": [13, 16, 43, 44, 45, 46, 49, 52, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 150, 151, 153, 154, 156, 157, 202, 204, 205, 210, 211, 217, 221, 224, 227, 228], "mode_str": 169, "model": [0, 6, 7, 11, 19, 20, 21, 23, 25, 29, 31, 37, 42, 122, 124, 128, 129, 149, 150, 151, 183, 184, 185, 188, 190, 193, 196, 197, 198, 199, 200, 204, 218, 219, 220, 221, 223, 224, 226, 227, 228], "model_attribut": [202, 204, 227], "model_nam": [21, 107, 108], "model_name_to_local_fil": [107, 108, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "model_param": 217, "model_registri": [42, 107, 183, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "modif": 197, "modifi": [11, 29, 38, 44, 110, 165, 173, 188, 190, 193, 197, 207, 215, 217], "modul": [42, 183, 210, 217, 223, 226], "module_list": [42, 50, 107, 183], "modulelist": 53, "modulelistinfo": 53, "mof": 201, "mof_nam": 176, "moiti": 5, "molecul": [112, 208, 217, 218, 219, 226], "molecular": [109, 110, 133, 134, 197, 217, 229], "momenttum": 29, "momentum": 29, "monitor": [19, 211], "monkeypatch": 226, "monoton": 217, "month": 217, "more": [5, 13, 16, 31, 37, 46, 158, 182, 196, 197, 199, 202, 203, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 228], "moreov": 210, "morgan": [197, 209, 216, 217], "most": [5, 29, 31, 37, 38, 106, 110, 136, 154, 156, 157, 158, 196, 198, 202, 204, 217, 221, 223, 227, 229], "mostli": [37, 38, 188, 193, 195], "motion": 173, "motiv": [36, 217], "move": [5, 122, 182, 217, 219], "move_mask": [217, 219], "movement": [171, 172], "mp": [155, 156, 188, 190, 193, 197, 200, 212, 224, 228], "mp_arg": [136, 144, 145], "mpid": 198, "mse": 121, "msg": 28, "mshuaibi": 217, "mu": 112, "much": [1, 204, 216, 217, 221, 228], "muham": [197, 200, 209, 212, 216, 217], "mul": 110, "mult": 180, "multi": [45, 46, 49, 197, 211], "multi_adsorbate_slab_config": [152, 156, 167, 183], "multipl": [5, 31, 37, 78, 91, 106, 110, 156, 157, 158, 168, 169, 182, 196, 203, 208, 210, 211, 217, 224], "multipleadsorbateslabconfig": [156, 157], "multipli": [29, 52, 55, 60, 99, 158, 168, 217], "multistep": 60, "multistep_lr_lambda": 60, "multisteplrlambda": 60, "must": [1, 5, 12, 16, 21, 31, 37, 39, 40, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 190, 196, 199, 202, 205, 208, 210, 211, 217, 218, 219], "mustb": 217, "mv": 204, "my": 211, "mymodul": 53, "m\u00fcller": [76, 89, 104], "n": [5, 37, 38, 45, 52, 68, 71, 81, 84, 94, 98, 106, 110, 112, 119, 197, 199, 217, 219, 221, 223], "n2": [197, 217, 219, 223], "n2_dissoc_on_ru_": 228, "nO": 223, "n_distanc": [133, 134], "n_final_frames_per_initi": 5, "n_frame": [5, 228], "n_index": [133, 134], "n_initial_fram": 5, "n_max": 224, "n_pdt1_site": [5, 228], "n_pdt2_site": [5, 228], "n_proc": 136, "n_sampl": 129, "n_site": 5, "n_system": 5, "nad": 200, "name": [0, 20, 21, 27, 29, 30, 31, 37, 39, 40, 46, 57, 58, 66, 67, 69, 70, 75, 76, 77, 79, 80, 82, 83, 88, 89, 90, 92, 93, 94, 96, 97, 103, 104, 105, 107, 108, 110, 126, 128, 129, 149, 150, 151, 197, 199, 202, 209, 212, 229], "namespac": [141, 143, 144, 146, 169, 205], "nan": [32, 33, 92, 93, 101], "nanoparticl": 226, "nation": 217, "nativ": 199, "natom": [29, 69, 73, 78, 82, 86, 88, 91, 92, 93, 96, 100, 106, 124, 204], "nbo": 180, "ncol": 202, "ndarrai": [5, 13, 119, 149, 150, 154, 156, 171, 172], "ndownload": 204, "nearest": [92, 93, 133, 134, 157, 218], "neb": [5, 6, 7, 11, 199], "neb1": 199, "neb_fram": [11, 199], "necessari": [142, 164, 196, 200, 202, 204, 208, 210, 211, 217, 219, 221, 224], "necessarili": [5, 110, 204], "nedg": [69, 72, 73, 75, 78, 82, 85, 86, 88, 91, 96, 100, 103, 106], "need": [0, 1, 16, 20, 21, 29, 31, 37, 57, 58, 150, 151, 173, 196, 202, 204, 205, 208, 211, 217, 221, 223, 224, 226, 227, 228, 229], "needs_input_grad": 16, "neg": [66, 67, 79, 80, 92, 93, 158, 168, 217, 219, 221], "negative_slop": 45, "neigbhor": 218, "neigh": 217, "neighbor": [13, 29, 48, 50, 63, 64, 66, 67, 72, 78, 79, 80, 85, 91, 92, 93, 99, 106, 109, 110, 113, 115, 133, 134, 158, 171, 172, 203, 208, 211, 217, 218], "neighor": 217, "nelm": 3, "nergi": 217, "nersc": 217, "nest": [29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 169, 211], "nesteddict": 20, "net": 203, "network": [12, 43, 44, 45, 46, 48, 49, 50, 52, 56, 61, 63, 64, 68, 70, 81, 83, 94, 97, 104, 110, 112, 113, 115, 116, 118, 119, 124, 128, 129, 199, 204, 217, 226, 229], "neural": [12, 43, 44, 45, 46, 49, 52, 56, 68, 70, 81, 83, 94, 97, 104, 110, 112, 115, 116, 118, 119, 124, 128, 129, 199, 204, 217, 226, 229], "neurip": [141, 217, 220], "never": [190, 204], "new": [20, 29, 30, 92, 93, 129, 157, 158, 168, 185, 186, 188, 197, 202, 206, 213, 217, 220, 224, 229], "new_kei": 30, "new_trainer_context": [29, 227], "newcalc": 202, "newckpt": 202, "newer": [202, 204, 212], "newli": 211, "next": [2, 37, 38, 158, 184, 185, 188, 202, 205, 211, 220, 221, 226, 227, 229], "nextid": 38, "nfeatur": [73, 86], "nframe": 228, "nh": [197, 221], "nh2": 197, "nh2n": 197, "nh3": 197, "nhidden": [69, 82, 96], "nhidden_afteratom": 96, "nhnh": 197, "nieghbor": [48, 50, 63, 64, 113, 115], "nima": [200, 209], "nitial": 217, "nitrogen": [221, 223], "nlayer": [70, 83, 97, 223], "nn": [29, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61, 63, 65, 69, 70, 72, 73, 75, 76, 77, 82, 83, 85, 86, 88, 89, 90, 96, 97, 99, 100, 103, 104, 105, 110, 112, 113, 115, 116, 118, 119, 122, 124, 126, 128, 129, 130, 217], "nnh": 221, "no2": 197, "no2no2": 197, "no3": 197, "no_limit": [188, 193, 195], "no_warn": 20, "no_weight_decai": [43, 48, 50], "noddp": [57, 58, 149, 150, 151], "node": [26, 29, 48, 50, 51, 61, 88, 110, 210, 211, 217, 218, 229], "node_atom": 49, "node_dim": 110, "node_input": 52, "noisi": 217, "nolimittyp": [188, 193, 195], "nomenclatur": [197, 198], "non": [16, 31, 37, 39, 61, 63, 113, 115, 156, 157, 197, 210, 216, 217, 224], "none": [1, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 26, 28, 29, 31, 37, 38, 39, 40, 43, 44, 46, 48, 49, 50, 53, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 78, 79, 80, 82, 83, 85, 86, 88, 89, 91, 92, 93, 96, 97, 98, 99, 100, 101, 103, 104, 109, 110, 112, 117, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 155, 156, 158, 171, 172, 173, 182, 184, 185, 186, 187, 188, 190, 191, 193, 195, 203, 208, 217, 218, 223], "none_throw": 28, "nonh": 197, "noninfring": [44, 110, 207, 217], "nonlinear": [68, 81, 94], "nonloc": [76, 89, 104], "nonretryablerequestexcept": [184, 185, 188], "nonzero": 31, "norm": [106, 125], "norm_typ": [48, 50, 52, 61], "normal": [27, 42, 48, 50, 52, 54, 56, 61, 71, 78, 84, 91, 92, 93, 98, 106, 123, 154, 156, 157, 158, 168, 183, 204, 210, 223], "normalconv": 180, "normalize_label": [211, 217], "normed_tensor": 125, "nososcf": 180, "not_avail": [185, 186, 188], "notabl": [202, 229], "notat": 27, "note": [1, 5, 31, 37, 60, 131, 136, 158, 168, 173, 197, 199, 204, 210, 211, 217, 218, 219, 221, 224, 226, 228], "notebook": [202, 204, 208, 212, 218, 219, 220, 227, 229], "noth": [71, 84, 98, 217], "notic": [5, 38, 44, 110, 207, 217, 223], "nousesym": 180, "now": [5, 29, 37, 39, 40, 197, 202, 204, 213, 221, 226, 227], "np": [5, 21, 133, 134, 154, 156, 171, 172, 202, 203, 204, 217, 219, 224, 226], "npj": 212, "nproc": 182, "nproc_per_nod": 211, "npz": [0, 142, 204, 211, 217], "nquadruplet": 95, "nrr": [221, 223], "nrr_example_bulk": 221, "nsn": 209, "ntriplet": 95, "nueral": 217, "null": 131, "num": [60, 197, 211], "num_after_skip": [44, 66, 67, 75, 79, 80, 88, 92, 93, 103, 217], "num_atom": [29, 43, 44, 48, 50, 63, 64, 66, 67, 75, 79, 80, 88, 92, 93, 95, 99, 100, 103, 106, 109, 110, 111, 112, 113, 115, 217], "num_atom_emb_lay": [92, 93, 103, 217], "num_augmentations_per_sit": [154, 156], "num_band": [113, 115, 117], "num_basi": 49, "num_basis_funct": [113, 115], "num_batch": 127, "num_before_skip": [44, 66, 67, 75, 79, 80, 88, 92, 93, 103, 217], "num_block": [44, 66, 67, 79, 80, 92, 93, 217], "num_channel": [45, 52, 56, 63, 65, 117], "num_concat": [66, 67, 75, 79, 80, 88, 92, 93, 103, 217], "num_configur": [156, 157], "num_distance_basi": [48, 50], "num_edg": [95, 99, 100, 217], "num_el": [66, 67, 73, 92, 93, 100, 109, 110], "num_filt": 112, "num_fram": 5, "num_freq": 119, "num_gaussian": [29, 104, 112, 115, 116, 217], "num_global_out_lay": [92, 93, 217], "num_head": [48, 50, 61], "num_in_featur": [83, 119], "num_interact": [112, 113, 115], "num_lay": [44, 48, 50, 63, 64, 109, 110], "num_nod": [44, 56, 65], "num_ord": 99, "num_out_featur": [83, 86], "num_output": 116, "num_output_afteratom": [92, 93, 217], "num_output_lay": 44, "num_param": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 217], "num_part": [13, 16], "num_point": 114, "num_proc": 219, "num_quadruplet": [92, 93, 99], "num_radi": [44, 66, 67, 72, 76, 79, 80, 85, 89, 92, 93, 99, 104, 217], "num_rbf": [109, 110], "num_relaxation_batch": 217, "num_replica": 13, "num_resolut": [113, 115], "num_sampl": [31, 37, 39], "num_sigmoid": 116, "num_sit": [154, 156, 157, 221, 224, 228], "num_spher": [44, 66, 67, 72, 77, 79, 80, 85, 90, 92, 93, 99, 105, 217], "num_sphere_sampl": [48, 50, 63, 64, 113, 115], "num_system": 217, "num_tap": [113, 115, 117], "num_target": [43, 44, 48, 50, 63, 64, 66, 67, 69, 79, 80, 82, 92, 93, 109, 110, 112, 113, 115, 217], "num_triplet": [66, 67, 79, 80, 95, 99], "num_triplets_inint": [92, 93], "num_triplets_qint": [92, 93], "num_work": [211, 217], "number": [1, 3, 5, 11, 16, 21, 23, 26, 27, 31, 33, 37, 39, 40, 44, 48, 50, 51, 52, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 69, 70, 72, 75, 78, 79, 80, 82, 83, 85, 88, 91, 92, 93, 95, 96, 97, 99, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 117, 122, 133, 134, 150, 151, 154, 156, 157, 158, 168, 182, 185, 186, 188, 190, 193, 195, 196, 197, 198, 199, 200, 201, 203, 211, 212, 218, 221, 224, 228, 229], "numel": 217, "numer": [71, 84, 92, 93, 98, 104, 105, 106, 217], "numpi": [5, 13, 78, 91, 106, 111, 119, 149, 150, 154, 156, 202, 203, 204, 217, 219, 224, 226], "o": [182, 197, 202, 203, 204, 205, 208, 214, 217, 219, 221, 223, 224, 226], "o2": [200, 223], "obj": [20, 28, 60, 131, 171, 172], "object": [5, 6, 8, 11, 14, 16, 20, 23, 28, 30, 31, 37, 39, 40, 60, 122, 126, 129, 131, 133, 134, 153, 154, 155, 156, 157, 158, 166, 168, 169, 171, 172, 173, 182, 185, 186, 188, 190, 200, 202, 208, 219, 220, 224, 226, 228], "observ": 166, "obtain": [44, 110, 196, 198, 207, 212, 217, 222], "obviou": [31, 37, 204, 217], "oc": [31, 152, 183, 202, 203, 209, 214, 216, 217, 221, 224, 226, 227, 228, 229], "oc20": [60, 196, 198, 202, 203, 214, 216, 218, 219, 220, 221, 223, 224, 226, 227, 228, 229], "oc20_bader_data": 197, "oc20_data_map": 197, "oc20_dense_map": 198, "oc20_ref": [200, 210, 211], "oc20dens": 216, "oc20dense_comput": [1, 198], "oc20dense_map": 198, "oc20dense_ref_energi": 198, "oc20dense_tag": 198, "oc20dense_target": [1, 198], "oc20neb": 216, "oc22": [48, 50, 196, 202, 203, 204, 214, 216, 226, 227, 229], "oc22_dataset": [200, 209], "oc22_lmdb": [210, 211], "oc22_lmdb_dataset": [37, 42, 183], "oc22_metadata": 200, "oc22lmdbdataset": [37, 40, 210, 211], "occupi": 198, "occur": [2, 154, 156, 217], "ocdata": [199, 224], "ocean": 217, "och2ch3": 197, "och2choh": 197, "och3": 197, "ochch3": 197, "ocp": [5, 11, 21, 29, 31, 37, 38, 57, 58, 133, 134, 149, 150, 151, 184, 185, 188, 190, 193, 195, 199, 202, 204, 212, 216, 220, 224, 226, 227, 228, 230], "ocp_checkpoint": [202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "ocp_dataset": [197, 209, 216], "ocp_is2r": [57, 58, 150, 151], "ocp_predict": [204, 211], "ocp_s2ef": [57, 58, 150, 151], "ocp_train": [42, 138, 139, 150, 183], "ocpapi": 183, "ocpcalcul": [21, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228], "ocpcollat": 13, "ocpmodel": [218, 229], "ocpneb": [6, 10, 183, 199, 228], "ocptrain": [57, 58, 150, 151, 211, 217], "oct": 226, "octahedr": 226, "octahedron": 226, "odac": [152, 183, 209], "odac23": 216, "odac23_dataset": [201, 209], "odot": 112, "off": [180, 197, 202, 208, 217, 219, 226], "offer": 217, "offici": [205, 211], "offset": [37, 38, 78, 91, 106, 133, 134, 202, 208, 217, 218, 219], "offsets_st": [78, 91, 106], "often": [202, 210, 217, 227], "oh": [197, 212], "oh2": 197, "ohch2ch3": 197, "ohch3": 197, "ohnh2": 197, "ohnnch3": 197, "ok": 204, "old": [29, 129, 197], "older": [29, 153, 156, 216, 223], "om": [152, 183], "omit": [185, 186, 188, 190, 193], "omitted_config_id": [185, 186, 188], "ommit": [221, 224], "onc": [51, 61, 188, 190, 193, 197, 212, 224, 228], "one": [2, 5, 13, 31, 45, 48, 50, 51, 61, 63, 64, 66, 67, 75, 79, 80, 88, 92, 93, 94, 103, 109, 110, 129, 153, 154, 155, 156, 157, 158, 168, 169, 184, 185, 186, 188, 190, 193, 197, 199, 202, 203, 211, 212, 214, 215, 217, 219, 221, 223, 224, 226, 228, 229], "ones": [202, 203, 221, 226], "onh": 197, "onli": [0, 1, 2, 5, 13, 23, 29, 31, 37, 45, 57, 58, 66, 67, 71, 79, 80, 84, 92, 93, 95, 98, 99, 103, 109, 110, 141, 150, 151, 154, 156, 157, 158, 168, 173, 184, 185, 186, 188, 196, 200, 202, 203, 204, 211, 212, 217, 218, 219, 221, 223, 224, 226, 227, 228], "onlin": 221, "only_keep_unique_system": 5, "onn": 197, "onnh2": 197, "onoh": 197, "onto": [106, 154, 156], "ontop": [154, 156, 157, 221], "ood": [197, 199, 201, 211, 217], "ood_ad": [197, 211], "ood_both": [197, 211], "ood_cat": [197, 211], "op": 16, "open": [141, 184, 185, 188, 202, 203, 204, 208, 211, 212, 216, 218, 219, 220, 221, 223, 227, 229], "opencatalyst": 217, "opencatalystproject": [197, 198, 200, 211, 217], "opendac": [201, 216], "oper": [16, 20, 37, 38, 56, 82, 110, 158, 168, 210, 229], "opfil": 168, "opportun": [227, 229], "opposit": [92, 93], "opposite_neg": [92, 93], "opt": [46, 214, 217, 221, 223, 224, 228], "opt_param": 182, "opt_paramet": 180, "optim": [5, 17, 18, 22, 23, 42, 57, 58, 60, 110, 122, 131, 149, 150, 151, 182, 183, 185, 186, 188, 190, 193, 199, 202, 203, 208, 211, 214, 217, 218, 219, 221, 223, 224, 227, 228, 229], "optim_config": 29, "optimized_neb": 228, "optimized_neb_ch_disoc_on_ru0001": 228, "optimizer_param": 217, "option": [17, 26, 29, 31, 37, 39, 40, 44, 53, 57, 58, 92, 93, 99, 110, 112, 119, 133, 134, 150, 151, 155, 156, 171, 172, 185, 186, 188, 196, 202, 203, 205, 208, 210, 211, 218, 220], "oqmd": 221, "orang": [217, 226], "orc": 217, "orca_ase_simple_input": 180, "orca_basi": [180, 182], "orca_block": 180, "orca_funct": [180, 182], "orca_simple_input": 180, "orcablock": [180, 182], "orcasimpleinput": [180, 182], "order": [1, 5, 48, 50, 51, 55, 56, 61, 63, 64, 65, 71, 77, 84, 90, 98, 104, 113, 115, 117, 185, 186, 188, 192, 193, 197, 200, 202, 204, 210, 211, 212, 217, 219, 221], "org": [109, 110, 158, 202, 204, 209, 212, 217, 221, 223, 226], "organ": [0, 1, 29, 197, 216, 217], "orient": [156, 158], "oriented_bulk": [156, 158], "origin": [33, 35, 46, 92, 93, 122, 154, 184, 185, 186, 188, 191, 197, 198, 209, 211, 217, 219], "orthogon": [68, 81, 94, 106], "os_environ_get_or_throw": 14, "otf": [48, 50, 63, 64, 113, 115], "otf_graph": [13, 37, 39, 43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 217], "other": [5, 16, 31, 37, 43, 44, 45, 46, 48, 49, 50, 52, 56, 66, 67, 70, 79, 80, 83, 92, 93, 97, 104, 109, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 141, 155, 156, 157, 158, 184, 185, 188, 190, 192, 193, 196, 197, 199, 202, 203, 205, 207, 217, 218, 219, 221, 223, 226, 227, 229], "other_field": 186, "otherwis": [0, 1, 5, 11, 29, 44, 48, 50, 61, 110, 113, 115, 117, 154, 171, 172, 184, 185, 188, 190, 193, 195, 196, 197, 203, 207, 211, 217], "our": [136, 157, 196, 197, 200, 201, 204, 205, 211, 216, 217, 219, 221, 224, 226, 227, 228], "out": [1, 2, 23, 29, 44, 82, 95, 106, 110, 150, 151, 158, 168, 169, 173, 197, 199, 200, 201, 203, 207, 211, 213, 217, 218, 219, 224, 226, 227, 230], "out_agg": 95, "out_channel": [44, 45, 110], "out_emb_channel": 44, "out_embed": 55, "out_energi": [82, 217], "out_featur": [56, 70, 73, 97, 100, 119], "out_forc": [82, 217], "out_lmax": [56, 65], "out_mmax": [56, 65], "out_path": 136, "out_siz": 217, "outcar": [31, 37, 196], "outdir": [173, 224], "outer": 5, "outfil": [146, 174], "outgo": 95, "output": [3, 16, 44, 48, 50, 52, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 69, 70, 72, 79, 80, 82, 83, 85, 92, 93, 95, 96, 97, 99, 103, 110, 113, 115, 149, 150, 151, 169, 185, 186, 188, 197, 200, 201, 202, 203, 204, 217, 223, 227, 229], "output_channel": 61, "output_directori": 180, "output_init": [66, 67, 69, 79, 80, 82, 92, 93, 217], "output_path": 135, "output_scal": 56, "outputblock": [69, 82, 96], "outputdir": [169, 182], "outputppblock": 44, "outsid": 5, "over": [5, 13, 31, 37, 52, 199, 203, 217, 221, 224, 226, 229], "overal": 217, "overfit": [68, 81, 94, 202], "overlap": [5, 154, 156, 157, 217], "overrid": [16, 29, 217, 227], "overridden": 16, "overrul": [31, 37], "overtaken": 229, "overus": 217, "overview": [208, 218, 220], "overwrit": [37, 39], "overwritten": [71, 84, 98], "own": [45, 46, 49, 110, 164, 188, 190, 193, 208, 220, 223, 224, 229], "oxid": [200, 202, 209, 227], "oxygen": [223, 226], "p": [121, 174, 202, 217, 221], "p_n": 106, "packag": [27, 211, 212], "pad": [66, 67, 79, 80, 95], "pad_tensor": 16, "page": [183, 209, 216, 217, 219], "painn": [42, 107, 183, 209, 216], "painnmessag": 110, "painnoutput": 110, "painnupd": 110, "pair": [5, 78, 91, 103, 106, 129, 133, 134, 154, 156, 185, 186, 188, 217, 229], "pairinteract": 103, "palizhati": [168, 197, 209, 212, 216, 217], "panda": [11, 221, 224], "paper": [46, 63, 64, 110, 113, 115, 197, 198, 199, 200, 201, 202, 204, 209, 210, 211, 212, 213, 216, 217, 219, 222, 223, 224], "parallel": [6, 7, 11, 182, 197, 208, 210, 211, 216, 221], "parallelize_gener": 136, "param": [20, 23, 31, 37, 39, 154, 156, 217, 219], "paramet": [3, 5, 6, 7, 11, 12, 13, 17, 19, 20, 21, 23, 26, 29, 30, 31, 32, 33, 37, 40, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 112, 113, 115, 116, 117, 118, 119, 122, 124, 128, 129, 131, 133, 134, 136, 150, 151, 153, 154, 155, 156, 157, 158, 168, 169, 171, 172, 173, 182, 184, 185, 187, 188, 190, 191, 193, 195, 202, 210, 217], "parent": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 221], "parikh": [197, 209, 216, 217], "pariti": [202, 222, 223], "parlanc": 210, "pars": [29, 158, 173, 222], "parse_arg": [0, 2, 169, 177, 178], "parse_known_arg": 227, "parse_neb_info": 11, "parse_valu": 29, "parser": [1, 4, 11, 135, 136, 141, 142, 143, 144, 145, 146, 211, 227], "part": [44, 71, 84, 92, 93, 98, 197, 208, 209, 210, 216, 217, 220, 226], "particip": 229, "particular": [1, 31, 44, 110, 156, 158, 203, 207, 208, 217, 218], "particularli": 217, "partit": 13, "pass": [1, 11, 13, 16, 20, 29, 31, 61, 63, 64, 66, 67, 75, 79, 80, 88, 92, 93, 103, 109, 110, 113, 115, 153, 155, 156, 158, 173, 210, 219, 221, 224, 229], "pass_idx": 224, "past": 229, "patch": 226, "path": [3, 5, 6, 7, 11, 13, 21, 25, 27, 29, 31, 37, 38, 39, 46, 48, 50, 57, 58, 61, 66, 67, 78, 79, 80, 91, 92, 93, 107, 108, 133, 134, 141, 150, 151, 153, 155, 156, 168, 177, 184, 185, 188, 196, 197, 200, 202, 210, 211, 217, 219, 221, 224, 228], "pathlib": [13, 25, 29, 31, 37, 38, 39, 107, 108, 221], "pathwai": 164, "patienc": 217, "pattern": [31, 37, 196], "payload": [185, 186, 188], "pbar": [188, 190, 193], "pbc": [5, 21, 29, 78, 91, 106, 121, 133, 134, 161, 185, 186, 188, 202, 223, 226], "pbc_patch": 161, "pbe": [202, 204, 223], "pd": [11, 158, 221, 223, 224], "pdf": 154, "pdist": 224, "peak": [110, 217, 226], "peer": [184, 185, 188], "pend": 212, "peopl": [136, 196], "pep": 13, "per": [5, 43, 44, 45, 46, 48, 49, 50, 52, 56, 63, 64, 70, 78, 83, 91, 92, 93, 97, 99, 104, 106, 110, 111, 113, 115, 116, 118, 119, 124, 128, 129, 154, 156, 157, 210, 211, 217, 219, 224], "per_imag": [150, 151], "percent": 223, "perfect": [197, 202], "perform": [3, 5, 11, 16, 29, 48, 50, 55, 56, 61, 63, 196, 198, 199, 202, 211, 212, 217, 218, 221, 223, 224, 226, 228], "period": [33, 48, 50, 63, 64, 78, 91, 92, 93, 95, 106, 112, 113, 115, 133, 134, 185, 186, 188, 190, 202, 224], "permiss": [44, 110, 168, 173, 207, 217], "permit": [44, 110, 207, 217], "permut": [110, 229], "persist": [184, 185, 188], "person": [44, 110, 207, 217], "pertan": [154, 156], "pertin": 5, "perturb": 221, "phase": [198, 209, 210], "phi": [71, 84, 98], "phi_": 110, "phy": 223, "phys_err": 174, "physic": [0, 1, 217, 219, 229], "pick": 224, "pickl": [1, 12, 126, 197, 199, 200, 208, 210, 217, 221], "pickleabl": 14, "picomet": 32, "piec": [202, 218], "pip": [205, 212], "pkl": [1, 2, 152, 155, 156, 159, 161, 167, 168, 169, 183, 197, 198, 200, 210, 211, 221, 228], "place": [5, 29, 82, 154, 156, 157, 184, 185, 186, 188, 190, 193, 202, 211, 212, 217, 221, 223], "place_adsorbate_on_sit": [154, 156], "place_adsorbates_on_sit": [156, 157], "placement": [5, 154, 156, 157, 169, 185, 186, 188, 190, 193, 197, 198, 212, 221, 224, 228], "plai": 217, "plan": [157, 205, 224, 228], "plane": [106, 154, 156, 158, 168], "platform": 110, "pleas": [141, 196, 197, 200, 201, 205, 209, 210, 211, 212, 216, 217], "plot": [19, 166, 202, 204, 214, 219, 222, 223, 226, 228], "plot_atom": [214, 217, 219, 221, 223, 226], "plot_histogram": 29, "plot_traj": 166, "plt": [202, 204, 208, 214, 217, 219, 221, 223, 226, 228], "plu": [154, 156, 157, 217], "png": [174, 228], "po": [29, 44, 101, 112, 208, 217, 218, 223], "point": [0, 1, 11, 29, 37, 39, 40, 154, 156, 158, 168, 173, 182, 185, 186, 188, 200, 201, 202, 204, 211, 217, 218, 219, 221, 223, 226, 229], "pointwis": [113, 115, 117], "polymorph": 202, "polynomi": [71, 76, 84, 89, 98, 104, 217], "polynomialenvelop": [76, 89, 104, 217], "ponder": 217, "pop": 27, "popul": [185, 186, 188, 217], "portion": [44, 110, 207, 217, 223], "pos_m_onli": [71, 84, 98], "pos_relax": [208, 217], "poscar": [31, 37, 166, 196, 212], "posit": [5, 6, 7, 21, 26, 29, 78, 91, 106, 112, 133, 134, 154, 156, 157, 158, 168, 185, 186, 188, 190, 193, 202, 203, 208, 211, 212, 214, 216, 217, 219, 223], "position_idx": 224, "possibl": [1, 29, 31, 37, 66, 67, 79, 80, 95, 155, 156, 157, 158, 169, 184, 185, 186, 188, 190, 193, 196, 197, 199, 202, 211, 212, 213, 217, 221, 223, 227], "post": [184, 185, 188, 210, 216, 222], "potenti": [66, 67, 69, 79, 80, 82, 92, 93, 96, 190, 196, 198, 202, 212, 214, 217, 219, 221, 229], "pov_from_atom": 136, "povrai": 136, "pow": 217, "power": 217, "powersin": 119, "pqr": 197, "pr": [211, 213], "practic": [173, 217, 223, 228, 229], "pre": [71, 84, 98, 199, 202, 217, 229], "precis": [57, 58, 150, 151, 203, 204, 217], "precomput": [169, 197, 200, 201, 210], "precompute_enumerate_surfac": 168, "precompute_slab": 169, "precomputed_slabs_dir": [155, 156], "precomputed_slabs_pkl": [156, 158], "precon": [6, 7], "pred_err": 174, "pred_po": 121, "predict": [0, 1, 29, 48, 50, 66, 67, 69, 79, 80, 82, 92, 93, 96, 109, 110, 112, 121, 149, 150, 151, 185, 186, 188, 196, 202, 203, 204, 209, 212, 216, 218, 219, 220, 221, 223, 227, 229], "prediction_dtyp": [204, 211], "predicttask": [147, 148], "prefer": [202, 220], "preferr": 217, "prefil": 127, "prefix": [128, 129], "preform": [133, 134], "pregamma": [76, 89, 104], "pregamma_initi": [76, 89, 104], "prepar": [199, 211], "preprint": [201, 209], "preprocess": [31, 37, 42, 146, 183, 196, 208, 211, 217, 220], "preprocess_data": 135, "preprocess_ef": [42, 140, 146, 183, 218], "preprocess_relax": [42, 140, 183, 211], "prerequisit": 220, "presenc": [13, 217], "present": [29, 37, 38, 66, 67, 79, 80, 92, 93, 109, 110, 188, 192, 193, 200, 203, 211, 217], "pretrain": [44, 107, 108, 202], "pretrained_energy_train": 217, "pretrained_train": 217, "pretti": [221, 223, 226], "prev_distance_map": 157, "prev_kei": 30, "prev_metr": 121, "prevent": [29, 52, 68, 81, 92, 93, 94, 101, 156, 157, 217, 219, 224], "previou": [209, 212, 217, 221], "previous": [211, 216, 217], "previous_includ": 29, "primari": [133, 134], "primarili": [13, 180], "primary_metr": [149, 150], "prime": [110, 112], "princeton": 154, "principl": [221, 226], "print": [27, 45, 46, 49, 57, 58, 150, 151, 202, 203, 204, 208, 210, 212, 214, 217, 218, 219, 221, 223, 224, 226, 228, 229], "print_cuda_usag": 29, "print_everi": [57, 58, 149, 150, 151, 217], "prior": [29, 199, 209, 210], "probabl": [37, 38, 202, 203, 221, 223], "probe": 223, "problem": [156, 157, 203, 217], "process": [2, 11, 57, 58, 122, 133, 134, 150, 151, 182, 197, 202, 208, 211, 217, 222], "process_func": 162, "process_ml_data": 0, "processed_file_path": [133, 134], "processgroup": 14, "produc": [210, 217], "product": [5, 75, 78, 88, 91, 106, 217, 228], "product1": [5, 228], "product1_config": 228, "product1_energi": [5, 228], "product1_idx": 228, "product1_system": [5, 228], "product2": 228, "product2_config": 228, "product2_energi": [5, 228], "product2_idx": 228, "product2_system": [5, 228], "profil": [166, 219], "progess": 229, "program": 12, "programmat": 212, "progress": [31, 37, 190, 217, 227, 229], "proj_drop": [48, 50, 61], "project": [29, 48, 50, 61, 66, 67, 72, 75, 79, 80, 85, 88, 92, 93, 103, 106, 154, 156, 188, 190, 193, 197, 198, 200, 209, 211, 218, 220, 226, 229], "project_root": 29, "promising_defect": 176, "promising_pristin": 176, "prompt": [127, 188, 192, 193], "prompt_for_slabs_to_keep": [188, 192, 193], "proof": 227, "propag": 110, "propan": [217, 219], "proper": 5, "properli": [53, 205, 217, 219], "properti": [13, 21, 31, 33, 37, 38, 43, 44, 48, 50, 57, 58, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 128, 129, 133, 134, 149, 150, 151, 184, 185, 188, 204, 217, 219, 229], "propertynotimplementederror": 21, "proport": [66, 67, 79, 80, 92, 93], "propos": [5, 76, 89, 104], "proto": 13, "protocol": [13, 208, 217], "provid": [1, 5, 13, 37, 39, 44, 110, 142, 144, 145, 149, 150, 153, 156, 166, 169, 195, 197, 198, 199, 200, 201, 202, 207, 208, 210, 211, 215, 216, 217, 218, 219, 220, 221, 224, 226, 228, 229], "proxim": [5, 154, 156], "pseudo": 5, "pseudo_atom": 157, "pseudopotenti": 224, "pt": [29, 149, 150, 158, 202, 203, 210, 211, 212, 214, 217, 223], "publicli": 217, "publish": [44, 110, 207, 217], "purpos": [44, 110, 133, 134, 196, 207, 217, 223, 224, 226, 229], "push": 217, "put": [133, 134, 164, 202, 208, 217], "py": [2, 27, 31, 52, 141, 146, 182, 197, 202, 203, 210, 211, 217, 218, 221, 224, 226, 227, 228], "pyg": [29, 205], "pyg2_data_transform": 29, "pymatgen": [154, 156, 157, 158, 168, 197, 198], "pyplot": [202, 204, 208, 214, 217, 219, 221, 223, 226, 228], "pythia": 20, "python": [11, 29, 53, 126, 197, 200, 202, 204, 210, 211, 212, 214, 217, 225], "pytorch": [13, 44, 92, 93, 133, 134, 203, 205, 216, 217, 218], "pytorch_cuda_alloc_conf": 203, "pytorch_ema": 122, "pytorch_geometr": 44, "q": [103, 212, 217], "qint_graph": [92, 93, 95], "qint_tag": [92, 93, 217], "qm9": [20, 217, 219], "qmof": 36, "qmof_khot_embed": [34, 37, 42, 183], "qua": 204, "quacc": 182, "quad_idx": [92, 93, 103], "quad_interact": [92, 93, 103, 217], "quadrat": 229, "quadruplet": [31, 72, 85, 92, 93, 95, 99, 103, 210, 217, 229], "quadrupletinteract": 103, "quadrupol": 180, "qualit": [202, 217], "quantiti": 217, "quantum": [112, 182, 204, 216, 217], "queri": [31, 37, 196, 226], "question": [78, 91, 106, 111, 210, 216], "queu": [188, 190, 193], "queue": 227, "quick": [136, 217], "quickli": 221, "quit": [210, 217, 223, 226], "r": [5, 16, 20, 71, 78, 84, 91, 98, 106, 197, 200, 202, 204, 212, 217, 219, 221, 223, 226], "r1": 228, "r2": 228, "r3": 228, "r_ab": 106, "r_ab_proj": 106, "r_ac": 106, "r_adsorbate_atom": [154, 156], "r_cut": 224, "r_data_kei": [133, 134], "r_distanc": [133, 134, 208, 217, 218], "r_edg": [133, 134, 218], "r_energi": [31, 37, 133, 134, 196, 202, 204, 208, 217, 218, 227], "r_fix": [133, 134, 208, 217, 218], "r_forc": [31, 37, 133, 134, 196, 202, 204, 208, 217, 218, 227], "r_ij": 110, "r_pbc": [133, 134], "r_product1_max": [5, 228], "r_product2_max": [5, 228], "r_product2_min": [5, 228], "r_properti": [133, 134], "r_react_max": 5, "r_react_min": 5, "r_slab_atom": [154, 156], "r_stress": [31, 37, 133, 134], "r_surface_atom": [154, 156], "r_traverse_max": 5, "rad_basi": [99, 103], "rad_w1": 99, "radial": [44, 48, 50, 54, 55, 61, 66, 67, 75, 77, 79, 80, 88, 90, 92, 93, 96, 99, 100, 103, 105], "radial_basi": [67, 74, 77, 80, 87, 90, 93, 102, 105, 107, 183, 217], "radial_funct": [42, 50, 107, 183], "radialbasi": [76, 77, 89, 90, 104, 105, 217], "radialfunct": 54, "radii": [32, 154, 156, 157, 217, 219], "radiu": [5, 29, 33, 92, 93, 133, 134, 208, 217, 218], "radius_graph_pbc": 29, "ragged_rang": [78, 91, 106], "rais": [21, 27, 31, 37, 184, 185, 188, 190, 193, 195], "ram": 221, "rand": 198, "rand0": 169, "rand11": 1, "rand5": 1, "rand79": 1, "random": [27, 31, 37, 57, 58, 68, 81, 94, 150, 151, 153, 154, 156, 157, 169, 196, 197, 198, 200, 202, 203, 204, 208, 217, 221, 224, 228], "random1981709": 197, "random2181546": 197, "random533137": 197, "random_adslab": [221, 224], "random_site_heuristic_plac": [154, 156, 157, 221, 224, 228], "random_st": 226, "randomli": [26, 153, 154, 155, 156, 157, 158, 188, 193, 195, 198, 202], "randomly_rotate_adsorb": 153, "randomrot": 26, "rang": [53, 78, 91, 106, 203, 204, 217, 219, 221, 226, 229], "rank": [13, 14, 57, 58, 150, 151], "rate": [0, 1, 29, 46, 48, 50, 60, 61, 131, 184, 185, 188, 190, 193, 195, 199, 202, 211, 212, 217, 219], "rate_limit_log": [188, 193, 195], "ratelimitexceededexcept": [184, 185, 188, 195], "ratelimitlog": [188, 193, 195], "rather": [37, 38, 46, 166, 196, 224], "rattl": [164, 165, 197, 209, 226], "raw": [1, 44, 92, 93, 99, 197, 200, 205, 217, 218, 219], "raw_ads_energy_data": 176, "raw_data": [208, 218], "raw_error_co2": 174, "raw_error_h2o": 174, "raw_slab": [217, 219], "raw_slab_energi": [217, 219], "rb": [202, 219, 221], "rbf": [44, 66, 67, 69, 72, 73, 75, 76, 79, 80, 82, 85, 86, 88, 89, 92, 93, 104, 109, 110, 217], "rbf3": [75, 88], "rbf_h": [75, 88], "rbf_spheric": [92, 93], "rbf_w1": [72, 85], "rbfh_ij": 110, "rcparam": [217, 219], "re": [29, 45, 46, 48, 49, 50, 61, 188, 190, 193, 197, 216, 221, 223], "re1": 223, "re2": 223, "re3": 223, "reach": [213, 217], "reactant": [5, 6, 8, 228], "reactant1_energi": 5, "reactant1_idx": 228, "reactant1_system": 5, "reactant2_energi": 5, "reactant2_system": 5, "reactant_config": 228, "reactant_energi": [5, 228], "reactant_system": [5, 228], "reaction": [5, 6, 10, 183, 185, 186, 188, 199, 217, 219, 221, 223, 228, 229], "reaction_db_path": [6, 8, 228], "reaction_id_from_db": [6, 8], "reaction_str_from_db": [6, 8, 228], "reaction_typ": [6, 8], "read": [2, 29, 31, 37, 196, 197, 199, 202, 208, 209, 212, 216, 218, 221, 224, 228], "read_json": [78, 91], "read_lzma": 146, "read_trajectory_extract_featur": [208, 217], "read_value_json": [78, 91], "readabl": [31, 37], "reader": [196, 217], "readi": [188, 190, 193, 197], "readili": [197, 229], "readm": [197, 217], "readonli": [37, 38], "readout": 112, "real": [71, 84, 98], "real_sph_harm": [71, 84, 98], "realiti": [217, 219], "realli": [221, 224, 228], "realxat": [217, 219], "reason": [31, 37, 39, 40, 131, 184, 185, 188, 196, 202, 203, 204, 217, 223, 224, 227], "reaxff": 204, "rebrand": 216, "recal": [217, 224], "recalcul": 210, "recent": [202, 229], "recip": [181, 205], "recogn": [13, 185, 187, 188], "recommend": [31, 37, 196, 203, 208, 210, 217, 221, 227], "recomput": [210, 212], "reconstruct": [171, 172, 197, 221], "record": [29, 190, 230], "recreat": 202, "recurs": [29, 31, 37, 196], "red": 226, "reddish": 226, "reddit": 110, "redirect": [202, 203, 204, 227], "redirect_stdout": 203, "reduc": [5, 63, 64, 68, 71, 81, 84, 94, 98, 110, 158, 168, 196, 217, 224, 226], "reduce_from_model_parallel_region": 16, "reducefrommodelparallelregion": 16, "reducelronplateau": 217, "reduct": [124, 221, 223], "redund": 224, "redux": 20, "ref": [128, 129, 197, 223], "refdata": 223, "refer": [1, 48, 50, 171, 172, 197, 198, 208, 210, 211, 212, 219, 220, 221, 223, 226], "referenc": [1, 197, 209, 210, 212, 217, 219, 221, 223, 224], "reference_energi": 197, "refin": [188, 190, 193, 202], "refit": 210, "reflect": [157, 216], "reformul": [72, 85, 99], "refresh": [190, 202], "regardl": 5, "regardless": [158, 168, 217, 219], "region": 226, "regist": [20, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "register_buff": 217, "register_dataset": 20, "register_logg": 20, "register_model": [20, 217], "register_task": 20, "register_train": 20, "registri": [18, 42, 183, 217], "regress": [202, 204, 217, 227], "regress_forc": [44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 217], "regular": [43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 94, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 190, 217], "regularli": 229, "reject": [184, 185, 188], "rel": [48, 50, 51, 61, 158, 185, 186, 188, 196, 200, 202, 217, 223, 228], "relat": [216, 217, 221, 226, 229], "relav": 199, "relax": [0, 1, 2, 5, 11, 18, 29, 31, 37, 39, 40, 42, 57, 58, 150, 151, 164, 171, 172, 173, 183, 184, 185, 186, 188, 190, 193, 198, 199, 202, 203, 204, 209, 214, 219, 220, 222, 226, 227, 229], "relax_dataset": [211, 217], "relax_opt": [23, 211, 217], "relaxation1": [31, 37, 196], "relaxation2": [31, 37, 196], "relaxation_idx": [221, 224], "relaxation_step": [211, 217], "relaxationtask": [147, 148], "relaxed_atom": [221, 224], "relaxed_energi": [217, 219], "relaxed_energy_ml": [221, 224], "relaxed_fram": 199, "relaxed_posit": 211, "relaxed_struc": [208, 217], "releas": [0, 1, 197, 209, 212, 216, 217], "relev": [92, 93, 103, 212, 217, 221], "reli": [211, 212], "reliabl": 217, "relianc": 217, "relu": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "remain": [202, 217, 226], "remark": 226, "rememb": 228, "remov": [5, 12, 13, 20, 27, 92, 93, 197, 202, 203, 204], "remove_rotation_and_transl": [6, 7], "renam": [30, 211], "rename_data_object_kei": 30, "renew": 217, "reorder": [5, 66, 67, 79, 80, 92, 93], "reorder_adsorb": 5, "reorder_edge_list": 5, "reorder_idx": [66, 67, 79, 80, 92, 93, 109, 110], "reorder_symmetric_edg": [66, 67, 79, 80], "reorder_tensor": [109, 110], "reorder_tensors_invneg": [109, 110], "reorient": 5, "repeat": [53, 78, 91, 106, 111, 154, 158, 199, 217, 219, 224, 226], "repeat_block": [78, 91, 106, 111], "repeat_inc": [78, 91, 106, 111], "repetit": [78, 91, 106, 111], "repl": 212, "replac": [12, 204, 217], "repo": [205, 208, 215, 216, 217, 218, 221, 224, 228], "report": [17, 202, 222], "reposit": 5, "repositori": [197, 199, 216, 220], "repr": [26, 52, 53, 56, 109, 110, 153, 155, 156, 158], "repres": [2, 16, 37, 39, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 156, 157, 169, 185, 186, 188, 190, 193, 199, 217, 219, 229], "represent": [45, 46, 49, 53, 56, 61, 63, 65, 68, 81, 94, 117, 133, 134, 226], "reproduc": [202, 217, 221, 223], "reproducibli": 202, "request": [184, 185, 186, 188, 190, 193, 212], "requestexcept": [184, 185, 188], "requeu": 12, "requir": [1, 13, 16, 99, 136, 154, 156, 197, 203, 204, 205, 211, 218, 220, 223, 226], "rerun": 226, "rescal": [51, 71, 84, 98], "rescale_factor": 51, "research": [197, 198, 199, 200, 201, 209, 212, 216, 217, 219, 229, 230], "reserv": 203, "reserved_kei": 38, "reset": [110, 191], "reset_": [128, 129], "reset_index": [221, 224], "reset_paramet": [44, 69, 70, 72, 82, 83, 85, 97, 99, 109, 110], "reshap": [56, 65, 106, 133, 134, 203], "residu": [44, 46, 66, 67, 69, 70, 75, 79, 80, 82, 83, 88, 92, 93, 96, 97, 103, 227], "residuallay": [70, 83, 97], "resolut": [45, 48, 50, 51, 55, 56, 61, 63, 64, 113, 115], "resolv": [110, 204], "resort": 204, "resourc": [110, 196, 218, 223], "respect": [110, 112, 158, 168, 185, 186, 188, 198, 211, 216, 217], "respons": [31, 184, 185, 186, 188, 204], "rest": [211, 217], "restart": 166, "restart_bug_check": 166, "restor": [122, 125], "restrict": [44, 110, 207, 217], "resubmit": 12, "result": [0, 1, 11, 16, 21, 31, 37, 78, 91, 106, 122, 182, 184, 185, 186, 187, 188, 190, 193, 197, 202, 204, 210, 211, 214, 217, 222, 223, 224, 226, 229], "results_dir": [204, 211], "results_fil": [0, 149, 150, 151, 217], "resum": 13, "retri": [183, 184, 185, 188, 190, 193, 212], "retriev": [16, 20, 202, 204, 226], "retry_aft": [184, 185, 188, 195], "retry_api_cal": [188, 193, 195], "retry_st": 195, "retrycallst": 195, "return": [0, 1, 3, 5, 6, 7, 11, 13, 16, 20, 26, 27, 29, 31, 37, 39, 43, 44, 45, 46, 48, 49, 50, 52, 53, 55, 56, 66, 67, 69, 70, 71, 72, 73, 75, 78, 79, 80, 82, 83, 84, 85, 86, 88, 91, 92, 93, 95, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 110, 111, 115, 116, 118, 119, 122, 124, 128, 129, 133, 134, 153, 154, 155, 156, 157, 158, 168, 171, 172, 173, 184, 185, 186, 187, 188, 190, 191, 192, 193, 195, 208, 212, 217, 219, 223, 224, 226], "return_adj": 95, "return_agg_idx": 95, "return_dict": 29, "return_distance_vec": [29, 217], "return_embed": 226, "return_offset": [29, 217], "reus": 210, "revis": [153, 156], "rh": 223, "rh1": 223, "rh2": 223, "richard": [200, 209], "right": [44, 110, 156, 157, 207, 217, 223, 224], "rijcosx": 180, "rise": 217, "rivier": [197, 209, 216, 217], "rizvi": [200, 209], "rm": [202, 217, 219, 227], "rmax": 5, "rmin": 5, "rms_norm_sh": [48, 50, 61], "role": 217, "root": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 52, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 154, 156, 167, 188, 203, 227], "rot_i": 117, "rot_mat3x3": [56, 65], "rot_x": 117, "rot_z": 117, "rotat": [26, 51, 56, 61, 65, 113, 115, 117, 154, 156, 157, 158, 168, 203, 214, 217, 219, 223, 229], "rotate_inv": [56, 65], "rotateinv": 117, "rotatewign": 117, "rotationmatrix": 117, "rotationtowignerdmatrix": [56, 65, 117], "roughli": [226, 229], "round": [29, 224], "rout": [184, 185, 188], "routin": 212, "row": [11, 37, 38, 202, 204, 221, 224, 226], "row_idx": 224, "rpbe": [202, 223], "run": [1, 11, 12, 23, 25, 27, 57, 58, 66, 67, 79, 80, 110, 131, 147, 148, 149, 150, 151, 161, 163, 164, 169, 173, 184, 185, 186, 187, 188, 190, 193, 196, 197, 199, 203, 204, 205, 208, 209, 211, 212, 214, 215, 218, 219, 220, 222, 223, 225, 226, 229], "run_dir": [57, 58, 149, 150, 151, 217], "run_plac": 169, "run_relax": [150, 151, 217], "run_tun": [42, 137, 140, 183], "run_tune_pbt": [42, 137, 140, 183], "run_vasp": 173, "runner": 12, "runtim": 13, "runtime_check": 13, "runtimeerror": [20, 147, 148, 203], "rusty1": 44, "rutil": 202, "rx": [1, 3, 221, 224], "rx_energi": [221, 224], "rx_id": [221, 224], "s2": [48, 50, 61], "s2activ": 45, "s2ef": [37, 39, 40, 57, 58, 144, 145, 146, 150, 151, 174, 202, 203, 204, 210, 214, 218, 220, 221, 223, 224, 226, 227, 228, 229], "s2ef_count": 135, "s2ef_predict": 211, "s2ef_result": 217, "sad": 203, "safeload": 29, "sai": 158, "sake": 217, "salvador": 202, "same": [5, 12, 29, 37, 39, 40, 46, 48, 50, 52, 61, 95, 106, 110, 122, 158, 168, 173, 185, 186, 188, 197, 204, 210, 211, 212, 217, 218, 219, 223, 224, 226], "same_idx": 224, "sampl": [13, 26, 37, 39, 42, 44, 46, 48, 50, 63, 64, 107, 113, 115, 153, 154, 155, 156, 157, 158, 168, 183, 198, 203, 211, 224], "sample_cuco": 208, "sample_ml_relax": 217, "sampler": [13, 37, 39, 149, 150], "san": [217, 219], "saniti": 217, "sauceda": [76, 89, 104], "save": [1, 2, 16, 23, 37, 38, 57, 58, 122, 133, 134, 149, 150, 151, 153, 156, 166, 169, 173, 188, 190, 193, 196, 199, 202, 204, 210, 211, 212, 217, 218, 221, 226, 227], "save_checkpoint": 29, "save_experiment_log": 29, "save_for_backward": 16, "save_for_forward": 16, "save_full_traj": [23, 25], "save_path": [156, 158], "save_result": [149, 150], "saved_tensor": 16, "savefig": 228, "sbf": [44, 92, 93, 99, 105, 217], "sc": 1, "scaffold": 216, "scalabl": 217, "scalar": [48, 50, 51, 61, 217], "scale": [31, 37, 42, 52, 66, 67, 70, 79, 80, 83, 92, 93, 97, 101, 104, 105, 123, 154, 156, 183, 196, 209, 217, 221, 229], "scale_backprop_forc": [92, 93], "scale_basi": [92, 93, 104, 105], "scale_factor": [42, 52, 123, 128, 183], "scale_fil": [66, 67, 79, 80, 92, 93, 109, 110, 126, 210, 217], "scale_fmax": [6, 7], "scale_num_block": [79, 80], "scaled_silu": [48, 50, 61], "scaledict": 126, "scaledsigmoid": 45, "scaledsilu": [45, 70, 83, 97], "scaledsmoothleakyrelu": 45, "scaledswiglu": 45, "scalefactor": [128, 129], "scaling_factor": 217, "scatter": [210, 217, 221, 226], "scatter_atom": [79, 80], "scatter_det": [29, 210], "scatter_sum": 82, "scatter_to_model_parallel_region": 16, "scattertomodelparallelregion": 16, "scf": [1, 3, 180, 198], "scf_step": [1, 3], "schedul": [42, 60, 123, 183, 190, 217], "scheduler_param": 60, "scheme": [110, 184, 185, 188, 211, 217, 221, 224], "schnet": [42, 107, 183, 209, 211, 216, 217], "schnetwrap": 112, "sch\u00fctt": [76, 89, 104, 109, 110], "scienc": 216, "scientif": 217, "scipi": [221, 224], "scn": [42, 107, 183, 203, 209, 216], "scrap": 224, "scratch": 202, "screen": [213, 217], "script": [0, 11, 42, 161, 173, 183, 197, 208, 211, 212, 218, 227, 229], "sdata": 223, "se": 221, "search": [5, 31, 37, 133, 134, 188, 190, 193, 196, 217, 221, 223, 225], "sec": [154, 210], "second": [29, 99, 188, 190, 193, 195, 202, 204, 217, 221, 223, 226, 229], "section": [131, 197, 202, 205, 209, 212, 217, 221, 222, 223, 225], "see": [5, 13, 16, 31, 37, 38, 46, 107, 108, 110, 154, 158, 182, 197, 202, 203, 204, 205, 209, 210, 211, 212, 214, 217, 219, 221, 222, 223, 224, 225, 226, 227], "seed": [21, 27, 57, 58, 149, 150, 151, 210, 217], "seek": [217, 219], "seem": [66, 67, 79, 80, 136, 202, 203, 217], "seen": [204, 217], "select": [29, 31, 37, 38, 48, 50, 92, 93, 110, 153, 155, 156, 157, 196, 198, 203, 204, 205, 212, 229], "select_arg": [31, 37, 196, 204], "select_edg": [66, 67, 79, 80], "select_symmetric_edg": [66, 67, 79, 80, 92, 93, 109, 110], "self": [1, 12, 13, 21, 26, 31, 37, 38, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 109, 110, 115, 116, 118, 119, 124, 128, 129, 153, 155, 156, 158, 161, 185, 186, 188, 197, 217], "sell": [44, 110, 207, 217], "semi": [68, 81, 94], "seml": 29, "send": 227, "sens": [5, 217], "sensibl": [188, 193, 195], "sep": 29, "separ": [16, 29, 46, 48, 50, 52, 61, 95, 110, 112, 169, 202, 211, 221], "separables2activ": 45, "seper": 205, "sequenc": [133, 134, 149, 150], "sequenti": [119, 217], "serial": [37, 38], "serv": [31, 37, 211, 217], "server": [31, 37, 184, 185, 186, 188, 190, 193, 211], "set": [0, 1, 2, 5, 11, 13, 16, 21, 31, 37, 45, 46, 48, 49, 50, 63, 64, 110, 112, 113, 115, 117, 122, 133, 134, 136, 158, 169, 173, 182, 185, 186, 188, 190, 191, 193, 196, 197, 199, 200, 201, 203, 204, 205, 210, 211, 212, 219, 221, 223, 224, 225, 226, 229], "set_": [128, 129], "set_axis_off": [214, 221, 223], "set_bulk_id_from_db": [155, 156], "set_calcul": [202, 203, 204, 208, 214, 217, 218, 219, 223, 226, 228], "set_constraint": [208, 217, 218, 219, 223], "set_context_var": 191, "set_cutoff": [92, 93], "set_embed": [56, 65], "set_epoch_and_start_iter": 13, "set_figheight": 221, "set_figwidth": 221, "set_fixed_atom_constraint": 158, "set_lmax": 65, "set_lmax_mmax": [56, 65], "set_max_neighbor": [92, 93], "set_pbc": [208, 217, 218, 219], "set_pbc_patch": 161, "set_posit": [6, 7, 25], "set_se": [149, 150], "set_source_dataset_id": [155, 156], "set_tag": [202, 203, 217, 219, 226], "set_titl": [217, 219, 221], "set_wign": 56, "set_xlabel": 221, "set_xlim": 221, "set_ylabel": [221, 226], "set_ylim": 221, "setformatt": 227, "setlevel": 227, "setup": [14, 148, 205, 210, 221, 225, 229], "setup_context": 16, "setup_experimental_import": 29, "setup_gp": 16, "setup_import": [29, 217], "setup_log": [29, 217], "sever": [197, 202, 217, 218, 219, 220, 227, 229], "severitylevelbetween": [29, 227], "sfcc": 223, "sh": 212, "shall": [44, 110, 207, 217], "shanno": 217, "shape": [44, 45, 52, 66, 67, 69, 72, 73, 75, 78, 79, 80, 82, 85, 86, 88, 91, 92, 93, 95, 96, 99, 100, 103, 106, 111, 112, 202, 203, 208, 217, 226], "shard": [37, 39], "share": [5, 29, 48, 50, 61, 95], "share_atom_edge_embed": [48, 50], "sharei": 221, "shell": [133, 202, 229], "shift": [156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 199], "ship": 212, "shoghi": [200, 209], "sholl": [201, 209], "short": [158, 168, 188, 193, 195], "shortest": 5, "shortli": 202, "should": [5, 11, 16, 21, 27, 29, 31, 37, 39, 43, 44, 45, 46, 48, 49, 50, 52, 56, 66, 67, 70, 79, 80, 83, 92, 93, 97, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 153, 156, 184, 185, 188, 190, 193, 203, 204, 212, 215, 216, 217, 221, 223, 224, 226, 228], "show": [63, 64, 113, 115, 202, 204, 208, 212, 217, 221, 224, 226, 228, 229], "show_timing_info": [63, 64, 113, 115], "showcas": 229, "shown": [21, 203, 217], "shuaibi": [197, 200, 209, 212, 216, 217], "shuffl": [13, 149, 150, 202], "si": [217, 219, 223], "si2ti2y2": 197, "sid": [2, 133, 134, 198, 200, 208, 217, 218], "siddharth": [168, 197, 200, 209, 216, 217], "side": [184, 185, 188], "sigmoid": [48, 50, 63, 64, 113, 115], "sigmoidsmear": 116, "sign": 217, "signatur": 13, "signific": [31, 37, 171, 172, 216, 226], "significantli": 217, "sihoon": [201, 209], "silu": [44, 48, 50, 54, 61, 63, 64, 92, 93, 97, 113, 115, 217], "silusmear": 116, "similar": [52, 197, 211, 217, 223, 224, 226], "similarli": [205, 212, 217], "similiar": 217, "simpl": [13, 68, 81, 94, 202, 214, 217, 225, 229], "simpleatomedgemodel": 217, "simpler": 204, "simpli": [21, 31, 37, 158, 196, 226, 227], "simplic": 219, "simplifi": 211, "simul": [21, 184, 185, 186, 188, 213, 214, 217, 219, 229], "simular": 224, "sinc": [21, 37, 38, 39, 40, 48, 50, 56, 66, 67, 79, 80, 92, 93, 109, 110, 156, 157, 171, 172, 202, 208, 210, 212, 216, 221, 223, 224], "sind": 204, "sine": 119, "sinesmear": 119, "singl": [0, 1, 5, 11, 37, 39, 40, 45, 46, 49, 71, 84, 98, 133, 134, 158, 163, 182, 185, 186, 188, 197, 200, 201, 203, 208, 211, 217], "single_point_calcul": 182, "single_point_lmdb": 217, "singlepoint": 202, "singlepointcalcul": [185, 186, 188, 202], "singlepointlmdb": [57, 58, 150, 151, 208], "singlepointlmdbdataset": [37, 39], "siqu": [70, 83], "siren": 119, "site": [5, 154, 156, 157, 158, 184, 185, 188, 190, 193, 198, 212, 221, 228], "site_idx": 157, "six": 21, "size": [13, 16, 37, 39, 44, 51, 55, 56, 61, 63, 65, 66, 67, 69, 70, 72, 73, 75, 78, 79, 80, 82, 83, 85, 86, 88, 91, 92, 93, 96, 97, 99, 100, 103, 106, 111, 173, 185, 186, 188, 196, 197, 198, 199, 200, 201, 203, 204, 208, 211, 214, 217, 218, 219, 229], "skew": 202, "skip": [13, 16, 44, 66, 67, 75, 79, 80, 88, 92, 93, 103, 204, 217, 219, 221], "skip_alwai": 31, "skip_if_nonzero": 31, "slab": [5, 29, 152, 154, 155, 156, 157, 167, 169, 171, 172, 183, 184, 185, 186, 188, 190, 192, 193, 197, 200, 203, 212, 214, 217, 219, 222, 223, 228], "slab_": 223, "slab_atom": [156, 158], "slab_atom_posit": [154, 156], "slab_c": [154, 156], "slab_c2": [154, 156], "slab_idx": [154, 156], "slab_len": 5, "slab_sid": 200, "slabmetadata": [185, 186, 188], "sleep": [188, 190, 193], "slice": [52, 110], "slight": [154, 156, 157], "slightli": 203, "slope": [118, 221], "slow": [31, 37, 205], "slow_interval_sec": [188, 190, 193], "slowdown": 197, "slower": [204, 210, 221], "slurm": [57, 58, 149, 150, 151, 202, 204, 211, 227], "small": [29, 31, 37, 171, 172, 196, 201, 203, 204, 217, 223, 224, 226, 228], "smaller": [196, 203, 217], "smallest": 13, "smear": [42, 107, 113, 119, 183], "smile": [153, 156], "smooth": [44, 76, 89, 104], "smoothleakyrelu": 45, "so": [5, 11, 12, 21, 29, 31, 37, 44, 48, 50, 55, 61, 63, 64, 92, 93, 94, 106, 109, 110, 133, 134, 154, 156, 158, 168, 171, 172, 184, 185, 188, 192, 193, 195, 198, 199, 202, 204, 205, 207, 210, 217, 221, 223, 224, 226, 227, 228], "so2_convolut": 55, "so2_linear": 55, "so2_m_convolut": 55, "so2_op": [42, 50, 107, 183], "so2block": 63, "so2conv": 63, "so2equivariantgraphattent": 61, "so3": [42, 50, 63, 64, 107, 183], "so3_edge_rot": 63, "so3_embed": [55, 56, 65], "so3_grid": [45, 48, 50, 56, 61, 63, 65], "so3_linear": 56, "so3_linearv2": 56, "so3_rot": [51, 56, 61, 65], "soap": 224, "soap_desc": 224, "soap_ex": 224, "societ": 217, "softplu": [76, 89, 104], "softwar": [44, 110, 207, 220], "solar": 217, "solut": [68, 81, 94, 203, 217], "solv": [154, 156, 209, 217], "some": [19, 27, 66, 67, 79, 80, 92, 93, 109, 110, 133, 134, 166, 168, 173, 202, 204, 210, 211, 213, 217, 219, 221, 223, 229, 230], "someth": [203, 226], "sometim": [158, 203], "somewhat": [202, 221, 223], "soon": [188, 190, 193], "sorbent": [201, 209], "sort": [2, 29, 37, 38, 106, 188, 192, 193], "sort_valu": 224, "sourc": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 205, 217, 218], "source_el": [63, 115], "source_to_target": 110, "sp": [1, 3, 221, 224], "space": [37, 38, 202, 226], "span": [156, 158], "sparsetensor": [95, 106], "spatial": 224, "speci": [223, 224, 228], "special": 20, "species_numb": 223, "specif": [1, 26, 37, 38, 56, 65, 110, 158, 202, 205, 211, 212, 217, 219, 229], "specifi": [1, 5, 29, 30, 31, 37, 60, 95, 110, 131, 154, 156, 157, 169, 198, 200, 203, 204, 210, 211, 217, 223, 227], "specific_mil": [156, 158, 221, 224, 228], "specifii": 217, "spectra": [109, 110], "spectral": 226, "speed": [208, 217, 221, 224], "speedup": [37, 39, 110], "sph": [71, 72, 84, 85, 98, 99, 119], "sph_basi": 99, "sph_harm_prefactor": [71, 84, 98], "sphere": [48, 50, 63, 64, 71, 84, 98, 113, 115], "sphere_basi": 52, "sphere_channel": [48, 50, 51, 55, 61, 63, 64, 113, 115], "sphere_channels_reduc": [113, 115], "sphere_point": 63, "spheric": [44, 48, 50, 51, 55, 56, 61, 63, 64, 65, 71, 76, 84, 89, 92, 93, 98, 99, 103, 104, 105, 113, 115, 117], "spherical_basi": [67, 74, 80, 87, 93, 102, 107, 183], "spherical_bessel_formula": [71, 84, 98], "spherical_harmon": [42, 107, 113, 183, 217], "sphericalbasislay": 105, "sphericalbesselbasi": [76, 89, 104], "sphericalchannelnetwork": [113, 115], "sphericalharmonicshelp": 117, "sphericalsmear": 119, "sphharm": 115, "sphharm_list": 115, "sphinx": 183, "spike": 217, "spin_multipl": 182, "spinconv": [209, 216], "split": [17, 19, 27, 135, 143, 145, 149, 150, 151, 197, 198, 199, 200, 201, 203, 204, 208, 209, 211, 217, 221, 224, 225], "split_siz": 197, "spookynet": [76, 89, 104], "spot": 173, "sq": 221, "sqlite": [31, 37, 133, 134], "sqlite3databas": [133, 134], "sqrt": [70, 83, 97], "squar": [52, 221], "squareform": 224, "squeez": 217, "src": [14, 31, 37, 82, 106, 155, 156, 182, 196, 202, 204, 208, 210, 211, 216, 217, 221, 227], "src_id": [155, 156, 185, 186, 188, 212, 221], "sriram": [197, 200, 201, 209, 216, 217], "ssp": 119, "stabil": [92, 93, 104, 105, 202, 210], "stabl": [221, 223], "stack": [66, 67, 79, 80, 92, 93, 133, 134], "stackoverflow": [78, 91, 106, 111], "stage": [217, 227], "stamp": [202, 211], "standalon": 211, "standard": [0, 1, 12, 21, 149, 150, 158, 168, 182, 211, 217, 223], "standardize_bulk": [158, 168], "standardized_struct": [158, 168], "standerd": 173, "start": [5, 13, 37, 39, 40, 78, 91, 94, 104, 106, 111, 116, 119, 166, 184, 185, 188, 190, 193, 202, 204, 215, 217, 220, 222, 223, 225, 227, 228, 229], "start_idx": [78, 91, 106, 111], "start_it": 13, "start_iter": 13, "start_lmax": [56, 65, 117], "starting_node_idx": 5, "startup": [31, 37, 196], "stat": [121, 128, 129, 221], "state": [11, 12, 13, 29, 37, 39, 40, 57, 58, 68, 81, 94, 122, 150, 151, 199, 202, 211, 217, 219, 223, 229], "state_dict": [29, 122, 125, 128, 129], "statefuldistributedsampl": 13, "statement": [188, 193, 195], "static": [13, 16, 31, 37, 149, 150, 182, 188, 192, 193], "staticmethod": 16, "statist": 210, "statu": [185, 186, 188, 190, 193, 215], "std": [49, 125, 203, 217], "std_balance_degre": 52, "stderr": 227, "stdev": 217, "stdout": [204, 227], "steer": 217, "stem": 95, "step": [1, 2, 3, 5, 11, 17, 19, 23, 25, 60, 122, 131, 188, 190, 193, 197, 198, 199, 202, 208, 212, 214, 218, 219, 220, 221, 224, 228], "stephan": 217, "still": [13, 188, 190, 193, 202, 204, 217, 223, 226, 227], "stitch": 197, "stochast": 46, "stoichiometri": 223, "stop": [104, 116, 197, 217], "storag": [31, 37, 174, 197, 217], "store": [16, 20, 29, 31, 32, 33, 37, 38, 39, 40, 122, 153, 156, 185, 186, 188, 190, 193, 197, 201, 202, 208, 211, 217, 223, 229], "str": [6, 7, 8, 11, 13, 14, 17, 19, 20, 21, 23, 25, 26, 28, 29, 30, 31, 37, 38, 44, 46, 48, 50, 52, 53, 56, 57, 58, 61, 63, 64, 66, 67, 69, 70, 73, 75, 76, 78, 79, 80, 82, 83, 86, 88, 89, 91, 92, 93, 96, 97, 100, 103, 104, 107, 108, 109, 110, 112, 113, 114, 115, 118, 119, 121, 124, 126, 127, 128, 129, 133, 134, 135, 136, 141, 146, 149, 150, 151, 153, 154, 155, 156, 157, 158, 166, 182, 184, 185, 186, 187, 188, 190, 192, 193, 195], "straighten": 173, "strang": [166, 217], "strategi": 195, "stream": 29, "streamlin": 202, "stress": [21, 133, 134, 216], "strict": [29, 48, 50, 224], "stricter": [92, 93], "strictli": [13, 29], "string": [6, 7, 11, 20, 21, 27, 29, 31, 37, 45, 46, 49, 71, 84, 98, 110, 112, 133, 134, 153, 156, 173, 184, 185, 186, 188, 202, 229], "stringio": 203, "strip": [202, 204], "strongli": [204, 217], "struct": [158, 168], "structur": [0, 1, 2, 5, 13, 23, 29, 31, 37, 39, 40, 43, 44, 45, 46, 49, 52, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 150, 151, 153, 154, 155, 156, 158, 166, 168, 169, 173, 184, 185, 186, 188, 190, 193, 202, 204, 209, 210, 216, 219, 221, 223, 226, 228, 229], "structure_gener": [152, 167, 183], "structure_xyz": [158, 168], "structuregener": 169, "strucutr": 217, "studi": [217, 219, 229], "stuff": [224, 228], "style": [37, 39, 217], "sub": [92, 93, 158, 211, 217, 219], "subclass": [13, 16, 21, 37, 39, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "subdir": [208, 217], "subdirectori": [29, 163, 199], "subject": [44, 110, 207, 217], "sublicens": [44, 110, 207, 217], "submiss": [141, 212], "submission_fil": 211, "submit": [184, 185, 186, 188, 190, 211, 212, 213, 227], "submit_adsorbate_slab_relax": [184, 185, 188], "submitit": [12, 211, 227], "submodul": [43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 129, 168, 173], "subplot": [214, 217, 219, 221, 223, 226], "subselect": [48, 50, 92, 93, 188, 190, 193], "subselect_edg": [92, 93], "subselect_graph": [92, 93], "subsequ": [69, 72, 73, 82, 85, 86, 96, 99, 100, 188, 190, 193, 221, 227], "subset": [55, 184, 185, 186, 188, 190, 193, 197, 204, 217], "subset_db": 204, "subsplit": [197, 200, 217], "substanti": [44, 110, 202, 207, 217, 229], "subsubdirectori": 29, "subsurfac": [185, 186, 188, 198, 208, 217, 218, 219], "subtl": 223, "subtract": [48, 50, 78, 91, 106, 203, 208, 217], "subtyp": 13, "succe": [184, 185, 188], "success": [0, 1, 11, 185, 186, 188, 211, 217, 229], "success_much_bett": 1, "success_par": [0, 1], "success_threshold": [0, 1], "successfulli": [1, 188, 190, 193], "sudden": 29, "suffici": [196, 202, 217, 226], "suffix": [149, 150], "suggest": [166, 204, 217, 223], "suit": [217, 227], "suitabl": 110, "sum": [1, 5, 29, 51, 110, 217, 224, 226], "sum_": 112, "sum_i": 217, "sum_j": 217, "summar": [209, 217], "summat": [72, 77, 85, 90, 99], "super": [43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 217], "superposit": [154, 156], "supplement": 229, "suppli": [211, 221, 224], "support": [37, 39, 95, 184, 185, 186, 188, 190, 193, 196, 198, 199, 202, 208, 211, 216, 217, 223], "supposedli": 204, "suppress": [203, 211, 223], "sure": [16, 68, 81, 94, 173, 197, 205, 210, 217, 221, 223, 224], "surfac": [2, 5, 92, 93, 154, 156, 157, 158, 168, 169, 171, 172, 173, 184, 185, 186, 188, 190, 193, 197, 198, 199, 200, 208, 209, 210, 217, 218, 219, 222, 223, 224, 226, 228], "surface0": 169, "surface1": 169, "surface_atom": 158, "surface_change_cutoff_multipli": [2, 171, 172], "surface_index": 169, "surpris": [202, 204], "surrog": [217, 229], "surviv": 46, "swap": [103, 182], "swap_output": 103, "sweep_fil": 29, "swiglu": 45, "swish": [66, 67, 70, 79, 80, 83], "sy": 221, "sym": 44, "symbol": [197, 202, 205, 223], "symlink": [197, 205], "symmetr": [66, 67, 79, 80, 92, 93, 103, 109, 110, 158, 168], "symmetri": [5, 158, 168, 229], "symmetric_edge_symmetr": [109, 110, 203], "symmetric_mp": 103, "symmetrize_edg": [92, 93, 109, 110], "sympi": [71, 84, 98], "sync": [208, 217], "synchron": 14, "syntax": [37, 38, 226], "system": [0, 1, 2, 3, 5, 11, 23, 27, 136, 154, 156, 158, 171, 172, 180, 182, 184, 185, 186, 187, 188, 190, 193, 198, 203, 205, 208, 211, 214, 217, 218, 219, 222, 224, 226, 227, 228, 229], "system1_coord": 5, "system2_coord": 5, "system_chang": 21, "system_id": [0, 1, 184, 185, 186, 187, 188, 190, 193, 197, 198, 212], "system_path": [208, 217], "systemat": 223, "systems1": 5, "systems2": 5, "t": [13, 14, 16, 20, 21, 31, 37, 48, 50, 66, 67, 75, 78, 79, 80, 88, 91, 92, 93, 106, 154, 156, 169, 171, 172, 184, 185, 188, 202, 204, 210, 219, 221, 223, 224, 226, 227], "t0": [202, 204, 221, 223], "t4": 209, "t_co": [37, 39], "tabl": 209, "tag": [5, 31, 37, 92, 93, 133, 134, 156, 158, 185, 186, 188, 190, 198, 202, 204, 208, 210, 218, 223, 226], "tag_surface_atom": 158, "tail": [202, 227], "take": [0, 31, 69, 71, 82, 84, 96, 98, 110, 133, 134, 188, 190, 193, 202, 204, 211, 212, 215, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "taken": [168, 173, 185, 186, 188, 197, 204], "tap": [113, 115, 117], "tar": [197, 198, 199, 200, 201, 217], "tarbal": 197, "target": [0, 1, 48, 50, 66, 67, 69, 78, 79, 80, 82, 91, 92, 93, 106, 112, 121, 124, 220], "target_constant_shap": 41, "target_el": [63, 115], "target_extens": 41, "target_mean": [211, 217], "target_metadata_guess": [37, 42, 183], "target_neighbor_idx": 103, "target_per_atom": 41, "target_s": 16, "target_sampl": 41, "target_std": [211, 217], "target_to_sourc": 110, "task": [20, 37, 39, 40, 42, 57, 58, 121, 133, 134, 135, 144, 145, 149, 150, 151, 183, 198, 199, 202, 204, 208, 210, 211, 216, 218, 220, 225], "task_metr": 121, "task_primary_metr": 121, "tate": 217, "tb": [37, 38], "techniqu": 217, "technologi": 217, "tell": [196, 203], "temp_download": 162, "temp_split_str": 176, "temperatur": 29, "temporarili": 122, "ten": 212, "tenac": 195, "tend": [202, 223], "tensor": [13, 14, 16, 21, 25, 29, 45, 46, 49, 55, 56, 61, 62, 63, 65, 66, 67, 68, 69, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 91, 92, 93, 94, 95, 96, 99, 100, 103, 104, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 124, 125, 128, 129, 133, 134, 203, 208, 217, 218], "tensor_ord": [92, 93], "tensorboard": [19, 202, 204, 211, 217, 227], "tensorboardlogg": 19, "tensorflow": [46, 216], "tensori": [109, 110], "term": 202, "termin": [3, 5, 23, 188, 190, 193, 202, 204, 227], "test": [5, 17, 27, 31, 37, 152, 167, 171, 172, 183, 184, 185, 188, 193, 195, 196, 197, 200, 201, 204, 208, 210, 211, 219, 221, 225], "test_dataset": [202, 227], "test_id": 197, "test_load": 217, "test_metr": 17, "test_neb": 199, "test_ood_ad": 197, "test_ood_both": 197, "test_ood_cat": 197, "text": [197, 217, 219], "th": [11, 199], "than": [1, 5, 23, 29, 37, 38, 46, 154, 156, 158, 166, 188, 192, 193, 196, 197, 210, 211, 217, 218, 223, 224, 226], "thei": [5, 13, 16, 21, 29, 95, 158, 168, 169, 185, 186, 188, 190, 192, 193, 196, 202, 203, 204, 208, 211, 212, 213, 217, 219, 221, 223, 224, 226, 229], "them": [11, 27, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 188, 190, 193, 197, 199, 201, 202, 203, 204, 205, 210, 213, 217, 219, 221, 224, 226, 228, 229], "themselv": [184, 185, 188], "theori": [197, 217, 221, 223, 229], "there_is_overlap": 154, "thermochem": 223, "thermodynam": 223, "theta": [71, 84, 98, 110, 112], "thi": [0, 1, 2, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 52, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 128, 129, 131, 133, 134, 136, 137, 140, 141, 142, 143, 148, 149, 151, 153, 154, 155, 156, 157, 158, 167, 168, 173, 183, 184, 185, 186, 188, 190, 191, 193, 195, 196, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228], "thibaut": [197, 209, 216, 217], "thick": 223, "thing": [5, 31, 154, 156, 173, 202, 203, 204, 216, 221, 224, 229], "think": 221, "third": 202, "thoroughli": 202, "those": [48, 50, 188, 192, 193, 202, 208, 211, 217, 220, 221, 224, 229], "though": [16, 184, 185, 188, 202, 203, 204, 221, 223], "thought": 217, "thread": [36, 184, 185, 188], "three": [158, 199, 202, 211, 217, 226, 229], "threshold": [11, 41], "through": [0, 1, 31, 37, 39, 40, 163, 173, 202, 217, 223, 224], "throughout": [184, 185, 188, 212, 217], "throughput": [196, 208], "throw": [31, 217, 219], "throw_on_error": 13, "thu": [38, 217, 229], "tian": 216, "tight": 180, "tight_layout": [221, 226], "tightli": 217, "tile": [5, 154, 156, 158], "tile_and_tag_atom": 158, "tile_atom": 158, "till": 29, "time": [1, 29, 31, 37, 63, 64, 113, 115, 122, 154, 184, 185, 188, 190, 193, 195, 202, 203, 204, 211, 217, 221, 223, 227], "timedelta": [184, 185, 188], "timeout": 12, "timestamp": [202, 211], "timestamp_id": [57, 58, 149, 150, 151], "timm": 46, "tini": 221, "tinit": 221, "tio2": 202, "titl": [29, 166, 197, 200, 201, 202, 209, 212, 216, 217, 228], "titles": [217, 219], "tmp": [202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "to_ase_atom": [185, 186, 188, 212], "to_grid": [56, 65], "to_json": 212, "to_outedg": 95, "toatom": 204, "todai": [217, 229], "tog02": 154, "togeth": [2, 202, 226], "togrid": 117, "toi": [219, 220], "toler": [29, 171, 172], "tolist": [13, 221, 224], "too": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 202, 204, 205, 217, 226, 227], "tool": [196, 226], "top": [1, 156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 202, 212, 217, 223], "topic": 220, "topologi": 201, "torch": [13, 14, 16, 25, 29, 31, 37, 39, 40, 43, 44, 45, 46, 49, 51, 52, 53, 54, 55, 56, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 122, 124, 125, 126, 128, 129, 130, 131, 133, 134, 149, 150, 203, 208, 210, 217, 226], "torch_clust": 205, "torch_doctest_autograd": 16, "torch_geometr": [13, 25, 29, 30, 37, 39, 110, 112, 132, 133, 134, 205, 217, 218], "torch_scatt": [82, 205, 217], "torch_spars": [106, 205], "torchcalc": 25, "torchrun": 211, "tort": [44, 110, 207, 217], "total": [1, 3, 5, 71, 84, 95, 98, 99, 154, 156, 197, 198, 203, 204, 208, 217, 223], "total_energi": 202, "toward": 217, "toy_c3h8": 217, "toy_c3h8_relax": [217, 219], "tpu": 46, "tqdm": [31, 37, 188, 190, 193, 204, 208, 217, 221, 223], "track": [57, 58, 133, 134, 150, 151, 188, 190, 193], "trade": 202, "tradit": 217, "train": [6, 7, 13, 17, 20, 21, 27, 31, 37, 43, 44, 45, 46, 48, 49, 50, 52, 56, 57, 58, 60, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 149, 150, 151, 196, 197, 199, 200, 201, 203, 204, 208, 209, 216, 218, 220, 223, 225, 226, 229], "train_100": 217, "train_10k": 217, "train_dataset": 217, "train_metr": 17, "train_on_free_atom": 217, "train_on_oc20_total_energi": [210, 211], "train_src": 217, "train_test_val_split": [27, 202, 227], "trainabl": 104, "trainer": [20, 21, 42, 50, 107, 127, 148, 183, 202, 211, 218, 226, 227], "training_st": [149, 150], "traintask": [20, 147, 148], "traj": [31, 37, 136, 166, 196, 199, 208, 217, 218, 219, 221, 224, 228], "traj_dir": [25, 29, 211, 217], "traj_id": 200, "traj_nam": 25, "traj_path": [136, 208, 217], "trajcetori": [208, 217], "trajectori": [5, 23, 37, 39, 40, 163, 166, 185, 186, 188, 198, 199, 201, 208, 211, 218, 222, 228], "trajectory_lmdb": 217, "trajectorylmdb": [208, 211], "trajectorylmdbdataset": [37, 39], "tran": [168, 173, 197, 200, 209, 216, 217], "transblockv2": 61, "transfer": [199, 217], "transfer_reaction_db_path": 9, "transferr": 229, "transform": [18, 23, 25, 31, 37, 39, 40, 42, 44, 48, 50, 52, 66, 67, 75, 79, 80, 88, 92, 93, 99, 103, 123, 183, 217], "transform_arg": [31, 37], "transform_funct": [31, 37], "transformer_block": [42, 50, 107, 183], "transit": [11, 199, 217, 223], "translat": [154, 156, 203, 229], "travel": 5, "travers": [5, 154, 156], "traversal_rxt": 5, "traversal_rxt1_fin": 5, "traverse_adsorbate_desorpt": 5, "traverse_adsorbate_dissoci": 5, "traverse_adsorbate_gener": 5, "traverse_adsorbate_transf": 5, "treat": [1, 31], "tree": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 45, 46, 49, 52, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 124, 125, 128, 129, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188], "trend": 217, "tri": 203, "triangl": [154, 156, 157], "triangul": [154, 156, 157], "tricki": 221, "trim_tensor": 16, "trip_idx_a2": [92, 93, 103], "trip_idx_e2": [92, 93, 103], "trip_idx_e2a": [92, 93, 103], "trip_in_to_quad": 95, "trip_out_to_quad": 95, "triplet": [31, 44, 66, 67, 72, 75, 79, 80, 85, 88, 95, 99, 103, 229], "triplet_in": 95, "triplet_out": 95, "tripletinteract": [75, 88, 103], "tructur": 217, "true": [5, 6, 7, 11, 13, 16, 20, 21, 25, 29, 31, 37, 38, 44, 45, 48, 50, 51, 52, 55, 56, 61, 63, 64, 66, 67, 69, 70, 71, 78, 79, 80, 82, 83, 84, 91, 92, 93, 95, 96, 97, 98, 101, 103, 106, 109, 110, 111, 112, 113, 115, 128, 129, 133, 134, 149, 150, 151, 154, 158, 168, 171, 172, 180, 184, 185, 188, 190, 193, 196, 197, 199, 202, 203, 204, 205, 208, 210, 211, 217, 218, 219, 221, 223, 224, 226, 227, 228], "truth": [0, 1, 20], "try": [158, 190, 196, 203, 217, 223], "ttv": 27, "tu": 44, "tum": 29, "tune": [17, 204, 217, 223, 225, 226, 229], "tune_report": 17, "tupl": [5, 11, 16, 26, 27, 29, 37, 38, 69, 78, 82, 85, 91, 99, 106, 110, 146, 153, 156, 158, 168, 173, 185, 186, 188, 190, 192, 193, 197, 198, 200], "turn": [31, 197], "tutori": [110, 202, 204, 208, 211, 214, 216, 219, 222, 223, 225], "tutorial_data": 217, "tutorial_util": [18, 42, 183, 202, 204, 227, 229], "twice": [99, 204], "two": [5, 16, 29, 31, 37, 92, 93, 103, 129, 158, 196, 202, 211, 212, 217, 221, 226, 229], "txie": 36, "txn": [208, 217], "txt": [197, 202, 204, 221, 227], "type": [3, 5, 11, 13, 16, 18, 29, 31, 37, 39, 42, 48, 50, 52, 56, 57, 58, 61, 65, 69, 71, 72, 73, 75, 78, 82, 84, 85, 86, 88, 91, 92, 93, 95, 96, 98, 99, 100, 103, 106, 107, 108, 119, 133, 134, 149, 150, 151, 154, 156, 158, 168, 169, 171, 172, 183, 185, 186, 188, 190, 193, 197, 199, 217, 219], "typeddict": 129, "typic": [99, 122, 188, 190, 193, 217, 219, 223, 229], "typing_extens": [37, 38], "tzvpd": 180, "u": [5, 199, 217], "ui": [183, 185, 188], "ui_url": [188, 190, 193, 212], "ulissi": [168, 197, 200, 201, 209, 212, 216, 217], "ulissigroup": [168, 173], "ultim": [217, 227], "um": 226, "umap": 226, "umbrella": 229, "unavaial": 33, "unavail": 32, "uncertainti": 217, "uncom": 217, "uncompress": [42, 140, 183, 197, 198, 199, 200, 201], "uncompress_data": 135, "uncompressed_dir": 135, "under": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 158, 167, 188, 197, 198, 200, 201, 209, 212, 216, 217, 226], "undercoordin": 158, "undergon": 216, "underli": [110, 197], "understand": [218, 220], "underwai": 217, "undesir": 29, "unfamiliar": 212, "unfortun": 217, "uniform": [48, 50], "uniform_atoms_length": 41, "uniformli": [154, 156, 157], "unintend": 217, "uninteract": 197, "uniqu": [5, 20, 66, 67, 79, 80, 133, 134, 158, 184, 185, 186, 188, 190, 193, 197, 198, 208, 210, 211, 212, 217, 218, 224], "unique_combinations_count": 176, "uniquekeyload": 29, "unit": [29, 63, 64, 69, 70, 71, 78, 82, 83, 84, 91, 95, 96, 97, 98, 106, 113, 115, 154, 156, 158, 168, 173, 185, 186, 188, 197, 212], "unit_norm": [154, 156], "unit_slab_struct": 158, "units_in": [69, 82, 96], "units_out": [72, 85], "univers": 217, "unk": [76, 89, 104], "unless": 227, "unlik": [156, 157, 217, 219], "unphys": 226, "unrefer": 210, "unregist": 20, "unrelaxed_fram": 199, "unscal": 101, "unseen": 197, "unspecifi": 203, "unstabl": 106, "unsupportedadsorbateexcept": [188, 190, 193], "unsupportedbulkexcept": [188, 190, 193], "unsupportedmodelexcept": [188, 190, 193], "unsur": 217, "until": [5, 154, 158, 188, 190, 193, 217], "unus": 112, "unwrap": 5, "unwrap_atom": 5, "up": [2, 16, 29, 71, 84, 92, 93, 98, 101, 154, 156, 205, 216, 217, 219, 221, 223, 224, 226], "updat": [5, 25, 27, 29, 69, 82, 96, 101, 103, 110, 121, 122, 152, 157, 159, 167, 183, 188, 190, 193, 197, 202, 204, 211, 217, 219, 227], "update_best": [149, 150], "update_config": 29, "update_db": 161, "update_dict": 19, "update_distance_map": 157, "update_graph": 25, "update_json": [78, 91], "update_mask": 25, "update_pkl": 161, "upload": 211, "upon": [48, 50, 182, 197], "upper": 221, "upsampl": [113, 115], "upsid": [158, 168], "upward": [158, 168, 211], "url": [44, 184, 185, 187, 188, 190, 193, 212], "us": [0, 1, 2, 3, 5, 13, 16, 20, 23, 27, 29, 31, 33, 37, 38, 39, 40, 44, 46, 48, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 69, 70, 73, 75, 77, 79, 80, 82, 83, 86, 88, 90, 92, 93, 95, 96, 97, 99, 100, 101, 103, 106, 109, 110, 112, 113, 115, 117, 122, 126, 133, 134, 141, 146, 149, 150, 151, 154, 156, 157, 158, 166, 168, 173, 180, 184, 185, 186, 188, 190, 193, 195, 197, 198, 200, 201, 202, 203, 204, 205, 207, 208, 209, 210, 211, 212, 213, 216, 218, 219, 220, 222, 224, 226, 227, 228, 229], "usabl": [31, 197, 216], "usag": [1, 16, 20, 110, 217], "use_atom_edge_embed": [48, 50, 51, 61], "use_attn_renorm": [48, 50, 61], "use_cosin": 119, "use_deterministic_algorithm": 210, "use_energy_lin_ref": [48, 50], "use_gate_act": [48, 50, 61], "use_grid": [63, 64, 113, 115], "use_grid_mlp": [48, 50, 61], "use_lock_fil": [37, 38], "use_m_share_rad": [48, 50, 61], "use_num_upd": 122, "use_pbc": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115], "use_phi": [71, 84, 98], "use_s2_act_attn": [48, 50, 61], "use_sep_s2_act": [48, 50, 61], "use_theta": [71, 84, 98], "use_tqdm": [31, 37], "usecas": [31, 37], "user": [3, 31, 37, 188, 192, 193, 197, 205, 212, 217], "usetex": [217, 219], "usual": [122, 202, 210, 223, 229], "utexa": 197, "utf": 204, "util": [13, 18, 21, 31, 37, 39, 40, 42, 67, 80, 93, 107, 109, 123, 128, 131, 149, 150, 152, 167, 183, 196, 204, 208, 217, 218, 221, 224, 227, 228, 229], "uuid": 212, "uyttendael": [201, 209, 212], "v": [110, 129, 133, 134, 180, 202, 217, 222], "v0": 166, "v0_check": 166, "v3": 161, "v_qint_st": [92, 93], "v_st": [78, 91, 92, 93, 106, 217], "vacuum": [203, 208, 214, 217, 218, 219, 223], "val": [17, 27, 29, 149, 150, 151, 196, 197, 201, 209, 210, 211, 217, 224, 225], "val_20": 217, "val_2k": 217, "val_dataset": [202, 227], "val_id": [197, 211], "val_loss": 17, "val_metr": [17, 149, 150], "val_ood_ad": 197, "val_ood_both": 197, "val_ood_cat": 197, "val_src": 217, "valenc": 33, "valid": [0, 1, 11, 16, 27, 48, 50, 122, 149, 150, 171, 172, 197, 198, 199, 200, 201, 202, 211, 220], "validatetask": [147, 148], "valu": [0, 1, 5, 11, 16, 19, 20, 27, 29, 33, 48, 50, 61, 76, 89, 92, 93, 94, 95, 99, 104, 105, 110, 126, 129, 133, 134, 155, 156, 158, 173, 185, 186, 188, 191, 192, 193, 195, 197, 199, 200, 202, 203, 210, 212, 217, 219, 222, 224], "var": [68, 81, 94], "vari": [1, 136, 226], "variabl": [43, 44, 45, 46, 49, 52, 56, 70, 71, 83, 84, 97, 98, 104, 110, 115, 116, 118, 119, 124, 128, 129, 191, 202, 211, 224, 226], "varianc": [68, 81, 94, 164, 210], "variance_in": 129, "variance_out": 129, "variant": [66, 67, 79, 80], "varieti": [31, 37, 217, 226, 229], "variou": [19, 20, 197, 201, 209, 216, 217], "vasp": [3, 11, 152, 164, 167, 169, 172, 183, 212], "vasp_command": 11, "vasp_dir": 11, "vasp_flag": [4, 11, 173, 224], "vdict": 226, "ve": [46, 208, 217, 219], "vec": 110, "vec_j": 110, "vector": [5, 48, 50, 52, 61, 78, 91, 106, 111, 133, 134, 154, 156, 158, 173, 185, 186, 188, 217, 219, 224, 225, 229], "vector_reject": 106, "verbos": [37, 38, 223], "veri": [1, 13, 199, 202, 203, 204, 208, 217, 224, 226], "verify_count": 135, "versa": [158, 168], "version": [5, 173, 183, 188, 198, 199, 200, 201, 205, 223], "vertic": 154, "via": [95, 110, 129, 211, 227, 229], "vice": [158, 168], "video": 206, "videos_dir": 219, "view": 202, "view_x3d_n": [224, 228], "visal": 136, "visibl": 53, "visit": [202, 212], "visual": [136, 185, 187, 188, 190, 193, 212, 214, 220, 221, 223, 224, 226], "vjp": 16, "vo2": 202, "vol": 202, "volum": [33, 217, 219], "voronoi": 158, "vstack": 224, "w": [16, 68, 81, 94, 106, 212, 217, 219, 223, 227], "w0": 119, "wa": [2, 31, 37, 39, 40, 110, 122, 158, 166, 168, 171, 172, 184, 185, 186, 187, 188, 190, 193, 195, 197, 198, 199, 202, 208, 212, 216, 217, 223, 224, 226, 228, 229], "wai": [13, 16, 31, 37, 43, 44, 45, 46, 49, 52, 56, 68, 70, 81, 83, 94, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 136, 149, 150, 153, 155, 156, 158, 168, 196, 202, 203, 212, 220, 221, 224, 226, 227], "wait": [184, 185, 188, 190, 193, 195], "wait_bas": 195, "wait_for_adsorbate_slab_relax": [188, 190, 193], "waiter": 195, "walk": 217, "walkthrough": 217, "wandb": [19, 20, 57, 58, 149, 150, 151, 202, 204, 217, 227], "wandblogg": [19, 20], "wander": 212, "want": [12, 13, 21, 31, 37, 158, 168, 173, 180, 196, 199, 202, 213, 214, 217, 221, 223, 227, 229], "warmup_epoch": 60, "warmup_factor": 60, "warmup_lr_lambda": [29, 131], "warmup_step": [29, 217], "warn": [20, 31, 37, 130, 227], "warranti": [44, 110, 207, 217], "wartim": 217, "wasnt": 224, "wast": 224, "watch": [19, 221], "water": 223, "wb": 204, "wb97m": 180, "we": [5, 13, 29, 37, 38, 45, 48, 50, 52, 56, 60, 66, 67, 79, 80, 92, 93, 109, 110, 136, 154, 156, 157, 158, 168, 173, 196, 197, 198, 199, 200, 201, 202, 204, 205, 208, 210, 211, 213, 214, 215, 216, 217, 219, 220, 221, 223, 224, 226, 227, 228, 229], "weaker": 223, "webpag": [217, 219], "weight": [43, 48, 50, 52, 61, 68, 72, 81, 85, 94, 99], "weight_init": [48, 50], "weihua": [197, 209, 216, 217], "well": [156, 157, 209, 211, 217, 218, 221, 223, 224, 229], "were": [16, 168, 173, 185, 186, 188, 190, 193, 197, 199, 209, 217, 219, 229], "wget": [204, 205, 217], "what": [21, 202, 214, 217, 219, 221, 223, 224, 226, 227, 228, 229], "when": [5, 13, 20, 23, 31, 37, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 61, 68, 70, 81, 83, 92, 93, 94, 97, 99, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 133, 134, 154, 156, 157, 171, 172, 184, 185, 188, 190, 191, 193, 195, 197, 202, 203, 205, 212, 217, 221, 224, 229], "whenev": 212, "where": [0, 1, 5, 11, 31, 37, 48, 50, 57, 58, 71, 84, 98, 110, 133, 134, 150, 151, 154, 156, 157, 158, 169, 173, 185, 186, 188, 197, 198, 200, 203, 204, 210, 211, 217, 219, 223, 224, 226, 229], "whether": [0, 1, 2, 11, 16, 17, 23, 29, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 61, 66, 67, 70, 77, 78, 79, 80, 83, 90, 91, 92, 93, 95, 97, 103, 104, 105, 106, 110, 111, 112, 115, 116, 118, 119, 122, 124, 128, 129, 156, 158, 165, 166, 168, 185, 186, 188, 190, 193, 195, 197, 198, 207, 211, 217, 219], "which": [0, 1, 5, 11, 20, 21, 26, 29, 31, 37, 39, 52, 71, 84, 92, 93, 95, 98, 106, 110, 122, 153, 154, 156, 157, 166, 171, 172, 184, 185, 186, 187, 188, 190, 192, 193, 196, 197, 198, 199, 202, 203, 204, 205, 209, 210, 211, 212, 217, 219, 221, 223, 224, 226, 227, 228, 229], "while": [154, 156, 157, 184, 185, 188, 190, 193, 202, 204, 210, 212, 217, 229], "white": 217, "who": [196, 208], "whole": [204, 223], "whom": [44, 110, 207, 217], "whose": [20, 29, 158, 188, 190, 193], "why": 226, "wide": [158, 217, 229], "widespread": 217, "width": [63, 64, 113, 115, 216], "wigner": [42, 50, 51, 56, 61, 65, 107, 117, 183], "wigner_d": [62, 65, 117], "wiki": [31, 37, 197, 217, 219], "wildcard": [31, 37, 196], "willing": 168, "wind": 217, "wire": 217, "wise": 5, "wish": [208, 211, 217], "within": [0, 1, 5, 11, 26, 48, 50, 61, 133, 134, 154, 156, 157, 158, 166, 168, 169, 171, 172, 185, 186, 188, 199, 217, 218, 219, 224, 228], "without": [31, 44, 57, 58, 69, 82, 96, 110, 122, 131, 150, 151, 154, 156, 196, 204, 206, 207, 212, 217], "wood": [197, 200, 209, 212, 216, 217], "work": [31, 37, 39, 106, 136, 158, 204, 216, 217, 218, 223, 225, 227, 229], "worker": [197, 211], "workflow": [183, 188, 212, 217], "workshop": [220, 221, 229], "world": [6, 7, 14, 217], "worri": 208, "wors": 217, "worth": [66, 67, 79, 80, 204, 210], "would": [106, 154, 156, 204, 211, 212, 217, 219, 221, 223, 224, 228], "wrap": [5, 154, 156, 212], "wrapper": [5, 17, 112, 182, 188, 190, 193], "write": [25, 27, 133, 134, 154, 156, 157, 169, 173, 180, 196, 202, 204, 212, 217, 218, 219, 228], "write_images_to_lmdb": [144, 145], "write_is2re_relax": [141, 143], "write_json": [78, 91], "write_orca_input": 180, "write_pickl": 177, "write_po": [211, 217], "write_predict": [141, 143], "write_surfac": 169, "write_top_k_vasp": 2, "write_vasp_input_fil": [173, 224], "write_xyz": [217, 219], "written": [11, 31, 37, 38, 133, 134, 198, 211, 212, 224, 228], "www": [110, 154], "x": [13, 14, 28, 43, 44, 45, 46, 49, 52, 53, 55, 56, 61, 63, 70, 71, 78, 83, 84, 91, 97, 98, 104, 106, 110, 112, 115, 116, 117, 118, 119, 124, 128, 129, 154, 156, 157, 158, 168, 217, 219, 221, 223], "x1": [154, 156, 226], "x2": [154, 156, 226], "x3": 226, "x3d": 228, "x3dase": [224, 228], "x_e": [217, 226], "x_e_i": 217, "x_edg": [55, 63, 115], "x_f": [217, 226], "x_grid": [56, 65, 117], "x_i": 110, "x_j": 110, "x_m": [55, 63], "x_pt": 63, "xc": [182, 202, 204], "xdoctest": [13, 16], "xh_j": 110, "xiaohan": [201, 209], "xie": 216, "xlabel": [29, 202, 204, 208, 217, 219, 223, 226, 228], "xtick": [217, 219], "xu": 223, "xyz": [31, 37, 119, 154, 156, 157, 158, 168, 196, 197, 200], "xz": 197, "xzvf": 217, "y": [71, 78, 84, 91, 98, 106, 154, 156, 157, 158, 168, 208, 210, 217, 219, 221, 223, 226, 227], "y1": [154, 156], "y2": [154, 156], "y_init": [208, 217], "y_lm_real": [71, 84, 98], "y_relax": [196, 208, 217], "yaml": [29, 205, 210, 217], "yang": 226, "year": [197, 200, 201, 209, 212, 216, 229], "yet": [185, 186, 188, 205, 226], "yield": [13, 37, 39, 185, 186, 188, 190, 191], "ylabel": [29, 202, 204, 217, 219, 223, 226, 228], "yml": [27, 60, 202, 203, 204, 205, 210, 211, 217, 227], "yoon": [197, 209, 216, 217], "you": [12, 13, 16, 27, 31, 37, 43, 44, 45, 46, 48, 49, 50, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 153, 156, 158, 168, 169, 173, 180, 196, 197, 199, 202, 204, 205, 208, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "your": [0, 12, 16, 31, 37, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 168, 196, 197, 200, 202, 205, 208, 210, 211, 212, 213, 216, 220, 223, 224, 227], "your_checkpoint_path": 199, "yourself": 208, "yscale": [208, 217], "ytick": [217, 219], "yu": [201, 209], "z": [44, 71, 73, 84, 86, 98, 100, 112, 154, 156, 157, 158, 168, 217, 219, 223], "z_desorpt": 5, "zachari": [168, 197, 200, 201, 209, 212, 216, 217], "zero": [21, 31, 71, 84, 98, 217, 219], "zero_m_onli": [71, 84, 98], "zhou": 221, "zipnam": [162, 163], "zitnick": [197, 200, 206, 209, 212, 216, 217], "zone": 217, "zulissi": 217, "\u00e5": 209, "\u03b8_cabd": 105}, "titles": ["adsorbml.2023_neurips_challenge.challenge_eval", "adsorbml.scripts.dense_eval", "adsorbml.scripts.process_mlrs", "adsorbml.scripts.utils", "adsorbml.scripts.write_top_k_vasp", "cattsunami.core.autoframe", "cattsunami.core", "cattsunami.core.ocpneb", "cattsunami.core.reaction", "cattsunami.databases", "cattsunami", "cattsunami.run_validation.run_validation", "core._cli", "core.common.data_parallel", "core.common.distutils", "core.common.flags", "core.common.gp_utils", "core.common.hpo_utils", "core.common", "core.common.logger", "core.common.registry", "core.common.relaxation.ase_utils", "core.common.relaxation", "core.common.relaxation.ml_relaxation", "core.common.relaxation.optimizers", "core.common.relaxation.optimizers.lbfgs_torch", "core.common.transforms", "core.common.tutorial_utils", "core.common.typing", "core.common.utils", "core.datasets._utils", "core.datasets.ase_datasets", "core.datasets.embeddings.atomic_radii", "core.datasets.embeddings.continuous_embeddings", "core.datasets.embeddings", "core.datasets.embeddings.khot_embeddings", "core.datasets.embeddings.qmof_khot_embeddings", "core.datasets", "core.datasets.lmdb_database", "core.datasets.lmdb_dataset", "core.datasets.oc22_lmdb_dataset", "core.datasets.target_metadata_guesser", "core", "core.models.base", "core.models.dimenet_plus_plus", "core.models.equiformer_v2.activation", "core.models.equiformer_v2.drop", "core.models.equiformer_v2.edge_rot_mat", "core.models.equiformer_v2.equiformer_v2_oc20", "core.models.equiformer_v2.gaussian_rbf", "core.models.equiformer_v2", "core.models.equiformer_v2.input_block", "core.models.equiformer_v2.layer_norm", "core.models.equiformer_v2.module_list", "core.models.equiformer_v2.radial_function", "core.models.equiformer_v2.so2_ops", "core.models.equiformer_v2.so3", "core.models.equiformer_v2.trainers.energy_trainer", "core.models.equiformer_v2.trainers.forces_trainer", "core.models.equiformer_v2.trainers", "core.models.equiformer_v2.trainers.lr_scheduler", "core.models.equiformer_v2.transformer_block", "core.models.equiformer_v2.wigner", "core.models.escn.escn", "core.models.escn", "core.models.escn.so3", "core.models.gemnet.gemnet", "core.models.gemnet", "core.models.gemnet.initializers", "core.models.gemnet.layers.atom_update_block", "core.models.gemnet.layers.base_layers", "core.models.gemnet.layers.basis_utils", "core.models.gemnet.layers.efficient", "core.models.gemnet.layers.embedding_block", "core.models.gemnet.layers", "core.models.gemnet.layers.interaction_block", "core.models.gemnet.layers.radial_basis", "core.models.gemnet.layers.spherical_basis", "core.models.gemnet.utils", "core.models.gemnet_gp.gemnet", "core.models.gemnet_gp", "core.models.gemnet_gp.initializers", "core.models.gemnet_gp.layers.atom_update_block", "core.models.gemnet_gp.layers.base_layers", "core.models.gemnet_gp.layers.basis_utils", "core.models.gemnet_gp.layers.efficient", "core.models.gemnet_gp.layers.embedding_block", "core.models.gemnet_gp.layers", "core.models.gemnet_gp.layers.interaction_block", "core.models.gemnet_gp.layers.radial_basis", "core.models.gemnet_gp.layers.spherical_basis", "core.models.gemnet_gp.utils", "core.models.gemnet_oc.gemnet_oc", "core.models.gemnet_oc", "core.models.gemnet_oc.initializers", "core.models.gemnet_oc.interaction_indices", "core.models.gemnet_oc.layers.atom_update_block", "core.models.gemnet_oc.layers.base_layers", "core.models.gemnet_oc.layers.basis_utils", "core.models.gemnet_oc.layers.efficient", "core.models.gemnet_oc.layers.embedding_block", "core.models.gemnet_oc.layers.force_scaler", "core.models.gemnet_oc.layers", "core.models.gemnet_oc.layers.interaction_block", "core.models.gemnet_oc.layers.radial_basis", "core.models.gemnet_oc.layers.spherical_basis", "core.models.gemnet_oc.utils", "core.models", "core.models.model_registry", "core.models.painn", "core.models.painn.painn", "core.models.painn.utils", "core.models.schnet", "core.models.scn", "core.models.scn.sampling", "core.models.scn.scn", "core.models.scn.smearing", "core.models.scn.spherical_harmonics", "core.models.utils.activations", "core.models.utils.basis", "core.models.utils", "core.modules.evaluator", "core.modules.exponential_moving_average", "core.modules", "core.modules.loss", "core.modules.normalizer", "core.modules.scaling.compat", "core.modules.scaling.fit", "core.modules.scaling", "core.modules.scaling.scale_factor", "core.modules.scaling.util", "core.modules.scheduler", "core.modules.transforms", "core.preprocessing.atoms_to_graphs", "core.preprocessing", "core.scripts.download_data", "core.scripts.gif_maker_parallelized", "core.scripts.hpo", "core.scripts.hpo.run_tune", "core.scripts.hpo.run_tune_pbt", "core.scripts", "core.scripts.make_challenge_submission_file", "core.scripts.make_lmdb_sizes", "core.scripts.make_submission_file", "core.scripts.preprocess_ef", "core.scripts.preprocess_relaxed", "core.scripts.uncompress", "core.tasks", "core.tasks.task", "core.trainers.base_trainer", "core.trainers", "core.trainers.ocp_trainer", "data", "data.oc.core.adsorbate", "data.oc.core.adsorbate_slab_config", "data.oc.core.bulk", "data.oc.core", "data.oc.core.multi_adsorbate_slab_config", "data.oc.core.slab", "data.oc.databases", "data.oc.databases.pkls", "data.oc.databases.update", "data.oc.experimental.get_energies", "data.oc.experimental.merge_traj", "data.oc.experimental.perturb_systems", "data.oc.experimental.rattle_test", "data.oc.experimental.utils", "data.oc", "data.oc.scripts.precompute_sample_structures", "data.oc.structure_generator", "data.oc.tests", "data.oc.utils.flag_anomaly", "data.oc.utils", "data.oc.utils.vasp", "data.odac.force_field.FF_analysis", "data.odac", "data.odac.promising_mof.promising_mof_energies.energy", "data.om.biomolecules.geom.sample_geom_drugs", "data.om.biomolecules.geom.write_geom_drugs_structures", "data.om", "data.om.omdata.orca.calc", "data.om.omdata.orca", "data.om.omdata.orca.recipes", "API Reference", "ocpapi.client.client", "ocpapi.client", "ocpapi.client.models", "ocpapi.client.ui", "ocpapi", "ocpapi.version", "ocpapi.workflows.adsorbates", "ocpapi.workflows.context", "ocpapi.workflows.filter", "ocpapi.workflows", "ocpapi.workflows.log", "ocpapi.workflows.retry", "Making and using ASE datasets", "Open Catalyst 2020 (OC20)", "Open Catalyst 2020 Dense (OC20Dense)", "Open Catalyst 2020 Nudged Elastic Band (OC20NEB)", "Open Catalyst 2022 (OC22)", "Open Direct Air Capture 2023 (ODAC23)", "Fine tuning a model", "Common gotchas with fairchem", "Fast batched inference", "Installation", "Why model atoms for climate?", "License", "Making LMDB Datasets (original format, deprecated for ASE LMDBs)", "Pretrained FAIRChem models", "Model FAQ", "Training and evaluating custom models on OCP datasets", "ocpapi", "Studies that have leveraged OCP models", "Using pre-trained models in ASE", "Notebook execution times", "FAIR-Chem overview", "Open Catalyst Project Tutorial Notebook", "OCP Data Preprocessing Tutorial", "OCP Data Visualization", "Legacy [deprecated] Tutorials", "Using OCP to enumerate adsorbates on alloy catalyst surfaces", "Screening catalysts with OCP", "Simple simulations using the OCP ASE calculator", "AdsorbML tutorial", "Advanced OCP usage", "Working with embeddings", "Fine-tuning with Python", "CatTSunami tutorial", "Intro and background on OCP and DFT", "Technical presentations"], "titleterms": {"001": 228, "1": 197, "1min": 217, "2": 197, "2020": [197, 198, 199, 209], "2021": 197, "2022": [200, 209], "2023": [201, 209], "2023_neurips_challeng": 0, "6b": 221, "A": 226, "ASE": [196, 204, 208, 214, 223], "The": [203, 204], "To": 203, "_cli": 12, "_util": 30, "about": [212, 229], "abstract": 229, "acknowledg": 216, "across": 223, "activ": [45, 118], "ad": 218, "addit": [205, 217, 218], "adsorb": [153, 190, 197, 212, 221, 224], "adsorbate_slab_config": 154, "adsorbml": [0, 1, 2, 3, 4, 224, 228], "adsorpt": [217, 223], "advanc": [208, 212, 225], "air": [201, 209], "all": [212, 221], "alloi": 221, "an": [196, 210, 217, 221, 228], "api": 183, "approv": 212, "ar": 210, "argument": 203, "ase": 212, "ase_dataset": 31, "ase_util": 21, "async": 212, "atom": [203, 206, 212, 217, 218, 219, 226], "atom_update_block": [69, 82, 96], "atomic_radii": 32, "atoms_to_graph": 133, "atomstograph": 208, "attribut": [1, 2, 11, 14, 15, 16, 20, 28, 38, 39, 44, 48, 62, 65, 107, 108, 117, 121, 126, 129, 133, 135, 136, 141, 142, 143, 144, 145, 146, 162, 168, 169, 173, 174, 180, 187, 188, 190, 193, 195], "audienc": 217, "autofram": 5, "background": [217, 229], "bader": 197, "band": 199, "base": 43, "base_lay": [70, 83, 97], "base_train": 149, "basi": 119, "basis_util": [71, 84, 98], "batch": 204, "best": 217, "biomolecul": [177, 178], "boundari": [217, 219], "built": 216, "bulk": [155, 212, 226], "calc": [180, 217], "calcul": [204, 217, 223], "can": 203, "captur": [201, 209], "catalyst": [197, 198, 199, 200, 209, 217, 221, 222], "cattsunami": [5, 6, 7, 8, 9, 10, 11, 228], "cell": [217, 219, 223], "ch": 228, "challenge_ev": 0, "chang": 212, "changelog": 197, "charg": [197, 201], "checkpoint": [202, 217, 229], "chem": 216, "cite": [197, 200, 201, 212, 216], "class": [5, 6, 7, 8, 12, 13, 15, 16, 19, 20, 21, 25, 26, 29, 31, 37, 38, 39, 40, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 101, 103, 104, 105, 109, 110, 112, 113, 115, 116, 117, 118, 119, 121, 122, 124, 125, 128, 129, 131, 132, 133, 134, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 169, 171, 172, 184, 185, 186, 188, 190, 192, 193, 195], "client": [184, 185, 186, 187], "climat": [206, 217], "clone": 205, "cluster": 226, "cmd": 217, "co": [208, 218], "code": 227, "command": [211, 217], "common": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 203], "compar": [204, 221], "compat": 126, "comput": 229, "conda": 205, "condit": [217, 219], "config": [211, 217], "configur": [202, 221, 224], "constraint": [217, 219], "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 176, 177, 178, 180, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 217, 219], "context": 191, "continuous_embed": 33, "converg": 223, "convert": [212, 218], "core": [5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 205], "correl": 223, "cos\u03c6_cab": 210, "creat": [211, 217], "cu": [208, 218, 226], "custom": 211, "data": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 197, 200, 208, 210, 217, 218, 219, 227], "data_parallel": 13, "databas": [9, 159, 160, 161, 196], "dataset": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 196, 197, 208, 211, 216, 217, 218, 229], "ddec": 201, "dedupl": 224, "defin": 217, "dens": 198, "dense_ev": 1, "deprec": [208, 220], "determinist": 210, "dev": 217, "develop": [205, 217], "dft": 229, "diagnost": 226, "differ": 203, "dimenet_plus_plu": 44, "direct": [201, 209], "discuss": 216, "dissoci": 228, "distutil": 14, "do": [210, 228], "don": 203, "download": [197, 198, 199, 200, 217], "download_data": 135, "driven": 217, "drop": 46, "dt": 210, "edg": 217, "edge_rot_mat": 47, "effect": 223, "effici": [72, 85, 99], "efwt": 209, "elast": 199, "embed": [32, 33, 34, 35, 36, 217, 226], "embedding_block": [73, 86, 100], "energi": [176, 197, 200, 201, 203, 208, 210, 211, 217, 219, 223], "energy_train": 57, "entiti": 203, "enumer": [221, 224, 228], "environ": [205, 229], "equat": 226, "equiformer_v2": [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "equiformer_v2_oc20": 48, "error": 210, "escn": [63, 64, 65], "evalai": 211, "evalu": [121, 211], "exampl": [221, 226], "execut": 215, "exercis": 223, "experiment": [162, 163, 164, 165, 166], "exponential_moving_averag": 122, "extractor": 208, "factor": 210, "fair": 216, "fairchem": [203, 205, 209, 210, 216], "faq": 210, "fast": 204, "featur": 208, "feb": 197, "ff_analysi": 174, "figur": 221, "file": [196, 198, 199, 202, 208, 211, 224], "filter": 192, "fine": [202, 227], "fit": [127, 210], "fix": [217, 219], "flag": 15, "flag_anomali": 171, "forc": [197, 200, 201, 203, 208, 209, 211, 217, 219], "force_field": 174, "force_scal": 101, "forces_train": 58, "format": [208, 212], "four": 203, "from": [203, 210, 211], "function": [0, 1, 2, 3, 5, 11, 12, 13, 14, 16, 17, 20, 21, 23, 27, 28, 29, 30, 31, 37, 39, 41, 46, 47, 49, 52, 60, 62, 68, 71, 78, 81, 82, 84, 91, 94, 95, 98, 106, 107, 108, 111, 114, 117, 121, 126, 127, 129, 130, 132, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 153, 154, 157, 158, 161, 162, 163, 164, 165, 166, 168, 169, 173, 174, 177, 178, 180, 182, 185, 187, 188, 190, 191, 193, 195], "ga": 203, "gaussian_rbf": 49, "gemnet": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 210, 217], "gemnet_gp": [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "gemnet_oc": [92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "gener": [208, 217, 218, 219], "geom": [177, 178], "get": [203, 211], "get_energi": 162, "gif_maker_parallel": 136, "git": 205, "goal": 229, "gotcha": 203, "gp_util": 16, "have": 213, "how": 210, "hpo": [137, 138, 139], "hpo_util": 17, "i": [203, 210], "identifi": 203, "impact": 217, "import": 217, "incorpor": 217, "individu": 226, "infer": 204, "info": 218, "inform": [197, 200], "initi": [68, 81, 94, 197, 200, 201, 208, 211, 217], "input": 224, "input_block": 51, "instal": [205, 212], "interact": [208, 217], "interaction_block": [75, 88, 103], "interaction_indic": 95, "intro": 229, "introduct": [221, 229], "is2r": [197, 200, 201, 208, 209, 211, 217], "job": 202, "joint": 211, "khot_embed": 35, "larg": 203, "layer": [69, 70, 71, 72, 73, 74, 75, 76, 77, 82, 83, 84, 85, 86, 87, 88, 89, 90, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 223], "layer_norm": 52, "lbfgs_torch": 25, "least": 203, "legaci": 220, "leverag": 213, "licens": [207, 212, 216], "limit": 217, "line": [211, 217], "literatur": 221, "lmdb": [208, 217], "lmdb_databas": 38, "lmdb_dataset": 39, "load": 217, "local": 228, "log": 194, "logger": 19, "loss": 124, "lr_schedul": 60, "m": 210, "main": 204, "make": [196, 202, 208, 217, 221], "make_challenge_submission_fil": 141, "make_lmdb_s": 142, "make_submission_fil": 143, "map": [197, 200], "march": 197, "merge_traj": 163, "messag": 217, "metal": 223, "method": 212, "miscellan": 203, "ml": [217, 221, 224, 228], "ml_relax": 23, "model": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 186, 202, 203, 206, 209, 210, 211, 212, 213, 214, 216, 217, 229], "model_registri": 108, "modul": [0, 1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 148, 149, 151, 153, 154, 155, 157, 158, 161, 162, 163, 164, 165, 166, 168, 169, 171, 173, 174, 176, 177, 178, 180, 182, 184, 186, 187, 189, 190, 191, 192, 194, 195], "module_list": 53, "molecul": 203, "multi": 196, "multi_adsorbate_slab_config": 157, "my": 210, "name": 217, "neb": 228, "need": 203, "next": [217, 223], "normal": [125, 217], "note": 212, "notebook": [203, 215, 217], "nudg": 199, "number": [217, 219, 223], "object": [212, 217, 218], "obtain": 221, "oc": [153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 210], "oc20": [197, 200, 209, 210, 211, 217], "oc20dens": 198, "oc20neb": 199, "oc22": [200, 209, 211], "oc22_lmdb_dataset": 40, "ocp": [203, 211, 213, 217, 218, 219, 221, 222, 223, 225, 229], "ocp_train": 151, "ocpapi": [184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 212], "ocpneb": 7, "oct": 197, "odac": [174, 175, 176], "odac23": [201, 209], "om": [177, 178, 179, 180, 181, 182], "omdata": [180, 181, 182], "onli": 209, "open": [197, 198, 199, 200, 201, 209, 217], "optim": [24, 25, 209], "option": [197, 200, 217, 224, 228], "orca": [180, 181, 182], "origin": 208, "other": 212, "out": [210, 221], "outofmemoryerror": 203, "over": 212, "overrid": 211, "overview": [198, 199, 216, 217], "own": 217, "packag": [6, 9, 10, 34, 37, 50, 64, 67, 80, 93, 107, 109, 113, 128, 134, 147, 150, 156, 160, 167, 172, 185, 188, 193, 205], "painn": [109, 110, 111], "paper": 221, "paramet": 211, "pariti": 221, "pars": [221, 224], "pass": 217, "pbc": [217, 219], "per": 197, "period": [217, 219], "persist": 212, "perturb_system": 164, "phase": 203, "pkl": 160, "plot": [217, 221], "post": [221, 224], "pre": 214, "precompute_sample_structur": 168, "predict": [210, 211, 217], "prefer": 217, "preprocess": [133, 134, 197, 218], "preprocess_ef": 144, "preprocess_relax": 145, "prerequisit": 217, "present": 230, "pretrain": [209, 217], "process": [221, 224], "process_mlr": 2, "profil": 217, "project": [216, 217], "promising_mof": 176, "promising_mof_energi": 176, "prompt": 212, "py": 204, "pypi": 205, "python": 227, "qmof_khot_embed": 36, "quickstart": 212, "radial_basi": [76, 89, 104], "radial_funct": 54, "rattle_test": 165, "reaction": 8, "read": [217, 219], "readabl": 196, "recip": 182, "refer": [183, 200, 217], "registri": 20, "relax": [21, 22, 23, 24, 25, 197, 200, 201, 208, 211, 212, 217, 218, 221, 223, 224, 228], "report": 221, "repositori": [205, 217], "request": 203, "requir": 217, "resourc": [217, 219], "result": [203, 212, 221, 228], "retri": 195, "ru": 228, "run": [202, 210, 217, 221, 224, 227, 228], "run_tun": 138, "run_tune_pbt": 139, "run_valid": 11, "s2ef": [197, 200, 201, 208, 209, 211, 217], "sampl": [114, 217, 219], "sample_geom_drug": 177, "save": [203, 219], "scale": [126, 127, 128, 129, 130, 210], "scale_factor": 129, "schedul": 131, "schnet": 112, "scn": [113, 114, 115, 116, 117], "screen": 222, "script": [1, 2, 3, 4, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 168], "search": [212, 226], "self": 210, "septemb": 197, "set": [202, 217, 227], "setup": 227, "should": 210, "simpl": [223, 226], "simul": [203, 223], "singl": [196, 221], "site": 223, "size": 223, "skip": 212, "slab": [158, 221, 224], "smear": 116, "so2_op": 55, "so3": [56, 65], "softwar": 217, "some": 203, "sph_basi": 210, "spherical_basi": [77, 90, 105, 210], "spherical_harmon": 117, "split": [202, 227], "start": 211, "state": 226, "step": [217, 223], "stochast": 203, "structur": [196, 197, 199, 200, 201, 208, 211, 212, 217, 224], "structure_gener": 169, "studi": [213, 223], "style": 228, "submiss": 211, "submodul": [6, 18, 22, 24, 34, 37, 42, 50, 59, 64, 67, 74, 80, 87, 93, 102, 107, 109, 113, 120, 123, 128, 134, 137, 140, 147, 150, 156, 159, 167, 172, 181, 185, 188, 193], "subpackag": [10, 18, 22, 37, 42, 50, 67, 80, 93, 107, 123, 140, 152, 159, 167, 188], "sum": 203, "summari": 223, "support": 212, "surfac": [212, 221], "symbol": [217, 219], "system": [197, 200, 221], "t": [203, 217], "tag": [203, 217, 219], "target": 217, "target_metadata_guess": 41, "task": [147, 148, 197, 200, 201, 217, 227, 229], "technic": 230, "test": [170, 202, 217, 227], "thi": 229, "throw": 210, "time": 215, "toi": [208, 217, 218], "too": 203, "total": [200, 209, 210, 211], "train": [202, 210, 211, 214, 217, 227], "trainer": [57, 58, 59, 60, 149, 150, 151, 203, 217], "trajectori": [197, 200, 217, 219, 221, 224], "transform": [26, 132], "transformer_block": 61, "trend": 223, "triplet": 217, "try": 210, "tune": [202, 227], "tutori": [217, 218, 220, 224, 228, 229], "tutorial_util": 27, "type": [28, 212], "ui": [187, 212], "unabl": 203, "uncompress": 146, "understand": [217, 219], "unit": [217, 219, 223], "unrecogn": 203, "up": 202, "updat": 161, "us": [196, 199, 214, 217, 221, 223], "usag": [208, 212, 225], "util": [3, 29, 78, 91, 106, 111, 118, 119, 120, 130, 166, 171, 172, 173], "v": 221, "val": [202, 227], "valid": 217, "valu": 221, "vasp": [173, 224], "vector": 226, "version": [189, 197], "video": [219, 229], "view": [212, 217, 219], "visual": [217, 219, 228], "wai": [204, 217], "walkthrough": 229, "want": 203, "warn": 203, "web": 212, "what": 210, "why": 206, "wigner": 62, "wildli": 203, "window": 205, "work": [221, 226], "workflow": [190, 191, 192, 193, 194, 195], "write": [208, 224], "write_geom_drugs_structur": 178, "write_top_k_vasp": 4, "yaml": [202, 211], "you": 203, "your": [203, 217, 218], "zero": 203, "\u03b8_cabd": 210}}) \ No newline at end of file +Search.setIndex({"alltitles": {"": [[200, "id1"], [200, "id2"]], "(Optional) Creating your own LMDBs for use in the OCP repository": [[217, "optional-creating-your-own-lmdbs-for-use-in-the-ocp-repository"]], "(Optional) Deduplicate structures": [[224, "optional-deduplicate-structures"]], "(Optional) OCP Calculator ": [[217, "optional-ocp-calculator"]], "(Optional) Visualize the results": [[228, "optional-visualize-the-results"]], "A clustering example": [[226, "a-clustering-example"]], "A diagnostic example": [[226, "a-diagnostic-example"]], "A simple vector search example": [[226, "a-simple-vector-search-example"]], "API Reference": [[183, "api-reference"]], "About the compute environment": [[229, "about-the-compute-environment"]], "Abstract": [[229, "abstract"]], "Acknowledgements": [[216, "acknowledgements"]], "Adding additional info to your Data objects": [[218, "adding-additional-info-to-your-data-objects"]], "Additional Resources": [[217, "additional-resources"]], "Additional packages": [[205, "additional-packages"]], "AdsorbML tutorial": [[224, "adsorbml-tutorial"]], "Adsorbate+catalyst system trajectories (optional download)": [[197, "adsorbate-catalyst-system-trajectories-optional-download"]], "Adsorbate-catalyst system to catalyst system mapping information": [[197, "adsorbate-catalyst-system-to-catalyst-system-mapping-information"]], "Adsorption energy": [[217, "adsorption-energy"]], "Advanced OCP usage": [[225, "advanced-ocp-usage"]], "Advanced usage": [[208, "advanced-usage"], [212, "advanced-usage"]], "Are predictions from FAIRChem models deterministic?": [[210, "are-predictions-from-fairchem-models-deterministic"]], "Atom and Edge Embeddings": [[217, "atom-and-edge-embeddings"]], "Atomic numbers": [[217, "atomic-numbers"], [219, "atomic-numbers"]], "Atomic symbols": [[217, "atomic-symbols"], [219, "atomic-symbols"]], "Attributes": [[1, "attributes"], [2, "attributes"], [11, "attributes"], [14, "attributes"], [15, "attributes"], [16, "attributes"], [20, "attributes"], [28, "attributes"], [38, "attributes"], [39, "attributes"], [44, "attributes"], [48, "attributes"], [62, "attributes"], [65, "attributes"], [107, "attributes"], [108, "attributes"], [117, "attributes"], [121, "attributes"], [126, "attributes"], [129, "attributes"], [133, "attributes"], [135, "attributes"], [136, "attributes"], [141, "attributes"], [142, "attributes"], [143, "attributes"], [144, "attributes"], [145, "attributes"], [146, "attributes"], [162, "attributes"], [168, "attributes"], [169, "attributes"], [173, "attributes"], [174, "attributes"], [180, "attributes"], [187, "attributes"], [188, "attributes"], [190, "attributes"], [193, "attributes"], [195, "attributes"]], "Background & Prerequisites": [[217, "background-prerequisites"]], "Background ": [[217, "background"]], "Background References": [[217, "background-references"]], "Bader charge data": [[197, "bader-charge-data"]], "Bulk Cu equation of state example": [[226, "bulk-cu-equation-of-state-example"]], "Calculating adsorption energies": [[223, "calculating-adsorption-energies"]], "CatTSunami tutorial": [[228, "cattsunami-tutorial"]], "Catalyst system trajectories (optional download)": [[197, "catalyst-system-trajectories-optional-download"]], "Changing the model type": [[212, "changing-the-model-type"]], "Checkpoints": [[229, "checkpoints"]], "Citing OC20": [[197, "citing-oc20"]], "Citing OC22": [[200, "citing-oc22"]], "Citing ODAC23": [[201, "citing-odac23"]], "Citing fairchem": [[216, "citing-fairchem"]], "Citing ocpapi": [[212, "citing-ocpapi"]], "Classes": [[5, "classes"], [6, "classes"], [7, "classes"], [8, "classes"], [12, "classes"], [13, "classes"], [15, "classes"], [16, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [25, "classes"], [26, "classes"], [29, "classes"], [31, "classes"], [37, "classes"], [38, "classes"], [39, "classes"], [40, "classes"], [43, "classes"], [44, "classes"], [45, "classes"], [46, "classes"], [48, "classes"], [49, "classes"], [50, "classes"], [51, "classes"], [52, "classes"], [53, "classes"], [54, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [58, "classes"], [60, "classes"], [61, "classes"], [63, "classes"], [64, "classes"], [65, "classes"], [66, "classes"], [67, "classes"], [69, "classes"], [70, "classes"], [72, "classes"], [73, "classes"], [75, "classes"], [76, "classes"], [77, "classes"], [79, "classes"], [80, "classes"], [82, "classes"], [83, "classes"], [85, "classes"], [86, "classes"], [88, "classes"], [89, "classes"], [90, "classes"], [92, "classes"], [93, "classes"], [96, "classes"], [97, "classes"], [99, "classes"], [100, "classes"], [101, "classes"], [103, "classes"], [104, "classes"], [105, "classes"], [109, "classes"], [110, "classes"], [112, "classes"], [113, "classes"], [115, "classes"], [116, "classes"], [117, "classes"], [118, "classes"], [119, "classes"], [121, "classes"], [122, "classes"], [124, "classes"], [125, "classes"], [128, "classes"], [129, "classes"], [131, "classes"], [132, "classes"], [133, "classes"], [134, "classes"], [147, "classes"], [148, "classes"], [149, "classes"], [150, "classes"], [151, "classes"], [153, "classes"], [154, "classes"], [155, "classes"], [156, "classes"], [157, "classes"], [158, "classes"], [169, "classes"], [171, "classes"], [172, "classes"], [184, "classes"], [185, "classes"], [186, "classes"], [188, "classes"], [190, "classes"], [192, "classes"], [193, "classes"], [195, "classes"]], "Climate Impact": [[217, "climate-impact"]], "Cloning and installing the git repository on windows": [[205, "cloning-and-installing-the-git-repository-on-windows"]], "Clustering individual atoms": [[226, "clustering-individual-atoms"]], "Common gotchas with fairchem": [[203, "common-gotchas-with-fairchem"]], "Comparing ASE calculator and main.py": [[204, "comparing-ase-calculator-and-main-py"]], "Conda": [[205, "conda"]], "Convergence study": [[223, "convergence-study"]], "Convert Atoms object to Data object": [[218, "convert-atoms-object-to-data-object"]], "Converting to ase.Atoms objects": [[212, "converting-to-ase-atoms-objects"]], "Converting to other structure formats": [[212, "converting-to-other-structure-formats"]], "Create EvalAI OC20 submission files": [[211, "create-evalai-oc20-submission-files"]], "Create EvalAI OC22 submission files": [[211, "create-evalai-oc22-submission-files"]], "Create the trainer": [[217, "create-the-trainer"], [217, "id11"]], "DDEC Charges": [[201, "ddec-charges"]], "Data Download [~1min] ": [[217, "data-download-1min"]], "Data Visualization ": [[217, "data-visualization"]], "Data contents": [[219, "data-contents"]], "Data contents ": [[217, "data-contents"]], "Data mapping information": [[197, "data-mapping-information"], [200, "data-mapping-information"]], "Dataset": [[217, "dataset"], [217, "id2"], [217, "id9"]], "Dataset Overview": [[217, "dataset-overview"]], "Dataset changelog": [[197, "dataset-changelog"]], "Datasets / Tasks": [[229, "datasets-tasks"]], "Datasets in fairchem:": [[216, "datasets-in-fairchem"]], "Define the Config": [[217, "define-the-config"], [217, "id4"], [217, "id10"]], "Development install": [[205, "development-install"]], "Discussion": [[216, "discussion"]], "Do enumerations in an AdsorbML style for CH dissociation on Ru (001)": [[228, "do-enumerations-in-an-adsorbml-style-for-ch-dissociation-on-ru-001"]], "Download": [[199, "download"]], "Download and preprocess the dataset": [[197, "download-and-preprocess-the-dataset"]], "Download pretrained checkpoint": [[217, "download-pretrained-checkpoint"], [217, "id14"]], "Effects of number of layers": [[223, "effects-of-number-of-layers"]], "Effects of relaxation": [[223, "effects-of-relaxation"]], "Energy": [[219, "energy"]], "Enumerate NEBs": [[228, "enumerate-nebs"]], "Enumerate the adsorbate-slab configurations to run relaxations on": [[221, "enumerate-the-adsorbate-slab-configurations-to-run-relaxations-on"], [224, "enumerate-the-adsorbate-slab-configurations-to-run-relaxations-on"]], "Environment": [[205, "environment"]], "Exercises": [[223, "exercises"], [223, "id1"]], "FAIR-Chem overview": [[216, "fair-chem-overview"]], "Fast batched inference": [[204, "fast-batched-inference"]], "File Contents and Download": [[198, "file-contents-and-download"]], "File Structure and Contents": [[199, "file-structure-and-contents"]], "Fine tuning a model": [[202, "fine-tuning-a-model"]], "Fine tuning the checkpoint": [[202, "fine-tuning-the-checkpoint"]], "Fine-tuning with Python": [[227, "fine-tuning-with-python"]], "Fixed atoms constraint": [[217, "fixed-atoms-constraint"], [219, "fixed-atoms-constraint"]], "Force": [[217, "force"]], "Forces": [[219, "forces"]], "Functions": [[0, "functions"], [1, "functions"], [2, "functions"], [3, "functions"], [5, "functions"], [11, "functions"], [12, "functions"], [13, "functions"], [14, "functions"], [16, "functions"], [17, "functions"], [20, "functions"], [21, "functions"], [23, "functions"], [27, "functions"], [28, "functions"], [29, "functions"], [30, "functions"], [31, "functions"], [37, "functions"], [39, "functions"], [41, "functions"], [46, "functions"], [47, "functions"], [49, "functions"], [52, "functions"], [60, "functions"], [62, "functions"], [68, "functions"], [71, "functions"], [78, "functions"], [81, "functions"], [82, "functions"], [84, "functions"], [91, "functions"], [94, "functions"], [95, "functions"], [98, "functions"], [106, "functions"], [107, "functions"], [108, "functions"], [111, "functions"], [114, "functions"], [117, "functions"], [121, "functions"], [126, "functions"], [127, "functions"], [129, "functions"], [130, "functions"], [132, "functions"], [135, "functions"], [136, "functions"], [138, "functions"], [139, "functions"], [141, "functions"], [142, "functions"], [143, "functions"], [144, "functions"], [145, "functions"], [146, "functions"], [153, "functions"], [154, "functions"], [157, "functions"], [158, "functions"], [161, "functions"], [162, "functions"], [163, "functions"], [164, "functions"], [165, "functions"], [166, "functions"], [168, "functions"], [169, "functions"], [173, "functions"], [174, "functions"], [177, "functions"], [178, "functions"], [180, "functions"], [182, "functions"], [185, "functions"], [187, "functions"], [188, "functions"], [190, "functions"], [191, "functions"], [193, "functions"], [195, "functions"]], "Generate toy dataset: Relaxation of CO on Cu": [[208, "generate-toy-dataset-relaxation-of-co-on-cu"], [218, "generate-toy-dataset-relaxation-of-co-on-cu"]], "Generating sample data": [[217, "generating-sample-data"], [219, "generating-sample-data"]], "Getting Started": [[211, "getting-started"]], "Goals for this tutorial": [[229, "goals-for-this-tutorial"]], "How do I train a model on OC20 total energies?": [[210, "how-do-i-train-a-model-on-oc20-total-energies"]], "I get wildly different energies from the different models": [[203, "i-get-wildly-different-energies-from-the-different-models"]], "I want the energy of a gas phase atom": [[203, "i-want-the-energy-of-a-gas-phase-atom"]], "IS2RE Direct models": [[209, "is2re-direct-models"]], "IS2RE Relaxations": [[211, "is2re-relaxations"]], "IS2RE models": [[209, "is2re-models"]], "IS2RS": [[209, "is2rs"]], "IS2RS:": [[211, "is2rs"]], "Imports": [[217, "imports"], [217, "id1"], [217, "id8"], [217, "id13"]], "Incorporating triplets and training GemNet-T": [[217, "incorporating-triplets-and-training-gemnet-t"]], "Initial Structure to Relaxed Energy (IS2RE) ": [[217, "initial-structure-to-relaxed-energy-is2re"]], "Initial Structure to Relaxed Energy (IS2RE) LMDBs": [[217, "initial-structure-to-relaxed-energy-is2re-lmdbs"]], "Initial Structure to Relaxed Energy prediction (IS2RE)": [[211, "initial-structure-to-relaxed-energy-prediction-is2re"]], "Initial Structure to Relaxed Energy/Structure (IS2RE/IS2RS) LMDBs": [[208, "initial-structure-to-relaxed-energy-structure-is2re-is2rs-lmdbs"]], "Initial Structure to Relaxed Structure (IS2RS)": [[211, "initial-structure-to-relaxed-structure-is2rs"]], "Initial Structure to Relaxed Structure (IS2RS) / Relaxed Energy (IS2RE) tasks": [[201, "initial-structure-to-relaxed-structure-is2rs-relaxed-energy-is2re-tasks"]], "Initial Structure to Relaxed Structure (IS2RS) ": [[217, "initial-structure-to-relaxed-structure-is2rs"]], "Initial Structure to Relaxed Structure (IS2RS) and Initial Structure to Relaxed Energy (IS2RE) tasks": [[197, "initial-structure-to-relaxed-structure-is2rs-and-initial-structure-to-relaxed-energy-is2re-tasks"]], "Initial Structure to Relaxed Structure (IS2RS) and Initial Structure to Relaxed Total Energy (IS2RE-Total) tasks": [[200, "initial-structure-to-relaxed-structure-is2rs-and-initial-structure-to-relaxed-total-energy-is2re-total-tasks"]], "Initial Structure to Total Relaxed Energy (IS2RE-Total)": [[211, "initial-structure-to-total-relaxed-energy-is2re-total"]], "Initialize AtomsToGraph feature extractor": [[208, "initialize-atomstograph-feature-extractor"]], "Initialize LMDB file": [[208, "initialize-lmdb-file"]], "Install fairchem-core": [[205, "install-fairchem-core"]], "Installation": [[205, "installation"], [212, "installation"]], "Interacting with the LMDBs": [[208, "interacting-with-the-lmdbs"]], "Interacting with the OC20 datasets": [[217, "interacting-with-the-oc20-datasets"]], "Intro and background on OCP and DFT": [[229, "intro-and-background-on-ocp-and-dft"]], "Introduction": [[221, "introduction"], [229, "introduction"]], "I\u2019m trying to run GemNet-OC / GemNet-dT, but it throws an error that scaling factors are not fitted. What should I do?": [[210, "i-m-trying-to-run-gemnet-oc-gemnet-dt-but-it-throws-an-error-that-scaling-factors-are-not-fitted-what-should-i-do"]], "I\u2019m trying to run GemNet-OC on my data, but it errors out on sph_basis = self.spherical_basis(cos\u03c6_cab, \u03b8_cabd).": [[210, "i-m-trying-to-run-gemnet-oc-on-my-data-but-it-errors-out-on-sph-basis-self-spherical-basis-cos-cab-cabd"]], "Joint Training": [[211, "joint-training"]], "Legacy [deprecated] Tutorials": [[220, "legacy-deprecated-tutorials"]], "License": [[207, "license"], [212, "license"], [216, "license"]], "Limitations ": [[217, "limitations"]], "Load the best checkpoint": [[217, "load-the-best-checkpoint"], [217, "id7"], [217, "id12"]], "Make figure 6b and compare to literature results": [[221, "make-figure-6b-and-compare-to-literature-results"]], "Make parity plots for values obtained by ML v. reported in the paper": [[221, "make-parity-plots-for-values-obtained-by-ml-v-reported-in-the-paper"]], "Make the train, test, val splits": [[202, "make-the-train-test-val-splits"]], "Making LMDB Datasets (original format, deprecated for ASE LMDBs)": [[208, "making-lmdb-datasets-original-format-deprecated-for-ase-lmdbs"]], "Making and using ASE datasets": [[196, "making-and-using-ase-datasets"]], "March 2021": [[197, "march-2021"]], "Message passing": [[217, "message-passing"]], "Miscellaneous warnings": [[203, "miscellaneous-warnings"]], "Model FAQ": [[210, "model-faq"]], "Model development ": [[217, "model-development"]], "Models": [[210, "models"], [229, "models"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [7, "module-contents"], [8, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [23, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [28, "module-contents"], [29, "module-contents"], [30, "module-contents"], [31, "module-contents"], [32, "module-contents"], [33, "module-contents"], [35, "module-contents"], [36, "module-contents"], [38, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [43, "module-contents"], [44, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [51, "module-contents"], [52, "module-contents"], [53, "module-contents"], [54, "module-contents"], [55, "module-contents"], [56, "module-contents"], [57, "module-contents"], [58, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [65, "module-contents"], [66, "module-contents"], [68, "module-contents"], [69, "module-contents"], [70, "module-contents"], [71, "module-contents"], [72, "module-contents"], [73, "module-contents"], [75, "module-contents"], [76, "module-contents"], [77, "module-contents"], [78, "module-contents"], [79, "module-contents"], [81, "module-contents"], [82, "module-contents"], [83, "module-contents"], [84, "module-contents"], [85, "module-contents"], [86, "module-contents"], [88, "module-contents"], [89, "module-contents"], [90, "module-contents"], [91, "module-contents"], [92, "module-contents"], [94, "module-contents"], [95, "module-contents"], [96, "module-contents"], [97, "module-contents"], [98, "module-contents"], [99, "module-contents"], [100, "module-contents"], [101, "module-contents"], [103, "module-contents"], [104, "module-contents"], [105, "module-contents"], [106, "module-contents"], [108, "module-contents"], [110, "module-contents"], [111, "module-contents"], [112, "module-contents"], [114, "module-contents"], [115, "module-contents"], [116, "module-contents"], [117, "module-contents"], [118, "module-contents"], [119, "module-contents"], [121, "module-contents"], [122, "module-contents"], [124, "module-contents"], [125, "module-contents"], [126, "module-contents"], [127, "module-contents"], [129, "module-contents"], [130, "module-contents"], [131, "module-contents"], [132, "module-contents"], [133, "module-contents"], [135, "module-contents"], [136, "module-contents"], [138, "module-contents"], [139, "module-contents"], [141, "module-contents"], [142, "module-contents"], [143, "module-contents"], [144, "module-contents"], [145, "module-contents"], [146, "module-contents"], [148, "module-contents"], [149, "module-contents"], [151, "module-contents"], [153, "module-contents"], [154, "module-contents"], [155, "module-contents"], [157, "module-contents"], [158, "module-contents"], [161, "module-contents"], [162, "module-contents"], [163, "module-contents"], [164, "module-contents"], [165, "module-contents"], [166, "module-contents"], [168, "module-contents"], [169, "module-contents"], [171, "module-contents"], [173, "module-contents"], [174, "module-contents"], [176, "module-contents"], [177, "module-contents"], [178, "module-contents"], [180, "module-contents"], [182, "module-contents"], [184, "module-contents"], [186, "module-contents"], [187, "module-contents"], [189, "module-contents"], [190, "module-contents"], [191, "module-contents"], [192, "module-contents"], [194, "module-contents"], [195, "module-contents"]], "Multi-structure Files": [[196, "multi-structure-files"]], "Next Steps ": [[217, "next-steps"]], "Next steps": [[223, "next-steps"]], "Normalize data": [[217, "normalize-data"], [217, "id3"]], "Note about async methods": [[212, "note-about-async-methods"]], "Notebook execution times": [[215, "notebook-execution-times"]], "OC20": [[211, "oc20"]], "OC20 mappings": [[197, "oc20-mappings"]], "OC20 reference information": [[200, "oc20-reference-information"]], "OC22": [[211, "oc22"]], "OC22 Mappings": [[200, "oc22-mappings"]], "OCP Data Preprocessing Tutorial": [[218, "ocp-data-preprocessing-tutorial"]], "OCP Data Visualization": [[219, "ocp-data-visualization"]], "Objective ": [[217, "objective"]], "Open Catalyst 2020 (OC20)": [[197, "open-catalyst-2020-oc20"], [209, "open-catalyst-2020-oc20"]], "Open Catalyst 2020 Dense (OC20Dense)": [[198, "open-catalyst-2020-dense-oc20dense"]], "Open Catalyst 2020 Nudged Elastic Band (OC20NEB)": [[199, "open-catalyst-2020-nudged-elastic-band-oc20neb"]], "Open Catalyst 2022 (OC22)": [[200, "open-catalyst-2022-oc22"], [209, "open-catalyst-2022-oc22"]], "Open Catalyst Project Tutorial Notebook": [[217, "open-catalyst-project-tutorial-notebook"]], "Open Direct Air Capture 2023 (ODAC23)": [[201, "open-direct-air-capture-2023-odac23"], [209, "open-direct-air-capture-2023-odac23"]], "OutOfMemoryError": [[203, "outofmemoryerror"]], "Overriding YAML config parameters from the command line": [[211, "overriding-yaml-config-parameters-from-the-command-line"]], "Overview": [[198, "overview"], [199, "overview"]], "Package Contents": [[6, "package-contents"], [9, "package-contents"], [10, "package-contents"], [34, "package-contents"], [37, "package-contents"], [50, "package-contents"], [64, "package-contents"], [67, "package-contents"], [80, "package-contents"], [93, "package-contents"], [107, "package-contents"], [109, "package-contents"], [113, "package-contents"], [128, "package-contents"], [134, "package-contents"], [147, "package-contents"], [150, "package-contents"], [156, "package-contents"], [160, "package-contents"], [167, "package-contents"], [172, "package-contents"], [185, "package-contents"], [188, "package-contents"], [193, "package-contents"]], "Parse the trajectories and post-process": [[221, "parse-the-trajectories-and-post-process"], [224, "parse-the-trajectories-and-post-process"]], "Per-adsorbate trajectories": [[197, "per-adsorbate-trajectories"]], "Per-adsorbate trajectories (optional download)": [[197, "per-adsorbate-trajectories-optional-download"]], "Periodic boundary conditions (PBC)": [[217, "periodic-boundary-conditions-pbc"], [219, "periodic-boundary-conditions-pbc"]], "Persisting results": [[212, "persisting-results"]], "Plot energy profile of toy trajectory": [[217, "plot-energy-profile-of-toy-trajectory"]], "Pretrained FAIRChem models": [[209, "pretrained-fairchem-models"]], "Projects and models built on fairchem:": [[216, "projects-and-models-built-on-fairchem"]], "PyPi": [[205, "pypi"]], "Quickstart": [[212, "quickstart"]], "Reading a trajectory": [[217, "reading-a-trajectory"], [219, "reading-a-trajectory"]], "References": [[217, "references"]], "Relaxation Trajectories": [[197, "relaxation-trajectories"], [200, "relaxation-trajectories"]], "Request entity too large - can\u2019t save your Notebook": [[203, "request-entity-too-large-can-t-save-your-notebook"]], "Resources": [[219, "resources"]], "Run ML local relaxations:": [[228, "run-ml-local-relaxations"]], "Run ML relaxations:": [[224, "run-ml-relaxations"]], "Run NEBs": [[228, "run-nebs"]], "Run all the systems": [[221, "run-all-the-systems"]], "Run an ML relaxation": [[221, "run-an-ml-relaxation"]], "Run on the test set": [[217, "run-on-the-test-set"]], "Run relaxations": [[217, "run-relaxations"]], "Run the training task": [[227, "run-the-training-task"]], "Running on command line [Preferred way to train models] ": [[217, "running-on-command-line-preferred-way-to-train-models"]], "Running the training job": [[202, "running-the-training-job"]], "S2EF models": [[209, "s2ef-models"]], "S2EF models: optimized for EFwT": [[209, "s2ef-models-optimized-for-efwt"]], "S2EF models: optimized for force only": [[209, "s2ef-models-optimized-for-force-only"]], "S2EF-Total models": [[209, "s2ef-total-models"]], "S2EF-Total/IS2RE-Total:": [[211, "s2ef-total-is2re-total"]], "S2EF/IS2RE:": [[211, "s2ef-is2re"]], "Saving a trajectory video": [[219, "saving-a-trajectory-video"]], "Screening catalysts with OCP": [[222, "screening-catalysts-with-ocp"]], "Search over all surfaces": [[212, "search-over-all-surfaces"]], "September 2021": [[197, "september-2021"]], "Setting up the configuration yaml file": [[202, "setting-up-the-configuration-yaml-file"]], "Setup the training code": [[227, "setup-the-training-code"]], "Setup the training task": [[227, "setup-the-training-task"]], "Simple simulations using the OCP ASE calculator": [[223, "simple-simulations-using-the-ocp-ase-calculator"]], "Single-Structure Files": [[196, "single-structure-files"]], "Site correlations": [[223, "site-correlations"]], "Skip relaxation approval prompts": [[212, "skip-relaxation-approval-prompts"]], "Software Requirements": [[217, "software-requirements"]], "Split the data into train, test, val sets": [[227, "split-the-data-into-train-test-val-sets"]], "Steps for making IS2RS predictions": [[217, "steps-for-making-is2rs-predictions"]], "Steps for training an IS2RE model": [[217, "steps-for-training-an-is2re-model"]], "Steps for training an S2EF model": [[217, "steps-for-training-an-s2ef-model"]], "Stochastic simulation results": [[203, "stochastic-simulation-results"]], "Structural relaxations": [[217, "structural-relaxations"]], "Structure to Energy and Forces (S2EF)": [[211, "structure-to-energy-and-forces-s2ef"]], "Structure to Energy and Forces (S2EF) ": [[217, "structure-to-energy-and-forces-s2ef"]], "Structure to Energy and Forces (S2EF) LMDBs": [[208, "structure-to-energy-and-forces-s2ef-lmdbs"], [217, "structure-to-energy-and-forces-s2ef-lmdbs"]], "Structure to Energy and Forces (S2EF) task": [[197, "structure-to-energy-and-forces-s2ef-task"], [201, "structure-to-energy-and-forces-s2ef-task"]], "Structure to Total Energy and Forces (S2EF-Total)": [[211, "structure-to-total-energy-and-forces-s2ef-total"]], "Structure to Total Energy and Forces (S2EF-Total) task": [[200, "structure-to-total-energy-and-forces-s2ef-total-task"]], "Studies that have leveraged OCP models": [[213, "studies-that-have-leveraged-ocp-models"]], "Submodules": [[6, "submodules"], [18, "submodules"], [22, "submodules"], [24, "submodules"], [34, "submodules"], [37, "submodules"], [42, "submodules"], [50, "submodules"], [59, "submodules"], [64, "submodules"], [67, "submodules"], [74, "submodules"], [80, "submodules"], [87, "submodules"], [93, "submodules"], [102, "submodules"], [107, "submodules"], [109, "submodules"], [113, "submodules"], [120, "submodules"], [123, "submodules"], [128, "submodules"], [134, "submodules"], [137, "submodules"], [140, "submodules"], [147, "submodules"], [150, "submodules"], [156, "submodules"], [159, "submodules"], [167, "submodules"], [172, "submodules"], [181, "submodules"], [185, "submodules"], [188, "submodules"], [193, "submodules"]], "Subpackages": [[10, "subpackages"], [18, "subpackages"], [22, "subpackages"], [37, "subpackages"], [42, "subpackages"], [50, "subpackages"], [67, "subpackages"], [80, "subpackages"], [93, "subpackages"], [107, "subpackages"], [123, "subpackages"], [140, "subpackages"], [152, "subpackages"], [159, "subpackages"], [167, "subpackages"], [188, "subpackages"]], "Summary": [[223, "summary"]], "Supported bulks and adsorbates": [[212, "supported-bulks-and-adsorbates"]], "System trajectories (optional download)": [[200, "system-trajectories-optional-download"]], "Tags": [[217, "tags"], [219, "tags"]], "Target Audience": [[217, "target-audience"]], "Tasks": [[217, "tasks"]], "Technical presentations": [[230, "technical-presentations"]], "Test the model": [[217, "test-the-model"]], "The ASE calculator way": [[204, "the-ase-calculator-way"]], "The forces don\u2019t sum to zero": [[203, "the-forces-don-t-sum-to-zero"]], "To tag or not?": [[203, "to-tag-or-not"]], "Train the Model": [[217, "id5"]], "Train the model": [[217, "train-the-model"]], "Training OC20 models with total energies (IS2RE/S2EF)": [[211, "training-oc20-models-with-total-energies-is2re-s2ef"]], "Training and evaluating custom models on OCP datasets": [[211, "training-and-evaluating-custom-models-on-ocp-datasets"]], "Training the model": [[217, "training-the-model"]], "Trends in adsorption energies across metals.": [[223, "trends-in-adsorption-energies-across-metals"]], "Tutorial Use": [[217, "tutorial-use"]], "Unable to identify ocp trainer": [[203, "unable-to-identify-ocp-trainer"]], "Understanding the data": [[217, "understanding-the-data"], [219, "understanding-the-data"]], "Unit cell": [[217, "unit-cell"], [219, "unit-cell"]], "Unit cell size": [[223, "unit-cell-size"]], "Unrecognized arguments": [[203, "unrecognized-arguments"]], "Use": [[199, "use"]], "Using ASE-Readable Files": [[196, "using-ase-readable-files"]], "Using OCP to enumerate adsorbates on alloy catalyst surfaces": [[221, "using-ocp-to-enumerate-adsorbates-on-alloy-catalyst-surfaces"]], "Using an ASE Database": [[196, "using-an-ase-database"]], "Using pre-trained models in ASE": [[214, "using-pre-trained-models-in-ase"]], "Using the OCP Calculator": [[217, "using-the-ocp-calculator"]], "Validate the Model": [[217, "id6"]], "Validate the model": [[217, "validate-the-model"]], "Version 1, Oct 2020": [[197, "version-1-oct-2020"]], "Version 2, Feb 2021": [[197, "version-2-feb-2021"]], "Viewing a trajectory": [[217, "viewing-a-trajectory"], [219, "viewing-a-trajectory"]], "Viewing results in the web UI": [[212, "viewing-results-in-the-web-ui"]], "Visualize ML-driven relaxations": [[217, "visualize-ml-driven-relaxations"]], "Walkthrough video": [[229, "walkthrough-video"]], "Why model atoms for climate?": [[206, "why-model-atoms-for-climate"]], "Work out a single example": [[221, "work-out-a-single-example"]], "Working with embeddings": [[226, "working-with-embeddings"]], "Write VASP input files": [[224, "write-vasp-input-files"]], "Write data to LMDB": [[208, "write-data-to-lmdb"]], "You need at least four atoms for molecules with some models": [[203, "you-need-at-least-four-atoms-for-molecules-with-some-models"]], "adsorbml.2023_neurips_challenge.challenge_eval": [[0, "module-adsorbml.2023_neurips_challenge.challenge_eval"]], "adsorbml.scripts.dense_eval": [[1, "module-adsorbml.scripts.dense_eval"]], "adsorbml.scripts.process_mlrs": [[2, "module-adsorbml.scripts.process_mlrs"]], "adsorbml.scripts.utils": [[3, "module-adsorbml.scripts.utils"]], "adsorbml.scripts.write_top_k_vasp": [[4, "module-adsorbml.scripts.write_top_k_vasp"]], "cattsunami": [[10, "module-cattsunami"]], "cattsunami.core": [[6, "module-cattsunami.core"]], "cattsunami.core.autoframe": [[5, "module-cattsunami.core.autoframe"]], "cattsunami.core.ocpneb": [[7, "module-cattsunami.core.ocpneb"]], "cattsunami.core.reaction": [[8, "module-cattsunami.core.reaction"]], "cattsunami.databases": [[9, "module-cattsunami.databases"]], "cattsunami.run_validation.run_validation": [[11, "module-cattsunami.run_validation.run_validation"]], "core": [[42, "module-core"]], "core._cli": [[12, "module-core._cli"]], "core.common": [[18, "module-core.common"]], "core.common.data_parallel": [[13, "module-core.common.data_parallel"]], "core.common.distutils": [[14, "module-core.common.distutils"]], "core.common.flags": [[15, "module-core.common.flags"]], "core.common.gp_utils": [[16, "module-core.common.gp_utils"]], "core.common.hpo_utils": [[17, "module-core.common.hpo_utils"]], "core.common.logger": [[19, "module-core.common.logger"]], "core.common.registry": [[20, "module-core.common.registry"]], "core.common.relaxation": [[22, "module-core.common.relaxation"]], "core.common.relaxation.ase_utils": [[21, "module-core.common.relaxation.ase_utils"]], "core.common.relaxation.ml_relaxation": [[23, "module-core.common.relaxation.ml_relaxation"]], "core.common.relaxation.optimizers": [[24, "module-core.common.relaxation.optimizers"]], "core.common.relaxation.optimizers.lbfgs_torch": [[25, "module-core.common.relaxation.optimizers.lbfgs_torch"]], "core.common.transforms": [[26, "module-core.common.transforms"]], "core.common.tutorial_utils": [[27, "module-core.common.tutorial_utils"]], "core.common.typing": [[28, "module-core.common.typing"]], "core.common.utils": [[29, "module-core.common.utils"]], "core.datasets": [[37, "module-core.datasets"]], "core.datasets._utils": [[30, "module-core.datasets._utils"]], "core.datasets.ase_datasets": [[31, "module-core.datasets.ase_datasets"]], "core.datasets.embeddings": [[34, "module-core.datasets.embeddings"]], "core.datasets.embeddings.atomic_radii": [[32, "module-core.datasets.embeddings.atomic_radii"]], "core.datasets.embeddings.continuous_embeddings": [[33, "module-core.datasets.embeddings.continuous_embeddings"]], "core.datasets.embeddings.khot_embeddings": [[35, "module-core.datasets.embeddings.khot_embeddings"]], "core.datasets.embeddings.qmof_khot_embeddings": [[36, "module-core.datasets.embeddings.qmof_khot_embeddings"]], "core.datasets.lmdb_database": [[38, "module-core.datasets.lmdb_database"]], "core.datasets.lmdb_dataset": [[39, "module-core.datasets.lmdb_dataset"]], "core.datasets.oc22_lmdb_dataset": [[40, "module-core.datasets.oc22_lmdb_dataset"]], "core.datasets.target_metadata_guesser": [[41, "module-core.datasets.target_metadata_guesser"]], "core.models": [[107, "module-core.models"]], "core.models.base": [[43, "module-core.models.base"]], "core.models.dimenet_plus_plus": [[44, "module-core.models.dimenet_plus_plus"]], "core.models.equiformer_v2": [[50, "module-core.models.equiformer_v2"]], "core.models.equiformer_v2.activation": [[45, "module-core.models.equiformer_v2.activation"]], "core.models.equiformer_v2.drop": [[46, "module-core.models.equiformer_v2.drop"]], "core.models.equiformer_v2.edge_rot_mat": [[47, "module-core.models.equiformer_v2.edge_rot_mat"]], "core.models.equiformer_v2.equiformer_v2_oc20": [[48, "module-core.models.equiformer_v2.equiformer_v2_oc20"]], "core.models.equiformer_v2.gaussian_rbf": [[49, "module-core.models.equiformer_v2.gaussian_rbf"]], "core.models.equiformer_v2.input_block": [[51, "module-core.models.equiformer_v2.input_block"]], "core.models.equiformer_v2.layer_norm": [[52, "module-core.models.equiformer_v2.layer_norm"]], "core.models.equiformer_v2.module_list": [[53, "module-core.models.equiformer_v2.module_list"]], "core.models.equiformer_v2.radial_function": [[54, "module-core.models.equiformer_v2.radial_function"]], "core.models.equiformer_v2.so2_ops": [[55, "module-core.models.equiformer_v2.so2_ops"]], "core.models.equiformer_v2.so3": [[56, "module-core.models.equiformer_v2.so3"]], "core.models.equiformer_v2.trainers": [[59, "module-core.models.equiformer_v2.trainers"]], "core.models.equiformer_v2.trainers.energy_trainer": [[57, "module-core.models.equiformer_v2.trainers.energy_trainer"]], "core.models.equiformer_v2.trainers.forces_trainer": [[58, "module-core.models.equiformer_v2.trainers.forces_trainer"]], "core.models.equiformer_v2.trainers.lr_scheduler": [[60, "module-core.models.equiformer_v2.trainers.lr_scheduler"]], "core.models.equiformer_v2.transformer_block": [[61, "module-core.models.equiformer_v2.transformer_block"]], "core.models.equiformer_v2.wigner": [[62, "module-core.models.equiformer_v2.wigner"]], "core.models.escn": [[64, "module-core.models.escn"]], "core.models.escn.escn": [[63, "module-core.models.escn.escn"]], "core.models.escn.so3": [[65, "module-core.models.escn.so3"]], "core.models.gemnet": [[67, "module-core.models.gemnet"]], "core.models.gemnet.gemnet": [[66, "module-core.models.gemnet.gemnet"]], "core.models.gemnet.initializers": [[68, "module-core.models.gemnet.initializers"]], "core.models.gemnet.layers": [[74, "module-core.models.gemnet.layers"]], "core.models.gemnet.layers.atom_update_block": [[69, "module-core.models.gemnet.layers.atom_update_block"]], "core.models.gemnet.layers.base_layers": [[70, "module-core.models.gemnet.layers.base_layers"]], "core.models.gemnet.layers.basis_utils": [[71, "module-core.models.gemnet.layers.basis_utils"]], "core.models.gemnet.layers.efficient": [[72, "module-core.models.gemnet.layers.efficient"]], "core.models.gemnet.layers.embedding_block": [[73, "module-core.models.gemnet.layers.embedding_block"]], "core.models.gemnet.layers.interaction_block": [[75, "module-core.models.gemnet.layers.interaction_block"]], "core.models.gemnet.layers.radial_basis": [[76, "module-core.models.gemnet.layers.radial_basis"]], "core.models.gemnet.layers.spherical_basis": [[77, "module-core.models.gemnet.layers.spherical_basis"]], "core.models.gemnet.utils": [[78, "module-core.models.gemnet.utils"]], "core.models.gemnet_gp": [[80, "module-core.models.gemnet_gp"]], "core.models.gemnet_gp.gemnet": [[79, "module-core.models.gemnet_gp.gemnet"]], "core.models.gemnet_gp.initializers": [[81, "module-core.models.gemnet_gp.initializers"]], "core.models.gemnet_gp.layers": [[87, "module-core.models.gemnet_gp.layers"]], "core.models.gemnet_gp.layers.atom_update_block": [[82, "module-core.models.gemnet_gp.layers.atom_update_block"]], "core.models.gemnet_gp.layers.base_layers": [[83, "module-core.models.gemnet_gp.layers.base_layers"]], "core.models.gemnet_gp.layers.basis_utils": [[84, "module-core.models.gemnet_gp.layers.basis_utils"]], "core.models.gemnet_gp.layers.efficient": [[85, "module-core.models.gemnet_gp.layers.efficient"]], "core.models.gemnet_gp.layers.embedding_block": [[86, "module-core.models.gemnet_gp.layers.embedding_block"]], "core.models.gemnet_gp.layers.interaction_block": [[88, "module-core.models.gemnet_gp.layers.interaction_block"]], "core.models.gemnet_gp.layers.radial_basis": [[89, "module-core.models.gemnet_gp.layers.radial_basis"]], "core.models.gemnet_gp.layers.spherical_basis": [[90, "module-core.models.gemnet_gp.layers.spherical_basis"]], "core.models.gemnet_gp.utils": [[91, "module-core.models.gemnet_gp.utils"]], "core.models.gemnet_oc": [[93, "module-core.models.gemnet_oc"]], "core.models.gemnet_oc.gemnet_oc": [[92, "module-core.models.gemnet_oc.gemnet_oc"]], "core.models.gemnet_oc.initializers": [[94, "module-core.models.gemnet_oc.initializers"]], "core.models.gemnet_oc.interaction_indices": [[95, "module-core.models.gemnet_oc.interaction_indices"]], "core.models.gemnet_oc.layers": [[102, "module-core.models.gemnet_oc.layers"]], "core.models.gemnet_oc.layers.atom_update_block": [[96, "module-core.models.gemnet_oc.layers.atom_update_block"]], "core.models.gemnet_oc.layers.base_layers": [[97, "module-core.models.gemnet_oc.layers.base_layers"]], "core.models.gemnet_oc.layers.basis_utils": [[98, "module-core.models.gemnet_oc.layers.basis_utils"]], "core.models.gemnet_oc.layers.efficient": [[99, "module-core.models.gemnet_oc.layers.efficient"]], "core.models.gemnet_oc.layers.embedding_block": [[100, "module-core.models.gemnet_oc.layers.embedding_block"]], "core.models.gemnet_oc.layers.force_scaler": [[101, "module-core.models.gemnet_oc.layers.force_scaler"]], "core.models.gemnet_oc.layers.interaction_block": [[103, "module-core.models.gemnet_oc.layers.interaction_block"]], "core.models.gemnet_oc.layers.radial_basis": [[104, "module-core.models.gemnet_oc.layers.radial_basis"]], "core.models.gemnet_oc.layers.spherical_basis": [[105, "module-core.models.gemnet_oc.layers.spherical_basis"]], "core.models.gemnet_oc.utils": [[106, "module-core.models.gemnet_oc.utils"]], "core.models.model_registry": [[108, "module-core.models.model_registry"]], "core.models.painn": [[109, "module-core.models.painn"]], "core.models.painn.painn": [[110, "module-core.models.painn.painn"]], "core.models.painn.utils": [[111, "module-core.models.painn.utils"]], "core.models.schnet": [[112, "module-core.models.schnet"]], "core.models.scn": [[113, "module-core.models.scn"]], "core.models.scn.sampling": [[114, "module-core.models.scn.sampling"]], "core.models.scn.scn": [[115, "module-core.models.scn.scn"]], "core.models.scn.smearing": [[116, "module-core.models.scn.smearing"]], "core.models.scn.spherical_harmonics": [[117, "module-core.models.scn.spherical_harmonics"]], "core.models.utils": [[120, "module-core.models.utils"]], "core.models.utils.activations": [[118, "module-core.models.utils.activations"]], "core.models.utils.basis": [[119, "module-core.models.utils.basis"]], "core.modules": [[123, "module-core.modules"]], "core.modules.evaluator": [[121, "module-core.modules.evaluator"]], "core.modules.exponential_moving_average": [[122, "module-core.modules.exponential_moving_average"]], "core.modules.loss": [[124, "module-core.modules.loss"]], "core.modules.normalizer": [[125, "module-core.modules.normalizer"]], "core.modules.scaling": [[128, "module-core.modules.scaling"]], "core.modules.scaling.compat": [[126, "module-core.modules.scaling.compat"]], "core.modules.scaling.fit": [[127, "module-core.modules.scaling.fit"]], "core.modules.scaling.scale_factor": [[129, "module-core.modules.scaling.scale_factor"]], "core.modules.scaling.util": [[130, "module-core.modules.scaling.util"]], "core.modules.scheduler": [[131, "module-core.modules.scheduler"]], "core.modules.transforms": [[132, "module-core.modules.transforms"]], "core.preprocessing": [[134, "module-core.preprocessing"]], "core.preprocessing.atoms_to_graphs": [[133, "module-core.preprocessing.atoms_to_graphs"]], "core.scripts": [[140, "module-core.scripts"]], "core.scripts.download_data": [[135, "module-core.scripts.download_data"]], "core.scripts.gif_maker_parallelized": [[136, "module-core.scripts.gif_maker_parallelized"]], "core.scripts.hpo": [[137, "module-core.scripts.hpo"]], "core.scripts.hpo.run_tune": [[138, "module-core.scripts.hpo.run_tune"]], "core.scripts.hpo.run_tune_pbt": [[139, "module-core.scripts.hpo.run_tune_pbt"]], "core.scripts.make_challenge_submission_file": [[141, "module-core.scripts.make_challenge_submission_file"]], "core.scripts.make_lmdb_sizes": [[142, "module-core.scripts.make_lmdb_sizes"]], "core.scripts.make_submission_file": [[143, "module-core.scripts.make_submission_file"]], "core.scripts.preprocess_ef": [[144, "module-core.scripts.preprocess_ef"]], "core.scripts.preprocess_relaxed": [[145, "module-core.scripts.preprocess_relaxed"]], "core.scripts.uncompress": [[146, "module-core.scripts.uncompress"]], "core.tasks": [[147, "module-core.tasks"]], "core.tasks.task": [[148, "module-core.tasks.task"]], "core.trainers": [[150, "module-core.trainers"]], "core.trainers.base_trainer": [[149, "module-core.trainers.base_trainer"]], "core.trainers.ocp_trainer": [[151, "module-core.trainers.ocp_trainer"]], "data": [[152, "module-data"]], "data.oc": [[167, "module-data.oc"]], "data.oc.core": [[156, "module-data.oc.core"]], "data.oc.core.adsorbate": [[153, "module-data.oc.core.adsorbate"]], "data.oc.core.adsorbate_slab_config": [[154, "module-data.oc.core.adsorbate_slab_config"]], "data.oc.core.bulk": [[155, "module-data.oc.core.bulk"]], "data.oc.core.multi_adsorbate_slab_config": [[157, "module-data.oc.core.multi_adsorbate_slab_config"]], "data.oc.core.slab": [[158, "module-data.oc.core.slab"]], "data.oc.databases": [[159, "module-data.oc.databases"]], "data.oc.databases.pkls": [[160, "module-data.oc.databases.pkls"]], "data.oc.databases.update": [[161, "module-data.oc.databases.update"]], "data.oc.experimental.get_energies": [[162, "module-data.oc.experimental.get_energies"]], "data.oc.experimental.merge_traj": [[163, "module-data.oc.experimental.merge_traj"]], "data.oc.experimental.perturb_systems": [[164, "module-data.oc.experimental.perturb_systems"]], "data.oc.experimental.rattle_test": [[165, "module-data.oc.experimental.rattle_test"]], "data.oc.experimental.utils": [[166, "module-data.oc.experimental.utils"]], "data.oc.scripts.precompute_sample_structures": [[168, "module-data.oc.scripts.precompute_sample_structures"]], "data.oc.structure_generator": [[169, "module-data.oc.structure_generator"]], "data.oc.tests": [[170, "module-data.oc.tests"]], "data.oc.utils": [[172, "module-data.oc.utils"]], "data.oc.utils.flag_anomaly": [[171, "module-data.oc.utils.flag_anomaly"]], "data.oc.utils.vasp": [[173, "module-data.oc.utils.vasp"]], "data.odac": [[175, "module-data.odac"]], "data.odac.force_field.FF_analysis": [[174, "module-data.odac.force_field.FF_analysis"]], "data.odac.promising_mof.promising_mof_energies.energy": [[176, "module-data.odac.promising_mof.promising_mof_energies.energy"]], "data.om": [[179, "module-data.om"]], "data.om.biomolecules.geom.sample_geom_drugs": [[177, "module-data.om.biomolecules.geom.sample_geom_drugs"]], "data.om.biomolecules.geom.write_geom_drugs_structures": [[178, "module-data.om.biomolecules.geom.write_geom_drugs_structures"]], "data.om.omdata.orca": [[181, "module-data.om.omdata.orca"]], "data.om.omdata.orca.calc": [[180, "module-data.om.omdata.orca.calc"]], "data.om.omdata.orca.recipes": [[182, "module-data.om.omdata.orca.recipes"]], "ocpapi": [[188, "module-ocpapi"], [212, "ocpapi"]], "ocpapi.client": [[185, "module-ocpapi.client"]], "ocpapi.client.client": [[184, "module-ocpapi.client.client"]], "ocpapi.client.models": [[186, "module-ocpapi.client.models"]], "ocpapi.client.ui": [[187, "module-ocpapi.client.ui"]], "ocpapi.version": [[189, "module-ocpapi.version"]], "ocpapi.workflows": [[193, "module-ocpapi.workflows"]], "ocpapi.workflows.adsorbates": [[190, "module-ocpapi.workflows.adsorbates"]], "ocpapi.workflows.context": [[191, "module-ocpapi.workflows.context"]], "ocpapi.workflows.filter": [[192, "module-ocpapi.workflows.filter"]], "ocpapi.workflows.log": [[194, "module-ocpapi.workflows.log"]], "ocpapi.workflows.retry": [[195, "module-ocpapi.workflows.retry"]]}, "docnames": ["autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index", "autoapi/adsorbml/scripts/dense_eval/index", "autoapi/adsorbml/scripts/process_mlrs/index", "autoapi/adsorbml/scripts/utils/index", "autoapi/adsorbml/scripts/write_top_k_vasp/index", "autoapi/cattsunami/core/autoframe/index", "autoapi/cattsunami/core/index", "autoapi/cattsunami/core/ocpneb/index", "autoapi/cattsunami/core/reaction/index", "autoapi/cattsunami/databases/index", "autoapi/cattsunami/index", "autoapi/cattsunami/run_validation/run_validation/index", "autoapi/core/_cli/index", "autoapi/core/common/data_parallel/index", "autoapi/core/common/distutils/index", "autoapi/core/common/flags/index", "autoapi/core/common/gp_utils/index", "autoapi/core/common/hpo_utils/index", "autoapi/core/common/index", "autoapi/core/common/logger/index", "autoapi/core/common/registry/index", "autoapi/core/common/relaxation/ase_utils/index", "autoapi/core/common/relaxation/index", "autoapi/core/common/relaxation/ml_relaxation/index", "autoapi/core/common/relaxation/optimizers/index", "autoapi/core/common/relaxation/optimizers/lbfgs_torch/index", "autoapi/core/common/transforms/index", "autoapi/core/common/tutorial_utils/index", "autoapi/core/common/typing/index", "autoapi/core/common/utils/index", "autoapi/core/datasets/_utils/index", "autoapi/core/datasets/ase_datasets/index", "autoapi/core/datasets/embeddings/atomic_radii/index", "autoapi/core/datasets/embeddings/continuous_embeddings/index", "autoapi/core/datasets/embeddings/index", "autoapi/core/datasets/embeddings/khot_embeddings/index", "autoapi/core/datasets/embeddings/qmof_khot_embeddings/index", "autoapi/core/datasets/index", "autoapi/core/datasets/lmdb_database/index", "autoapi/core/datasets/lmdb_dataset/index", "autoapi/core/datasets/oc22_lmdb_dataset/index", "autoapi/core/datasets/target_metadata_guesser/index", "autoapi/core/index", "autoapi/core/models/base/index", "autoapi/core/models/dimenet_plus_plus/index", "autoapi/core/models/equiformer_v2/activation/index", "autoapi/core/models/equiformer_v2/drop/index", "autoapi/core/models/equiformer_v2/edge_rot_mat/index", "autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index", "autoapi/core/models/equiformer_v2/gaussian_rbf/index", "autoapi/core/models/equiformer_v2/index", "autoapi/core/models/equiformer_v2/input_block/index", "autoapi/core/models/equiformer_v2/layer_norm/index", "autoapi/core/models/equiformer_v2/module_list/index", "autoapi/core/models/equiformer_v2/radial_function/index", "autoapi/core/models/equiformer_v2/so2_ops/index", "autoapi/core/models/equiformer_v2/so3/index", "autoapi/core/models/equiformer_v2/trainers/energy_trainer/index", "autoapi/core/models/equiformer_v2/trainers/forces_trainer/index", "autoapi/core/models/equiformer_v2/trainers/index", "autoapi/core/models/equiformer_v2/trainers/lr_scheduler/index", "autoapi/core/models/equiformer_v2/transformer_block/index", "autoapi/core/models/equiformer_v2/wigner/index", "autoapi/core/models/escn/escn/index", "autoapi/core/models/escn/index", "autoapi/core/models/escn/so3/index", "autoapi/core/models/gemnet/gemnet/index", "autoapi/core/models/gemnet/index", "autoapi/core/models/gemnet/initializers/index", "autoapi/core/models/gemnet/layers/atom_update_block/index", "autoapi/core/models/gemnet/layers/base_layers/index", "autoapi/core/models/gemnet/layers/basis_utils/index", "autoapi/core/models/gemnet/layers/efficient/index", "autoapi/core/models/gemnet/layers/embedding_block/index", "autoapi/core/models/gemnet/layers/index", "autoapi/core/models/gemnet/layers/interaction_block/index", "autoapi/core/models/gemnet/layers/radial_basis/index", "autoapi/core/models/gemnet/layers/spherical_basis/index", "autoapi/core/models/gemnet/utils/index", "autoapi/core/models/gemnet_gp/gemnet/index", "autoapi/core/models/gemnet_gp/index", "autoapi/core/models/gemnet_gp/initializers/index", "autoapi/core/models/gemnet_gp/layers/atom_update_block/index", "autoapi/core/models/gemnet_gp/layers/base_layers/index", "autoapi/core/models/gemnet_gp/layers/basis_utils/index", "autoapi/core/models/gemnet_gp/layers/efficient/index", "autoapi/core/models/gemnet_gp/layers/embedding_block/index", "autoapi/core/models/gemnet_gp/layers/index", "autoapi/core/models/gemnet_gp/layers/interaction_block/index", "autoapi/core/models/gemnet_gp/layers/radial_basis/index", "autoapi/core/models/gemnet_gp/layers/spherical_basis/index", "autoapi/core/models/gemnet_gp/utils/index", "autoapi/core/models/gemnet_oc/gemnet_oc/index", "autoapi/core/models/gemnet_oc/index", "autoapi/core/models/gemnet_oc/initializers/index", "autoapi/core/models/gemnet_oc/interaction_indices/index", "autoapi/core/models/gemnet_oc/layers/atom_update_block/index", "autoapi/core/models/gemnet_oc/layers/base_layers/index", "autoapi/core/models/gemnet_oc/layers/basis_utils/index", "autoapi/core/models/gemnet_oc/layers/efficient/index", "autoapi/core/models/gemnet_oc/layers/embedding_block/index", "autoapi/core/models/gemnet_oc/layers/force_scaler/index", "autoapi/core/models/gemnet_oc/layers/index", "autoapi/core/models/gemnet_oc/layers/interaction_block/index", "autoapi/core/models/gemnet_oc/layers/radial_basis/index", "autoapi/core/models/gemnet_oc/layers/spherical_basis/index", "autoapi/core/models/gemnet_oc/utils/index", "autoapi/core/models/index", "autoapi/core/models/model_registry/index", "autoapi/core/models/painn/index", "autoapi/core/models/painn/painn/index", "autoapi/core/models/painn/utils/index", "autoapi/core/models/schnet/index", "autoapi/core/models/scn/index", "autoapi/core/models/scn/sampling/index", "autoapi/core/models/scn/scn/index", "autoapi/core/models/scn/smearing/index", "autoapi/core/models/scn/spherical_harmonics/index", "autoapi/core/models/utils/activations/index", "autoapi/core/models/utils/basis/index", "autoapi/core/models/utils/index", "autoapi/core/modules/evaluator/index", "autoapi/core/modules/exponential_moving_average/index", "autoapi/core/modules/index", "autoapi/core/modules/loss/index", "autoapi/core/modules/normalizer/index", "autoapi/core/modules/scaling/compat/index", "autoapi/core/modules/scaling/fit/index", "autoapi/core/modules/scaling/index", "autoapi/core/modules/scaling/scale_factor/index", "autoapi/core/modules/scaling/util/index", "autoapi/core/modules/scheduler/index", "autoapi/core/modules/transforms/index", "autoapi/core/preprocessing/atoms_to_graphs/index", "autoapi/core/preprocessing/index", "autoapi/core/scripts/download_data/index", "autoapi/core/scripts/gif_maker_parallelized/index", "autoapi/core/scripts/hpo/index", "autoapi/core/scripts/hpo/run_tune/index", "autoapi/core/scripts/hpo/run_tune_pbt/index", "autoapi/core/scripts/index", "autoapi/core/scripts/make_challenge_submission_file/index", "autoapi/core/scripts/make_lmdb_sizes/index", "autoapi/core/scripts/make_submission_file/index", "autoapi/core/scripts/preprocess_ef/index", "autoapi/core/scripts/preprocess_relaxed/index", "autoapi/core/scripts/uncompress/index", "autoapi/core/tasks/index", "autoapi/core/tasks/task/index", "autoapi/core/trainers/base_trainer/index", "autoapi/core/trainers/index", "autoapi/core/trainers/ocp_trainer/index", "autoapi/data/index", "autoapi/data/oc/core/adsorbate/index", "autoapi/data/oc/core/adsorbate_slab_config/index", "autoapi/data/oc/core/bulk/index", "autoapi/data/oc/core/index", "autoapi/data/oc/core/multi_adsorbate_slab_config/index", "autoapi/data/oc/core/slab/index", "autoapi/data/oc/databases/index", "autoapi/data/oc/databases/pkls/index", "autoapi/data/oc/databases/update/index", "autoapi/data/oc/experimental/get_energies/index", "autoapi/data/oc/experimental/merge_traj/index", "autoapi/data/oc/experimental/perturb_systems/index", "autoapi/data/oc/experimental/rattle_test/index", "autoapi/data/oc/experimental/utils/index", "autoapi/data/oc/index", "autoapi/data/oc/scripts/precompute_sample_structures/index", "autoapi/data/oc/structure_generator/index", "autoapi/data/oc/tests/index", "autoapi/data/oc/utils/flag_anomaly/index", "autoapi/data/oc/utils/index", "autoapi/data/oc/utils/vasp/index", "autoapi/data/odac/force_field/FF_analysis/index", "autoapi/data/odac/index", "autoapi/data/odac/promising_mof/promising_mof_energies/energy/index", "autoapi/data/om/biomolecules/geom/sample_geom_drugs/index", "autoapi/data/om/biomolecules/geom/write_geom_drugs_structures/index", "autoapi/data/om/index", "autoapi/data/om/omdata/orca/calc/index", "autoapi/data/om/omdata/orca/index", "autoapi/data/om/omdata/orca/recipes/index", "autoapi/index", "autoapi/ocpapi/client/client/index", "autoapi/ocpapi/client/index", "autoapi/ocpapi/client/models/index", "autoapi/ocpapi/client/ui/index", "autoapi/ocpapi/index", "autoapi/ocpapi/version/index", "autoapi/ocpapi/workflows/adsorbates/index", "autoapi/ocpapi/workflows/context/index", "autoapi/ocpapi/workflows/filter/index", "autoapi/ocpapi/workflows/index", "autoapi/ocpapi/workflows/log/index", "autoapi/ocpapi/workflows/retry/index", "core/ase_dataset_creation", "core/datasets/oc20", "core/datasets/oc20dense", "core/datasets/oc20neb", "core/datasets/oc22", "core/datasets/odac", "core/fine-tuning/fine-tuning-oxides", "core/gotchas", "core/inference", "core/install", "core/intro_series", "core/license", "core/lmdb_dataset_creation", "core/model_checkpoints", "core/model_faq", "core/model_training", "core/ocpapi", "core/papers_using_models", "core/quickstart", "execution_time", "index", "legacy_tutorials/OCP_Tutorial", "legacy_tutorials/data_preprocessing", "legacy_tutorials/data_visualization", "legacy_tutorials/legacy_tutorials", "tutorials/NRR/NRR_example", "tutorials/NRR/NRR_toc", "tutorials/OCP-introduction", "tutorials/adsorbml_walkthrough", "tutorials/advanced/advanced_toc", "tutorials/advanced/embeddings", "tutorials/advanced/fine-tuning-in-python", "tutorials/cattsunami_walkthrough", "tutorials/intro", "videos/technical_talks"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.rst", "autoapi/adsorbml/scripts/dense_eval/index.rst", "autoapi/adsorbml/scripts/process_mlrs/index.rst", "autoapi/adsorbml/scripts/utils/index.rst", "autoapi/adsorbml/scripts/write_top_k_vasp/index.rst", "autoapi/cattsunami/core/autoframe/index.rst", "autoapi/cattsunami/core/index.rst", "autoapi/cattsunami/core/ocpneb/index.rst", "autoapi/cattsunami/core/reaction/index.rst", "autoapi/cattsunami/databases/index.rst", "autoapi/cattsunami/index.rst", "autoapi/cattsunami/run_validation/run_validation/index.rst", "autoapi/core/_cli/index.rst", "autoapi/core/common/data_parallel/index.rst", "autoapi/core/common/distutils/index.rst", "autoapi/core/common/flags/index.rst", "autoapi/core/common/gp_utils/index.rst", "autoapi/core/common/hpo_utils/index.rst", "autoapi/core/common/index.rst", "autoapi/core/common/logger/index.rst", "autoapi/core/common/registry/index.rst", "autoapi/core/common/relaxation/ase_utils/index.rst", "autoapi/core/common/relaxation/index.rst", "autoapi/core/common/relaxation/ml_relaxation/index.rst", "autoapi/core/common/relaxation/optimizers/index.rst", "autoapi/core/common/relaxation/optimizers/lbfgs_torch/index.rst", "autoapi/core/common/transforms/index.rst", "autoapi/core/common/tutorial_utils/index.rst", "autoapi/core/common/typing/index.rst", "autoapi/core/common/utils/index.rst", "autoapi/core/datasets/_utils/index.rst", "autoapi/core/datasets/ase_datasets/index.rst", "autoapi/core/datasets/embeddings/atomic_radii/index.rst", "autoapi/core/datasets/embeddings/continuous_embeddings/index.rst", "autoapi/core/datasets/embeddings/index.rst", "autoapi/core/datasets/embeddings/khot_embeddings/index.rst", "autoapi/core/datasets/embeddings/qmof_khot_embeddings/index.rst", "autoapi/core/datasets/index.rst", "autoapi/core/datasets/lmdb_database/index.rst", "autoapi/core/datasets/lmdb_dataset/index.rst", "autoapi/core/datasets/oc22_lmdb_dataset/index.rst", "autoapi/core/datasets/target_metadata_guesser/index.rst", "autoapi/core/index.rst", "autoapi/core/models/base/index.rst", "autoapi/core/models/dimenet_plus_plus/index.rst", "autoapi/core/models/equiformer_v2/activation/index.rst", "autoapi/core/models/equiformer_v2/drop/index.rst", "autoapi/core/models/equiformer_v2/edge_rot_mat/index.rst", "autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.rst", "autoapi/core/models/equiformer_v2/gaussian_rbf/index.rst", "autoapi/core/models/equiformer_v2/index.rst", "autoapi/core/models/equiformer_v2/input_block/index.rst", "autoapi/core/models/equiformer_v2/layer_norm/index.rst", "autoapi/core/models/equiformer_v2/module_list/index.rst", "autoapi/core/models/equiformer_v2/radial_function/index.rst", "autoapi/core/models/equiformer_v2/so2_ops/index.rst", "autoapi/core/models/equiformer_v2/so3/index.rst", "autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.rst", "autoapi/core/models/equiformer_v2/trainers/forces_trainer/index.rst", "autoapi/core/models/equiformer_v2/trainers/index.rst", "autoapi/core/models/equiformer_v2/trainers/lr_scheduler/index.rst", "autoapi/core/models/equiformer_v2/transformer_block/index.rst", "autoapi/core/models/equiformer_v2/wigner/index.rst", "autoapi/core/models/escn/escn/index.rst", "autoapi/core/models/escn/index.rst", "autoapi/core/models/escn/so3/index.rst", "autoapi/core/models/gemnet/gemnet/index.rst", "autoapi/core/models/gemnet/index.rst", "autoapi/core/models/gemnet/initializers/index.rst", "autoapi/core/models/gemnet/layers/atom_update_block/index.rst", "autoapi/core/models/gemnet/layers/base_layers/index.rst", "autoapi/core/models/gemnet/layers/basis_utils/index.rst", "autoapi/core/models/gemnet/layers/efficient/index.rst", "autoapi/core/models/gemnet/layers/embedding_block/index.rst", "autoapi/core/models/gemnet/layers/index.rst", "autoapi/core/models/gemnet/layers/interaction_block/index.rst", "autoapi/core/models/gemnet/layers/radial_basis/index.rst", "autoapi/core/models/gemnet/layers/spherical_basis/index.rst", "autoapi/core/models/gemnet/utils/index.rst", "autoapi/core/models/gemnet_gp/gemnet/index.rst", "autoapi/core/models/gemnet_gp/index.rst", "autoapi/core/models/gemnet_gp/initializers/index.rst", "autoapi/core/models/gemnet_gp/layers/atom_update_block/index.rst", "autoapi/core/models/gemnet_gp/layers/base_layers/index.rst", "autoapi/core/models/gemnet_gp/layers/basis_utils/index.rst", "autoapi/core/models/gemnet_gp/layers/efficient/index.rst", "autoapi/core/models/gemnet_gp/layers/embedding_block/index.rst", "autoapi/core/models/gemnet_gp/layers/index.rst", "autoapi/core/models/gemnet_gp/layers/interaction_block/index.rst", "autoapi/core/models/gemnet_gp/layers/radial_basis/index.rst", "autoapi/core/models/gemnet_gp/layers/spherical_basis/index.rst", "autoapi/core/models/gemnet_gp/utils/index.rst", "autoapi/core/models/gemnet_oc/gemnet_oc/index.rst", "autoapi/core/models/gemnet_oc/index.rst", "autoapi/core/models/gemnet_oc/initializers/index.rst", "autoapi/core/models/gemnet_oc/interaction_indices/index.rst", "autoapi/core/models/gemnet_oc/layers/atom_update_block/index.rst", "autoapi/core/models/gemnet_oc/layers/base_layers/index.rst", "autoapi/core/models/gemnet_oc/layers/basis_utils/index.rst", "autoapi/core/models/gemnet_oc/layers/efficient/index.rst", "autoapi/core/models/gemnet_oc/layers/embedding_block/index.rst", "autoapi/core/models/gemnet_oc/layers/force_scaler/index.rst", "autoapi/core/models/gemnet_oc/layers/index.rst", "autoapi/core/models/gemnet_oc/layers/interaction_block/index.rst", "autoapi/core/models/gemnet_oc/layers/radial_basis/index.rst", "autoapi/core/models/gemnet_oc/layers/spherical_basis/index.rst", "autoapi/core/models/gemnet_oc/utils/index.rst", "autoapi/core/models/index.rst", "autoapi/core/models/model_registry/index.rst", "autoapi/core/models/painn/index.rst", "autoapi/core/models/painn/painn/index.rst", "autoapi/core/models/painn/utils/index.rst", "autoapi/core/models/schnet/index.rst", "autoapi/core/models/scn/index.rst", "autoapi/core/models/scn/sampling/index.rst", "autoapi/core/models/scn/scn/index.rst", "autoapi/core/models/scn/smearing/index.rst", "autoapi/core/models/scn/spherical_harmonics/index.rst", "autoapi/core/models/utils/activations/index.rst", "autoapi/core/models/utils/basis/index.rst", "autoapi/core/models/utils/index.rst", "autoapi/core/modules/evaluator/index.rst", "autoapi/core/modules/exponential_moving_average/index.rst", "autoapi/core/modules/index.rst", "autoapi/core/modules/loss/index.rst", "autoapi/core/modules/normalizer/index.rst", "autoapi/core/modules/scaling/compat/index.rst", "autoapi/core/modules/scaling/fit/index.rst", "autoapi/core/modules/scaling/index.rst", "autoapi/core/modules/scaling/scale_factor/index.rst", "autoapi/core/modules/scaling/util/index.rst", "autoapi/core/modules/scheduler/index.rst", "autoapi/core/modules/transforms/index.rst", "autoapi/core/preprocessing/atoms_to_graphs/index.rst", "autoapi/core/preprocessing/index.rst", "autoapi/core/scripts/download_data/index.rst", "autoapi/core/scripts/gif_maker_parallelized/index.rst", "autoapi/core/scripts/hpo/index.rst", "autoapi/core/scripts/hpo/run_tune/index.rst", "autoapi/core/scripts/hpo/run_tune_pbt/index.rst", "autoapi/core/scripts/index.rst", "autoapi/core/scripts/make_challenge_submission_file/index.rst", "autoapi/core/scripts/make_lmdb_sizes/index.rst", "autoapi/core/scripts/make_submission_file/index.rst", "autoapi/core/scripts/preprocess_ef/index.rst", "autoapi/core/scripts/preprocess_relaxed/index.rst", "autoapi/core/scripts/uncompress/index.rst", "autoapi/core/tasks/index.rst", "autoapi/core/tasks/task/index.rst", "autoapi/core/trainers/base_trainer/index.rst", "autoapi/core/trainers/index.rst", "autoapi/core/trainers/ocp_trainer/index.rst", "autoapi/data/index.rst", "autoapi/data/oc/core/adsorbate/index.rst", "autoapi/data/oc/core/adsorbate_slab_config/index.rst", "autoapi/data/oc/core/bulk/index.rst", "autoapi/data/oc/core/index.rst", "autoapi/data/oc/core/multi_adsorbate_slab_config/index.rst", "autoapi/data/oc/core/slab/index.rst", "autoapi/data/oc/databases/index.rst", "autoapi/data/oc/databases/pkls/index.rst", "autoapi/data/oc/databases/update/index.rst", "autoapi/data/oc/experimental/get_energies/index.rst", "autoapi/data/oc/experimental/merge_traj/index.rst", "autoapi/data/oc/experimental/perturb_systems/index.rst", "autoapi/data/oc/experimental/rattle_test/index.rst", "autoapi/data/oc/experimental/utils/index.rst", "autoapi/data/oc/index.rst", "autoapi/data/oc/scripts/precompute_sample_structures/index.rst", "autoapi/data/oc/structure_generator/index.rst", "autoapi/data/oc/tests/index.rst", "autoapi/data/oc/utils/flag_anomaly/index.rst", "autoapi/data/oc/utils/index.rst", "autoapi/data/oc/utils/vasp/index.rst", "autoapi/data/odac/force_field/FF_analysis/index.rst", "autoapi/data/odac/index.rst", "autoapi/data/odac/promising_mof/promising_mof_energies/energy/index.rst", "autoapi/data/om/biomolecules/geom/sample_geom_drugs/index.rst", "autoapi/data/om/biomolecules/geom/write_geom_drugs_structures/index.rst", "autoapi/data/om/index.rst", "autoapi/data/om/omdata/orca/calc/index.rst", "autoapi/data/om/omdata/orca/index.rst", "autoapi/data/om/omdata/orca/recipes/index.rst", "autoapi/index.rst", "autoapi/ocpapi/client/client/index.rst", "autoapi/ocpapi/client/index.rst", "autoapi/ocpapi/client/models/index.rst", "autoapi/ocpapi/client/ui/index.rst", "autoapi/ocpapi/index.rst", "autoapi/ocpapi/version/index.rst", "autoapi/ocpapi/workflows/adsorbates/index.rst", "autoapi/ocpapi/workflows/context/index.rst", "autoapi/ocpapi/workflows/filter/index.rst", "autoapi/ocpapi/workflows/index.rst", "autoapi/ocpapi/workflows/log/index.rst", "autoapi/ocpapi/workflows/retry/index.rst", "core/ase_dataset_creation.md", "core/datasets/oc20.md", "core/datasets/oc20dense.md", "core/datasets/oc20neb.md", "core/datasets/oc22.md", "core/datasets/odac.md", "core/fine-tuning/fine-tuning-oxides.md", "core/gotchas.md", "core/inference.md", "core/install.md", "core/intro_series.md", "core/license.md", "core/lmdb_dataset_creation.md", "core/model_checkpoints.md", "core/model_faq.md", "core/model_training.md", "core/ocpapi.md", "core/papers_using_models.md", "core/quickstart.md", "execution_time.md", "index.md", "legacy_tutorials/OCP_Tutorial.md", "legacy_tutorials/data_preprocessing.md", "legacy_tutorials/data_visualization.md", "legacy_tutorials/legacy_tutorials.md", "tutorials/NRR/NRR_example.md", "tutorials/NRR/NRR_toc.md", "tutorials/OCP-introduction.md", "tutorials/adsorbml_walkthrough.md", "tutorials/advanced/advanced_toc.md", "tutorials/advanced/embeddings.md", "tutorials/advanced/fine-tuning-in-python.md", "tutorials/cattsunami_walkthrough.md", "tutorials/intro.md", "videos/technical_talks.md"], "indexentries": {"__author__ (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.__author__", false]], "__authors__ (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.__authors__", false]], "__call__() (core._cli.runner method)": [[12, "core._cli.Runner.__call__", false]], "__call__() (core.common.data_parallel.ocpcollater method)": [[13, "core.common.data_parallel.OCPCollater.__call__", false]], "__call__() (core.common.transforms.randomrotate method)": [[26, "core.common.transforms.RandomRotate.__call__", false]], "__call__() (core.common.utils.complete method)": [[29, "core.common.utils.Complete.__call__", false]], "__call__() (core.models.equiformer_v2.trainers.lr_scheduler.cosinelrlambda method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.CosineLRLambda.__call__", false]], "__call__() (core.models.equiformer_v2.trainers.lr_scheduler.multisteplrlambda method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.MultistepLRLambda.__call__", false]], "__call__() (core.modules.transforms.datatransforms method)": [[132, "core.modules.transforms.DataTransforms.__call__", false]], "__call__() (ocpapi.keep_all_slabs method)": [[188, "ocpapi.keep_all_slabs.__call__", false]], "__call__() (ocpapi.keep_slabs_with_miller_indices method)": [[188, "ocpapi.keep_slabs_with_miller_indices.__call__", false]], "__call__() (ocpapi.prompt_for_slabs_to_keep method)": [[188, "ocpapi.prompt_for_slabs_to_keep.__call__", false]], "__call__() (ocpapi.workflows.filter.keep_all_slabs method)": [[192, "ocpapi.workflows.filter.keep_all_slabs.__call__", false]], "__call__() (ocpapi.workflows.filter.keep_slabs_with_miller_indices method)": [[192, "ocpapi.workflows.filter.keep_slabs_with_miller_indices.__call__", false]], "__call__() (ocpapi.workflows.filter.prompt_for_slabs_to_keep method)": [[192, "ocpapi.workflows.filter.prompt_for_slabs_to_keep.__call__", false]], "__call__() (ocpapi.workflows.keep_all_slabs method)": [[193, "ocpapi.workflows.keep_all_slabs.__call__", false]], "__call__() (ocpapi.workflows.keep_slabs_with_miller_indices method)": [[193, "ocpapi.workflows.keep_slabs_with_miller_indices.__call__", false]], "__call__() (ocpapi.workflows.prompt_for_slabs_to_keep method)": [[193, "ocpapi.workflows.prompt_for_slabs_to_keep.__call__", false]], "__call__() (ocpapi.workflows.retry._wait_check_retry_after method)": [[195, "ocpapi.workflows.retry._wait_check_retry_after.__call__", false]], "__email__ (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.__email__", false]], "__email__ (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.__email__", false]], "__enter__() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.__enter__", false]], "__enter__() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.__enter__", false]], "__eq__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__eq__", false]], "__eq__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__eq__", false]], "__eq__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__eq__", false]], "__eq__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__eq__", false]], "__exit__() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.__exit__", false]], "__exit__() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.__exit__", false]], "__getitem__() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.__getitem__", false]], "__getitem__() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.__getitem__", false]], "__getitem__() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.__getitem__", false]], "__getitem__() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.__getitem__", false]], "__getitem__() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.__getitem__", false]], "__import_error() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.__import_error", false]], "__iter__() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler.__iter__", false]], "__iter__() (core.common.data_parallel.statefuldistributedsampler method)": [[13, "core.common.data_parallel.StatefulDistributedSampler.__iter__", false]], "__len__() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler.__len__", false]], "__len__() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.__len__", false]], "__len__() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.__len__", false]], "__len__() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.__len__", false]], "__len__() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.__len__", false]], "__len__() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.__len__", false]], "__len__() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate.__len__", false]], "__len__() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate.__len__", false]], "__len__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__len__", false]], "__len__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__len__", false]], "__len__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__len__", false]], "__len__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__len__", false]], "__repr__() (core.common.transforms.randomrotate method)": [[26, "core.common.transforms.RandomRotate.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantdegreelayerscale method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantlayernormarray method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantlayernormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics.__repr__", false]], "__repr__() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonicsv2 method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2.__repr__", false]], "__repr__() (core.models.equiformer_v2.module_list.modulelistinfo method)": [[53, "core.models.equiformer_v2.module_list.ModuleListInfo.__repr__", false]], "__repr__() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.__repr__", false]], "__repr__() (core.models.equiformer_v2.so3.so3_linear method)": [[56, "core.models.equiformer_v2.so3.SO3_Linear.__repr__", false]], "__repr__() (core.models.equiformer_v2.so3.so3_linearv2 method)": [[56, "core.models.equiformer_v2.so3.SO3_LinearV2.__repr__", false]], "__repr__() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.__repr__", false]], "__repr__() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.__repr__", false]], "__repr__() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate.__repr__", false]], "__repr__() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate.__repr__", false]], "__repr__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__repr__", false]], "__repr__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__repr__", false]], "__repr__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__repr__", false]], "__repr__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__repr__", false]], "__str__() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate.__str__", false]], "__str__() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate.__str__", false]], "__str__() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.__str__", false]], "__str__() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.__str__", false]], "__str__() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.__str__", false]], "__str__() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.__str__", false]], "__str__() (ocpapi.client.models.status method)": [[186, "ocpapi.client.models.Status.__str__", false]], "__str__() (ocpapi.client.status method)": [[185, "ocpapi.client.Status.__str__", false]], "__str__() (ocpapi.status method)": [[188, "ocpapi.Status.__str__", false]], "__version__ (in module cattsunami)": [[10, "cattsunami.__version__", false]], "__version__ (in module data.oc)": [[167, "data.oc.__version__", false]], "__version__ (in module ocpapi)": [[188, "ocpapi.__version__", false]], "_api_to_ui_hosts (in module ocpapi.client.ui)": [[187, "ocpapi.client.ui._API_TO_UI_HOSTS", false]], "_avg_degree (in module core.models.equiformer_v2.equiformer_v2_oc20)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20._AVG_DEGREE", false]], "_avg_num_nodes (in module core.models.equiformer_v2.equiformer_v2_oc20)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20._AVG_NUM_NODES", false]], "_backward() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer._backward", false]], "_backward() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer._backward", false]], "_check_consistency() (in module core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor._check_consistency", false]], "_clean_up_inputs() (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp._clean_up_inputs", false]], "_compute_loss() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer._compute_loss", false]], "_compute_loss() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer._compute_loss", false]], "_compute_metrics() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer._compute_metrics", false]], "_compute_metrics() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer._compute_metrics", false]], "_ctx_ad_bulk (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._CTX_AD_BULK", false]], "_ctx_slab (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._CTX_SLAB", false]], "_data_parallel_group (in module core.common.gp_utils)": [[16, "core.common.gp_utils._DATA_PARALLEL_GROUP", false]], "_datamodel (class in ocpapi.client.models)": [[186, "ocpapi.client.models._DataModel", false]], "_default_adslab_filter (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._DEFAULT_ADSLAB_FILTER", false]], "_delete_system() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._delete_system", false]], "_enforce_consistency() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor._enforce_consistency", false]], "_enforce_consistency() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor._enforce_consistency", false]], "_ensure_adsorbate_supported() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._ensure_adsorbate_supported", false]], "_ensure_model_supported() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._ensure_model_supported", false]], "_ensure_system_deleted() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._ensure_system_deleted", false]], "_expand_edge() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._expand_edge", false]], "_expand_edge() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._expand_edge", false]], "_find_combos_to_check() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig._find_combos_to_check", false]], "_find_combos_to_check() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig._find_combos_to_check", false]], "_forward() (core.models.dimenet_plus_plus.dimenetpluspluswrap method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap._forward", false]], "_forward() (core.models.schnet.schnetwrap method)": [[112, "core.models.schnet.SchNetWrap._forward", false]], "_forward() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer._forward", false]], "_forward() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer._forward", false]], "_forward_helper() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork._forward_helper", false]], "_forward_helper() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork._forward_helper", false]], "_from_grid() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._from_grid", false]], "_from_grid() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._from_grid", false]], "_gather() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._gather", false]], "_gather_with_padding() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._gather_with_padding", false]], "_get_absolute_mapping() (in module core.common.registry)": [[20, "core.common.registry._get_absolute_mapping", false]], "_get_absorbate_configs_on_slab() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_absorbate_configs_on_slab", false]], "_get_absorbate_configs_on_slab_with_logging() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_absorbate_configs_on_slab_with_logging", false]], "_get_adsorbate_configs_on_slabs() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_adsorbate_configs_on_slabs", false]], "_get_adsorbate_from_random() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate._get_adsorbate_from_random", false]], "_get_adsorbate_from_random() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate._get_adsorbate_from_random", false]], "_get_bulk_from_random() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk._get_bulk_from_random", false]], "_get_bulk_from_random() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk._get_bulk_from_random", false]], "_get_bulk_if_supported() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_bulk_if_supported", false]], "_get_connectivity() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly._get_connectivity", false]], "_get_connectivity() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly._get_connectivity", false]], "_get_neighbors_pymatgen() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs._get_neighbors_pymatgen", false]], "_get_neighbors_pymatgen() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs._get_neighbors_pymatgen", false]], "_get_parameters() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage._get_parameters", false]], "_get_project_root() (in module core.common.utils)": [[29, "core.common.utils._get_project_root", false]], "_get_projected_points() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig._get_projected_points", false]], "_get_projected_points() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig._get_projected_points", false]], "_get_row() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._get_row", false]], "_get_row() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._get_row", false]], "_get_row_by_index() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._get_row_by_index", false]], "_get_row_by_index() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._get_row_by_index", false]], "_get_scaled_normal() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig._get_scaled_normal", false]], "_get_scaled_normal() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig._get_scaled_normal", false]], "_get_slabs() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._get_slabs", false]], "_get_timestamp() (core.trainers.base_trainer.basetrainer static method)": [[149, "core.trainers.base_trainer.BaseTrainer._get_timestamp", false]], "_get_timestamp() (core.trainers.basetrainer static method)": [[150, "core.trainers.BaseTrainer._get_timestamp", false]], "_graph_parallel_group (in module core.common.gp_utils)": [[16, "core.common.gp_utils._GRAPH_PARALLEL_GROUP", false]], "_grid_act() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._grid_act", false]], "_grid_act() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._grid_act", false]], "_hasmetadata (class in core.common.data_parallel)": [[13, "core.common.data_parallel._HasMetadata", false]], "_import_local_file() (in module core.common.utils)": [[29, "core.common.utils._import_local_file", false]], "_init_edge_rot_mat() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.escn.escn method)": [[64, "core.models.escn.eSCN._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.escn.escn.escn method)": [[63, "core.models.escn.escn.eSCN._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork._init_edge_rot_mat", false]], "_init_edge_rot_mat() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork._init_edge_rot_mat", false]], "_init_weights() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._init_weights", false]], "_init_weights() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._init_weights", false]], "_initialize() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid._initialize", false]], "_jd (in module core.models.equiformer_v2.wigner)": [[62, "core.models.equiformer_v2.wigner._Jd", false]], "_jd (in module core.models.escn.so3)": [[65, "core.models.escn.so3._Jd", false]], "_jd (in module core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics._Jd", false]], "_l_primary() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._l_primary", false]], "_l_primary() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._l_primary", false]], "_load_adsorbate() (data.oc.core.adsorbate method)": [[156, "data.oc.core.Adsorbate._load_adsorbate", false]], "_load_adsorbate() (data.oc.core.adsorbate.adsorbate method)": [[153, "data.oc.core.adsorbate.Adsorbate._load_adsorbate", false]], "_load_dataset() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler._load_dataset", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.asereaddataset method)": [[31, "core.datasets.ase_datasets.AseReadDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.asereaddataset method)": [[37, "core.datasets.AseReadDataset._load_dataset_get_ids", false]], "_load_dataset_get_ids() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset._load_dataset_get_ids", false]], "_load_ids() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._load_ids", false]], "_load_ids() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._load_ids", false]], "_load_scale_dict() (in module core.modules.scaling.compat)": [[126, "core.modules.scaling.compat._load_scale_dict", false]], "_m_primary() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._m_primary", false]], "_m_primary() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._m_primary", false]], "_nextid (core.datasets.lmdb_database.lmdbdatabase property)": [[38, "core.datasets.lmdb_database.LMDBDatabase._nextid", false]], "_nextid (core.datasets.lmdbdatabase property)": [[37, "core.datasets.LMDBDatabase._nextid", false]], "_observe() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor._observe", false]], "_observe() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor._observe", false]], "_prefilled_input() (in module core.modules.scaling.fit)": [[127, "core.modules.scaling.fit._prefilled_input", false]], "_process_error() (core.tasks.task.traintask method)": [[148, "core.tasks.task.TrainTask._process_error", false]], "_process_error() (core.tasks.traintask method)": [[147, "core.tasks.TrainTask._process_error", false]], "_rank_edge_distances() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork._rank_edge_distances", false]], "_rank_edge_distances() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork._rank_edge_distances", false]], "_reduce() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._reduce", false]], "_reduce_edge() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._reduce_edge", false]], "_reduce_edge() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._reduce_edge", false]], "_refresh_pbar() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._refresh_pbar", false]], "_relax_binding_sites_on_slabs() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._relax_binding_sites_on_slabs", false]], "_report_incompat_keys() (in module core.common.utils)": [[29, "core.common.utils._report_incompat_keys", false]], "_reshape_features() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs._reshape_features", false]], "_reshape_features() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs._reshape_features", false]], "_resolve_scale_factor_submodule() (in module core.common.utils)": [[29, "core.common.utils._resolve_scale_factor_submodule", false]], "_rotate() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._rotate", false]], "_rotate() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._rotate", false]], "_rotate_inv() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding._rotate_inv", false]], "_rotate_inv() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding._rotate_inv", false]], "_run_relaxations_on_slab() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._run_relaxations_on_slab", false]], "_run_request() (ocpapi.client method)": [[188, "ocpapi.Client._run_request", false]], "_run_request() (ocpapi.client.client method)": [[185, "ocpapi.client.Client._run_request", false]], "_run_request() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client._run_request", false]], "_select() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._select", false]], "_select() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._select", false]], "_setup_log_record_factory() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._setup_log_record_factory", false]], "_sort_key() (ocpapi.prompt_for_slabs_to_keep static method)": [[188, "ocpapi.prompt_for_slabs_to_keep._sort_key", false]], "_sort_key() (ocpapi.workflows.filter.prompt_for_slabs_to_keep static method)": [[192, "ocpapi.workflows.filter.prompt_for_slabs_to_keep._sort_key", false]], "_sort_key() (ocpapi.workflows.prompt_for_slabs_to_keep static method)": [[193, "ocpapi.workflows.prompt_for_slabs_to_keep._sort_key", false]], "_split() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._split", false]], "_split_tensor() (in module core.common.gp_utils)": [[16, "core.common.gp_utils._split_tensor", false]], "_standardize() (in module core.models.gemnet.initializers)": [[68, "core.models.gemnet.initializers._standardize", false]], "_standardize() (in module core.models.gemnet_gp.initializers)": [[81, "core.models.gemnet_gp.initializers._standardize", false]], "_standardize() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers._standardize", false]], "_stats (class in core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor._Stats", false]], "_submit_relaxations() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._submit_relaxations", false]], "_submit_relaxations_with_progress_logging() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates._submit_relaxations_with_progress_logging", false]], "_t (in module core.common.typing)": [[28, "core.common.typing._T", false]], "_train_batch() (in module core.modules.scaling.fit)": [[127, "core.modules.scaling.fit._train_batch", false]], "_uniform_init_linear_weights() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._uniform_init_linear_weights", false]], "_uniform_init_linear_weights() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._uniform_init_linear_weights", false]], "_uniform_init_rad_func_linear_weights() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20._uniform_init_rad_func_linear_weights", false]], "_uniform_init_rad_func_linear_weights() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2._uniform_init_rad_func_linear_weights", false]], "_unwrapped_model (core.trainers.base_trainer.basetrainer property)": [[149, "core.trainers.base_trainer.BaseTrainer._unwrapped_model", false]], "_unwrapped_model (core.trainers.basetrainer property)": [[150, "core.trainers.BaseTrainer._unwrapped_model", false]], "_update() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._update", false]], "_update() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._update", false]], "_wait_check_retry_after (class in ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry._wait_check_retry_after", false]], "_write() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._write", false]], "_write() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._write", false]], "_write_adslabs() (data.oc.structure_generator.structuregenerator method)": [[169, "data.oc.structure_generator.StructureGenerator._write_adslabs", false]], "_write_deleted_ids() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase._write_deleted_ids", false]], "_write_deleted_ids() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase._write_deleted_ids", false]], "_z_rot_mat() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation._z_rot_mat", false]], "_z_rot_mat() (in module core.models.equiformer_v2.wigner)": [[62, "core.models.equiformer_v2.wigner._z_rot_mat", false]], "_z_rot_mat() (in module core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics._z_rot_mat", false]], "act (class in core.models.utils.activations)": [[118, "core.models.utils.activations.Act", false]], "action (ocpapi.ratelimitlogging attribute)": [[188, "ocpapi.RateLimitLogging.action", false]], "action (ocpapi.workflows.ratelimitlogging attribute)": [[193, "ocpapi.workflows.RateLimitLogging.action", false]], "action (ocpapi.workflows.retry.ratelimitlogging attribute)": [[195, "ocpapi.workflows.retry.RateLimitLogging.action", false]], "add_core_args() (core.common.flags.flags method)": [[15, "core.common.flags.Flags.add_core_args", false]], "add_edge_distance_to_graph() (in module core.common.utils)": [[29, "core.common.utils.add_edge_distance_to_graph", false]], "adsorbate (class in data.oc.core)": [[156, "data.oc.core.Adsorbate", false]], "adsorbate (class in data.oc.core.adsorbate)": [[153, "data.oc.core.adsorbate.Adsorbate", false]], "adsorbate (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.adsorbate", false]], "adsorbate (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.adsorbate", false]], "adsorbate (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.adsorbate", false]], "adsorbate (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.adsorbate", false]], "adsorbate (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.adsorbate", false]], "adsorbate (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.adsorbate", false]], "adsorbate_configs (ocpapi.adsorbateslabconfigs attribute)": [[188, "ocpapi.AdsorbateSlabConfigs.adsorbate_configs", false]], "adsorbate_configs (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.adsorbateslabconfigs attribute)": [[185, "ocpapi.client.AdsorbateSlabConfigs.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.models.adsorbateslabconfigs attribute)": [[186, "ocpapi.client.models.AdsorbateSlabConfigs.adsorbate_configs", false]], "adsorbate_configs (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.adsorbate_configs", false]], "adsorbate_pkl_path (in module data.oc.databases.pkls)": [[160, "data.oc.databases.pkls.ADSORBATE_PKL_PATH", false]], "adsorbate_reaction (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.adsorbate_reaction", false]], "adsorbate_reaction (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.adsorbate_reaction", false]], "adsorbate_reaction (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.adsorbate_reaction", false]], "adsorbatebindingsites (class in ocpapi)": [[188, "ocpapi.AdsorbateBindingSites", false]], "adsorbatebindingsites (class in ocpapi.workflows)": [[193, "ocpapi.workflows.AdsorbateBindingSites", false]], "adsorbatebindingsites (class in ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites", false]], "adsorbates (class in ocpapi)": [[188, "ocpapi.Adsorbates", false]], "adsorbates (class in ocpapi.client)": [[185, "ocpapi.client.Adsorbates", false]], "adsorbates (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Adsorbates", false]], "adsorbates_supported (ocpapi.adsorbates attribute)": [[188, "ocpapi.Adsorbates.adsorbates_supported", false]], "adsorbates_supported (ocpapi.client.adsorbates attribute)": [[185, "ocpapi.client.Adsorbates.adsorbates_supported", false]], "adsorbates_supported (ocpapi.client.models.adsorbates attribute)": [[186, "ocpapi.client.models.Adsorbates.adsorbates_supported", false]], "adsorbatesexception": [[190, "ocpapi.workflows.adsorbates.AdsorbatesException", false]], "adsorbateslabconfig (class in data.oc.core)": [[156, "data.oc.core.AdsorbateSlabConfig", false]], "adsorbateslabconfig (class in data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig", false]], "adsorbateslabconfigs (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabConfigs", false]], "adsorbateslabconfigs (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabConfigs", false]], "adsorbateslabconfigs (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabConfigs", false]], "adsorbateslabrelaxationresult (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationResult", false]], "adsorbateslabrelaxationresult (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult", false]], "adsorbateslabrelaxationresult (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult", false]], "adsorbateslabrelaxations (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxations", false]], "adsorbateslabrelaxations (class in ocpapi.workflows)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations", false]], "adsorbateslabrelaxations (class in ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations", false]], "adsorbateslabrelaxationsrequest (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest", false]], "adsorbateslabrelaxationsrequest (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest", false]], "adsorbateslabrelaxationsrequest (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest", false]], "adsorbateslabrelaxationsresults (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationsResults", false]], "adsorbateslabrelaxationsresults (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsResults", false]], "adsorbateslabrelaxationsresults (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsResults", false]], "adsorbateslabrelaxationssystem (class in ocpapi)": [[188, "ocpapi.AdsorbateSlabRelaxationsSystem", false]], "adsorbateslabrelaxationssystem (class in ocpapi.client)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsSystem", false]], "adsorbateslabrelaxationssystem (class in ocpapi.client.models)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsSystem", false]], "adsorbml.2023_neurips_challenge.challenge_eval": [[0, "module-adsorbml.2023_neurips_challenge.challenge_eval", false]], "adsorbml.scripts.dense_eval": [[1, "module-adsorbml.scripts.dense_eval", false]], "adsorbml.scripts.process_mlrs": [[2, "module-adsorbml.scripts.process_mlrs", false]], "adsorbml.scripts.utils": [[3, "module-adsorbml.scripts.utils", false]], "adsorbml.scripts.write_top_k_vasp": [[4, "module-adsorbml.scripts.write_top_k_vasp", false]], "adsorption_data (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.adsorption_data", false], [176, "id10", false], [176, "id12", false]], "adsorption_data_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.adsorption_data_defective", false], [176, "id11", false], [176, "id13", false]], "aggregate() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.aggregate", false]], "all_converged() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.all_converged", false]], "all_gather() (in module core.common.distutils)": [[14, "core.common.distutils.all_gather", false]], "all_reduce() (in module core.common.distutils)": [[14, "core.common.distutils.all_reduce", false]], "api_host (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.api_host", false]], "api_host (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.api_host", false]], "api_host (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.api_host", false]], "apply_one_tags() (in module core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.apply_one_tags", false]], "are_all_adsorbate_atoms_overlapping() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.are_all_adsorbate_atoms_overlapping", false]], "args (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.args", false]], "args (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.args", false]], "ase_relaxation() (in module data.om.omdata.orca.recipes)": [[182, "data.om.omdata.orca.recipes.ase_relaxation", false]], "aseatomsadaptor (in module core.preprocessing.atoms_to_graphs)": [[133, "core.preprocessing.atoms_to_graphs.AseAtomsAdaptor", false]], "aseatomsdataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseAtomsDataset", false]], "asedbdataset (class in core.datasets)": [[37, "core.datasets.AseDBDataset", false]], "asedbdataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseDBDataset", false]], "asereaddataset (class in core.datasets)": [[37, "core.datasets.AseReadDataset", false]], "asereaddataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseReadDataset", false]], "asereadmultistructuredataset (class in core.datasets)": [[37, "core.datasets.AseReadMultiStructureDataset", false]], "asereadmultistructuredataset (class in core.datasets.ase_datasets)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset", false]], "assert_is_instance() (in module core.common.typing)": [[28, "core.common.typing.assert_is_instance", false]], "associated_legendre_polynomials() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.associated_legendre_polynomials", false]], "associated_legendre_polynomials() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.associated_legendre_polynomials", false]], "associated_legendre_polynomials() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.associated_legendre_polynomials", false]], "atomembedding (class in core.models.gemnet.layers.embedding_block)": [[73, "core.models.gemnet.layers.embedding_block.AtomEmbedding", false]], "atomembedding (class in core.models.gemnet_gp.layers.embedding_block)": [[86, "core.models.gemnet_gp.layers.embedding_block.AtomEmbedding", false]], "atomembedding (class in core.models.gemnet_oc.layers.embedding_block)": [[100, "core.models.gemnet_oc.layers.embedding_block.AtomEmbedding", false]], "atomic_radii (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.ATOMIC_RADII", false]], "atomic_radii (in module core.datasets.embeddings.atomic_radii)": [[32, "core.datasets.embeddings.atomic_radii.ATOMIC_RADII", false]], "atoms (class in ocpapi)": [[188, "ocpapi.Atoms", false]], "atoms (class in ocpapi.client)": [[185, "ocpapi.client.Atoms", false]], "atoms (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Atoms", false]], "atoms (ocpapi.client.models.slab attribute)": [[186, "ocpapi.client.models.Slab.atoms", false]], "atoms (ocpapi.client.slab attribute)": [[185, "ocpapi.client.Slab.atoms", false]], "atoms (ocpapi.slab attribute)": [[188, "ocpapi.Slab.atoms", false]], "atomstographs (class in core.preprocessing)": [[134, "core.preprocessing.AtomsToGraphs", false]], "atomstographs (class in core.preprocessing.atoms_to_graphs)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs", false]], "atomupdateblock (class in core.models.gemnet.layers.atom_update_block)": [[69, "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock", false]], "atomupdateblock (class in core.models.gemnet_gp.layers.atom_update_block)": [[82, "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock", false]], "atomupdateblock (class in core.models.gemnet_oc.layers.atom_update_block)": [[96, "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock", false]], "atomwisel2loss (class in core.modules.loss)": [[124, "core.modules.loss.AtomwiseL2Loss", false]], "autoframe (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrame", false]], "autoframedesorption (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrameDesorption", false]], "autoframedissociation (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation", false]], "autoframetransfer (class in cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer", false]], "available_pretrained_models (in module core.models)": [[107, "core.models.available_pretrained_models", false]], "available_pretrained_models (in module core.models.model_registry)": [[108, "core.models.model_registry.available_pretrained_models", false]], "average_distance_within_threshold() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.average_distance_within_threshold", false]], "backward() (core.common.gp_utils.copytomodelparallelregion static method)": [[16, "core.common.gp_utils.CopyToModelParallelRegion.backward", false]], "backward() (core.common.gp_utils.gatherfrommodelparallelregion static method)": [[16, "core.common.gp_utils.GatherFromModelParallelRegion.backward", false]], "backward() (core.common.gp_utils.reducefrommodelparallelregion static method)": [[16, "core.common.gp_utils.ReduceFromModelParallelRegion.backward", false]], "backward() (core.common.gp_utils.scattertomodelparallelregion static method)": [[16, "core.common.gp_utils.ScatterToModelParallelRegion.backward", false]], "balanced_partition() (in module core.common.data_parallel)": [[13, "core.common.data_parallel.balanced_partition", false]], "balancedbatchsampler (class in core.common.data_parallel)": [[13, "core.common.data_parallel.BalancedBatchSampler", false]], "barrierless_converged() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.barrierless_converged", false]], "basemodel (class in core.models.base)": [[43, "core.models.base.BaseModel", false]], "basetask (class in core.tasks.task)": [[148, "core.tasks.task.BaseTask", false]], "basetrainer (class in core.trainers)": [[150, "core.trainers.BaseTrainer", false]], "basetrainer (class in core.trainers.base_trainer)": [[149, "core.trainers.base_trainer.BaseTrainer", false]], "basis (class in core.models.utils.basis)": [[119, "core.models.utils.basis.Basis", false]], "basisembedding (class in core.models.gemnet_oc.layers.efficient)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding", false]], "batch_to_atoms() (in module core.common.relaxation.ase_utils)": [[21, "core.common.relaxation.ase_utils.batch_to_atoms", false]], "bernsteinbasis (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.BernsteinBasis", false]], "bernsteinbasis (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.BernsteinBasis", false]], "bernsteinbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.BernsteinBasis", false]], "bessel_basis() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.bessel_basis", false]], "bessel_basis() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.bessel_basis", false]], "bessel_basis() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.bessel_basis", false]], "bin_plot() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.bin_plot", false]], "binned_average() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.binned_average", false]], "both_barriered() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.both_barriered", false]], "both_barrierless() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.both_barrierless", false]], "broadcast() (in module core.common.distutils)": [[14, "core.common.distutils.broadcast", false]], "build_config() (in module core.common.utils)": [[29, "core.common.utils.build_config", false]], "bulk (class in data.oc.core)": [[156, "data.oc.core.Bulk", false]], "bulk (class in data.oc.core.bulk)": [[155, "data.oc.core.bulk.Bulk", false]], "bulk (class in ocpapi)": [[188, "ocpapi.Bulk", false]], "bulk (class in ocpapi.client)": [[185, "ocpapi.client.Bulk", false]], "bulk (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Bulk", false]], "bulk (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.bulk", false]], "bulk (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.bulk", false]], "bulk (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.bulk", false]], "bulk (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.bulk", false]], "bulk (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.bulk", false]], "bulk (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.bulk", false]], "bulk_pkl (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.BULK_PKL", false]], "bulk_pkl_path (in module data.oc.databases.pkls)": [[160, "data.oc.databases.pkls.BULK_PKL_PATH", false]], "bulk_src_id (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.bulk_src_id", false]], "bulk_src_id (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.bulk_src_id", false]], "bulk_src_id (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.bulk_src_id", false]], "bulk_vasp_flags (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.BULK_VASP_FLAGS", false]], "bulks (class in ocpapi)": [[188, "ocpapi.Bulks", false]], "bulks (class in ocpapi.client)": [[185, "ocpapi.client.Bulks", false]], "bulks (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Bulks", false]], "bulks_supported (ocpapi.bulks attribute)": [[188, "ocpapi.Bulks.bulks_supported", false]], "bulks_supported (ocpapi.client.bulks attribute)": [[185, "ocpapi.client.Bulks.bulks_supported", false]], "bulks_supported (ocpapi.client.models.bulks attribute)": [[186, "ocpapi.client.models.Bulks.bulks_supported", false]], "calc_forces() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.calc_forces", false]], "calc_forces_and_update() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.calc_forces_and_update", false]], "calcspherepoints() (in module core.models.scn.sampling)": [[114, "core.models.scn.sampling.CalcSpherePoints", false]], "calcspherepointsrandom() (in module core.models.scn.sampling)": [[114, "core.models.scn.sampling.CalcSpherePointsRandom", false]], "calculate() (core.common.relaxation.ase_utils.ocpcalculator method)": [[21, "core.common.relaxation.ase_utils.OCPCalculator.calculate", false]], "calculate_center_of_mass() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.calculate_center_of_mass", false]], "calculate_coordination_of_bulk_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.calculate_coordination_of_bulk_atoms", false]], "calculate_interatomic_vectors() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.calculate_interatomic_vectors", false]], "calculate_interatomic_vectors() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.calculate_interatomic_vectors", false]], "calculate_interatomic_vectors() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.calculate_interatomic_vectors", false]], "calculate_quad_angles() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.calculate_quad_angles", false]], "calculate_quad_angles() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.calculate_quad_angles", false]], "calculate_surface_k_points() (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.calculate_surface_k_points", false]], "cattsunami": [[10, "module-cattsunami", false]], "cattsunami.core": [[6, "module-cattsunami.core", false]], "cattsunami.core.autoframe": [[5, "module-cattsunami.core.autoframe", false]], "cattsunami.core.ocpneb": [[7, "module-cattsunami.core.ocpneb", false]], "cattsunami.core.reaction": [[8, "module-cattsunami.core.reaction", false]], "cattsunami.databases": [[9, "module-cattsunami.databases", false]], "cattsunami.run_validation.run_validation": [[11, "module-cattsunami.run_validation.run_validation", false]], "cell (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.cell", false]], "cell (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.cell", false]], "cell (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.cell", false]], "cell (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.cell", false]], "cell (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.cell", false]], "cell (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.cell", false]], "cg_change_mat() (in module core.common.utils)": [[29, "core.common.utils.cg_change_mat", false]], "check_convergence() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.check_convergence", false]], "check_traj_files() (in module core.common.utils)": [[29, "core.common.utils.check_traj_files", false]], "checkpoint() (core._cli.runner method)": [[12, "core._cli.Runner.checkpoint", false]], "chem_err() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.chem_err", false]], "circularbasislayer (class in core.models.gemnet.layers.spherical_basis)": [[77, "core.models.gemnet.layers.spherical_basis.CircularBasisLayer", false]], "circularbasislayer (class in core.models.gemnet_gp.layers.spherical_basis)": [[90, "core.models.gemnet_gp.layers.spherical_basis.CircularBasisLayer", false]], "circularbasislayer (class in core.models.gemnet_oc.layers.spherical_basis)": [[105, "core.models.gemnet_oc.layers.spherical_basis.CircularBasisLayer", false]], "cleanup() (in module core.common.distutils)": [[14, "core.common.distutils.cleanup", false]], "cleanup() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.cleanup", false]], "cleanup_gp() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.cleanup_gp", false]], "client (class in ocpapi)": [[188, "ocpapi.Client", false]], "client (class in ocpapi.client)": [[185, "ocpapi.client.Client", false]], "client (class in ocpapi.client.client)": [[184, "ocpapi.client.client.Client", false]], "clone() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.clone", false]], "clone() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.clone", false]], "close() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.close", false]], "close() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.close", false]], "close_db() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.close_db", false]], "close_db() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.close_db", false]], "close_db() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.close_db", false]], "close_db() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.close_db", false]], "close_db() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.close_db", false]], "close_db() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.close_db", false]], "close_db() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.close_db", false]], "coefficient_idx() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.coefficient_idx", false]], "coefficient_idx() (core.models.escn.so3.coefficientmapping method)": [[65, "core.models.escn.so3.CoefficientMapping.coefficient_idx", false]], "coefficientmapping (class in core.models.escn.so3)": [[65, "core.models.escn.so3.CoefficientMapping", false]], "coefficientmappingmodule (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule", false]], "collate() (in module core.common.utils)": [[29, "core.common.utils.collate", false]], "combineyrotations() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.CombineYRotations", false]], "complete (class in core.common.utils)": [[29, "core.common.utils.Complete", false]], "complete_data (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data", false], [176, "id0", false]], "complete_data_merged_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective", false], [176, "id2", false]], "complete_data_merged_defective_co2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_co2", false]], "complete_data_merged_defective_co_ads (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_co_ads", false]], "complete_data_merged_defective_co_ads_2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_co_ads_2", false]], "complete_data_merged_defective_h2o (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_defective_h2o", false]], "complete_data_merged_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine", false], [176, "id1", false]], "complete_data_merged_pristine_co2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_co2", false]], "complete_data_merged_pristine_co_ads (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_co_ads", false]], "complete_data_merged_pristine_co_ads_2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_co_ads_2", false]], "complete_data_merged_pristine_h2o (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.complete_data_merged_pristine_h2o", false]], "complex_idx() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.complex_idx", false]], "complex_idx() (core.models.escn.so3.coefficientmapping method)": [[65, "core.models.escn.so3.CoefficientMapping.complex_idx", false]], "compute_hybrid_success() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.compute_hybrid_success", false]], "compute_neighbors() (in module core.common.utils)": [[29, "core.common.utils.compute_neighbors", false]], "compute_slabs() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.compute_slabs", false]], "compute_valid_ml_success() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.compute_valid_ml_success", false]], "compute_valid_ml_success() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.compute_valid_ml_success", false]], "conditional_grad() (in module core.common.utils)": [[29, "core.common.utils.conditional_grad", false]], "config_id (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.config_id", false]], "config_id (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.config_id", false]], "config_id (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.config_id", false]], "config_ids (ocpapi.adsorbateslabrelaxationssystem attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsSystem.config_ids", false]], "config_ids (ocpapi.client.adsorbateslabrelaxationssystem attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsSystem.config_ids", false]], "config_ids (ocpapi.client.models.adsorbateslabrelaxationssystem attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsSystem.config_ids", false]], "configs (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.configs", false]], "configs (ocpapi.adsorbateslabrelaxationsresults attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsResults.configs", false]], "configs (ocpapi.client.adsorbateslabrelaxationsresults attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsResults.configs", false]], "configs (ocpapi.client.models.adsorbateslabrelaxationsresults attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsResults.configs", false]], "configs (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.configs", false]], "configs (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.configs", false]], "connect_db() (core.datasets.ase_datasets.asedbdataset static method)": [[31, "core.datasets.ase_datasets.AseDBDataset.connect_db", false]], "connect_db() (core.datasets.asedbdataset static method)": [[37, "core.datasets.AseDBDataset.connect_db", false]], "connect_db() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.connect_db", false]], "connect_db() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.connect_db", false]], "connect_db() (core.datasets.oc22_lmdb_dataset.oc22lmdbdataset method)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset.connect_db", false]], "connect_db() (core.datasets.oc22lmdbdataset method)": [[37, "core.datasets.OC22LmdbDataset.connect_db", false]], "construct_mapping() (core.common.utils.uniquekeyloader method)": [[29, "core.common.utils.UniqueKeyLoader.construct_mapping", false]], "continuous_embeddings (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.CONTINUOUS_EMBEDDINGS", false]], "continuous_embeddings (in module core.datasets.embeddings.continuous_embeddings)": [[33, "core.datasets.embeddings.continuous_embeddings.CONTINUOUS_EMBEDDINGS", false]], "converged_oszicar() (in module adsorbml.scripts.utils)": [[3, "adsorbml.scripts.utils.converged_oszicar", false]], "convert() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.convert", false]], "convert() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs.convert", false]], "convert_all() (core.preprocessing.atoms_to_graphs.atomstographs method)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.convert_all", false]], "convert_all() (core.preprocessing.atomstographs method)": [[134, "core.preprocessing.AtomsToGraphs.convert_all", false]], "copy_to() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.copy_to", false]], "copy_to_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.copy_to_model_parallel_region", false]], "copytomodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.CopyToModelParallelRegion", false]], "core": [[42, "module-core", false]], "core._cli": [[12, "module-core._cli", false]], "core.common": [[18, "module-core.common", false]], "core.common.data_parallel": [[13, "module-core.common.data_parallel", false]], "core.common.distutils": [[14, "module-core.common.distutils", false]], "core.common.flags": [[15, "module-core.common.flags", false]], "core.common.gp_utils": [[16, "module-core.common.gp_utils", false]], "core.common.hpo_utils": [[17, "module-core.common.hpo_utils", false]], "core.common.logger": [[19, "module-core.common.logger", false]], "core.common.registry": [[20, "module-core.common.registry", false]], "core.common.relaxation": [[22, "module-core.common.relaxation", false]], "core.common.relaxation.ase_utils": [[21, "module-core.common.relaxation.ase_utils", false]], "core.common.relaxation.ml_relaxation": [[23, "module-core.common.relaxation.ml_relaxation", false]], "core.common.relaxation.optimizers": [[24, "module-core.common.relaxation.optimizers", false]], "core.common.relaxation.optimizers.lbfgs_torch": [[25, "module-core.common.relaxation.optimizers.lbfgs_torch", false]], "core.common.transforms": [[26, "module-core.common.transforms", false]], "core.common.tutorial_utils": [[27, "module-core.common.tutorial_utils", false]], "core.common.typing": [[28, "module-core.common.typing", false]], "core.common.utils": [[29, "module-core.common.utils", false]], "core.datasets": [[37, "module-core.datasets", false]], "core.datasets._utils": [[30, "module-core.datasets._utils", false]], "core.datasets.ase_datasets": [[31, "module-core.datasets.ase_datasets", false]], "core.datasets.embeddings": [[34, "module-core.datasets.embeddings", false]], "core.datasets.embeddings.atomic_radii": [[32, "module-core.datasets.embeddings.atomic_radii", false]], "core.datasets.embeddings.continuous_embeddings": [[33, "module-core.datasets.embeddings.continuous_embeddings", false]], "core.datasets.embeddings.khot_embeddings": [[35, "module-core.datasets.embeddings.khot_embeddings", false]], "core.datasets.embeddings.qmof_khot_embeddings": [[36, "module-core.datasets.embeddings.qmof_khot_embeddings", false]], "core.datasets.lmdb_database": [[38, "module-core.datasets.lmdb_database", false]], "core.datasets.lmdb_dataset": [[39, "module-core.datasets.lmdb_dataset", false]], "core.datasets.oc22_lmdb_dataset": [[40, "module-core.datasets.oc22_lmdb_dataset", false]], "core.datasets.target_metadata_guesser": [[41, "module-core.datasets.target_metadata_guesser", false]], "core.models": [[107, "module-core.models", false]], "core.models.base": [[43, "module-core.models.base", false]], "core.models.dimenet_plus_plus": [[44, "module-core.models.dimenet_plus_plus", false]], "core.models.equiformer_v2": [[50, "module-core.models.equiformer_v2", false]], "core.models.equiformer_v2.activation": [[45, "module-core.models.equiformer_v2.activation", false]], "core.models.equiformer_v2.drop": [[46, "module-core.models.equiformer_v2.drop", false]], "core.models.equiformer_v2.edge_rot_mat": [[47, "module-core.models.equiformer_v2.edge_rot_mat", false]], "core.models.equiformer_v2.equiformer_v2_oc20": [[48, "module-core.models.equiformer_v2.equiformer_v2_oc20", false]], "core.models.equiformer_v2.gaussian_rbf": [[49, "module-core.models.equiformer_v2.gaussian_rbf", false]], "core.models.equiformer_v2.input_block": [[51, "module-core.models.equiformer_v2.input_block", false]], "core.models.equiformer_v2.layer_norm": [[52, "module-core.models.equiformer_v2.layer_norm", false]], "core.models.equiformer_v2.module_list": [[53, "module-core.models.equiformer_v2.module_list", false]], "core.models.equiformer_v2.radial_function": [[54, "module-core.models.equiformer_v2.radial_function", false]], "core.models.equiformer_v2.so2_ops": [[55, "module-core.models.equiformer_v2.so2_ops", false]], "core.models.equiformer_v2.so3": [[56, "module-core.models.equiformer_v2.so3", false]], "core.models.equiformer_v2.trainers": [[59, "module-core.models.equiformer_v2.trainers", false]], "core.models.equiformer_v2.trainers.energy_trainer": [[57, "module-core.models.equiformer_v2.trainers.energy_trainer", false]], "core.models.equiformer_v2.trainers.forces_trainer": [[58, "module-core.models.equiformer_v2.trainers.forces_trainer", false]], "core.models.equiformer_v2.trainers.lr_scheduler": [[60, "module-core.models.equiformer_v2.trainers.lr_scheduler", false]], "core.models.equiformer_v2.transformer_block": [[61, "module-core.models.equiformer_v2.transformer_block", false]], "core.models.equiformer_v2.wigner": [[62, "module-core.models.equiformer_v2.wigner", false]], "core.models.escn": [[64, "module-core.models.escn", false]], "core.models.escn.escn": [[63, "module-core.models.escn.escn", false]], "core.models.escn.so3": [[65, "module-core.models.escn.so3", false]], "core.models.gemnet": [[67, "module-core.models.gemnet", false]], "core.models.gemnet.gemnet": [[66, "module-core.models.gemnet.gemnet", false]], "core.models.gemnet.initializers": [[68, "module-core.models.gemnet.initializers", false]], "core.models.gemnet.layers": [[74, "module-core.models.gemnet.layers", false]], "core.models.gemnet.layers.atom_update_block": [[69, "module-core.models.gemnet.layers.atom_update_block", false]], "core.models.gemnet.layers.base_layers": [[70, "module-core.models.gemnet.layers.base_layers", false]], "core.models.gemnet.layers.basis_utils": [[71, "module-core.models.gemnet.layers.basis_utils", false]], "core.models.gemnet.layers.efficient": [[72, "module-core.models.gemnet.layers.efficient", false]], "core.models.gemnet.layers.embedding_block": [[73, "module-core.models.gemnet.layers.embedding_block", false]], "core.models.gemnet.layers.interaction_block": [[75, "module-core.models.gemnet.layers.interaction_block", false]], "core.models.gemnet.layers.radial_basis": [[76, "module-core.models.gemnet.layers.radial_basis", false]], "core.models.gemnet.layers.spherical_basis": [[77, "module-core.models.gemnet.layers.spherical_basis", false]], "core.models.gemnet.utils": [[78, "module-core.models.gemnet.utils", false]], "core.models.gemnet_gp": [[80, "module-core.models.gemnet_gp", false]], "core.models.gemnet_gp.gemnet": [[79, "module-core.models.gemnet_gp.gemnet", false]], "core.models.gemnet_gp.initializers": [[81, "module-core.models.gemnet_gp.initializers", false]], "core.models.gemnet_gp.layers": [[87, "module-core.models.gemnet_gp.layers", false]], "core.models.gemnet_gp.layers.atom_update_block": [[82, "module-core.models.gemnet_gp.layers.atom_update_block", false]], "core.models.gemnet_gp.layers.base_layers": [[83, "module-core.models.gemnet_gp.layers.base_layers", false]], "core.models.gemnet_gp.layers.basis_utils": [[84, "module-core.models.gemnet_gp.layers.basis_utils", false]], "core.models.gemnet_gp.layers.efficient": [[85, "module-core.models.gemnet_gp.layers.efficient", false]], "core.models.gemnet_gp.layers.embedding_block": [[86, "module-core.models.gemnet_gp.layers.embedding_block", false]], "core.models.gemnet_gp.layers.interaction_block": [[88, "module-core.models.gemnet_gp.layers.interaction_block", false]], "core.models.gemnet_gp.layers.radial_basis": [[89, "module-core.models.gemnet_gp.layers.radial_basis", false]], "core.models.gemnet_gp.layers.spherical_basis": [[90, "module-core.models.gemnet_gp.layers.spherical_basis", false]], "core.models.gemnet_gp.utils": [[91, "module-core.models.gemnet_gp.utils", false]], "core.models.gemnet_oc": [[93, "module-core.models.gemnet_oc", false]], "core.models.gemnet_oc.gemnet_oc": [[92, "module-core.models.gemnet_oc.gemnet_oc", false]], "core.models.gemnet_oc.initializers": [[94, "module-core.models.gemnet_oc.initializers", false]], "core.models.gemnet_oc.interaction_indices": [[95, "module-core.models.gemnet_oc.interaction_indices", false]], "core.models.gemnet_oc.layers": [[102, "module-core.models.gemnet_oc.layers", false]], "core.models.gemnet_oc.layers.atom_update_block": [[96, "module-core.models.gemnet_oc.layers.atom_update_block", false]], "core.models.gemnet_oc.layers.base_layers": [[97, "module-core.models.gemnet_oc.layers.base_layers", false]], "core.models.gemnet_oc.layers.basis_utils": [[98, "module-core.models.gemnet_oc.layers.basis_utils", false]], "core.models.gemnet_oc.layers.efficient": [[99, "module-core.models.gemnet_oc.layers.efficient", false]], "core.models.gemnet_oc.layers.embedding_block": [[100, "module-core.models.gemnet_oc.layers.embedding_block", false]], "core.models.gemnet_oc.layers.force_scaler": [[101, "module-core.models.gemnet_oc.layers.force_scaler", false]], "core.models.gemnet_oc.layers.interaction_block": [[103, "module-core.models.gemnet_oc.layers.interaction_block", false]], "core.models.gemnet_oc.layers.radial_basis": [[104, "module-core.models.gemnet_oc.layers.radial_basis", false]], "core.models.gemnet_oc.layers.spherical_basis": [[105, "module-core.models.gemnet_oc.layers.spherical_basis", false]], "core.models.gemnet_oc.utils": [[106, "module-core.models.gemnet_oc.utils", false]], "core.models.model_registry": [[108, "module-core.models.model_registry", false]], "core.models.painn": [[109, "module-core.models.painn", false]], "core.models.painn.painn": [[110, "module-core.models.painn.painn", false]], "core.models.painn.utils": [[111, "module-core.models.painn.utils", false]], "core.models.schnet": [[112, "module-core.models.schnet", false]], "core.models.scn": [[113, "module-core.models.scn", false]], "core.models.scn.sampling": [[114, "module-core.models.scn.sampling", false]], "core.models.scn.scn": [[115, "module-core.models.scn.scn", false]], "core.models.scn.smearing": [[116, "module-core.models.scn.smearing", false]], "core.models.scn.spherical_harmonics": [[117, "module-core.models.scn.spherical_harmonics", false]], "core.models.utils": [[120, "module-core.models.utils", false]], "core.models.utils.activations": [[118, "module-core.models.utils.activations", false]], "core.models.utils.basis": [[119, "module-core.models.utils.basis", false]], "core.modules": [[123, "module-core.modules", false]], "core.modules.evaluator": [[121, "module-core.modules.evaluator", false]], "core.modules.exponential_moving_average": [[122, "module-core.modules.exponential_moving_average", false]], "core.modules.loss": [[124, "module-core.modules.loss", false]], "core.modules.normalizer": [[125, "module-core.modules.normalizer", false]], "core.modules.scaling": [[128, "module-core.modules.scaling", false]], "core.modules.scaling.compat": [[126, "module-core.modules.scaling.compat", false]], "core.modules.scaling.fit": [[127, "module-core.modules.scaling.fit", false]], "core.modules.scaling.scale_factor": [[129, "module-core.modules.scaling.scale_factor", false]], "core.modules.scaling.util": [[130, "module-core.modules.scaling.util", false]], "core.modules.scheduler": [[131, "module-core.modules.scheduler", false]], "core.modules.transforms": [[132, "module-core.modules.transforms", false]], "core.preprocessing": [[134, "module-core.preprocessing", false]], "core.preprocessing.atoms_to_graphs": [[133, "module-core.preprocessing.atoms_to_graphs", false]], "core.scripts": [[140, "module-core.scripts", false]], "core.scripts.download_data": [[135, "module-core.scripts.download_data", false]], "core.scripts.gif_maker_parallelized": [[136, "module-core.scripts.gif_maker_parallelized", false]], "core.scripts.hpo": [[137, "module-core.scripts.hpo", false]], "core.scripts.hpo.run_tune": [[138, "module-core.scripts.hpo.run_tune", false]], "core.scripts.hpo.run_tune_pbt": [[139, "module-core.scripts.hpo.run_tune_pbt", false]], "core.scripts.make_challenge_submission_file": [[141, "module-core.scripts.make_challenge_submission_file", false]], "core.scripts.make_lmdb_sizes": [[142, "module-core.scripts.make_lmdb_sizes", false]], "core.scripts.make_submission_file": [[143, "module-core.scripts.make_submission_file", false]], "core.scripts.preprocess_ef": [[144, "module-core.scripts.preprocess_ef", false]], "core.scripts.preprocess_relaxed": [[145, "module-core.scripts.preprocess_relaxed", false]], "core.scripts.uncompress": [[146, "module-core.scripts.uncompress", false]], "core.tasks": [[147, "module-core.tasks", false]], "core.tasks.task": [[148, "module-core.tasks.task", false]], "core.trainers": [[150, "module-core.trainers", false]], "core.trainers.base_trainer": [[149, "module-core.trainers.base_trainer", false]], "core.trainers.ocp_trainer": [[151, "module-core.trainers.ocp_trainer", false]], "cosine_lr_lambda() (in module core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.cosine_lr_lambda", false]], "cosine_similarity() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.cosine_similarity", false]], "cosinelrlambda (class in core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.CosineLRLambda", false]], "count (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.count", false]], "count() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.count", false]], "count() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.count", false]], "count_scf() (in module adsorbml.scripts.utils)": [[3, "adsorbml.scripts.utils.count_scf", false]], "create_dict_from_args() (in module core.common.utils)": [[29, "core.common.utils.create_dict_from_args", false]], "create_grid() (in module core.common.utils)": [[29, "core.common.utils.create_grid", false]], "current_entry (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.current_entry", false], [176, "id3", false], [176, "id4", false], [176, "id5", false], [176, "id6", false], [176, "id7", false], [176, "id8", false], [176, "id9", false]], "custom_tile_atoms() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.custom_tile_atoms", false]], "data": [[152, "module-data", false]], "data.oc": [[167, "module-data.oc", false]], "data.oc.core": [[156, "module-data.oc.core", false]], "data.oc.core.adsorbate": [[153, "module-data.oc.core.adsorbate", false]], "data.oc.core.adsorbate_slab_config": [[154, "module-data.oc.core.adsorbate_slab_config", false]], "data.oc.core.bulk": [[155, "module-data.oc.core.bulk", false]], "data.oc.core.multi_adsorbate_slab_config": [[157, "module-data.oc.core.multi_adsorbate_slab_config", false]], "data.oc.core.slab": [[158, "module-data.oc.core.slab", false]], "data.oc.databases": [[159, "module-data.oc.databases", false]], "data.oc.databases.pkls": [[160, "module-data.oc.databases.pkls", false]], "data.oc.databases.update": [[161, "module-data.oc.databases.update", false]], "data.oc.experimental.get_energies": [[162, "module-data.oc.experimental.get_energies", false]], "data.oc.experimental.merge_traj": [[163, "module-data.oc.experimental.merge_traj", false]], "data.oc.experimental.perturb_systems": [[164, "module-data.oc.experimental.perturb_systems", false]], "data.oc.experimental.rattle_test": [[165, "module-data.oc.experimental.rattle_test", false]], "data.oc.experimental.utils": [[166, "module-data.oc.experimental.utils", false]], "data.oc.scripts.precompute_sample_structures": [[168, "module-data.oc.scripts.precompute_sample_structures", false]], "data.oc.structure_generator": [[169, "module-data.oc.structure_generator", false]], "data.oc.tests": [[170, "module-data.oc.tests", false]], "data.oc.utils": [[172, "module-data.oc.utils", false]], "data.oc.utils.flag_anomaly": [[171, "module-data.oc.utils.flag_anomaly", false]], "data.oc.utils.vasp": [[173, "module-data.oc.utils.vasp", false]], "data.odac": [[175, "module-data.odac", false]], "data.odac.force_field.ff_analysis": [[174, "module-data.odac.force_field.FF_analysis", false]], "data.odac.promising_mof.promising_mof_energies.energy": [[176, "module-data.odac.promising_mof.promising_mof_energies.energy", false]], "data.om": [[179, "module-data.om", false]], "data.om.biomolecules.geom.sample_geom_drugs": [[177, "module-data.om.biomolecules.geom.sample_geom_drugs", false]], "data.om.biomolecules.geom.write_geom_drugs_structures": [[178, "module-data.om.biomolecules.geom.write_geom_drugs_structures", false]], "data.om.omdata.orca": [[181, "module-data.om.omdata.orca", false]], "data.om.omdata.orca.calc": [[180, "module-data.om.omdata.orca.calc", false]], "data.om.omdata.orca.recipes": [[182, "module-data.om.omdata.orca.recipes", false]], "data_list_collater() (in module core.datasets)": [[37, "core.datasets.data_list_collater", false]], "data_list_collater() (in module core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.data_list_collater", false]], "datatransforms (class in core.modules.transforms)": [[132, "core.modules.transforms.DataTransforms", false]], "ddploss (class in core.modules.loss)": [[124, "core.modules.loss.DDPLoss", false]], "decompose_tensor() (in module core.modules.transforms)": [[132, "core.modules.transforms.decompose_tensor", false]], "decompress_list_of_files() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.decompress_list_of_files", false]], "def_counts_df (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.def_counts_df", false]], "default_client (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.DEFAULT_CLIENT", false]], "delete (ocpapi.lifetime attribute)": [[188, "ocpapi.Lifetime.DELETE", false]], "delete (ocpapi.workflows.adsorbates.lifetime attribute)": [[190, "ocpapi.workflows.adsorbates.Lifetime.DELETE", false]], "delete (ocpapi.workflows.lifetime attribute)": [[193, "ocpapi.workflows.Lifetime.DELETE", false]], "delete() (core.datasets.lmdb_database.lmdbdatabase method)": [[38, "core.datasets.lmdb_database.LMDBDatabase.delete", false]], "delete() (core.datasets.lmdbdatabase method)": [[37, "core.datasets.LMDBDatabase.delete", false]], "delete_adsorbate_slab_relaxations() (ocpapi.client method)": [[188, "ocpapi.Client.delete_adsorbate_slab_relaxations", false]], "delete_adsorbate_slab_relaxations() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.delete_adsorbate_slab_relaxations", false]], "delete_adsorbate_slab_relaxations() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.delete_adsorbate_slab_relaxations", false]], "denorm() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.denorm", false]], "dense (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.Dense", false]], "dense (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.Dense", false]], "dense (class in core.models.gemnet_oc.layers.base_layers)": [[97, "core.models.gemnet_oc.layers.base_layers.Dense", false]], "dense_rbf_f (core.models.gemnet_gp.layers.atom_update_block.outputblock attribute)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.dense_rbf_F", false]], "describe_fairchem() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.describe_fairchem", false]], "desorption_cutoff_multiplier (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.DESORPTION_CUTOFF_MULTIPLIER", false]], "desorption_reaction_db_path (in module cattsunami.databases)": [[9, "cattsunami.databases.DESORPTION_REACTION_DB_PATH", false]], "detecttrajanomaly (class in data.oc.utils)": [[172, "data.oc.utils.DetectTrajAnomaly", false]], "detecttrajanomaly (class in data.oc.utils.flag_anomaly)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly", false]], "dict_set_recursively() (in module core.common.utils)": [[29, "core.common.utils.dict_set_recursively", false]], "dimenetplusplus (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus", false]], "dimenetpluspluswrap (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap", false]], "dissociation_reaction_db_path (in module cattsunami.databases)": [[9, "cattsunami.databases.DISSOCIATION_REACTION_DB_PATH", false]], "distanceblock (class in core.models.scn.scn)": [[115, "core.models.scn.scn.DistanceBlock", false]], "divide_and_check_no_remainder() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.divide_and_check_no_remainder", false]], "does_not_exist (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.DOES_NOT_EXIST", false]], "does_not_exist (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.DOES_NOT_EXIST", false]], "does_not_exist (ocpapi.status attribute)": [[188, "ocpapi.Status.DOES_NOT_EXIST", false]], "download_links_is2re (in module core.scripts.download_data)": [[135, "core.scripts.download_data.DOWNLOAD_LINKS_is2re", false]], "download_links_s2ef (in module core.scripts.download_data)": [[135, "core.scripts.download_data.DOWNLOAD_LINKS_s2ef", false]], "drop_path() (in module core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.drop_path", false]], "droppath (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.DropPath", false]], "edgeblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.EdgeBlock", false]], "edgeblock (class in core.models.scn.scn)": [[115, "core.models.scn.scn.EdgeBlock", false]], "edgedegreeembedding (class in core.models.equiformer_v2.input_block)": [[51, "core.models.equiformer_v2.input_block.EdgeDegreeEmbedding", false]], "edgeembedding (class in core.models.gemnet.layers.embedding_block)": [[73, "core.models.gemnet.layers.embedding_block.EdgeEmbedding", false]], "edgeembedding (class in core.models.gemnet_gp.layers.embedding_block)": [[86, "core.models.gemnet_gp.layers.embedding_block.EdgeEmbedding", false]], "edgeembedding (class in core.models.gemnet_oc.layers.embedding_block)": [[100, "core.models.gemnet_oc.layers.embedding_block.EdgeEmbedding", false]], "efficientinteractionbilinear (class in core.models.gemnet.layers.efficient)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionBilinear", false]], "efficientinteractionbilinear (class in core.models.gemnet_gp.layers.efficient)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear", false]], "efficientinteractionbilinear (class in core.models.gemnet_oc.layers.efficient)": [[99, "core.models.gemnet_oc.layers.efficient.EfficientInteractionBilinear", false]], "efficientinteractiondownprojection (class in core.models.gemnet.layers.efficient)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection", false]], "efficientinteractiondownprojection (class in core.models.gemnet_gp.layers.efficient)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection", false]], "elements (ocpapi.bulk attribute)": [[188, "ocpapi.Bulk.elements", false]], "elements (ocpapi.client.bulk attribute)": [[185, "ocpapi.client.Bulk.elements", false]], "elements (ocpapi.client.models.bulk attribute)": [[186, "ocpapi.client.models.Bulk.elements", false]], "energy (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.energy", false]], "energy (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.energy", false]], "energy (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.energy", false]], "energy_fc1 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.energy_fc1", false]], "energy_fc1 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.energy_fc1", false]], "energy_fc2 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.energy_fc2", false]], "energy_fc2 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.energy_fc2", false]], "energy_fc3 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.energy_fc3", false]], "energy_fc3 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.energy_fc3", false]], "energy_forces_within_threshold() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.energy_forces_within_threshold", false]], "energy_trajectory (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.energy_trajectory", false]], "energy_trajectory (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.energy_trajectory", false]], "energy_trajectory (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.energy_trajectory", false]], "energy_within_threshold() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.energy_within_threshold", false]], "energyblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.EnergyBlock", false]], "ensure_div() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.ensure_div", false]], "ensure_fitted() (in module core.modules.scaling.util)": [[130, "core.modules.scaling.util.ensure_fitted", false]], "enumerate_surfaces_for_saving() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.enumerate_surfaces_for_saving", false]], "ephemeral (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.ephemeral", false]], "ephemeral (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.ephemeral", false]], "ephemeral (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.ephemeral", false]], "equiformerv2 (class in core.models.equiformer_v2)": [[50, "core.models.equiformer_v2.EquiformerV2", false]], "equiformerv2_oc20 (class in core.models.equiformer_v2.equiformer_v2_oc20)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20", false]], "equiformerv2energytrainer (class in core.models.equiformer_v2.trainers.energy_trainer)": [[57, "core.models.equiformer_v2.trainers.energy_trainer.EquiformerV2EnergyTrainer", false]], "equiformerv2forcestrainer (class in core.models.equiformer_v2.trainers.forces_trainer)": [[58, "core.models.equiformer_v2.trainers.forces_trainer.EquiformerV2ForcesTrainer", false]], "equivariantdegreelayerscale (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale", false]], "equivariantdropout (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.EquivariantDropout", false]], "equivariantdropoutarraysphericalharmonics (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics", false]], "equivariantlayernormarray (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray", false]], "equivariantlayernormarraysphericalharmonics (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics", false]], "equivariantrmsnormarraysphericalharmonics (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics", false]], "equivariantrmsnormarraysphericalharmonicsv2 (class in core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2", false]], "equivariantscalarsdropout (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.EquivariantScalarsDropout", false]], "escn (class in core.models.escn)": [[64, "core.models.escn.eSCN", false]], "escn (class in core.models.escn.escn)": [[63, "core.models.escn.escn.eSCN", false]], "eval() (core.modules.evaluator.evaluator method)": [[121, "core.modules.evaluator.Evaluator.eval", false]], "evaluator (class in core.modules.evaluator)": [[121, "core.modules.evaluator.Evaluator", false]], "expand_edge() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.expand_edge", false]], "expand_edge() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.expand_edge", false]], "exponentialenvelope (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.ExponentialEnvelope", false]], "exponentialenvelope (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.ExponentialEnvelope", false]], "exponentialenvelope (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.ExponentialEnvelope", false]], "exponentialmovingaverage (class in core.modules.exponential_moving_average)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage", false]], "extra_repr() (core.models.equiformer_v2.activation.scaledsilu method)": [[45, "core.models.equiformer_v2.activation.ScaledSiLU.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.activation.scaledsmoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.activation.smoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.SmoothLeakyReLU.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.droppath method)": [[46, "core.models.equiformer_v2.drop.DropPath.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.equivariantdropoutarraysphericalharmonics method)": [[46, "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.equivariantscalarsdropout method)": [[46, "core.models.equiformer_v2.drop.EquivariantScalarsDropout.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.drop.graphdroppath method)": [[46, "core.models.equiformer_v2.drop.GraphDropPath.extra_repr", false]], "extra_repr() (core.models.equiformer_v2.gaussian_rbf.gaussianradialbasislayer method)": [[49, "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer.extra_repr", false]], "extract_file() (in module data.oc.experimental.get_energies)": [[162, "data.oc.experimental.get_energies.extract_file", false]], "extract_file() (in module data.oc.experimental.merge_traj)": [[163, "data.oc.experimental.merge_traj.extract_file", false]], "failed_relaxation (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.FAILED_RELAXATION", false]], "failed_relaxation (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.FAILED_RELAXATION", false]], "failed_relaxation (ocpapi.status attribute)": [[188, "ocpapi.Status.FAILED_RELAXATION", false]], "fairchem_main() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.fairchem_main", false]], "fairchem_root() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.fairchem_root", false]], "feedforwardnetwork (class in core.models.equiformer_v2.transformer_block)": [[61, "core.models.equiformer_v2.transformer_block.FeedForwardNetwork", false]], "filter() (core.common.utils.severitylevelbetween method)": [[29, "core.common.utils.SeverityLevelBetween.filter", false]], "filter_kwargs() (core.models.equiformer_v2.trainers.lr_scheduler.lrscheduler method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler.filter_kwargs", false]], "filter_kwargs() (core.modules.scheduler.lrscheduler method)": [[131, "core.modules.scheduler.LRScheduler.filter_kwargs", false]], "filter_ml_data() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.filter_ml_data", false]], "find_adsorbate_binding_sites() (in module ocpapi)": [[188, "ocpapi.find_adsorbate_binding_sites", false]], "find_adsorbate_binding_sites() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.find_adsorbate_binding_sites", false]], "find_adsorbate_binding_sites() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.find_adsorbate_binding_sites", false]], "find_surface_atoms_by_height() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.find_surface_atoms_by_height", false]], "find_surface_atoms_with_voronoi_given_height() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.find_surface_atoms_with_voronoi_given_height", false]], "fit_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.fit_", false]], "fit_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.fit_", false]], "fit_context_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.fit_context_", false]], "fit_context_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.fit_context_", false]], "fitted (core.modules.scaling.scale_factor.scalefactor property)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.fitted", false]], "fitted (core.modules.scaling.scalefactor property)": [[128, "core.modules.scaling.ScaleFactor.fitted", false]], "flags (class in core.common.flags)": [[15, "core.common.flags.Flags", false]], "flags (in module core.common.flags)": [[15, "core.common.flags.flags", false]], "flip_struct() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.flip_struct", false]], "flip_struct() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.flip_struct", false]], "flipgrid() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.FlipGrid", false]], "force_fc1 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.force_fc1", false]], "force_fc1 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.force_fc1", false]], "force_fc2 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.force_fc2", false]], "force_fc2 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.force_fc2", false]], "force_fc3 (core.models.scn.scn.sphericalchannelnetwork attribute)": [[115, "core.models.scn.scn.SphericalChannelNetwork.force_fc3", false]], "force_fc3 (core.models.scn.sphericalchannelnetwork attribute)": [[113, "core.models.scn.SphericalChannelNetwork.force_fc3", false]], "forceblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.ForceBlock", false]], "forces (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.forces", false]], "forces (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.forces", false]], "forces (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.forces", false]], "forcescaler (class in core.models.gemnet_oc.layers.force_scaler)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler", false]], "forcesx_mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesx_mae", false]], "forcesx_mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesx_mse", false]], "forcesy_mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesy_mae", false]], "forcesy_mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesy_mse", false]], "forcesz_mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesz_mae", false]], "forcesz_mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.forcesz_mse", false]], "formula (ocpapi.bulk attribute)": [[188, "ocpapi.Bulk.formula", false]], "formula (ocpapi.client.bulk attribute)": [[185, "ocpapi.client.Bulk.formula", false]], "formula (ocpapi.client.models.bulk attribute)": [[186, "ocpapi.client.models.Bulk.formula", false]], "forward() (core.common.gp_utils.copytomodelparallelregion static method)": [[16, "core.common.gp_utils.CopyToModelParallelRegion.forward", false]], "forward() (core.common.gp_utils.gatherfrommodelparallelregion static method)": [[16, "core.common.gp_utils.GatherFromModelParallelRegion.forward", false]], "forward() (core.common.gp_utils.reducefrommodelparallelregion static method)": [[16, "core.common.gp_utils.ReduceFromModelParallelRegion.forward", false]], "forward() (core.common.gp_utils.scattertomodelparallelregion static method)": [[16, "core.common.gp_utils.ScatterToModelParallelRegion.forward", false]], "forward() (core.models.base.basemodel method)": [[43, "core.models.base.BaseModel.forward", false]], "forward() (core.models.dimenet_plus_plus.dimenetplusplus method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.forward", false]], "forward() (core.models.dimenet_plus_plus.dimenetpluspluswrap method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap.forward", false]], "forward() (core.models.dimenet_plus_plus.interactionppblock method)": [[44, "core.models.dimenet_plus_plus.InteractionPPBlock.forward", false]], "forward() (core.models.dimenet_plus_plus.outputppblock method)": [[44, "core.models.dimenet_plus_plus.OutputPPBlock.forward", false]], "forward() (core.models.equiformer_v2.activation.gateactivation method)": [[45, "core.models.equiformer_v2.activation.GateActivation.forward", false]], "forward() (core.models.equiformer_v2.activation.s2activation method)": [[45, "core.models.equiformer_v2.activation.S2Activation.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledsigmoid method)": [[45, "core.models.equiformer_v2.activation.ScaledSigmoid.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledsilu method)": [[45, "core.models.equiformer_v2.activation.ScaledSiLU.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledsmoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU.forward", false]], "forward() (core.models.equiformer_v2.activation.scaledswiglu method)": [[45, "core.models.equiformer_v2.activation.ScaledSwiGLU.forward", false]], "forward() (core.models.equiformer_v2.activation.separables2activation method)": [[45, "core.models.equiformer_v2.activation.SeparableS2Activation.forward", false]], "forward() (core.models.equiformer_v2.activation.smoothleakyrelu method)": [[45, "core.models.equiformer_v2.activation.SmoothLeakyReLU.forward", false]], "forward() (core.models.equiformer_v2.activation.swiglu method)": [[45, "core.models.equiformer_v2.activation.SwiGLU.forward", false]], "forward() (core.models.equiformer_v2.drop.droppath method)": [[46, "core.models.equiformer_v2.drop.DropPath.forward", false]], "forward() (core.models.equiformer_v2.drop.equivariantdropout method)": [[46, "core.models.equiformer_v2.drop.EquivariantDropout.forward", false]], "forward() (core.models.equiformer_v2.drop.equivariantdropoutarraysphericalharmonics method)": [[46, "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics.forward", false]], "forward() (core.models.equiformer_v2.drop.equivariantscalarsdropout method)": [[46, "core.models.equiformer_v2.drop.EquivariantScalarsDropout.forward", false]], "forward() (core.models.equiformer_v2.drop.graphdroppath method)": [[46, "core.models.equiformer_v2.drop.GraphDropPath.forward", false]], "forward() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20.forward", false]], "forward() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2.forward", false]], "forward() (core.models.equiformer_v2.gaussian_rbf.gaussianradialbasislayer method)": [[49, "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer.forward", false]], "forward() (core.models.equiformer_v2.input_block.edgedegreeembedding method)": [[51, "core.models.equiformer_v2.input_block.EdgeDegreeEmbedding.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantdegreelayerscale method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantlayernormarray method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantlayernormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonics method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics.forward", false]], "forward() (core.models.equiformer_v2.layer_norm.equivariantrmsnormarraysphericalharmonicsv2 method)": [[52, "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2.forward", false]], "forward() (core.models.equiformer_v2.radial_function.radialfunction method)": [[54, "core.models.equiformer_v2.radial_function.RadialFunction.forward", false]], "forward() (core.models.equiformer_v2.so2_ops.so2_convolution method)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Convolution.forward", false]], "forward() (core.models.equiformer_v2.so2_ops.so2_linear method)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Linear.forward", false]], "forward() (core.models.equiformer_v2.so2_ops.so2_m_convolution method)": [[55, "core.models.equiformer_v2.so2_ops.SO2_m_Convolution.forward", false]], "forward() (core.models.equiformer_v2.so3.so3_linear method)": [[56, "core.models.equiformer_v2.so3.SO3_Linear.forward", false]], "forward() (core.models.equiformer_v2.so3.so3_linearv2 method)": [[56, "core.models.equiformer_v2.so3.SO3_LinearV2.forward", false]], "forward() (core.models.equiformer_v2.transformer_block.feedforwardnetwork method)": [[61, "core.models.equiformer_v2.transformer_block.FeedForwardNetwork.forward", false]], "forward() (core.models.equiformer_v2.transformer_block.so2equivariantgraphattention method)": [[61, "core.models.equiformer_v2.transformer_block.SO2EquivariantGraphAttention.forward", false]], "forward() (core.models.equiformer_v2.transformer_block.transblockv2 method)": [[61, "core.models.equiformer_v2.transformer_block.TransBlockV2.forward", false]], "forward() (core.models.escn.escn method)": [[64, "core.models.escn.eSCN.forward", false]], "forward() (core.models.escn.escn.edgeblock method)": [[63, "core.models.escn.escn.EdgeBlock.forward", false]], "forward() (core.models.escn.escn.energyblock method)": [[63, "core.models.escn.escn.EnergyBlock.forward", false]], "forward() (core.models.escn.escn.escn method)": [[63, "core.models.escn.escn.eSCN.forward", false]], "forward() (core.models.escn.escn.forceblock method)": [[63, "core.models.escn.escn.ForceBlock.forward", false]], "forward() (core.models.escn.escn.layerblock method)": [[63, "core.models.escn.escn.LayerBlock.forward", false]], "forward() (core.models.escn.escn.messageblock method)": [[63, "core.models.escn.escn.MessageBlock.forward", false]], "forward() (core.models.escn.escn.so2block method)": [[63, "core.models.escn.escn.SO2Block.forward", false]], "forward() (core.models.escn.escn.so2conv method)": [[63, "core.models.escn.escn.SO2Conv.forward", false]], "forward() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.forward", false]], "forward() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.forward", false]], "forward() (core.models.gemnet.layers.atom_update_block.atomupdateblock method)": [[69, "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock.forward", false]], "forward() (core.models.gemnet.layers.atom_update_block.outputblock method)": [[69, "core.models.gemnet.layers.atom_update_block.OutputBlock.forward", false]], "forward() (core.models.gemnet.layers.base_layers.dense method)": [[70, "core.models.gemnet.layers.base_layers.Dense.forward", false]], "forward() (core.models.gemnet.layers.base_layers.residuallayer method)": [[70, "core.models.gemnet.layers.base_layers.ResidualLayer.forward", false]], "forward() (core.models.gemnet.layers.base_layers.scaledsilu method)": [[70, "core.models.gemnet.layers.base_layers.ScaledSiLU.forward", false]], "forward() (core.models.gemnet.layers.base_layers.siqu method)": [[70, "core.models.gemnet.layers.base_layers.SiQU.forward", false]], "forward() (core.models.gemnet.layers.efficient.efficientinteractionbilinear method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionBilinear.forward", false]], "forward() (core.models.gemnet.layers.efficient.efficientinteractiondownprojection method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection.forward", false]], "forward() (core.models.gemnet.layers.embedding_block.atomembedding method)": [[73, "core.models.gemnet.layers.embedding_block.AtomEmbedding.forward", false]], "forward() (core.models.gemnet.layers.embedding_block.edgeembedding method)": [[73, "core.models.gemnet.layers.embedding_block.EdgeEmbedding.forward", false]], "forward() (core.models.gemnet.layers.interaction_block.interactionblocktripletsonly method)": [[75, "core.models.gemnet.layers.interaction_block.InteractionBlockTripletsOnly.forward", false]], "forward() (core.models.gemnet.layers.interaction_block.tripletinteraction method)": [[75, "core.models.gemnet.layers.interaction_block.TripletInteraction.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.bernsteinbasis method)": [[76, "core.models.gemnet.layers.radial_basis.BernsteinBasis.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.exponentialenvelope method)": [[76, "core.models.gemnet.layers.radial_basis.ExponentialEnvelope.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.polynomialenvelope method)": [[76, "core.models.gemnet.layers.radial_basis.PolynomialEnvelope.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.radialbasis method)": [[76, "core.models.gemnet.layers.radial_basis.RadialBasis.forward", false]], "forward() (core.models.gemnet.layers.radial_basis.sphericalbesselbasis method)": [[76, "core.models.gemnet.layers.radial_basis.SphericalBesselBasis.forward", false]], "forward() (core.models.gemnet.layers.spherical_basis.circularbasislayer method)": [[77, "core.models.gemnet.layers.spherical_basis.CircularBasisLayer.forward", false]], "forward() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.forward", false]], "forward() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.forward", false]], "forward() (core.models.gemnet_gp.layers.atom_update_block.atomupdateblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock.forward", false]], "forward() (core.models.gemnet_gp.layers.atom_update_block.outputblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.dense method)": [[83, "core.models.gemnet_gp.layers.base_layers.Dense.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.residuallayer method)": [[83, "core.models.gemnet_gp.layers.base_layers.ResidualLayer.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.scaledsilu method)": [[83, "core.models.gemnet_gp.layers.base_layers.ScaledSiLU.forward", false]], "forward() (core.models.gemnet_gp.layers.base_layers.siqu method)": [[83, "core.models.gemnet_gp.layers.base_layers.SiQU.forward", false]], "forward() (core.models.gemnet_gp.layers.efficient.efficientinteractionbilinear method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear.forward", false]], "forward() (core.models.gemnet_gp.layers.efficient.efficientinteractiondownprojection method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection.forward", false]], "forward() (core.models.gemnet_gp.layers.embedding_block.atomembedding method)": [[86, "core.models.gemnet_gp.layers.embedding_block.AtomEmbedding.forward", false]], "forward() (core.models.gemnet_gp.layers.embedding_block.edgeembedding method)": [[86, "core.models.gemnet_gp.layers.embedding_block.EdgeEmbedding.forward", false]], "forward() (core.models.gemnet_gp.layers.interaction_block.interactionblocktripletsonly method)": [[88, "core.models.gemnet_gp.layers.interaction_block.InteractionBlockTripletsOnly.forward", false]], "forward() (core.models.gemnet_gp.layers.interaction_block.tripletinteraction method)": [[88, "core.models.gemnet_gp.layers.interaction_block.TripletInteraction.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.bernsteinbasis method)": [[89, "core.models.gemnet_gp.layers.radial_basis.BernsteinBasis.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.exponentialenvelope method)": [[89, "core.models.gemnet_gp.layers.radial_basis.ExponentialEnvelope.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.polynomialenvelope method)": [[89, "core.models.gemnet_gp.layers.radial_basis.PolynomialEnvelope.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.radialbasis method)": [[89, "core.models.gemnet_gp.layers.radial_basis.RadialBasis.forward", false]], "forward() (core.models.gemnet_gp.layers.radial_basis.sphericalbesselbasis method)": [[89, "core.models.gemnet_gp.layers.radial_basis.SphericalBesselBasis.forward", false]], "forward() (core.models.gemnet_gp.layers.spherical_basis.circularbasislayer method)": [[90, "core.models.gemnet_gp.layers.spherical_basis.CircularBasisLayer.forward", false]], "forward() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.forward", false]], "forward() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.forward", false]], "forward() (core.models.gemnet_oc.layers.atom_update_block.atomupdateblock method)": [[96, "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock.forward", false]], "forward() (core.models.gemnet_oc.layers.atom_update_block.outputblock method)": [[96, "core.models.gemnet_oc.layers.atom_update_block.OutputBlock.forward", false]], "forward() (core.models.gemnet_oc.layers.base_layers.dense method)": [[97, "core.models.gemnet_oc.layers.base_layers.Dense.forward", false]], "forward() (core.models.gemnet_oc.layers.base_layers.residuallayer method)": [[97, "core.models.gemnet_oc.layers.base_layers.ResidualLayer.forward", false]], "forward() (core.models.gemnet_oc.layers.base_layers.scaledsilu method)": [[97, "core.models.gemnet_oc.layers.base_layers.ScaledSiLU.forward", false]], "forward() (core.models.gemnet_oc.layers.efficient.basisembedding method)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding.forward", false]], "forward() (core.models.gemnet_oc.layers.efficient.efficientinteractionbilinear method)": [[99, "core.models.gemnet_oc.layers.efficient.EfficientInteractionBilinear.forward", false]], "forward() (core.models.gemnet_oc.layers.embedding_block.atomembedding method)": [[100, "core.models.gemnet_oc.layers.embedding_block.AtomEmbedding.forward", false]], "forward() (core.models.gemnet_oc.layers.embedding_block.edgeembedding method)": [[100, "core.models.gemnet_oc.layers.embedding_block.EdgeEmbedding.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.interactionblock method)": [[103, "core.models.gemnet_oc.layers.interaction_block.InteractionBlock.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.pairinteraction method)": [[103, "core.models.gemnet_oc.layers.interaction_block.PairInteraction.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.quadrupletinteraction method)": [[103, "core.models.gemnet_oc.layers.interaction_block.QuadrupletInteraction.forward", false]], "forward() (core.models.gemnet_oc.layers.interaction_block.tripletinteraction method)": [[103, "core.models.gemnet_oc.layers.interaction_block.TripletInteraction.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.bernsteinbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.BernsteinBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.exponentialenvelope method)": [[104, "core.models.gemnet_oc.layers.radial_basis.ExponentialEnvelope.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.gaussianbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.GaussianBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.polynomialenvelope method)": [[104, "core.models.gemnet_oc.layers.radial_basis.PolynomialEnvelope.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.radialbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.RadialBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.radial_basis.sphericalbesselbasis method)": [[104, "core.models.gemnet_oc.layers.radial_basis.SphericalBesselBasis.forward", false]], "forward() (core.models.gemnet_oc.layers.spherical_basis.circularbasislayer method)": [[105, "core.models.gemnet_oc.layers.spherical_basis.CircularBasisLayer.forward", false]], "forward() (core.models.gemnet_oc.layers.spherical_basis.sphericalbasislayer method)": [[105, "core.models.gemnet_oc.layers.spherical_basis.SphericalBasisLayer.forward", false]], "forward() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.forward", false]], "forward() (core.models.painn.painn.gatedequivariantblock method)": [[110, "core.models.painn.painn.GatedEquivariantBlock.forward", false]], "forward() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.forward", false]], "forward() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.forward", false]], "forward() (core.models.painn.painn.painnoutput method)": [[110, "core.models.painn.painn.PaiNNOutput.forward", false]], "forward() (core.models.painn.painn.painnupdate method)": [[110, "core.models.painn.painn.PaiNNUpdate.forward", false]], "forward() (core.models.schnet.schnetwrap method)": [[112, "core.models.schnet.SchNetWrap.forward", false]], "forward() (core.models.scn.scn.distanceblock method)": [[115, "core.models.scn.scn.DistanceBlock.forward", false]], "forward() (core.models.scn.scn.edgeblock method)": [[115, "core.models.scn.scn.EdgeBlock.forward", false]], "forward() (core.models.scn.scn.messageblock method)": [[115, "core.models.scn.scn.MessageBlock.forward", false]], "forward() (core.models.scn.scn.sphericalchannelnetwork method)": [[115, "core.models.scn.scn.SphericalChannelNetwork.forward", false]], "forward() (core.models.scn.smearing.gaussiansmearing method)": [[116, "core.models.scn.smearing.GaussianSmearing.forward", false]], "forward() (core.models.scn.smearing.linearsigmoidsmearing method)": [[116, "core.models.scn.smearing.LinearSigmoidSmearing.forward", false]], "forward() (core.models.scn.smearing.sigmoidsmearing method)": [[116, "core.models.scn.smearing.SigmoidSmearing.forward", false]], "forward() (core.models.scn.smearing.silusmearing method)": [[116, "core.models.scn.smearing.SiLUSmearing.forward", false]], "forward() (core.models.scn.sphericalchannelnetwork method)": [[113, "core.models.scn.SphericalChannelNetwork.forward", false]], "forward() (core.models.utils.activations.act method)": [[118, "core.models.utils.activations.Act.forward", false]], "forward() (core.models.utils.basis.basis method)": [[119, "core.models.utils.basis.Basis.forward", false]], "forward() (core.models.utils.basis.fouriersmearing method)": [[119, "core.models.utils.basis.FourierSmearing.forward", false]], "forward() (core.models.utils.basis.gaussiansmearing method)": [[119, "core.models.utils.basis.GaussianSmearing.forward", false]], "forward() (core.models.utils.basis.sine method)": [[119, "core.models.utils.basis.Sine.forward", false]], "forward() (core.models.utils.basis.sinesmearing method)": [[119, "core.models.utils.basis.SINESmearing.forward", false]], "forward() (core.models.utils.basis.siren method)": [[119, "core.models.utils.basis.SIREN.forward", false]], "forward() (core.models.utils.basis.sphericalsmearing method)": [[119, "core.models.utils.basis.SphericalSmearing.forward", false]], "forward() (core.modules.loss.atomwisel2loss method)": [[124, "core.modules.loss.AtomwiseL2Loss.forward", false]], "forward() (core.modules.loss.ddploss method)": [[124, "core.modules.loss.DDPLoss.forward", false]], "forward() (core.modules.loss.l2maeloss method)": [[124, "core.modules.loss.L2MAELoss.forward", false]], "forward() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.forward", false]], "forward() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.forward", false]], "fouriersmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.FourierSmearing", false]], "from_atoms() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_atoms", false]], "from_atoms() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_atoms", false]], "from_bulk_get_all_slabs() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_bulk_get_all_slabs", false]], "from_bulk_get_all_slabs() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_bulk_get_all_slabs", false]], "from_bulk_get_random_slab() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_bulk_get_random_slab", false]], "from_bulk_get_random_slab() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_bulk_get_random_slab", false]], "from_bulk_get_specific_millers() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_bulk_get_specific_millers", false]], "from_bulk_get_specific_millers() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_bulk_get_specific_millers", false]], "from_grid() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.from_grid", false]], "from_grid() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.from_grid", false]], "from_precomputed_slabs_pkl() (data.oc.core.slab class method)": [[156, "data.oc.core.Slab.from_precomputed_slabs_pkl", false]], "from_precomputed_slabs_pkl() (data.oc.core.slab.slab class method)": [[158, "data.oc.core.slab.Slab.from_precomputed_slabs_pkl", false]], "fromgrid() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.FromGrid", false]], "gateactivation (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.GateActivation", false]], "gatedequivariantblock (class in core.models.painn.painn)": [[110, "core.models.painn.painn.GatedEquivariantBlock", false]], "gather_from_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.gather_from_model_parallel_region", false]], "gather_objects() (in module core.common.distutils)": [[14, "core.common.distutils.gather_objects", false]], "gatherfrommodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.GatherFromModelParallelRegion", false]], "gaussian() (in module core.models.equiformer_v2.gaussian_rbf)": [[49, "core.models.equiformer_v2.gaussian_rbf.gaussian", false]], "gaussianbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.GaussianBasis", false]], "gaussianradialbasislayer (class in core.models.equiformer_v2.gaussian_rbf)": [[49, "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer", false]], "gaussiansmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.GaussianSmearing", false]], "gaussiansmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.GaussianSmearing", false]], "gemnetoc (class in core.models.gemnet_oc)": [[93, "core.models.gemnet_oc.GemNetOC", false]], "gemnetoc (class in core.models.gemnet_oc.gemnet_oc)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC", false]], "gemnett (class in core.models.gemnet)": [[67, "core.models.gemnet.GemNetT", false]], "gemnett (class in core.models.gemnet.gemnet)": [[66, "core.models.gemnet.gemnet.GemNetT", false]], "generate_graph() (core.models.base.basemodel method)": [[43, "core.models.base.BaseModel.generate_graph", false]], "generate_graph_dict() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.generate_graph_dict", false]], "generate_graph_dict() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.generate_graph_dict", false]], "generate_graph_values() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.generate_graph_values", false]], "generate_graph_values() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.generate_graph_values", false]], "generate_interaction_graph() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.generate_interaction_graph", false]], "generate_interaction_graph() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.generate_interaction_graph", false]], "generate_interaction_graph() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.generate_interaction_graph", false]], "generate_interaction_graph() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.generate_interaction_graph", false]], "generate_yml_config() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.generate_yml_config", false]], "get() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get", false]], "get_adsorbate_slab_configs() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbate_slab_configs", false]], "get_adsorbate_slab_configs() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbate_slab_configs", false]], "get_adsorbate_slab_configs() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbate_slab_configs", false]], "get_adsorbate_slab_relaxation_results() (in module ocpapi)": [[188, "ocpapi.get_adsorbate_slab_relaxation_results", false]], "get_adsorbate_slab_relaxation_results() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.get_adsorbate_slab_relaxation_results", false]], "get_adsorbate_slab_relaxation_results() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.get_adsorbate_slab_relaxation_results", false]], "get_adsorbate_slab_relaxations_request() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbate_slab_relaxations_request", false]], "get_adsorbate_slab_relaxations_request() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbate_slab_relaxations_request", false]], "get_adsorbate_slab_relaxations_request() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbate_slab_relaxations_request", false]], "get_adsorbate_slab_relaxations_results() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbate_slab_relaxations_results", false]], "get_adsorbate_slab_relaxations_results() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbate_slab_relaxations_results", false]], "get_adsorbate_slab_relaxations_results() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbate_slab_relaxations_results", false]], "get_adsorbates() (ocpapi.client method)": [[188, "ocpapi.Client.get_adsorbates", false]], "get_adsorbates() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_adsorbates", false]], "get_adsorbates() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_adsorbates", false]], "get_angle() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_angle", false]], "get_atoms() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.get_atoms", false]], "get_atoms() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.get_atoms", false]], "get_atoms() (core.datasets.ase_datasets.asereaddataset method)": [[31, "core.datasets.ase_datasets.AseReadDataset.get_atoms", false]], "get_atoms() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset.get_atoms", false]], "get_atoms() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.get_atoms", false]], "get_atoms() (core.datasets.asereaddataset method)": [[37, "core.datasets.AseReadDataset.get_atoms", false]], "get_atoms() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset.get_atoms", false]], "get_bases() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.get_bases", false]], "get_bases() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.get_bases", false]], "get_best_sites_for_product1() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_best_sites_for_product1", false]], "get_best_unique_sites_for_product2() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_best_unique_sites_for_product2", false]], "get_binding_sites() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.get_binding_sites", false]], "get_binding_sites() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.get_binding_sites", false]], "get_bulks() (ocpapi.client method)": [[188, "ocpapi.Client.get_bulks", false]], "get_bulks() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_bulks", false]], "get_bulks() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_bulks", false]], "get_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_class", false]], "get_commit_hash() (in module core.common.utils)": [[29, "core.common.utils.get_commit_hash", false]], "get_data() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.get_data", false]], "get_data() (in module core.scripts.make_lmdb_sizes)": [[142, "core.scripts.make_lmdb_sizes.get_data", false]], "get_data() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_data", false]], "get_dataloader() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.get_dataloader", false]], "get_dataloader() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.get_dataloader", false]], "get_dataset_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_dataset_class", false]], "get_desorption_mapping() (cattsunami.core.reaction method)": [[6, "cattsunami.core.Reaction.get_desorption_mapping", false]], "get_desorption_mapping() (cattsunami.core.reaction.reaction method)": [[8, "cattsunami.core.reaction.Reaction.get_desorption_mapping", false]], "get_dft_compute() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.get_dft_compute", false]], "get_dft_data() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.get_dft_data", false]], "get_dft_data() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.get_dft_data", false]], "get_dp_group() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_dp_group", false]], "get_dp_rank() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_dp_rank", false]], "get_dp_world_size() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_dp_world_size", false]], "get_edge_id() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_edge_id", false]], "get_edge_id() (in module core.models.painn.utils)": [[111, "core.models.painn.utils.get_edge_id", false]], "get_energy_and_forces() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.get_energy_and_forces", false]], "get_energy_and_forces() (core.common.relaxation.optimizers.lbfgs_torch.torchcalc method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc.get_energy_and_forces", false]], "get_fig4a() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4a", false]], "get_fig4b() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4b", false]], "get_fig4c() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4c", false]], "get_fig4d() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.get_Fig4d", false]], "get_forces() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.get_forces", false]], "get_forces() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.get_forces", false]], "get_from_grid_mat() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.get_from_grid_mat", false]], "get_from_grid_mat() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.get_from_grid_mat", false]], "get_gp_group() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_gp_group", false]], "get_gp_rank() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_gp_rank", false]], "get_gp_world_size() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.get_gp_world_size", false]], "get_graphs_and_indices() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.get_graphs_and_indices", false]], "get_graphs_and_indices() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.get_graphs_and_indices", false]], "get_initializer() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.get_initializer", false]], "get_inner_idx() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_inner_idx", false]], "get_interstitial_distances() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.get_interstitial_distances", false]], "get_l_to_all_m_expand_index() (in module core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.get_l_to_all_m_expand_index", false]], "get_logger_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_logger_class", false]], "get_loss_module() (in module core.common.utils)": [[29, "core.common.utils.get_loss_module", false]], "get_lr() (core.models.equiformer_v2.trainers.lr_scheduler.lrscheduler method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler.get_lr", false]], "get_lr() (core.modules.scheduler.lrscheduler method)": [[131, "core.modules.scheduler.LRScheduler.get_lr", false]], "get_max_neighbors_mask() (in module core.common.utils)": [[29, "core.common.utils.get_max_neighbors_mask", false]], "get_metadata() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.get_metadata", false]], "get_metadata() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.get_metadata", false]], "get_metadata() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset.get_metadata", false]], "get_metadata() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.get_metadata", false]], "get_metadata() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset.get_metadata", false]], "get_metadata() (core.datasets.lmdb_dataset.lmdbdataset method)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.get_metadata", false]], "get_metadata() (core.datasets.lmdbdataset method)": [[37, "core.datasets.LmdbDataset.get_metadata", false]], "get_metadata_dict() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.multi_adsorbate_slab_config.multipleadsorbateslabconfig method)": [[157, "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.multipleadsorbateslabconfig method)": [[156, "data.oc.core.MultipleAdsorbateSlabConfig.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.get_metadata_dict", false]], "get_metadata_dict() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.get_metadata_dict", false]], "get_mixed_triplets() (in module core.models.gemnet_oc.interaction_indices)": [[95, "core.models.gemnet_oc.interaction_indices.get_mixed_triplets", false]], "get_mlp() (core.models.gemnet.layers.atom_update_block.atomupdateblock method)": [[69, "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock.get_mlp", false]], "get_mlp() (core.models.gemnet_gp.layers.atom_update_block.atomupdateblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock.get_mlp", false]], "get_mlp() (core.models.gemnet_oc.layers.atom_update_block.atomupdateblock method)": [[96, "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock.get_mlp", false]], "get_model_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_model_class", false]], "get_models() (ocpapi.client method)": [[188, "ocpapi.Client.get_models", false]], "get_models() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_models", false]], "get_models() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_models", false]], "get_most_proximate_symmetric_group() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.get_most_proximate_symmetric_group", false]], "get_neb_frames() (cattsunami.core.autoframe.autoframedesorption method)": [[5, "cattsunami.core.autoframe.AutoFrameDesorption.get_neb_frames", false]], "get_neb_frames() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_neb_frames", false]], "get_neb_frames() (cattsunami.core.autoframe.autoframetransfer method)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer.get_neb_frames", false]], "get_neighbor_order() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_neighbor_order", false]], "get_normalization_layer() (in module core.models.equiformer_v2.layer_norm)": [[52, "core.models.equiformer_v2.layer_norm.get_normalization_layer", false]], "get_parser() (core.common.flags.flags method)": [[15, "core.common.flags.Flags.get_parser", false]], "get_parser() (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.get_parser", false]], "get_parser() (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.get_parser", false]], "get_parser() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.get_parser", false]], "get_pbc_distances() (in module core.common.utils)": [[29, "core.common.utils.get_pbc_distances", false]], "get_precon_forces() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.get_precon_forces", false]], "get_precon_forces() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.get_precon_forces", false]], "get_product2_idx() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.get_product2_idx", false]], "get_projected_angle() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.get_projected_angle", false]], "get_pruned_edge_idx() (in module core.common.utils)": [[29, "core.common.utils.get_pruned_edge_idx", false]], "get_quadruplets() (in module core.models.gemnet_oc.interaction_indices)": [[95, "core.models.gemnet_oc.interaction_indices.get_quadruplets", false]], "get_random_sites_on_triangle() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.get_random_sites_on_triangle", false]], "get_rank() (in module core.common.distutils)": [[14, "core.common.distutils.get_rank", false]], "get_relaxed_energy() (core.datasets.ase_datasets.aseatomsdataset method)": [[31, "core.datasets.ase_datasets.AseAtomsDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.ase_datasets.asedbdataset method)": [[31, "core.datasets.ase_datasets.AseDBDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.ase_datasets.asereaddataset method)": [[31, "core.datasets.ase_datasets.AseReadDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.ase_datasets.asereadmultistructuredataset method)": [[31, "core.datasets.ase_datasets.AseReadMultiStructureDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.asedbdataset method)": [[37, "core.datasets.AseDBDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.asereaddataset method)": [[37, "core.datasets.AseReadDataset.get_relaxed_energy", false]], "get_relaxed_energy() (core.datasets.asereadmultistructuredataset method)": [[37, "core.datasets.AseReadMultiStructureDataset.get_relaxed_energy", false]], "get_results_ml() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.get_results_ml", false]], "get_results_sp() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.get_results_sp", false]], "get_results_ui_url() (in module ocpapi)": [[188, "ocpapi.get_results_ui_url", false]], "get_results_ui_url() (in module ocpapi.client)": [[185, "ocpapi.client.get_results_ui_url", false]], "get_results_ui_url() (in module ocpapi.client.ui)": [[187, "ocpapi.client.ui.get_results_ui_url", false]], "get_rotate_inv_rescale() (core.models.equiformer_v2.so3.coefficientmappingmodule method)": [[56, "core.models.equiformer_v2.so3.CoefficientMappingModule.get_rotate_inv_rescale", false]], "get_sampler() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.get_sampler", false]], "get_sampler() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.get_sampler", false]], "get_shortest_path() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.get_shortest_path", false]], "get_single_point() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.get_single_point", false]], "get_sites_within_r() (cattsunami.core.autoframe.autoframedissociation method)": [[5, "cattsunami.core.autoframe.AutoFrameDissociation.get_sites_within_r", false]], "get_slabs() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.get_slabs", false]], "get_slabs() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.get_slabs", false]], "get_slabs() (ocpapi.client method)": [[188, "ocpapi.Client.get_slabs", false]], "get_slabs() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.get_slabs", false]], "get_slabs() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.get_slabs", false]], "get_sph_harm_basis() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.get_sph_harm_basis", false]], "get_system_pairs_final() (cattsunami.core.autoframe.autoframetransfer method)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer.get_system_pairs_final", false]], "get_system_pairs_initial() (cattsunami.core.autoframe.autoframetransfer method)": [[5, "cattsunami.core.autoframe.AutoFrameTransfer.get_system_pairs_initial", false]], "get_task_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_task_class", false]], "get_to_grid_mat() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.get_to_grid_mat", false]], "get_to_grid_mat() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.get_to_grid_mat", false]], "get_trainer_class() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.get_trainer_class", false]], "get_triplets() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.get_triplets", false]], "get_triplets() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.get_triplets", false]], "get_triplets() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.get_triplets", false]], "get_triplets() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.get_triplets", false]], "get_triplets() (in module core.models.gemnet_oc.interaction_indices)": [[95, "core.models.gemnet_oc.interaction_indices.get_triplets", false]], "get_world_size() (in module core.common.distutils)": [[14, "core.common.distutils.get_world_size", false]], "graphdroppath (class in core.models.equiformer_v2.drop)": [[46, "core.models.equiformer_v2.drop.GraphDropPath", false]], "graphparallelgemnett (class in core.models.gemnet_gp)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT", false]], "graphparallelgemnett (class in core.models.gemnet_gp.gemnet)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT", false]], "grid_init() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.grid_init", false]], "guess_property_metadata() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.guess_property_metadata", false]], "guess_target_metadata() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.guess_target_metadata", false]], "has_surface_changed() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.has_surface_changed", false]], "has_surface_changed() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.has_surface_changed", false]], "has_surface_tagged() (data.oc.core.slab method)": [[156, "data.oc.core.Slab.has_surface_tagged", false]], "has_surface_tagged() (data.oc.core.slab.slab method)": [[158, "data.oc.core.slab.Slab.has_surface_tagged", false]], "he_orthogonal_init() (in module core.models.gemnet.initializers)": [[68, "core.models.gemnet.initializers.he_orthogonal_init", false]], "he_orthogonal_init() (in module core.models.gemnet_gp.initializers)": [[81, "core.models.gemnet_gp.initializers.he_orthogonal_init", false]], "he_orthogonal_init() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.he_orthogonal_init", false]], "host (ocpapi.client property)": [[188, "ocpapi.Client.host", false]], "host (ocpapi.client.client property)": [[185, "ocpapi.client.Client.host", false]], "host (ocpapi.client.client.client property)": [[184, "ocpapi.client.client.Client.host", false]], "id (ocpapi.client.model attribute)": [[185, "ocpapi.client.Model.id", false]], "id (ocpapi.client.models.model attribute)": [[186, "ocpapi.client.models.Model.id", false]], "id (ocpapi.model attribute)": [[188, "ocpapi.Model.id", false]], "implemented_properties (core.common.relaxation.ase_utils.ocpcalculator attribute)": [[21, "core.common.relaxation.ase_utils.OCPCalculator.implemented_properties", false]], "index_drop_ddec_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.index_drop_ddec_defective", false]], "index_drop_ddec_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.index_drop_ddec_pristine", false]], "index_fn (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.index_fn", false]], "index_fn (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.index_fn", false]], "indexfn (in module core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor.IndexFn", false]], "infile (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.infile", false]], "init_basis_functions() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.init_basis_functions", false]], "init_basis_functions() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.init_basis_functions", false]], "init_edge_rot_mat() (in module core.models.equiformer_v2.edge_rot_mat)": [[47, "core.models.equiformer_v2.edge_rot_mat.init_edge_rot_mat", false]], "init_shared_basis_layers() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.init_shared_basis_layers", false]], "init_shared_basis_layers() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.init_shared_basis_layers", false]], "initialize_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.initialize_", false]], "initialize_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.initialize_", false]], "initialized() (in module core.common.distutils)": [[14, "core.common.distutils.initialized", false]], "initialized() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.initialized", false]], "initwignerdmatrix() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.InitWignerDMatrix", false]], "inityrotmapping() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.InitYRotMapping", false]], "inner_product_clamped() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.inner_product_clamped", false]], "inner_product_normalized() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.inner_product_normalized", false]], "inner_product_normalized() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.inner_product_normalized", false]], "input_folder (in module data.oc.experimental.get_energies)": [[162, "data.oc.experimental.get_energies.input_folder", false]], "interactionblock (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.InteractionBlock", false]], "interactionblocktripletsonly (class in core.models.gemnet.layers.interaction_block)": [[75, "core.models.gemnet.layers.interaction_block.InteractionBlockTripletsOnly", false]], "interactionblocktripletsonly (class in core.models.gemnet_gp.layers.interaction_block)": [[88, "core.models.gemnet_gp.layers.interaction_block.InteractionBlockTripletsOnly", false]], "interactionppblock (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.InteractionPPBlock", false]], "interpolate() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.interpolate", false]], "interpolate_and_correct_frames() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.interpolate_and_correct_frames", false]], "irreps_sum() (in module core.common.utils)": [[29, "core.common.utils.irreps_sum", false]], "is_adsorbate_adsorbed() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.is_adsorbate_adsorbed", false]], "is_adsorbate_desorbed() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.is_adsorbate_desorbed", false]], "is_adsorbate_desorbed() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.is_adsorbate_desorbed", false]], "is_adsorbate_dissociated() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.is_adsorbate_dissociated", false]], "is_adsorbate_dissociated() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.is_adsorbate_dissociated", false]], "is_adsorbate_intercalated() (data.oc.utils.detecttrajanomaly method)": [[172, "data.oc.utils.DetectTrajAnomaly.is_adsorbate_intercalated", false]], "is_adsorbate_intercalated() (data.oc.utils.flag_anomaly.detecttrajanomaly method)": [[171, "data.oc.utils.flag_anomaly.DetectTrajAnomaly.is_adsorbate_intercalated", false]], "is_edge_list_respected() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.is_edge_list_respected", false]], "is_failed_sp() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.is_failed_sp", false]], "is_master() (in module core.common.distutils)": [[14, "core.common.distutils.is_master", false]], "is_structure_invertible() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.is_structure_invertible", false]], "is_structure_invertible() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.is_structure_invertible", false]], "is_successful() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.is_successful", false]], "is_successful() (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.is_successful", false]], "jn() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.Jn", false]], "jn() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.Jn", false]], "jn() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.Jn", false]], "jn_zeros() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.Jn_zeros", false]], "jn_zeros() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.Jn_zeros", false]], "jn_zeros() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.Jn_zeros", false]], "keep_all_slabs (class in ocpapi)": [[188, "ocpapi.keep_all_slabs", false]], "keep_all_slabs (class in ocpapi.workflows)": [[193, "ocpapi.workflows.keep_all_slabs", false]], "keep_all_slabs (class in ocpapi.workflows.filter)": [[192, "ocpapi.workflows.filter.keep_all_slabs", false]], "keep_slabs_with_miller_indices (class in ocpapi)": [[188, "ocpapi.keep_slabs_with_miller_indices", false]], "keep_slabs_with_miller_indices (class in ocpapi.workflows)": [[193, "ocpapi.workflows.keep_slabs_with_miller_indices", false]], "keep_slabs_with_miller_indices (class in ocpapi.workflows.filter)": [[192, "ocpapi.workflows.filter.keep_slabs_with_miller_indices", false]], "khot_embeddings (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.KHOT_EMBEDDINGS", false]], "khot_embeddings (in module core.datasets.embeddings.khot_embeddings)": [[35, "core.datasets.embeddings.khot_embeddings.KHOT_EMBEDDINGS", false]], "l2maeloss (class in core.modules.loss)": [[124, "core.modules.loss.L2MAELoss", false]], "label_metric_dict() (in module core.common.hpo_utils)": [[17, "core.common.hpo_utils.label_metric_dict", false]], "layerblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.LayerBlock", false]], "lbfgs (class in core.common.relaxation.optimizers.lbfgs_torch)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS", false]], "lifetime (class in ocpapi)": [[188, "ocpapi.Lifetime", false]], "lifetime (class in ocpapi.workflows)": [[193, "ocpapi.workflows.Lifetime", false]], "lifetime (class in ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.Lifetime", false]], "linearsigmoidsmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.LinearSigmoidSmearing", false]], "lmdbdatabase (class in core.datasets)": [[37, "core.datasets.LMDBDatabase", false]], "lmdbdatabase (class in core.datasets.lmdb_database)": [[38, "core.datasets.lmdb_database.LMDBDatabase", false]], "lmdbdataset (class in core.datasets)": [[37, "core.datasets.LmdbDataset", false]], "lmdbdataset (class in core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.LmdbDataset", false]], "load() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load", false]], "load() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load", false]], "load_checkpoint() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.load_checkpoint", false]], "load_checkpoint() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.load_checkpoint", false]], "load_checkpoint() (core.common.relaxation.ase_utils.ocpcalculator method)": [[21, "core.common.relaxation.ase_utils.OCPCalculator.load_checkpoint", false]], "load_checkpoint() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_checkpoint", false]], "load_checkpoint() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_checkpoint", false]], "load_config() (in module core.common.utils)": [[29, "core.common.utils.load_config", false]], "load_datasets() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_datasets", false]], "load_datasets() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_datasets", false]], "load_extras() (core.models.equiformer_v2.trainers.energy_trainer.equiformerv2energytrainer method)": [[57, "core.models.equiformer_v2.trainers.energy_trainer.EquiformerV2EnergyTrainer.load_extras", false]], "load_extras() (core.models.equiformer_v2.trainers.forces_trainer.equiformerv2forcestrainer method)": [[58, "core.models.equiformer_v2.trainers.forces_trainer.EquiformerV2ForcesTrainer.load_extras", false]], "load_extras() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_extras", false]], "load_extras() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_extras", false]], "load_logger() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_logger", false]], "load_logger() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_logger", false]], "load_loss() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_loss", false]], "load_loss() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_loss", false]], "load_model() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_model", false]], "load_model() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_model", false]], "load_optimizer() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_optimizer", false]], "load_optimizer() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_optimizer", false]], "load_scales_compat() (in module core.modules.scaling.compat)": [[126, "core.modules.scaling.compat.load_scales_compat", false]], "load_seed_from_config() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_seed_from_config", false]], "load_seed_from_config() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_seed_from_config", false]], "load_state_dict() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.load_state_dict", false]], "load_state_dict() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.load_state_dict", false]], "load_state_dict() (in module core.common.utils)": [[29, "core.common.utils.load_state_dict", false]], "load_task() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.load_task", false]], "load_task() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.load_task", false]], "log (in module ocpapi.workflows.log)": [[194, "ocpapi.workflows.log.log", false]], "log() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.log", false]], "log() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.log", false]], "log() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.log", false]], "log_grid_init() (in module core.models.gemnet_oc.initializers)": [[94, "core.models.gemnet_oc.initializers.log_grid_init", false]], "log_plots() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.log_plots", false]], "log_plots() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.log_plots", false]], "log_plots() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.log_plots", false]], "logger (class in core.common.logger)": [[19, "core.common.logger.Logger", false]], "logger (ocpapi.ratelimitlogging attribute)": [[188, "ocpapi.RateLimitLogging.logger", false]], "logger (ocpapi.workflows.ratelimitlogging attribute)": [[193, "ocpapi.workflows.RateLimitLogging.logger", false]], "logger (ocpapi.workflows.retry.ratelimitlogging attribute)": [[195, "ocpapi.workflows.retry.RateLimitLogging.logger", false]], "lowest_energy_data_co2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co2", false]], "lowest_energy_data_co2_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co2_defective", false]], "lowest_energy_data_co_ads (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads", false]], "lowest_energy_data_co_ads_2 (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads_2", false]], "lowest_energy_data_co_ads_2_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads_2_defective", false]], "lowest_energy_data_co_ads_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_co_ads_defective", false]], "lowest_energy_data_h2o (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_h2o", false]], "lowest_energy_data_h2o_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.lowest_energy_data_h2o_defective", false]], "lrscheduler (class in core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler", false]], "lrscheduler (class in core.modules.scheduler)": [[131, "core.modules.scheduler.LRScheduler", false]], "m (core.models.utils.basis.sphericalsmearing attribute)": [[119, "core.models.utils.basis.SphericalSmearing.m", false]], "mae() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.mae", false]], "magnitude_error() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.magnitude_error", false]], "main() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.main", false]], "main() (in module core._cli)": [[12, "core._cli.main", false]], "main() (in module core.modules.scaling.fit)": [[127, "core.modules.scaling.fit.main", false]], "main() (in module core.scripts.hpo.run_tune)": [[138, "core.scripts.hpo.run_tune.main", false]], "main() (in module core.scripts.hpo.run_tune_pbt)": [[139, "core.scripts.hpo.run_tune_pbt.main", false]], "main() (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.main", false]], "main() (in module core.scripts.make_lmdb_sizes)": [[142, "core.scripts.make_lmdb_sizes.main", false]], "main() (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.main", false]], "main() (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.main", false]], "main() (in module core.scripts.preprocess_relaxed)": [[145, "core.scripts.preprocess_relaxed.main", false]], "main() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.main", false]], "main() (in module data.oc.experimental.merge_traj)": [[163, "data.oc.experimental.merge_traj.main", false]], "main() (in module data.oc.experimental.perturb_systems)": [[164, "data.oc.experimental.perturb_systems.main", false]], "main() (in module data.oc.experimental.rattle_test)": [[165, "data.oc.experimental.rattle_test.main", false]], "main() (in module data.om.biomolecules.geom.sample_geom_drugs)": [[177, "data.om.biomolecules.geom.sample_geom_drugs.main", false]], "main() (in module data.om.biomolecules.geom.write_geom_drugs_structures)": [[178, "data.om.biomolecules.geom.write_geom_drugs_structures.main", false]], "mapping (core.common.registry.registry attribute)": [[20, "core.common.registry.Registry.mapping", false]], "mark_ephemeral (ocpapi.lifetime attribute)": [[188, "ocpapi.Lifetime.MARK_EPHEMERAL", false]], "mark_ephemeral (ocpapi.workflows.adsorbates.lifetime attribute)": [[190, "ocpapi.workflows.adsorbates.Lifetime.MARK_EPHEMERAL", false]], "mark_ephemeral (ocpapi.workflows.lifetime attribute)": [[193, "ocpapi.workflows.Lifetime.MARK_EPHEMERAL", false]], "mark_preempting() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.mark_preempting", false]], "mark_preempting() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.mark_preempting", false]], "mark_preempting() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.mark_preempting", false]], "mask_neighbors() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.mask_neighbors", false]], "mask_neighbors() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.mask_neighbors", false]], "mask_neighbors() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.mask_neighbors", false]], "masked_select_sparsetensor_flat() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.masked_select_sparsetensor_flat", false]], "max_miller (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.MAX_MILLER", false]], "max_neigh (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.max_neigh", false]], "max_neigh (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.max_neigh", false]], "merge_dicts() (in module core.common.utils)": [[29, "core.common.utils.merge_dicts", false]], "message() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.message", false]], "messageblock (class in core.models.escn.escn)": [[63, "core.models.escn.escn.MessageBlock", false]], "messageblock (class in core.models.scn.scn)": [[115, "core.models.scn.scn.MessageBlock", false]], "metadata (core.datasets.lmdb_database.lmdbdatabase property)": [[38, "core.datasets.lmdb_database.LMDBDatabase.metadata", false]], "metadata (core.datasets.lmdbdatabase property)": [[37, "core.datasets.LMDBDatabase.metadata", false]], "metadata (ocpapi.client.models.slab attribute)": [[186, "ocpapi.client.models.Slab.metadata", false]], "metadata (ocpapi.client.slab attribute)": [[185, "ocpapi.client.Slab.metadata", false]], "metadata (ocpapi.slab attribute)": [[188, "ocpapi.Slab.metadata", false]], "metadata_path (core.common.data_parallel._hasmetadata property)": [[13, "core.common.data_parallel._HasMetadata.metadata_path", false]], "metadata_path (core.datasets.lmdb_dataset.lmdbdataset attribute)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.metadata_path", false]], "metadata_path (core.datasets.lmdbdataset attribute)": [[37, "core.datasets.LmdbDataset.metadata_path", false]], "millers (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.millers", false]], "millers (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.millers", false]], "millers (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.millers", false]], "min_diff() (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.min_diff", false]], "min_diff() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.min_diff", false]], "missing_ddec (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.missing_DDEC", false]], "missing_ddec_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.missing_DDEC_defective", false]], "missing_ddec_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.missing_DDEC_pristine", false]], "ml_relax() (in module core.common.relaxation.ml_relaxation)": [[23, "core.common.relaxation.ml_relaxation.ml_relax", false]], "model (class in ocpapi)": [[188, "ocpapi.Model", false]], "model (class in ocpapi.client)": [[185, "ocpapi.client.Model", false]], "model (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Model", false]], "model (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.model", false]], "model (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.model", false]], "model (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.model", false]], "model (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.model", false]], "model (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.model", false]], "model (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.model", false]], "model_name_to_local_file() (in module core.models)": [[107, "core.models.model_name_to_local_file", false]], "model_name_to_local_file() (in module core.models.model_registry)": [[108, "core.models.model_registry.model_name_to_local_file", false]], "model_registry (in module core.models.model_registry)": [[108, "core.models.model_registry.MODEL_REGISTRY", false]], "models (class in ocpapi)": [[188, "ocpapi.Models", false]], "models (class in ocpapi.client)": [[185, "ocpapi.client.Models", false]], "models (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Models", false]], "models (ocpapi.client.models attribute)": [[185, "ocpapi.client.Models.models", false]], "models (ocpapi.client.models.models attribute)": [[186, "ocpapi.client.models.Models.models", false]], "models (ocpapi.models attribute)": [[188, "ocpapi.Models.models", false]], "module": [[0, "module-adsorbml.2023_neurips_challenge.challenge_eval", false], [1, "module-adsorbml.scripts.dense_eval", false], [2, "module-adsorbml.scripts.process_mlrs", false], [3, "module-adsorbml.scripts.utils", false], [4, "module-adsorbml.scripts.write_top_k_vasp", false], [5, "module-cattsunami.core.autoframe", false], [6, "module-cattsunami.core", false], [7, "module-cattsunami.core.ocpneb", false], [8, "module-cattsunami.core.reaction", false], [9, "module-cattsunami.databases", false], [10, "module-cattsunami", false], [11, "module-cattsunami.run_validation.run_validation", false], [12, "module-core._cli", false], [13, "module-core.common.data_parallel", false], [14, "module-core.common.distutils", false], [15, "module-core.common.flags", false], [16, "module-core.common.gp_utils", false], [17, "module-core.common.hpo_utils", false], [18, "module-core.common", false], [19, "module-core.common.logger", false], [20, "module-core.common.registry", false], [21, "module-core.common.relaxation.ase_utils", false], [22, "module-core.common.relaxation", false], [23, "module-core.common.relaxation.ml_relaxation", false], [24, "module-core.common.relaxation.optimizers", false], [25, "module-core.common.relaxation.optimizers.lbfgs_torch", false], [26, "module-core.common.transforms", false], [27, "module-core.common.tutorial_utils", false], [28, "module-core.common.typing", false], [29, "module-core.common.utils", false], [30, "module-core.datasets._utils", false], [31, "module-core.datasets.ase_datasets", false], [32, "module-core.datasets.embeddings.atomic_radii", false], [33, "module-core.datasets.embeddings.continuous_embeddings", false], [34, "module-core.datasets.embeddings", false], [35, "module-core.datasets.embeddings.khot_embeddings", false], [36, "module-core.datasets.embeddings.qmof_khot_embeddings", false], [37, "module-core.datasets", false], [38, "module-core.datasets.lmdb_database", false], [39, "module-core.datasets.lmdb_dataset", false], [40, "module-core.datasets.oc22_lmdb_dataset", false], [41, "module-core.datasets.target_metadata_guesser", false], [42, "module-core", false], [43, "module-core.models.base", false], [44, "module-core.models.dimenet_plus_plus", false], [45, "module-core.models.equiformer_v2.activation", false], [46, "module-core.models.equiformer_v2.drop", false], [47, "module-core.models.equiformer_v2.edge_rot_mat", false], [48, "module-core.models.equiformer_v2.equiformer_v2_oc20", false], [49, "module-core.models.equiformer_v2.gaussian_rbf", false], [50, "module-core.models.equiformer_v2", false], [51, "module-core.models.equiformer_v2.input_block", false], [52, "module-core.models.equiformer_v2.layer_norm", false], [53, "module-core.models.equiformer_v2.module_list", false], [54, "module-core.models.equiformer_v2.radial_function", false], [55, "module-core.models.equiformer_v2.so2_ops", false], [56, "module-core.models.equiformer_v2.so3", false], [57, "module-core.models.equiformer_v2.trainers.energy_trainer", false], [58, "module-core.models.equiformer_v2.trainers.forces_trainer", false], [59, "module-core.models.equiformer_v2.trainers", false], [60, "module-core.models.equiformer_v2.trainers.lr_scheduler", false], [61, "module-core.models.equiformer_v2.transformer_block", false], [62, "module-core.models.equiformer_v2.wigner", false], [63, "module-core.models.escn.escn", false], [64, "module-core.models.escn", false], [65, "module-core.models.escn.so3", false], [66, "module-core.models.gemnet.gemnet", false], [67, "module-core.models.gemnet", false], [68, "module-core.models.gemnet.initializers", false], [69, "module-core.models.gemnet.layers.atom_update_block", false], [70, "module-core.models.gemnet.layers.base_layers", false], [71, "module-core.models.gemnet.layers.basis_utils", false], [72, "module-core.models.gemnet.layers.efficient", false], [73, "module-core.models.gemnet.layers.embedding_block", false], [74, "module-core.models.gemnet.layers", false], [75, "module-core.models.gemnet.layers.interaction_block", false], [76, "module-core.models.gemnet.layers.radial_basis", false], [77, "module-core.models.gemnet.layers.spherical_basis", false], [78, "module-core.models.gemnet.utils", false], [79, "module-core.models.gemnet_gp.gemnet", false], [80, "module-core.models.gemnet_gp", false], [81, "module-core.models.gemnet_gp.initializers", false], [82, "module-core.models.gemnet_gp.layers.atom_update_block", false], [83, "module-core.models.gemnet_gp.layers.base_layers", false], [84, "module-core.models.gemnet_gp.layers.basis_utils", false], [85, "module-core.models.gemnet_gp.layers.efficient", false], [86, "module-core.models.gemnet_gp.layers.embedding_block", false], [87, "module-core.models.gemnet_gp.layers", false], [88, "module-core.models.gemnet_gp.layers.interaction_block", false], [89, "module-core.models.gemnet_gp.layers.radial_basis", false], [90, "module-core.models.gemnet_gp.layers.spherical_basis", false], [91, "module-core.models.gemnet_gp.utils", false], [92, "module-core.models.gemnet_oc.gemnet_oc", false], [93, "module-core.models.gemnet_oc", false], [94, "module-core.models.gemnet_oc.initializers", false], [95, "module-core.models.gemnet_oc.interaction_indices", false], [96, "module-core.models.gemnet_oc.layers.atom_update_block", false], [97, "module-core.models.gemnet_oc.layers.base_layers", false], [98, "module-core.models.gemnet_oc.layers.basis_utils", false], [99, "module-core.models.gemnet_oc.layers.efficient", false], [100, "module-core.models.gemnet_oc.layers.embedding_block", false], [101, "module-core.models.gemnet_oc.layers.force_scaler", false], [102, "module-core.models.gemnet_oc.layers", false], [103, "module-core.models.gemnet_oc.layers.interaction_block", false], [104, "module-core.models.gemnet_oc.layers.radial_basis", false], [105, "module-core.models.gemnet_oc.layers.spherical_basis", false], [106, "module-core.models.gemnet_oc.utils", false], [107, "module-core.models", false], [108, "module-core.models.model_registry", false], [109, "module-core.models.painn", false], [110, "module-core.models.painn.painn", false], [111, "module-core.models.painn.utils", false], [112, "module-core.models.schnet", false], [113, "module-core.models.scn", false], [114, "module-core.models.scn.sampling", false], [115, "module-core.models.scn.scn", false], [116, "module-core.models.scn.smearing", false], [117, "module-core.models.scn.spherical_harmonics", false], [118, "module-core.models.utils.activations", false], [119, "module-core.models.utils.basis", false], [120, "module-core.models.utils", false], [121, "module-core.modules.evaluator", false], [122, "module-core.modules.exponential_moving_average", false], [123, "module-core.modules", false], [124, "module-core.modules.loss", false], [125, "module-core.modules.normalizer", false], [126, "module-core.modules.scaling.compat", false], [127, "module-core.modules.scaling.fit", false], [128, "module-core.modules.scaling", false], [129, "module-core.modules.scaling.scale_factor", false], [130, "module-core.modules.scaling.util", false], [131, "module-core.modules.scheduler", false], [132, "module-core.modules.transforms", false], [133, "module-core.preprocessing.atoms_to_graphs", false], [134, "module-core.preprocessing", false], [135, "module-core.scripts.download_data", false], [136, "module-core.scripts.gif_maker_parallelized", false], [137, "module-core.scripts.hpo", false], [138, "module-core.scripts.hpo.run_tune", false], [139, "module-core.scripts.hpo.run_tune_pbt", false], [140, "module-core.scripts", false], [141, "module-core.scripts.make_challenge_submission_file", false], [142, "module-core.scripts.make_lmdb_sizes", false], [143, "module-core.scripts.make_submission_file", false], [144, "module-core.scripts.preprocess_ef", false], [145, "module-core.scripts.preprocess_relaxed", false], [146, "module-core.scripts.uncompress", false], [147, "module-core.tasks", false], [148, "module-core.tasks.task", false], [149, "module-core.trainers.base_trainer", false], [150, "module-core.trainers", false], [151, "module-core.trainers.ocp_trainer", false], [152, "module-data", false], [153, "module-data.oc.core.adsorbate", false], [154, "module-data.oc.core.adsorbate_slab_config", false], [155, "module-data.oc.core.bulk", false], [156, "module-data.oc.core", false], [157, "module-data.oc.core.multi_adsorbate_slab_config", false], [158, "module-data.oc.core.slab", false], [159, "module-data.oc.databases", false], [160, "module-data.oc.databases.pkls", false], [161, "module-data.oc.databases.update", false], [162, "module-data.oc.experimental.get_energies", false], [163, "module-data.oc.experimental.merge_traj", false], [164, "module-data.oc.experimental.perturb_systems", false], [165, "module-data.oc.experimental.rattle_test", false], [166, "module-data.oc.experimental.utils", false], [167, "module-data.oc", false], [168, "module-data.oc.scripts.precompute_sample_structures", false], [169, "module-data.oc.structure_generator", false], [170, "module-data.oc.tests", false], [171, "module-data.oc.utils.flag_anomaly", false], [172, "module-data.oc.utils", false], [173, "module-data.oc.utils.vasp", false], [174, "module-data.odac.force_field.FF_analysis", false], [175, "module-data.odac", false], [176, "module-data.odac.promising_mof.promising_mof_energies.energy", false], [177, "module-data.om.biomolecules.geom.sample_geom_drugs", false], [178, "module-data.om.biomolecules.geom.write_geom_drugs_structures", false], [179, "module-data.om", false], [180, "module-data.om.omdata.orca.calc", false], [181, "module-data.om.omdata.orca", false], [182, "module-data.om.omdata.orca.recipes", false], [184, "module-ocpapi.client.client", false], [185, "module-ocpapi.client", false], [186, "module-ocpapi.client.models", false], [187, "module-ocpapi.client.ui", false], [188, "module-ocpapi", false], [189, "module-ocpapi.version", false], [190, "module-ocpapi.workflows.adsorbates", false], [191, "module-ocpapi.workflows.context", false], [192, "module-ocpapi.workflows.filter", false], [193, "module-ocpapi.workflows", false], [194, "module-ocpapi.workflows.log", false], [195, "module-ocpapi.workflows.retry", false]], "modulelistinfo (class in core.models.equiformer_v2.module_list)": [[53, "core.models.equiformer_v2.module_list.ModuleListInfo", false]], "mof_name (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.mof_name", false]], "mse() (in module core.modules.evaluator)": [[121, "core.modules.evaluator.mse", false]], "multipleadsorbateslabconfig (class in data.oc.core)": [[156, "data.oc.core.MultipleAdsorbateSlabConfig", false]], "multipleadsorbateslabconfig (class in data.oc.core.multi_adsorbate_slab_config)": [[157, "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig", false]], "multiply() (in module core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.multiply", false]], "multistep_lr_lambda() (in module core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.multistep_lr_lambda", false]], "multisteplrlambda (class in core.models.equiformer_v2.trainers.lr_scheduler)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.MultistepLRLambda", false]], "n (core.models.utils.basis.sphericalsmearing attribute)": [[119, "core.models.utils.basis.SphericalSmearing.n", false]], "n_samples (core.modules.scaling.scale_factor._stats attribute)": [[129, "core.modules.scaling.scale_factor._Stats.n_samples", false]], "name (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.name", false]], "name (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.name", false]], "nesteddict (in module core.common.registry)": [[20, "core.common.registry.NestedDict", false]], "new_trainer_context() (in module core.common.utils)": [[29, "core.common.utils.new_trainer_context", false]], "no_limit (in module ocpapi)": [[188, "ocpapi.NO_LIMIT", false]], "no_limit (in module ocpapi.workflows)": [[193, "ocpapi.workflows.NO_LIMIT", false]], "no_limit (in module ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.NO_LIMIT", false]], "no_weight_decay() (core.models.base.basemodel method)": [[43, "core.models.base.BaseModel.no_weight_decay", false]], "no_weight_decay() (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 method)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20.no_weight_decay", false]], "no_weight_decay() (core.models.equiformer_v2.equiformerv2 method)": [[50, "core.models.equiformer_v2.EquiformerV2.no_weight_decay", false]], "nolimittype (in module ocpapi)": [[188, "ocpapi.NoLimitType", false]], "nolimittype (in module ocpapi.workflows)": [[193, "ocpapi.workflows.NoLimitType", false]], "nolimittype (in module ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.NoLimitType", false]], "none (in module core.modules.evaluator)": [[121, "core.modules.evaluator.NONE", false]], "none_throws() (in module core.common.typing)": [[28, "core.common.typing.none_throws", false]], "nonretryablerequestexception": [[184, "ocpapi.client.client.NonRetryableRequestException", false], [185, "ocpapi.client.NonRetryableRequestException", false], [188, "ocpapi.NonRetryableRequestException", false]], "norm() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.norm", false]], "normalizer (class in core.modules.normalizer)": [[125, "core.modules.normalizer.Normalizer", false]], "not_available (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.NOT_AVAILABLE", false]], "not_available (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.NOT_AVAILABLE", false]], "not_available (ocpapi.status attribute)": [[188, "ocpapi.Status.NOT_AVAILABLE", false]], "num_params (core.models.base.basemodel property)": [[43, "core.models.base.BaseModel.num_params", false]], "num_params (core.models.dimenet_plus_plus.dimenetpluspluswrap property)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap.num_params", false]], "num_params (core.models.equiformer_v2.equiformer_v2_oc20.equiformerv2_oc20 property)": [[48, "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20.num_params", false]], "num_params (core.models.equiformer_v2.equiformerv2 property)": [[50, "core.models.equiformer_v2.EquiformerV2.num_params", false]], "num_params (core.models.escn.escn property)": [[64, "core.models.escn.eSCN.num_params", false]], "num_params (core.models.escn.escn.escn property)": [[63, "core.models.escn.escn.eSCN.num_params", false]], "num_params (core.models.gemnet.gemnet.gemnett property)": [[66, "core.models.gemnet.gemnet.GemNetT.num_params", false]], "num_params (core.models.gemnet.gemnett property)": [[67, "core.models.gemnet.GemNetT.num_params", false]], "num_params (core.models.gemnet_gp.gemnet.graphparallelgemnett property)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.num_params", false]], "num_params (core.models.gemnet_gp.graphparallelgemnett property)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.num_params", false]], "num_params (core.models.gemnet_oc.gemnet_oc.gemnetoc property)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.num_params", false]], "num_params (core.models.gemnet_oc.gemnetoc property)": [[93, "core.models.gemnet_oc.GemNetOC.num_params", false]], "num_params (core.models.painn.painn property)": [[109, "core.models.painn.PaiNN.num_params", false]], "num_params (core.models.painn.painn.painn property)": [[110, "core.models.painn.painn.PaiNN.num_params", false]], "num_params (core.models.schnet.schnetwrap property)": [[112, "core.models.schnet.SchNetWrap.num_params", false]], "num_params (core.models.scn.scn.sphericalchannelnetwork property)": [[115, "core.models.scn.scn.SphericalChannelNetwork.num_params", false]], "num_params (core.models.scn.sphericalchannelnetwork property)": [[113, "core.models.scn.SphericalChannelNetwork.num_params", false]], "numbers (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.numbers", false]], "numbers (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.numbers", false]], "numbers (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.numbers", false]], "numbers (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.numbers", false]], "numbers (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.numbers", false]], "numbers (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.numbers", false]], "oc22lmdbdataset (class in core.datasets)": [[37, "core.datasets.OC22LmdbDataset", false]], "oc22lmdbdataset (class in core.datasets.oc22_lmdb_dataset)": [[40, "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset", false]], "ocp_trainable() (in module core.scripts.hpo.run_tune)": [[138, "core.scripts.hpo.run_tune.ocp_trainable", false]], "ocp_trainable() (in module core.scripts.hpo.run_tune_pbt)": [[139, "core.scripts.hpo.run_tune_pbt.ocp_trainable", false]], "ocpapi": [[188, "module-ocpapi", false]], "ocpapi.client": [[185, "module-ocpapi.client", false]], "ocpapi.client.client": [[184, "module-ocpapi.client.client", false]], "ocpapi.client.models": [[186, "module-ocpapi.client.models", false]], "ocpapi.client.ui": [[187, "module-ocpapi.client.ui", false]], "ocpapi.version": [[189, "module-ocpapi.version", false]], "ocpapi.workflows": [[193, "module-ocpapi.workflows", false]], "ocpapi.workflows.adsorbates": [[190, "module-ocpapi.workflows.adsorbates", false]], "ocpapi.workflows.context": [[191, "module-ocpapi.workflows.context", false]], "ocpapi.workflows.filter": [[192, "module-ocpapi.workflows.filter", false]], "ocpapi.workflows.log": [[194, "module-ocpapi.workflows.log", false]], "ocpapi.workflows.retry": [[195, "module-ocpapi.workflows.retry", false]], "ocpcalculator (class in core.common.relaxation.ase_utils)": [[21, "core.common.relaxation.ase_utils.OCPCalculator", false]], "ocpcollater (class in core.common.data_parallel)": [[13, "core.common.data_parallel.OCPCollater", false]], "ocpneb (class in cattsunami.core)": [[6, "cattsunami.core.OCPNEB", false]], "ocpneb (class in cattsunami.core.ocpneb)": [[7, "cattsunami.core.ocpneb.OCPNEB", false]], "ocptrainer (class in core.trainers)": [[150, "core.trainers.OCPTrainer", false]], "ocptrainer (class in core.trainers.ocp_trainer)": [[151, "core.trainers.ocp_trainer.OCPTrainer", false]], "omitted_config_ids (ocpapi.adsorbateslabrelaxationsresults attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsResults.omitted_config_ids", false]], "omitted_config_ids (ocpapi.client.adsorbateslabrelaxationsresults attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsResults.omitted_config_ids", false]], "omitted_config_ids (ocpapi.client.models.adsorbateslabrelaxationsresults attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsResults.omitted_config_ids", false]], "only_keep_unique_systems() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.only_keep_unique_systems", false]], "opt_parameters (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.OPT_PARAMETERS", false]], "orca_ase_simple_input (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_ASE_SIMPLE_INPUT", false]], "orca_basis (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_BASIS", false]], "orca_blocks (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_BLOCKS", false]], "orca_functional (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_FUNCTIONAL", false]], "orca_simple_input (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.ORCA_SIMPLE_INPUT", false]], "os_environ_get_or_throw() (in module core.common.distutils)": [[14, "core.common.distutils.os_environ_get_or_throw", false]], "other_fields (ocpapi.client.models._datamodel attribute)": [[186, "ocpapi.client.models._DataModel.other_fields", false]], "out_energy (core.models.gemnet_gp.layers.atom_update_block.outputblock attribute)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.out_energy", false]], "out_forces (core.models.gemnet_gp.layers.atom_update_block.outputblock attribute)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.out_forces", false]], "outputblock (class in core.models.gemnet.layers.atom_update_block)": [[69, "core.models.gemnet.layers.atom_update_block.OutputBlock", false]], "outputblock (class in core.models.gemnet_gp.layers.atom_update_block)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock", false]], "outputblock (class in core.models.gemnet_oc.layers.atom_update_block)": [[96, "core.models.gemnet_oc.layers.atom_update_block.OutputBlock", false]], "outputppblock (class in core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.OutputPPBlock", false]], "pad_tensor() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.pad_tensor", false]], "painn (class in core.models.painn)": [[109, "core.models.painn.PaiNN", false]], "painn (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNN", false]], "painnmessage (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNNMessage", false]], "painnoutput (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNNOutput", false]], "painnupdate (class in core.models.painn.painn)": [[110, "core.models.painn.painn.PaiNNUpdate", false]], "pairinteraction (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.PairInteraction", false]], "parallelize_generation() (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.parallelize_generation", false]], "parse_args() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.parse_args", false]], "parse_args() (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.parse_args", false]], "parse_args() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.parse_args", false]], "parse_args() (in module data.om.biomolecules.geom.sample_geom_drugs)": [[177, "data.om.biomolecules.geom.sample_geom_drugs.parse_args", false]], "parse_args() (in module data.om.biomolecules.geom.write_geom_drugs_structures)": [[178, "data.om.biomolecules.geom.write_geom_drugs_structures.parse_args", false]], "parse_neb_info() (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.parse_neb_info", false]], "parse_value() (in module core.common.utils)": [[29, "core.common.utils.parse_value", false]], "parser (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.parser", false]], "parser (in module adsorbml.scripts.write_top_k_vasp)": [[4, "adsorbml.scripts.write_top_k_vasp.parser", false]], "parser (in module cattsunami.run_validation.run_validation)": [[11, "cattsunami.run_validation.run_validation.parser", false]], "parser (in module core.scripts.download_data)": [[135, "core.scripts.download_data.parser", false]], "parser (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.parser", false]], "parser (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.parser", false]], "parser (in module core.scripts.make_lmdb_sizes)": [[142, "core.scripts.make_lmdb_sizes.parser", false]], "parser (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.parser", false]], "parser (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.parser", false]], "parser (in module core.scripts.preprocess_relaxed)": [[145, "core.scripts.preprocess_relaxed.parser", false]], "parser (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.parser", false]], "pbc (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.pbc", false]], "pbc (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.pbc", false]], "pbc (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.pbc", false]], "pbc (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.pbc", false]], "pbc (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.pbc", false]], "pbc (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.pbc", false]], "pbc_patch() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.pbc_patch", false]], "phys_err() (in module data.odac.force_field.ff_analysis)": [[174, "data.odac.force_field.FF_analysis.phys_err", false]], "place_adsorbate_on_site() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.place_adsorbate_on_site", false]], "place_adsorbate_on_site() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.place_adsorbate_on_site", false]], "place_adsorbate_on_sites() (data.oc.core.adsorbate_slab_config.adsorbateslabconfig method)": [[154, "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig.place_adsorbate_on_sites", false]], "place_adsorbate_on_sites() (data.oc.core.adsorbateslabconfig method)": [[156, "data.oc.core.AdsorbateSlabConfig.place_adsorbate_on_sites", false]], "place_adsorbates_on_sites() (data.oc.core.multi_adsorbate_slab_config.multipleadsorbateslabconfig method)": [[157, "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig.place_adsorbates_on_sites", false]], "place_adsorbates_on_sites() (data.oc.core.multipleadsorbateslabconfig method)": [[156, "data.oc.core.MultipleAdsorbateSlabConfig.place_adsorbates_on_sites", false]], "plot_histogram() (in module core.common.utils)": [[29, "core.common.utils.plot_histogram", false]], "plot_traj() (in module data.oc.experimental.utils)": [[166, "data.oc.experimental.utils.plot_traj", false]], "polynomialenvelope (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.PolynomialEnvelope", false]], "polynomialenvelope (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.PolynomialEnvelope", false]], "polynomialenvelope (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.PolynomialEnvelope", false]], "positions (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.positions", false]], "positions (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.positions", false]], "positions (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.positions", false]], "positions (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.positions", false]], "positions (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.positions", false]], "positions (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.positions", false]], "pov_from_atoms() (in module core.scripts.gif_maker_parallelized)": [[136, "core.scripts.gif_maker_parallelized.pov_from_atoms", false]], "precompute_enumerate_surface() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.precompute_enumerate_surface", false]], "precompute_slabs() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.precompute_slabs", false]], "predict() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer.predict", false]], "predict() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer.predict", false]], "predicttask (class in core.tasks)": [[147, "core.tasks.PredictTask", false]], "predicttask (class in core.tasks.task)": [[148, "core.tasks.task.PredictTask", false]], "preprocess_data() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.preprocess_data", false]], "print_cuda_usage() (in module core.common.utils)": [[29, "core.common.utils.print_cuda_usage", false]], "process_func() (in module data.oc.experimental.get_energies)": [[162, "data.oc.experimental.get_energies.process_func", false]], "process_ml_data() (in module adsorbml.2023_neurips_challenge.challenge_eval)": [[0, "adsorbml.2023_neurips_challenge.challenge_eval.process_ml_data", false]], "process_mlrs() (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.process_mlrs", false]], "promising_defective (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.promising_defective", false]], "promising_pristine (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.promising_pristine", false]], "prompt_for_slabs_to_keep (class in ocpapi)": [[188, "ocpapi.prompt_for_slabs_to_keep", false]], "prompt_for_slabs_to_keep (class in ocpapi.workflows)": [[193, "ocpapi.workflows.prompt_for_slabs_to_keep", false]], "prompt_for_slabs_to_keep (class in ocpapi.workflows.filter)": [[192, "ocpapi.workflows.filter.prompt_for_slabs_to_keep", false]], "pyg2_data_transform() (in module core.common.utils)": [[29, "core.common.utils.pyg2_data_transform", false]], "qmof_khot_embeddings (in module core.datasets.embeddings)": [[34, "core.datasets.embeddings.QMOF_KHOT_EMBEDDINGS", false]], "qmof_khot_embeddings (in module core.datasets.embeddings.qmof_khot_embeddings)": [[36, "core.datasets.embeddings.qmof_khot_embeddings.QMOF_KHOT_EMBEDDINGS", false]], "quadrupletinteraction (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.QuadrupletInteraction", false]], "r (in module core.common.registry)": [[20, "core.common.registry.R", false]], "r_data_keys (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_data_keys", false]], "r_data_keys (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_data_keys", false]], "r_distances (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_distances", false]], "r_distances (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_distances", false]], "r_edges (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_edges", false]], "r_edges (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_edges", false]], "r_energy (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_energy", false]], "r_energy (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_energy", false]], "r_fixed (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_fixed", false]], "r_fixed (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_fixed", false]], "r_forces (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_forces", false]], "r_forces (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_forces", false]], "r_pbc (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_pbc", false]], "r_pbc (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_pbc", false]], "r_stress (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.r_stress", false]], "r_stress (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.r_stress", false]], "radialbasis (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.RadialBasis", false]], "radialbasis (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.RadialBasis", false]], "radialbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.RadialBasis", false]], "radialfunction (class in core.models.equiformer_v2.radial_function)": [[54, "core.models.equiformer_v2.radial_function.RadialFunction", false]], "radius (core.preprocessing.atoms_to_graphs.atomstographs attribute)": [[133, "core.preprocessing.atoms_to_graphs.AtomsToGraphs.radius", false]], "radius (core.preprocessing.atomstographs attribute)": [[134, "core.preprocessing.AtomsToGraphs.radius", false]], "radius_graph_pbc() (in module core.common.utils)": [[29, "core.common.utils.radius_graph_pbc", false]], "ragged_range() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.ragged_range", false]], "ragged_range() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.ragged_range", false]], "ragged_range() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.ragged_range", false]], "randomly_rotate_adsorbate() (in module data.oc.core.adsorbate)": [[153, "data.oc.core.adsorbate.randomly_rotate_adsorbate", false]], "randomrotate (class in core.common.transforms)": [[26, "core.common.transforms.RandomRotate", false]], "ratelimitexceededexception": [[184, "ocpapi.client.client.RateLimitExceededException", false], [185, "ocpapi.client.RateLimitExceededException", false], [188, "ocpapi.RateLimitExceededException", false]], "ratelimitlogging (class in ocpapi)": [[188, "ocpapi.RateLimitLogging", false]], "ratelimitlogging (class in ocpapi.workflows)": [[193, "ocpapi.workflows.RateLimitLogging", false]], "ratelimitlogging (class in ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.RateLimitLogging", false]], "raw_ads_energy_data (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.raw_ads_energy_data", false]], "reaction (class in cattsunami.core)": [[6, "cattsunami.core.Reaction", false]], "reaction (class in cattsunami.core.reaction)": [[8, "cattsunami.core.reaction.Reaction", false]], "read_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.read_json", false]], "read_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.read_json", false]], "read_lzma() (in module core.scripts.uncompress)": [[146, "core.scripts.uncompress.read_lzma", false]], "read_value_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.read_value_json", false]], "read_value_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.read_value_json", false]], "real_sph_harm() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.real_sph_harm", false]], "real_sph_harm() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.real_sph_harm", false]], "real_sph_harm() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.real_sph_harm", false]], "reduce_from_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.reduce_from_model_parallel_region", false]], "reducefrommodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.ReduceFromModelParallelRegion", false]], "register() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register", false]], "register_dataset() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_dataset", false]], "register_logger() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_logger", false]], "register_model() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_model", false]], "register_task() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_task", false]], "register_trainer() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.register_trainer", false]], "registry (class in core.common.registry)": [[20, "core.common.registry.Registry", false]], "registry (in module core.common.registry)": [[20, "core.common.registry.registry", false]], "relaxationtask (class in core.tasks)": [[147, "core.tasks.RelaxationTask", false]], "relaxationtask (class in core.tasks.task)": [[148, "core.tasks.task.RelaxationTask", false]], "rename_data_object_keys() (in module core.datasets._utils)": [[30, "core.datasets._utils.rename_data_object_keys", false]], "reorder_adsorbate() (cattsunami.core.autoframe.autoframe method)": [[5, "cattsunami.core.autoframe.AutoFrame.reorder_adsorbate", false]], "reorder_edge_list() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.reorder_edge_list", false]], "reorder_symmetric_edges() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.reorder_symmetric_edges", false]], "reorder_symmetric_edges() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.reorder_symmetric_edges", false]], "reorder_symmetric_edges() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.reorder_symmetric_edges", false]], "reorder_symmetric_edges() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.reorder_symmetric_edges", false]], "repeat_blocks() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.repeat_blocks", false]], "repeat_blocks() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.repeat_blocks", false]], "repeat_blocks() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.repeat_blocks", false]], "repeat_blocks() (in module core.models.painn.utils)": [[111, "core.models.painn.utils.repeat_blocks", false]], "requestexception": [[184, "ocpapi.client.client.RequestException", false], [185, "ocpapi.client.RequestException", false], [188, "ocpapi.RequestException", false]], "reserved_keys (in module core.datasets.lmdb_database)": [[38, "core.datasets.lmdb_database.RESERVED_KEYS", false]], "reset_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.reset_", false]], "reset_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.reset_", false]], "reset_parameters() (core.models.dimenet_plus_plus.dimenetplusplus method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.reset_parameters", false]], "reset_parameters() (core.models.dimenet_plus_plus.interactionppblock method)": [[44, "core.models.dimenet_plus_plus.InteractionPPBlock.reset_parameters", false]], "reset_parameters() (core.models.dimenet_plus_plus.outputppblock method)": [[44, "core.models.dimenet_plus_plus.OutputPPBlock.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.atom_update_block.outputblock method)": [[69, "core.models.gemnet.layers.atom_update_block.OutputBlock.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.base_layers.dense method)": [[70, "core.models.gemnet.layers.base_layers.Dense.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.efficient.efficientinteractionbilinear method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionBilinear.reset_parameters", false]], "reset_parameters() (core.models.gemnet.layers.efficient.efficientinteractiondownprojection method)": [[72, "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.atom_update_block.outputblock method)": [[82, "core.models.gemnet_gp.layers.atom_update_block.OutputBlock.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.base_layers.dense method)": [[83, "core.models.gemnet_gp.layers.base_layers.Dense.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.efficient.efficientinteractionbilinear method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear.reset_parameters", false]], "reset_parameters() (core.models.gemnet_gp.layers.efficient.efficientinteractiondownprojection method)": [[85, "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection.reset_parameters", false]], "reset_parameters() (core.models.gemnet_oc.layers.base_layers.dense method)": [[97, "core.models.gemnet_oc.layers.base_layers.Dense.reset_parameters", false]], "reset_parameters() (core.models.gemnet_oc.layers.efficient.basisembedding method)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding.reset_parameters", false]], "reset_parameters() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.gatedequivariantblock method)": [[110, "core.models.painn.painn.GatedEquivariantBlock.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painnoutput method)": [[110, "core.models.painn.painn.PaiNNOutput.reset_parameters", false]], "reset_parameters() (core.models.painn.painn.painnupdate method)": [[110, "core.models.painn.painn.PaiNNUpdate.reset_parameters", false]], "residuallayer (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.ResidualLayer", false]], "residuallayer (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.ResidualLayer", false]], "residuallayer (class in core.models.gemnet_oc.layers.base_layers)": [[97, "core.models.gemnet_oc.layers.base_layers.ResidualLayer", false]], "restart_bug_check() (in module data.oc.experimental.utils)": [[166, "data.oc.experimental.utils.restart_bug_check", false]], "restore() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.restore", false]], "retry_after (ocpapi.client.client.ratelimitexceededexception attribute)": [[184, "ocpapi.client.client.RateLimitExceededException.retry_after", false]], "retry_after (ocpapi.client.ratelimitexceededexception attribute)": [[185, "ocpapi.client.RateLimitExceededException.retry_after", false]], "retry_after (ocpapi.ratelimitexceededexception attribute)": [[188, "ocpapi.RateLimitExceededException.retry_after", false]], "retry_api_calls() (in module ocpapi)": [[188, "ocpapi.retry_api_calls", false]], "retry_api_calls() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.retry_api_calls", false]], "retry_api_calls() (in module ocpapi.workflows.retry)": [[195, "ocpapi.workflows.retry.retry_api_calls", false]], "rotate() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.rotate", false]], "rotate() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.rotate", false]], "rotate() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.Rotate", false]], "rotate_inv() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.rotate_inv", false]], "rotate_inv() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.rotate_inv", false]], "rotateinv() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotateInv", false]], "rotatewigner() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotateWigner", false]], "rotationmatrix() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotationMatrix", false]], "rotationtowignerdmatrix() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.RotationToWignerDMatrix", false]], "rotationtowignerdmatrix() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.RotationToWignerDMatrix", false]], "rotationtowignerdmatrix() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.RotationToWignerDMatrix", false]], "run() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.run", false]], "run() (core.tasks.predicttask method)": [[147, "core.tasks.PredictTask.run", false]], "run() (core.tasks.relaxationtask method)": [[147, "core.tasks.RelaxationTask.run", false]], "run() (core.tasks.task.basetask method)": [[148, "core.tasks.task.BaseTask.run", false]], "run() (core.tasks.task.predicttask method)": [[148, "core.tasks.task.PredictTask.run", false]], "run() (core.tasks.task.relaxationtask method)": [[148, "core.tasks.task.RelaxationTask.run", false]], "run() (core.tasks.task.traintask method)": [[148, "core.tasks.task.TrainTask.run", false]], "run() (core.tasks.task.validatetask method)": [[148, "core.tasks.task.ValidateTask.run", false]], "run() (core.tasks.traintask method)": [[147, "core.tasks.TrainTask.run", false]], "run() (core.tasks.validatetask method)": [[147, "core.tasks.ValidateTask.run", false]], "run() (data.oc.structure_generator.structuregenerator method)": [[169, "data.oc.structure_generator.StructureGenerator.run", false]], "run_placements() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.run_placements", false]], "run_relaxations() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer.run_relaxations", false]], "run_relaxations() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer.run_relaxations", false]], "runner (class in core._cli)": [[12, "core._cli.Runner", false]], "s (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.s", false]], "s2activation (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.S2Activation", false]], "s2ef_counts (in module core.scripts.download_data)": [[135, "core.scripts.download_data.S2EF_COUNTS", false]], "save (ocpapi.lifetime attribute)": [[188, "ocpapi.Lifetime.SAVE", false]], "save (ocpapi.workflows.adsorbates.lifetime attribute)": [[190, "ocpapi.workflows.adsorbates.Lifetime.SAVE", false]], "save (ocpapi.workflows.lifetime attribute)": [[193, "ocpapi.workflows.Lifetime.SAVE", false]], "save() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.save", false]], "save() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.save", false]], "save_checkpoint() (in module core.common.utils)": [[29, "core.common.utils.save_checkpoint", false]], "save_experiment_log() (in module core.common.utils)": [[29, "core.common.utils.save_experiment_log", false]], "save_results() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.save_results", false]], "save_results() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.save_results", false]], "scale() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.scale", false]], "scale_factor (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.scale_factor", false]], "scale_factor (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.scale_factor", false]], "scaledict (in module core.modules.scaling.compat)": [[126, "core.modules.scaling.compat.ScaleDict", false]], "scaledsigmoid (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSigmoid", false]], "scaledsilu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSiLU", false]], "scaledsilu (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.ScaledSiLU", false]], "scaledsilu (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.ScaledSiLU", false]], "scaledsilu (class in core.models.gemnet_oc.layers.base_layers)": [[97, "core.models.gemnet_oc.layers.base_layers.ScaledSiLU", false]], "scaledsmoothleakyrelu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU", false]], "scaledswiglu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.ScaledSwiGLU", false]], "scalefactor (class in core.modules.scaling)": [[128, "core.modules.scaling.ScaleFactor", false]], "scalefactor (class in core.modules.scaling.scale_factor)": [[129, "core.modules.scaling.scale_factor.ScaleFactor", false]], "scatter_det() (in module core.common.utils)": [[29, "core.common.utils.scatter_det", false]], "scatter_sum() (in module core.models.gemnet_gp.layers.atom_update_block)": [[82, "core.models.gemnet_gp.layers.atom_update_block.scatter_sum", false]], "scatter_to_model_parallel_region() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.scatter_to_model_parallel_region", false]], "scattertomodelparallelregion (class in core.common.gp_utils)": [[16, "core.common.gp_utils.ScatterToModelParallelRegion", false]], "schnetwrap (class in core.models.schnet)": [[112, "core.models.schnet.SchNetWrap", false]], "select_edges() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.select_edges", false]], "select_edges() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.select_edges", false]], "select_edges() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.select_edges", false]], "select_edges() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.select_edges", false]], "select_symmetric_edges() (core.models.gemnet.gemnet.gemnett method)": [[66, "core.models.gemnet.gemnet.GemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet.gemnett method)": [[67, "core.models.gemnet.GemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_gp.gemnet.graphparallelgemnett method)": [[79, "core.models.gemnet_gp.gemnet.GraphParallelGemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_gp.graphparallelgemnett method)": [[80, "core.models.gemnet_gp.GraphParallelGemNetT.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.select_symmetric_edges", false]], "select_symmetric_edges() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.select_symmetric_edges", false]], "separables2activation (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.SeparableS2Activation", false]], "set_() (core.modules.scaling.scale_factor.scalefactor method)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.set_", false]], "set_() (core.modules.scaling.scalefactor method)": [[128, "core.modules.scaling.ScaleFactor.set_", false]], "set_bulk_id_from_db() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.set_bulk_id_from_db", false]], "set_bulk_id_from_db() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.set_bulk_id_from_db", false]], "set_context_var() (in module ocpapi.workflows.context)": [[191, "ocpapi.workflows.context.set_context_var", false]], "set_cutoffs() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.set_cutoffs", false]], "set_cutoffs() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.set_cutoffs", false]], "set_embedding() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.set_embedding", false]], "set_embedding() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.set_embedding", false]], "set_epoch_and_start_iteration() (core.common.data_parallel.balancedbatchsampler method)": [[13, "core.common.data_parallel.BalancedBatchSampler.set_epoch_and_start_iteration", false]], "set_epoch_and_start_iteration() (core.common.data_parallel.statefuldistributedsampler method)": [[13, "core.common.data_parallel.StatefulDistributedSampler.set_epoch_and_start_iteration", false]], "set_fixed_atom_constraints() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.set_fixed_atom_constraints", false]], "set_lmax() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.set_lmax", false]], "set_lmax_mmax() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.set_lmax_mmax", false]], "set_lmax_mmax() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.set_lmax_mmax", false]], "set_max_neighbors() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.set_max_neighbors", false]], "set_max_neighbors() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.set_max_neighbors", false]], "set_pbc_patch() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.set_pbc_patch", false]], "set_positions() (cattsunami.core.ocpneb method)": [[6, "cattsunami.core.OCPNEB.set_positions", false]], "set_positions() (cattsunami.core.ocpneb.ocpneb method)": [[7, "cattsunami.core.ocpneb.OCPNEB.set_positions", false]], "set_positions() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.set_positions", false]], "set_seed() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.set_seed", false]], "set_seed() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.set_seed", false]], "set_source_dataset_id() (data.oc.core.bulk method)": [[156, "data.oc.core.Bulk.set_source_dataset_id", false]], "set_source_dataset_id() (data.oc.core.bulk.bulk method)": [[155, "data.oc.core.bulk.Bulk.set_source_dataset_id", false]], "set_wigner() (core.models.equiformer_v2.so3.so3_rotation method)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation.set_wigner", false]], "setup() (core.tasks.task.basetask method)": [[148, "core.tasks.task.BaseTask.setup", false]], "setup() (in module core.common.distutils)": [[14, "core.common.distutils.setup", false]], "setup_experimental_imports() (in module core.common.utils)": [[29, "core.common.utils.setup_experimental_imports", false]], "setup_gp() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.setup_gp", false]], "setup_imports() (in module core.common.utils)": [[29, "core.common.utils.setup_imports", false]], "setup_logging() (in module core.common.utils)": [[29, "core.common.utils.setup_logging", false]], "severitylevelbetween (class in core.common.utils)": [[29, "core.common.utils.SeverityLevelBetween", false]], "sharded (core.datasets.lmdb_dataset.lmdbdataset attribute)": [[39, "core.datasets.lmdb_dataset.LmdbDataset.sharded", false]], "sharded (core.datasets.lmdbdataset attribute)": [[37, "core.datasets.LmdbDataset.sharded", false]], "shell (in module core.preprocessing.atoms_to_graphs)": [[133, "core.preprocessing.atoms_to_graphs.shell", false]], "shift (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.shift", false]], "shift (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.shift", false]], "shift (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.shift", false]], "sigmoidsmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.SigmoidSmearing", false]], "silusmearing (class in core.models.scn.smearing)": [[116, "core.models.scn.smearing.SiLUSmearing", false]], "sine (class in core.models.utils.basis)": [[119, "core.models.utils.basis.Sine", false]], "sinesmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.SINESmearing", false]], "single_point_calculation() (in module data.om.omdata.orca.recipes)": [[182, "data.om.omdata.orca.recipes.single_point_calculation", false]], "singlepointlmdbdataset (class in core.datasets)": [[37, "core.datasets.SinglePointLmdbDataset", false]], "singlepointlmdbdataset (class in core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.SinglePointLmdbDataset", false]], "siqu (class in core.models.gemnet.layers.base_layers)": [[70, "core.models.gemnet.layers.base_layers.SiQU", false]], "siqu (class in core.models.gemnet_gp.layers.base_layers)": [[83, "core.models.gemnet_gp.layers.base_layers.SiQU", false]], "siren (class in core.models.utils.basis)": [[119, "core.models.utils.basis.SIREN", false]], "slab (class in data.oc.core)": [[156, "data.oc.core.Slab", false]], "slab (class in data.oc.core.slab)": [[158, "data.oc.core.slab.Slab", false]], "slab (class in ocpapi)": [[188, "ocpapi.Slab", false]], "slab (class in ocpapi.client)": [[185, "ocpapi.client.Slab", false]], "slab (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Slab", false]], "slab (ocpapi.adsorbateslabconfigs attribute)": [[188, "ocpapi.AdsorbateSlabConfigs.slab", false]], "slab (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.slab", false]], "slab (ocpapi.adsorbateslabrelaxationsrequest attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsRequest.slab", false]], "slab (ocpapi.client.adsorbateslabconfigs attribute)": [[185, "ocpapi.client.AdsorbateSlabConfigs.slab", false]], "slab (ocpapi.client.adsorbateslabrelaxationsrequest attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsRequest.slab", false]], "slab (ocpapi.client.models.adsorbateslabconfigs attribute)": [[186, "ocpapi.client.models.AdsorbateSlabConfigs.slab", false]], "slab (ocpapi.client.models.adsorbateslabrelaxationsrequest attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsRequest.slab", false]], "slab (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.slab", false]], "slab (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.slab", false]], "slabmetadata (class in ocpapi)": [[188, "ocpapi.SlabMetadata", false]], "slabmetadata (class in ocpapi.client)": [[185, "ocpapi.client.SlabMetadata", false]], "slabmetadata (class in ocpapi.client.models)": [[186, "ocpapi.client.models.SlabMetadata", false]], "slabs (class in ocpapi)": [[188, "ocpapi.Slabs", false]], "slabs (class in ocpapi.client)": [[185, "ocpapi.client.Slabs", false]], "slabs (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Slabs", false]], "slabs (ocpapi.adsorbatebindingsites attribute)": [[188, "ocpapi.AdsorbateBindingSites.slabs", false]], "slabs (ocpapi.client.models.slabs attribute)": [[186, "ocpapi.client.models.Slabs.slabs", false]], "slabs (ocpapi.client.slabs attribute)": [[185, "ocpapi.client.Slabs.slabs", false]], "slabs (ocpapi.slabs attribute)": [[188, "ocpapi.Slabs.slabs", false]], "slabs (ocpapi.workflows.adsorbatebindingsites attribute)": [[193, "ocpapi.workflows.AdsorbateBindingSites.slabs", false]], "slabs (ocpapi.workflows.adsorbates.adsorbatebindingsites attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateBindingSites.slabs", false]], "smearing (core.models.utils.basis.basis attribute)": [[119, "core.models.utils.basis.Basis.smearing", false]], "smoothleakyrelu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.SmoothLeakyReLU", false]], "so2_convolution (class in core.models.equiformer_v2.so2_ops)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Convolution", false]], "so2_linear (class in core.models.equiformer_v2.so2_ops)": [[55, "core.models.equiformer_v2.so2_ops.SO2_Linear", false]], "so2_m_convolution (class in core.models.equiformer_v2.so2_ops)": [[55, "core.models.equiformer_v2.so2_ops.SO2_m_Convolution", false]], "so2block (class in core.models.escn.escn)": [[63, "core.models.escn.escn.SO2Block", false]], "so2conv (class in core.models.escn.escn)": [[63, "core.models.escn.escn.SO2Conv", false]], "so2equivariantgraphattention (class in core.models.equiformer_v2.transformer_block)": [[61, "core.models.equiformer_v2.transformer_block.SO2EquivariantGraphAttention", false]], "so3_embedding (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding", false]], "so3_embedding (class in core.models.escn.so3)": [[65, "core.models.escn.so3.SO3_Embedding", false]], "so3_grid (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Grid", false]], "so3_grid (class in core.models.escn.so3)": [[65, "core.models.escn.so3.SO3_Grid", false]], "so3_linear (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Linear", false]], "so3_linearv2 (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_LinearV2", false]], "so3_rotation (class in core.models.equiformer_v2.so3)": [[56, "core.models.equiformer_v2.so3.SO3_Rotation", false]], "so3_rotation (class in core.models.escn.so3)": [[65, "core.models.escn.so3.SO3_Rotation", false]], "sph_harm_prefactor() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.sph_harm_prefactor", false]], "sph_harm_prefactor() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.sph_harm_prefactor", false]], "sph_harm_prefactor() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.sph_harm_prefactor", false]], "spherical_bessel_formulas() (in module core.models.gemnet.layers.basis_utils)": [[71, "core.models.gemnet.layers.basis_utils.spherical_bessel_formulas", false]], "spherical_bessel_formulas() (in module core.models.gemnet_gp.layers.basis_utils)": [[84, "core.models.gemnet_gp.layers.basis_utils.spherical_bessel_formulas", false]], "spherical_bessel_formulas() (in module core.models.gemnet_oc.layers.basis_utils)": [[98, "core.models.gemnet_oc.layers.basis_utils.spherical_bessel_formulas", false]], "sphericalbasislayer (class in core.models.gemnet_oc.layers.spherical_basis)": [[105, "core.models.gemnet_oc.layers.spherical_basis.SphericalBasisLayer", false]], "sphericalbesselbasis (class in core.models.gemnet.layers.radial_basis)": [[76, "core.models.gemnet.layers.radial_basis.SphericalBesselBasis", false]], "sphericalbesselbasis (class in core.models.gemnet_gp.layers.radial_basis)": [[89, "core.models.gemnet_gp.layers.radial_basis.SphericalBesselBasis", false]], "sphericalbesselbasis (class in core.models.gemnet_oc.layers.radial_basis)": [[104, "core.models.gemnet_oc.layers.radial_basis.SphericalBesselBasis", false]], "sphericalchannelnetwork (class in core.models.scn)": [[113, "core.models.scn.SphericalChannelNetwork", false]], "sphericalchannelnetwork (class in core.models.scn.scn)": [[115, "core.models.scn.scn.SphericalChannelNetwork", false]], "sphericalharmonicshelper (class in core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper", false]], "sphericalsmearing (class in core.models.utils.basis)": [[119, "core.models.utils.basis.SphericalSmearing", false]], "splits (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.SPLITS", false]], "src_id (ocpapi.bulk attribute)": [[188, "ocpapi.Bulk.src_id", false]], "src_id (ocpapi.client.bulk attribute)": [[185, "ocpapi.client.Bulk.src_id", false]], "src_id (ocpapi.client.models.bulk attribute)": [[186, "ocpapi.client.models.Bulk.src_id", false]], "standardize_bulk() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.standardize_bulk", false]], "standardize_bulk() (in module data.oc.scripts.precompute_sample_structures)": [[168, "data.oc.scripts.precompute_sample_structures.standardize_bulk", false]], "state_dict() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.state_dict", false]], "state_dict() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.state_dict", false]], "statefuldistributedsampler (class in core.common.data_parallel)": [[13, "core.common.data_parallel.StatefulDistributedSampler", false]], "stats (core.modules.scaling.scale_factor.scalefactor attribute)": [[129, "core.modules.scaling.scale_factor.ScaleFactor.stats", false]], "stats (core.modules.scaling.scalefactor attribute)": [[128, "core.modules.scaling.ScaleFactor.stats", false]], "status (class in ocpapi)": [[188, "ocpapi.Status", false]], "status (class in ocpapi.client)": [[185, "ocpapi.client.Status", false]], "status (class in ocpapi.client.models)": [[186, "ocpapi.client.models.Status", false]], "status (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.status", false]], "status (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.status", false]], "status (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.status", false]], "step() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.step", false]], "step() (core.models.equiformer_v2.trainers.lr_scheduler.lrscheduler method)": [[60, "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler.step", false]], "step() (core.modules.scheduler.lrscheduler method)": [[131, "core.modules.scheduler.LRScheduler.step", false]], "store() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.store", false]], "structuregenerator (class in data.oc.structure_generator)": [[169, "data.oc.structure_generator.StructureGenerator", false]], "submit_adsorbate_slab_relaxations() (ocpapi.client method)": [[188, "ocpapi.Client.submit_adsorbate_slab_relaxations", false]], "submit_adsorbate_slab_relaxations() (ocpapi.client.client method)": [[185, "ocpapi.client.Client.submit_adsorbate_slab_relaxations", false]], "submit_adsorbate_slab_relaxations() (ocpapi.client.client.client method)": [[184, "ocpapi.client.client.Client.submit_adsorbate_slab_relaxations", false]], "subselect_edges() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.subselect_edges", false]], "subselect_edges() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.subselect_edges", false]], "subselect_graph() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.subselect_graph", false]], "subselect_graph() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.subselect_graph", false]], "success (ocpapi.client.models.status attribute)": [[186, "ocpapi.client.models.Status.SUCCESS", false]], "success (ocpapi.client.status attribute)": [[185, "ocpapi.client.Status.SUCCESS", false]], "success (ocpapi.status attribute)": [[188, "ocpapi.Status.SUCCESS", false]], "success_threshold (in module adsorbml.scripts.dense_eval)": [[1, "adsorbml.scripts.dense_eval.SUCCESS_THRESHOLD", false]], "surface_change_cutoff_multiplier (in module adsorbml.scripts.process_mlrs)": [[2, "adsorbml.scripts.process_mlrs.SURFACE_CHANGE_CUTOFF_MULTIPLIER", false]], "swiglu (class in core.models.equiformer_v2.activation)": [[45, "core.models.equiformer_v2.activation.SwiGLU", false]], "sym (in module core.models.dimenet_plus_plus)": [[44, "core.models.dimenet_plus_plus.sym", false]], "symmetrize_edges() (core.models.gemnet_oc.gemnet_oc.gemnetoc method)": [[92, "core.models.gemnet_oc.gemnet_oc.GemNetOC.symmetrize_edges", false]], "symmetrize_edges() (core.models.gemnet_oc.gemnetoc method)": [[93, "core.models.gemnet_oc.GemNetOC.symmetrize_edges", false]], "symmetrize_edges() (core.models.painn.painn method)": [[109, "core.models.painn.PaiNN.symmetrize_edges", false]], "symmetrize_edges() (core.models.painn.painn.painn method)": [[110, "core.models.painn.painn.PaiNN.symmetrize_edges", false]], "synchronize() (in module core.common.distutils)": [[14, "core.common.distutils.synchronize", false]], "system_id (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.system_id", false]], "system_id (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.system_id", false]], "system_id (ocpapi.adsorbateslabrelaxationssystem attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationsSystem.system_id", false]], "system_id (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.system_id", false]], "system_id (ocpapi.client.adsorbateslabrelaxationssystem attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationsSystem.system_id", false]], "system_id (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.system_id", false]], "system_id (ocpapi.client.models.adsorbateslabrelaxationssystem attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationsSystem.system_id", false]], "system_id (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.system_id", false]], "system_id (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.system_id", false]], "t (in module core.common.distutils)": [[14, "core.common.distutils.T", false]], "t_co (in module core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.T_co", false]], "tag_surface_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.tag_surface_atoms", false]], "tags (ocpapi.adsorbateslabrelaxationresult attribute)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.tags", false]], "tags (ocpapi.atoms attribute)": [[188, "ocpapi.Atoms.tags", false]], "tags (ocpapi.client.adsorbateslabrelaxationresult attribute)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.tags", false]], "tags (ocpapi.client.atoms attribute)": [[185, "ocpapi.client.Atoms.tags", false]], "tags (ocpapi.client.models.adsorbateslabrelaxationresult attribute)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.tags", false]], "tags (ocpapi.client.models.atoms attribute)": [[186, "ocpapi.client.models.Atoms.tags", false]], "target_constant_shape() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.target_constant_shape", false]], "target_extensive() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.target_extensive", false]], "target_per_atom() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.target_per_atom", false]], "task_metrics (core.modules.evaluator.evaluator attribute)": [[121, "core.modules.evaluator.Evaluator.task_metrics", false]], "task_primary_metric (core.modules.evaluator.evaluator attribute)": [[121, "core.modules.evaluator.Evaluator.task_primary_metric", false]], "temp_split_string (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.temp_split_string", false]], "tensorboardlogger (class in core.common.logger)": [[19, "core.common.logger.TensorboardLogger", false]], "there_is_overlap() (in module data.oc.core.adsorbate_slab_config)": [[154, "data.oc.core.adsorbate_slab_config.there_is_overlap", false]], "tile_and_tag_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.tile_and_tag_atoms", false]], "tile_atoms() (in module data.oc.core.slab)": [[158, "data.oc.core.slab.tile_atoms", false]], "to() (core.modules.normalizer.normalizer method)": [[125, "core.modules.normalizer.Normalizer.to", false]], "to_ase_atoms() (ocpapi.adsorbateslabrelaxationresult method)": [[188, "ocpapi.AdsorbateSlabRelaxationResult.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.atoms method)": [[188, "ocpapi.Atoms.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.adsorbateslabrelaxationresult method)": [[185, "ocpapi.client.AdsorbateSlabRelaxationResult.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.atoms method)": [[185, "ocpapi.client.Atoms.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.models.adsorbateslabrelaxationresult method)": [[186, "ocpapi.client.models.AdsorbateSlabRelaxationResult.to_ase_atoms", false]], "to_ase_atoms() (ocpapi.client.models.atoms method)": [[186, "ocpapi.client.models.Atoms.to_ase_atoms", false]], "to_grid() (core.models.equiformer_v2.so3.so3_embedding method)": [[56, "core.models.equiformer_v2.so3.SO3_Embedding.to_grid", false]], "to_grid() (core.models.equiformer_v2.so3.so3_grid method)": [[56, "core.models.equiformer_v2.so3.SO3_Grid.to_grid", false]], "to_grid() (core.models.escn.so3.so3_embedding method)": [[65, "core.models.escn.so3.SO3_Embedding.to_grid", false]], "to_grid() (core.models.escn.so3.so3_grid method)": [[65, "core.models.escn.so3.SO3_Grid.to_grid", false]], "togrid() (core.models.scn.spherical_harmonics.sphericalharmonicshelper method)": [[117, "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper.ToGrid", false]], "top (ocpapi.client.models.slabmetadata attribute)": [[186, "ocpapi.client.models.SlabMetadata.top", false]], "top (ocpapi.client.slabmetadata attribute)": [[185, "ocpapi.client.SlabMetadata.top", false]], "top (ocpapi.slabmetadata attribute)": [[188, "ocpapi.SlabMetadata.top", false]], "torchcalc (class in core.common.relaxation.optimizers.lbfgs_torch)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc", false]], "train() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.train", false]], "train() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.train", false]], "train() (core.trainers.ocp_trainer.ocptrainer method)": [[151, "core.trainers.ocp_trainer.OCPTrainer.train", false]], "train() (core.trainers.ocptrainer method)": [[150, "core.trainers.OCPTrainer.train", false]], "train_test_val_split() (in module core.common.tutorial_utils)": [[27, "core.common.tutorial_utils.train_test_val_split", false]], "traintask (class in core.tasks)": [[147, "core.tasks.TrainTask", false]], "traintask (class in core.tasks.task)": [[148, "core.tasks.task.TrainTask", false]], "trajectorylmdbdataset (class in core.datasets)": [[37, "core.datasets.TrajectoryLmdbDataset", false]], "trajectorylmdbdataset (class in core.datasets.lmdb_dataset)": [[39, "core.datasets.lmdb_dataset.TrajectoryLmdbDataset", false]], "transblockv2 (class in core.models.equiformer_v2.transformer_block)": [[61, "core.models.equiformer_v2.transformer_block.TransBlockV2", false]], "transfer_reaction_db_path (in module cattsunami.databases)": [[9, "cattsunami.databases.TRANSFER_REACTION_DB_PATH", false]], "traverse_adsorbate_desorption() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_desorption", false]], "traverse_adsorbate_dissociation() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_dissociation", false]], "traverse_adsorbate_general() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_general", false]], "traverse_adsorbate_transfer() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.traverse_adsorbate_transfer", false]], "trim_tensor() (in module core.common.gp_utils)": [[16, "core.common.gp_utils.trim_tensor", false]], "tripletinteraction (class in core.models.gemnet.layers.interaction_block)": [[75, "core.models.gemnet.layers.interaction_block.TripletInteraction", false]], "tripletinteraction (class in core.models.gemnet_gp.layers.interaction_block)": [[88, "core.models.gemnet_gp.layers.interaction_block.TripletInteraction", false]], "tripletinteraction (class in core.models.gemnet_oc.layers.interaction_block)": [[103, "core.models.gemnet_oc.layers.interaction_block.TripletInteraction", false]], "triplets() (core.models.dimenet_plus_plus.dimenetplusplus method)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.triplets", false]], "tune_reporter() (in module core.common.hpo_utils)": [[17, "core.common.hpo_utils.tune_reporter", false]], "ui_url (ocpapi.adsorbateslabrelaxations attribute)": [[188, "ocpapi.AdsorbateSlabRelaxations.ui_url", false]], "ui_url (ocpapi.workflows.adsorbates.adsorbateslabrelaxations attribute)": [[190, "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations.ui_url", false]], "ui_url (ocpapi.workflows.adsorbateslabrelaxations attribute)": [[193, "ocpapi.workflows.AdsorbateSlabRelaxations.ui_url", false]], "uncompress_data() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.uncompress_data", false]], "uniform_atoms_lengths() (in module core.datasets.target_metadata_guesser)": [[41, "core.datasets.target_metadata_guesser.uniform_atoms_lengths", false]], "unique_combinations_count (in module data.odac.promising_mof.promising_mof_energies.energy)": [[176, "data.odac.promising_mof.promising_mof_energies.energy.unique_combinations_count", false]], "uniquekeyloader (class in core.common.utils)": [[29, "core.common.utils.UniqueKeyLoader", false]], "unregister() (core.common.registry.registry class method)": [[20, "core.common.registry.Registry.unregister", false]], "unscale() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.unscale", false]], "unsupportedadsorbateexception": [[188, "ocpapi.UnsupportedAdsorbateException", false], [190, "ocpapi.workflows.adsorbates.UnsupportedAdsorbateException", false], [193, "ocpapi.workflows.UnsupportedAdsorbateException", false]], "unsupportedbulkexception": [[188, "ocpapi.UnsupportedBulkException", false], [190, "ocpapi.workflows.adsorbates.UnsupportedBulkException", false], [193, "ocpapi.workflows.UnsupportedBulkException", false]], "unsupportedmodelexception": [[188, "ocpapi.UnsupportedModelException", false], [190, "ocpapi.workflows.adsorbates.UnsupportedModelException", false], [193, "ocpapi.workflows.UnsupportedModelException", false]], "unwrap_atoms() (in module cattsunami.core.autoframe)": [[5, "cattsunami.core.autoframe.unwrap_atoms", false]], "update() (core.models.gemnet_oc.layers.force_scaler.forcescaler method)": [[101, "core.models.gemnet_oc.layers.force_scaler.ForceScaler.update", false]], "update() (core.models.painn.painn.painnmessage method)": [[110, "core.models.painn.painn.PaiNNMessage.update", false]], "update() (core.modules.evaluator.evaluator method)": [[121, "core.modules.evaluator.Evaluator.update", false]], "update() (core.modules.exponential_moving_average.exponentialmovingaverage method)": [[122, "core.modules.exponential_moving_average.ExponentialMovingAverage.update", false]], "update_best() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.update_best", false]], "update_best() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.update_best", false]], "update_config() (in module core.common.utils)": [[29, "core.common.utils.update_config", false]], "update_dbs() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.update_dbs", false]], "update_distance_map() (in module data.oc.core.multi_adsorbate_slab_config)": [[157, "data.oc.core.multi_adsorbate_slab_config.update_distance_map", false]], "update_graph() (core.common.relaxation.optimizers.lbfgs_torch.torchcalc method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc.update_graph", false]], "update_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.update_json", false]], "update_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.update_json", false]], "update_pkls() (in module data.oc.databases.update)": [[161, "data.oc.databases.update.update_pkls", false]], "url (core.models.dimenet_plus_plus.dimenetplusplus attribute)": [[44, "core.models.dimenet_plus_plus.DimeNetPlusPlus.url", false]], "v0_check() (in module data.oc.experimental.utils)": [[166, "data.oc.experimental.utils.v0_check", false]], "validate() (core.trainers.base_trainer.basetrainer method)": [[149, "core.trainers.base_trainer.BaseTrainer.validate", false]], "validate() (core.trainers.basetrainer method)": [[150, "core.trainers.BaseTrainer.validate", false]], "validatetask (class in core.tasks)": [[147, "core.tasks.ValidateTask", false]], "validatetask (class in core.tasks.task)": [[148, "core.tasks.task.ValidateTask", false]], "variance_in (core.modules.scaling.scale_factor._stats attribute)": [[129, "core.modules.scaling.scale_factor._Stats.variance_in", false]], "variance_out (core.modules.scaling.scale_factor._stats attribute)": [[129, "core.modules.scaling.scale_factor._Stats.variance_out", false]], "vasp_flags (in module adsorbml.scripts.write_top_k_vasp)": [[4, "adsorbml.scripts.write_top_k_vasp.VASP_FLAGS", false]], "vasp_flags (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.VASP_FLAGS", false]], "vector_rejection() (in module core.models.gemnet_oc.utils)": [[106, "core.models.gemnet_oc.utils.vector_rejection", false]], "verify_count() (in module core.scripts.download_data)": [[135, "core.scripts.download_data.verify_count", false]], "version (in module ocpapi.version)": [[189, "ocpapi.version.VERSION", false]], "wait_for_adsorbate_slab_relaxations() (in module ocpapi)": [[188, "ocpapi.wait_for_adsorbate_slab_relaxations", false]], "wait_for_adsorbate_slab_relaxations() (in module ocpapi.workflows)": [[193, "ocpapi.workflows.wait_for_adsorbate_slab_relaxations", false]], "wait_for_adsorbate_slab_relaxations() (in module ocpapi.workflows.adsorbates)": [[190, "ocpapi.workflows.adsorbates.wait_for_adsorbate_slab_relaxations", false]], "wandblogger (class in core.common.logger)": [[19, "core.common.logger.WandBLogger", false]], "warmup_lr_lambda() (in module core.common.utils)": [[29, "core.common.utils.warmup_lr_lambda", false]], "watch() (core.common.logger.logger method)": [[19, "core.common.logger.Logger.watch", false]], "watch() (core.common.logger.tensorboardlogger method)": [[19, "core.common.logger.TensorboardLogger.watch", false]], "watch() (core.common.logger.wandblogger method)": [[19, "core.common.logger.WandBLogger.watch", false]], "weight (core.models.gemnet_oc.layers.efficient.basisembedding attribute)": [[99, "core.models.gemnet_oc.layers.efficient.BasisEmbedding.weight", false]], "wigner_d() (core.models.escn.so3.so3_rotation method)": [[65, "core.models.escn.so3.SO3_Rotation.wigner_D", false]], "wigner_d() (in module core.models.equiformer_v2.wigner)": [[62, "core.models.equiformer_v2.wigner.wigner_D", false]], "wigner_d() (in module core.models.scn.spherical_harmonics)": [[117, "core.models.scn.spherical_harmonics.wigner_D", false]], "write() (core.common.relaxation.optimizers.lbfgs_torch.lbfgs method)": [[25, "core.common.relaxation.optimizers.lbfgs_torch.LBFGS.write", false]], "write_images_to_lmdb() (in module core.scripts.preprocess_ef)": [[144, "core.scripts.preprocess_ef.write_images_to_lmdb", false]], "write_images_to_lmdb() (in module core.scripts.preprocess_relaxed)": [[145, "core.scripts.preprocess_relaxed.write_images_to_lmdb", false]], "write_is2re_relaxations() (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.write_is2re_relaxations", false]], "write_is2re_relaxations() (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.write_is2re_relaxations", false]], "write_json() (in module core.models.gemnet.utils)": [[78, "core.models.gemnet.utils.write_json", false]], "write_json() (in module core.models.gemnet_gp.utils)": [[91, "core.models.gemnet_gp.utils.write_json", false]], "write_orca_inputs() (in module data.om.omdata.orca.calc)": [[180, "data.om.omdata.orca.calc.write_orca_inputs", false]], "write_pickle() (in module data.om.biomolecules.geom.sample_geom_drugs)": [[177, "data.om.biomolecules.geom.sample_geom_drugs.write_pickle", false]], "write_predictions() (in module core.scripts.make_challenge_submission_file)": [[141, "core.scripts.make_challenge_submission_file.write_predictions", false]], "write_predictions() (in module core.scripts.make_submission_file)": [[143, "core.scripts.make_submission_file.write_predictions", false]], "write_surface() (in module data.oc.structure_generator)": [[169, "data.oc.structure_generator.write_surface", false]], "write_vasp_input_files() (in module data.oc.utils.vasp)": [[173, "data.oc.utils.vasp.write_vasp_input_files", false]]}, "objects": {"": [[10, 0, 0, "-", "cattsunami"], [42, 0, 0, "-", "core"], [152, 0, 0, "-", "data"], [188, 0, 0, "-", "ocpapi"]], "adsorbml.2023_neurips_challenge": [[0, 0, 0, "-", "challenge_eval"]], "adsorbml.2023_neurips_challenge.challenge_eval": [[0, 1, 1, "", "compute_valid_ml_success"], [0, 1, 1, "", "get_dft_data"], [0, 1, 1, "", "is_successful"], [0, 1, 1, "", "main"], [0, 1, 1, "", "parse_args"], [0, 1, 1, "", "process_ml_data"]], "adsorbml.scripts": [[1, 0, 0, "-", "dense_eval"], [2, 0, 0, "-", "process_mlrs"], [3, 0, 0, "-", "utils"], [4, 0, 0, "-", "write_top_k_vasp"]], "adsorbml.scripts.dense_eval": [[1, 2, 1, "", "SUCCESS_THRESHOLD"], [1, 1, 1, "", "compute_hybrid_success"], [1, 1, 1, "", "compute_valid_ml_success"], [1, 1, 1, "", "filter_ml_data"], [1, 1, 1, "", "get_dft_compute"], [1, 1, 1, "", "get_dft_data"], [1, 1, 1, "", "is_successful"], [1, 2, 1, "", "parser"]], "adsorbml.scripts.process_mlrs": [[2, 2, 1, "", "DESORPTION_CUTOFF_MULTIPLIER"], [2, 2, 1, "", "SURFACE_CHANGE_CUTOFF_MULTIPLIER"], [2, 2, 1, "", "args"], [2, 1, 1, "", "min_diff"], [2, 1, 1, "", "parse_args"], [2, 1, 1, "", "process_mlrs"]], "adsorbml.scripts.utils": [[3, 1, 1, "", "converged_oszicar"], [3, 1, 1, "", "count_scf"]], "adsorbml.scripts.write_top_k_vasp": [[4, 2, 1, "", "VASP_FLAGS"], [4, 2, 1, "", "parser"]], "cattsunami": [[10, 2, 1, "", "__version__"], [6, 0, 0, "-", "core"], [9, 0, 0, "-", "databases"]], "cattsunami.core": [[6, 3, 1, "", "OCPNEB"], [6, 3, 1, "", "Reaction"], [5, 0, 0, "-", "autoframe"], [7, 0, 0, "-", "ocpneb"], [8, 0, 0, "-", "reaction"]], "cattsunami.core.OCPNEB": [[6, 4, 1, "", "get_forces"], [6, 4, 1, "", "get_precon_forces"], [6, 4, 1, "", "load_checkpoint"], [6, 4, 1, "", "set_positions"]], "cattsunami.core.Reaction": [[6, 4, 1, "", "get_desorption_mapping"]], "cattsunami.core.autoframe": [[5, 3, 1, "", "AutoFrame"], [5, 3, 1, "", "AutoFrameDesorption"], [5, 3, 1, "", "AutoFrameDissociation"], [5, 3, 1, "", "AutoFrameTransfer"], [5, 1, 1, "", "get_product2_idx"], [5, 1, 1, "", "get_shortest_path"], [5, 1, 1, "", "interpolate"], [5, 1, 1, "", "interpolate_and_correct_frames"], [5, 1, 1, "", "is_adsorbate_adsorbed"], [5, 1, 1, "", "is_edge_list_respected"], [5, 1, 1, "", "reorder_edge_list"], [5, 1, 1, "", "traverse_adsorbate_desorption"], [5, 1, 1, "", "traverse_adsorbate_dissociation"], [5, 1, 1, "", "traverse_adsorbate_general"], [5, 1, 1, "", "traverse_adsorbate_transfer"], [5, 1, 1, "", "unwrap_atoms"]], "cattsunami.core.autoframe.AutoFrame": [[5, 4, 1, "", "are_all_adsorbate_atoms_overlapping"], [5, 4, 1, "", "get_most_proximate_symmetric_group"], [5, 4, 1, "", "only_keep_unique_systems"], [5, 4, 1, "", "reorder_adsorbate"]], "cattsunami.core.autoframe.AutoFrameDesorption": [[5, 4, 1, "", "get_neb_frames"]], "cattsunami.core.autoframe.AutoFrameDissociation": [[5, 4, 1, "", "get_best_sites_for_product1"], [5, 4, 1, "", "get_best_unique_sites_for_product2"], [5, 4, 1, "", "get_neb_frames"], [5, 4, 1, "", "get_sites_within_r"]], "cattsunami.core.autoframe.AutoFrameTransfer": [[5, 4, 1, "", "get_neb_frames"], [5, 4, 1, "", "get_system_pairs_final"], [5, 4, 1, "", "get_system_pairs_initial"]], "cattsunami.core.ocpneb": [[7, 3, 1, "", "OCPNEB"]], "cattsunami.core.ocpneb.OCPNEB": [[7, 4, 1, "", "get_forces"], [7, 4, 1, "", "get_precon_forces"], [7, 4, 1, "", "load_checkpoint"], [7, 4, 1, "", "set_positions"]], "cattsunami.core.reaction": [[8, 3, 1, "", "Reaction"]], "cattsunami.core.reaction.Reaction": [[8, 4, 1, "", "get_desorption_mapping"]], "cattsunami.databases": [[9, 2, 1, "", "DESORPTION_REACTION_DB_PATH"], [9, 2, 1, "", "DISSOCIATION_REACTION_DB_PATH"], [9, 2, 1, "", "TRANSFER_REACTION_DB_PATH"]], "cattsunami.run_validation": [[11, 0, 0, "-", "run_validation"]], "cattsunami.run_validation.run_validation": [[11, 1, 1, "", "all_converged"], [11, 1, 1, "", "barrierless_converged"], [11, 1, 1, "", "both_barriered"], [11, 1, 1, "", "both_barrierless"], [11, 1, 1, "", "get_results_ml"], [11, 1, 1, "", "get_results_sp"], [11, 1, 1, "", "get_single_point"], [11, 1, 1, "", "is_failed_sp"], [11, 1, 1, "", "parse_neb_info"], [11, 2, 1, "", "parser"]], "core": [[12, 0, 0, "-", "_cli"], [18, 0, 0, "-", "common"], [37, 0, 0, "-", "datasets"], [107, 0, 0, "-", "models"], [123, 0, 0, "-", "modules"], [134, 0, 0, "-", "preprocessing"], [140, 0, 0, "-", "scripts"], [147, 0, 0, "-", "tasks"], [150, 0, 0, "-", "trainers"]], "core._cli": [[12, 3, 1, "", "Runner"], [12, 1, 1, "", "main"]], "core._cli.Runner": [[12, 4, 1, "", "__call__"], [12, 4, 1, "", "checkpoint"]], "core.common": [[13, 0, 0, "-", "data_parallel"], [14, 0, 0, "-", "distutils"], [15, 0, 0, "-", "flags"], [16, 0, 0, "-", "gp_utils"], [17, 0, 0, "-", "hpo_utils"], [19, 0, 0, "-", "logger"], [20, 0, 0, "-", "registry"], [22, 0, 0, "-", "relaxation"], [26, 0, 0, "-", "transforms"], [27, 0, 0, "-", "tutorial_utils"], [28, 0, 0, "-", "typing"], [29, 0, 0, "-", "utils"]], "core.common.data_parallel": [[13, 3, 1, "", "BalancedBatchSampler"], [13, 3, 1, "", "OCPCollater"], [13, 3, 1, "", "StatefulDistributedSampler"], [13, 3, 1, "", "_HasMetadata"], [13, 1, 1, "", "balanced_partition"]], "core.common.data_parallel.BalancedBatchSampler": [[13, 4, 1, "", "__iter__"], [13, 4, 1, "", "__len__"], [13, 4, 1, "", "_load_dataset"], [13, 4, 1, "", "set_epoch_and_start_iteration"]], "core.common.data_parallel.OCPCollater": [[13, 4, 1, "", "__call__"]], "core.common.data_parallel.StatefulDistributedSampler": [[13, 4, 1, "", "__iter__"], [13, 4, 1, "", "set_epoch_and_start_iteration"]], "core.common.data_parallel._HasMetadata": [[13, 5, 1, "", "metadata_path"]], "core.common.distutils": [[14, 2, 1, "", "T"], [14, 1, 1, "", "all_gather"], [14, 1, 1, "", "all_reduce"], [14, 1, 1, "", "broadcast"], [14, 1, 1, "", "cleanup"], [14, 1, 1, "", "gather_objects"], [14, 1, 1, "", "get_rank"], [14, 1, 1, "", "get_world_size"], [14, 1, 1, "", "initialized"], [14, 1, 1, "", "is_master"], [14, 1, 1, "", "os_environ_get_or_throw"], [14, 1, 1, "", "setup"], [14, 1, 1, "", "synchronize"]], "core.common.flags": [[15, 3, 1, "", "Flags"], [15, 2, 1, "", "flags"]], "core.common.flags.Flags": [[15, 4, 1, "", "add_core_args"], [15, 4, 1, "", "get_parser"]], "core.common.gp_utils": [[16, 3, 1, "", "CopyToModelParallelRegion"], [16, 3, 1, "", "GatherFromModelParallelRegion"], [16, 3, 1, "", "ReduceFromModelParallelRegion"], [16, 3, 1, "", "ScatterToModelParallelRegion"], [16, 2, 1, "", "_DATA_PARALLEL_GROUP"], [16, 2, 1, "", "_GRAPH_PARALLEL_GROUP"], [16, 1, 1, "", "_gather"], [16, 1, 1, "", "_gather_with_padding"], [16, 1, 1, "", "_reduce"], [16, 1, 1, "", "_split"], [16, 1, 1, "", "_split_tensor"], [16, 1, 1, "", "cleanup_gp"], [16, 1, 1, "", "copy_to_model_parallel_region"], [16, 1, 1, "", "divide_and_check_no_remainder"], [16, 1, 1, "", "ensure_div"], [16, 1, 1, "", "gather_from_model_parallel_region"], [16, 1, 1, "", "get_dp_group"], [16, 1, 1, "", "get_dp_rank"], [16, 1, 1, "", "get_dp_world_size"], [16, 1, 1, "", "get_gp_group"], [16, 1, 1, "", "get_gp_rank"], [16, 1, 1, "", "get_gp_world_size"], [16, 1, 1, "", "initialized"], [16, 1, 1, "", "pad_tensor"], [16, 1, 1, "", "reduce_from_model_parallel_region"], [16, 1, 1, "", "scatter_to_model_parallel_region"], [16, 1, 1, "", "setup_gp"], [16, 1, 1, "", "trim_tensor"]], "core.common.gp_utils.CopyToModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.gp_utils.GatherFromModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.gp_utils.ReduceFromModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.gp_utils.ScatterToModelParallelRegion": [[16, 4, 1, "", "backward"], [16, 4, 1, "", "forward"]], "core.common.hpo_utils": [[17, 1, 1, "", "label_metric_dict"], [17, 1, 1, "", "tune_reporter"]], "core.common.logger": [[19, 3, 1, "", "Logger"], [19, 3, 1, "", "TensorboardLogger"], [19, 3, 1, "", "WandBLogger"]], "core.common.logger.Logger": [[19, 4, 1, "", "log"], [19, 4, 1, "", "log_plots"], [19, 4, 1, "", "mark_preempting"], [19, 4, 1, "", "watch"]], "core.common.logger.TensorboardLogger": [[19, 4, 1, "", "log"], [19, 4, 1, "", "log_plots"], [19, 4, 1, "", "mark_preempting"], [19, 4, 1, "", "watch"]], "core.common.logger.WandBLogger": [[19, 4, 1, "", "log"], [19, 4, 1, "", "log_plots"], [19, 4, 1, "", "mark_preempting"], [19, 4, 1, "", "watch"]], "core.common.registry": [[20, 2, 1, "", "NestedDict"], [20, 2, 1, "", "R"], [20, 3, 1, "", "Registry"], [20, 1, 1, "", "_get_absolute_mapping"], [20, 2, 1, "", "registry"]], "core.common.registry.Registry": [[20, 4, 1, "", "__import_error"], [20, 4, 1, "", "get"], [20, 4, 1, "", "get_class"], [20, 4, 1, "", "get_dataset_class"], [20, 4, 1, "", "get_logger_class"], [20, 4, 1, "", "get_model_class"], [20, 4, 1, "", "get_task_class"], [20, 4, 1, "", "get_trainer_class"], [20, 6, 1, "", "mapping"], [20, 4, 1, "", "register"], [20, 4, 1, "", "register_dataset"], [20, 4, 1, "", "register_logger"], [20, 4, 1, "", "register_model"], [20, 4, 1, "", "register_task"], [20, 4, 1, "", "register_trainer"], [20, 4, 1, "", "unregister"]], "core.common.relaxation": [[21, 0, 0, "-", "ase_utils"], [23, 0, 0, "-", "ml_relaxation"], [24, 0, 0, "-", "optimizers"]], "core.common.relaxation.ase_utils": [[21, 3, 1, "", "OCPCalculator"], [21, 1, 1, "", "batch_to_atoms"]], "core.common.relaxation.ase_utils.OCPCalculator": [[21, 4, 1, "", "calculate"], [21, 6, 1, "", "implemented_properties"], [21, 4, 1, "", "load_checkpoint"]], "core.common.relaxation.ml_relaxation": [[23, 1, 1, "", "ml_relax"]], "core.common.relaxation.optimizers": [[25, 0, 0, "-", "lbfgs_torch"]], "core.common.relaxation.optimizers.lbfgs_torch": [[25, 3, 1, "", "LBFGS"], [25, 3, 1, "", "TorchCalc"]], "core.common.relaxation.optimizers.lbfgs_torch.LBFGS": [[25, 4, 1, "", "check_convergence"], [25, 4, 1, "", "get_energy_and_forces"], [25, 4, 1, "", "run"], [25, 4, 1, "", "set_positions"], [25, 4, 1, "", "step"], [25, 4, 1, "", "write"]], "core.common.relaxation.optimizers.lbfgs_torch.TorchCalc": [[25, 4, 1, "", "get_energy_and_forces"], [25, 4, 1, "", "update_graph"]], "core.common.transforms": [[26, 3, 1, "", "RandomRotate"]], "core.common.transforms.RandomRotate": [[26, 4, 1, "", "__call__"], [26, 4, 1, "", "__repr__"]], "core.common.tutorial_utils": [[27, 1, 1, "", "describe_fairchem"], [27, 1, 1, "", "fairchem_main"], [27, 1, 1, "", "fairchem_root"], [27, 1, 1, "", "generate_yml_config"], [27, 1, 1, "", "train_test_val_split"]], "core.common.typing": [[28, 2, 1, "", "_T"], [28, 1, 1, "", "assert_is_instance"], [28, 1, 1, "", "none_throws"]], "core.common.utils": [[29, 3, 1, "", "Complete"], [29, 3, 1, "", "SeverityLevelBetween"], [29, 3, 1, "", "UniqueKeyLoader"], [29, 1, 1, "", "_get_project_root"], [29, 1, 1, "", "_import_local_file"], [29, 1, 1, "", "_report_incompat_keys"], [29, 1, 1, "", "_resolve_scale_factor_submodule"], [29, 1, 1, "", "add_edge_distance_to_graph"], [29, 1, 1, "", "build_config"], [29, 1, 1, "", "cg_change_mat"], [29, 1, 1, "", "check_traj_files"], [29, 1, 1, "", "collate"], [29, 1, 1, "", "compute_neighbors"], [29, 1, 1, "", "conditional_grad"], [29, 1, 1, "", "create_dict_from_args"], [29, 1, 1, "", "create_grid"], [29, 1, 1, "", "dict_set_recursively"], [29, 1, 1, "", "get_commit_hash"], [29, 1, 1, "", "get_loss_module"], [29, 1, 1, "", "get_max_neighbors_mask"], [29, 1, 1, "", "get_pbc_distances"], [29, 1, 1, "", "get_pruned_edge_idx"], [29, 1, 1, "", "irreps_sum"], [29, 1, 1, "", "load_config"], [29, 1, 1, "", "load_state_dict"], [29, 1, 1, "", "merge_dicts"], [29, 1, 1, "", "new_trainer_context"], [29, 1, 1, "", "parse_value"], [29, 1, 1, "", "plot_histogram"], [29, 1, 1, "", "print_cuda_usage"], [29, 1, 1, "", "pyg2_data_transform"], [29, 1, 1, "", "radius_graph_pbc"], [29, 1, 1, "", "save_checkpoint"], [29, 1, 1, "", "save_experiment_log"], [29, 1, 1, "", "scatter_det"], [29, 1, 1, "", "setup_experimental_imports"], [29, 1, 1, "", "setup_imports"], [29, 1, 1, "", "setup_logging"], [29, 1, 1, "", "update_config"], [29, 1, 1, "", "warmup_lr_lambda"]], "core.common.utils.Complete": [[29, 4, 1, "", "__call__"]], "core.common.utils.SeverityLevelBetween": [[29, 4, 1, "", "filter"]], "core.common.utils.UniqueKeyLoader": [[29, 4, 1, "", "construct_mapping"]], "core.datasets": [[37, 3, 1, "", "AseDBDataset"], [37, 3, 1, "", "AseReadDataset"], [37, 3, 1, "", "AseReadMultiStructureDataset"], [37, 3, 1, "", "LMDBDatabase"], [37, 3, 1, "", "LmdbDataset"], [37, 3, 1, "", "OC22LmdbDataset"], [37, 3, 1, "", "SinglePointLmdbDataset"], [37, 3, 1, "", "TrajectoryLmdbDataset"], [30, 0, 0, "-", "_utils"], [31, 0, 0, "-", "ase_datasets"], [37, 1, 1, "", "data_list_collater"], [34, 0, 0, "-", "embeddings"], [38, 0, 0, "-", "lmdb_database"], [39, 0, 0, "-", "lmdb_dataset"], [40, 0, 0, "-", "oc22_lmdb_dataset"], [41, 0, 0, "-", "target_metadata_guesser"]], "core.datasets.AseDBDataset": [[37, 4, 1, "", "_load_dataset_get_ids"], [37, 4, 1, "", "close_db"], [37, 4, 1, "", "connect_db"], [37, 4, 1, "", "get_atoms"], [37, 4, 1, "", "get_metadata"], [37, 4, 1, "", "get_relaxed_energy"]], "core.datasets.AseReadDataset": [[37, 4, 1, "", "_load_dataset_get_ids"], [37, 4, 1, "", "get_atoms"], [37, 4, 1, "", "get_relaxed_energy"]], "core.datasets.AseReadMultiStructureDataset": [[37, 4, 1, "", "_load_dataset_get_ids"], [37, 4, 1, "", "get_atoms"], [37, 4, 1, "", "get_metadata"], [37, 4, 1, "", "get_relaxed_energy"]], "core.datasets.LMDBDatabase": [[37, 4, 1, "", "__enter__"], [37, 4, 1, "", "__exit__"], [37, 4, 1, "", "_get_row"], [37, 4, 1, "", "_get_row_by_index"], [37, 4, 1, "", "_load_ids"], [37, 5, 1, "", "_nextid"], [37, 4, 1, "", "_select"], [37, 4, 1, "", "_update"], [37, 4, 1, "", "_write"], [37, 4, 1, "", "_write_deleted_ids"], [37, 4, 1, "", "close"], [37, 4, 1, "", "count"], [37, 4, 1, "", "delete"], [37, 5, 1, "", "metadata"]], "core.datasets.LmdbDataset": [[37, 4, 1, "", "__getitem__"], [37, 4, 1, "", "__len__"], [37, 4, 1, "", "close_db"], [37, 4, 1, "", "connect_db"], [37, 4, 1, "", "get_metadata"], [37, 6, 1, "", "metadata_path"], [37, 6, 1, "", "sharded"]], "core.datasets.OC22LmdbDataset": [[37, 4, 1, "", "__getitem__"], [37, 4, 1, "", "__len__"], [37, 4, 1, "", "close_db"], [37, 4, 1, "", "connect_db"]], "core.datasets._utils": [[30, 1, 1, "", "rename_data_object_keys"]], "core.datasets.ase_datasets": [[31, 3, 1, "", "AseAtomsDataset"], [31, 3, 1, "", "AseDBDataset"], [31, 3, 1, "", "AseReadDataset"], [31, 3, 1, "", "AseReadMultiStructureDataset"], [31, 1, 1, "", "apply_one_tags"]], "core.datasets.ase_datasets.AseAtomsDataset": [[31, 4, 1, "", "__getitem__"], [31, 4, 1, "", "__len__"], [31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "close_db"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_metadata"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.ase_datasets.AseDBDataset": [[31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "close_db"], [31, 4, 1, "", "connect_db"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_metadata"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.ase_datasets.AseReadDataset": [[31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.ase_datasets.AseReadMultiStructureDataset": [[31, 4, 1, "", "_load_dataset_get_ids"], [31, 4, 1, "", "get_atoms"], [31, 4, 1, "", "get_metadata"], [31, 4, 1, "", "get_relaxed_energy"]], "core.datasets.embeddings": [[34, 2, 1, "", "ATOMIC_RADII"], [34, 2, 1, "", "CONTINUOUS_EMBEDDINGS"], [34, 2, 1, "", "KHOT_EMBEDDINGS"], [34, 2, 1, "", "QMOF_KHOT_EMBEDDINGS"], [32, 0, 0, "-", "atomic_radii"], [33, 0, 0, "-", "continuous_embeddings"], [35, 0, 0, "-", "khot_embeddings"], [36, 0, 0, "-", "qmof_khot_embeddings"]], "core.datasets.embeddings.atomic_radii": [[32, 2, 1, "", "ATOMIC_RADII"]], "core.datasets.embeddings.continuous_embeddings": [[33, 2, 1, "", "CONTINUOUS_EMBEDDINGS"]], "core.datasets.embeddings.khot_embeddings": [[35, 2, 1, "", "KHOT_EMBEDDINGS"]], "core.datasets.embeddings.qmof_khot_embeddings": [[36, 2, 1, "", "QMOF_KHOT_EMBEDDINGS"]], "core.datasets.lmdb_database": [[38, 3, 1, "", "LMDBDatabase"], [38, 2, 1, "", "RESERVED_KEYS"]], "core.datasets.lmdb_database.LMDBDatabase": [[38, 4, 1, "", "__enter__"], [38, 4, 1, "", "__exit__"], [38, 4, 1, "", "_get_row"], [38, 4, 1, "", "_get_row_by_index"], [38, 4, 1, "", "_load_ids"], [38, 5, 1, "", "_nextid"], [38, 4, 1, "", "_select"], [38, 4, 1, "", "_update"], [38, 4, 1, "", "_write"], [38, 4, 1, "", "_write_deleted_ids"], [38, 4, 1, "", "close"], [38, 4, 1, "", "count"], [38, 4, 1, "", "delete"], [38, 5, 1, "", "metadata"]], "core.datasets.lmdb_dataset": [[39, 3, 1, "", "LmdbDataset"], [39, 3, 1, "", "SinglePointLmdbDataset"], [39, 2, 1, "", "T_co"], [39, 3, 1, "", "TrajectoryLmdbDataset"], [39, 1, 1, "", "data_list_collater"]], "core.datasets.lmdb_dataset.LmdbDataset": [[39, 4, 1, "", "__getitem__"], [39, 4, 1, "", "__len__"], [39, 4, 1, "", "close_db"], [39, 4, 1, "", "connect_db"], [39, 4, 1, "", "get_metadata"], [39, 6, 1, "", "metadata_path"], [39, 6, 1, "", "sharded"]], "core.datasets.oc22_lmdb_dataset": [[40, 3, 1, "", "OC22LmdbDataset"]], "core.datasets.oc22_lmdb_dataset.OC22LmdbDataset": [[40, 4, 1, "", "__getitem__"], [40, 4, 1, "", "__len__"], [40, 4, 1, "", "close_db"], [40, 4, 1, "", "connect_db"]], "core.datasets.target_metadata_guesser": [[41, 1, 1, "", "guess_property_metadata"], [41, 1, 1, "", "guess_target_metadata"], [41, 1, 1, "", "target_constant_shape"], [41, 1, 1, "", "target_extensive"], [41, 1, 1, "", "target_per_atom"], [41, 1, 1, "", "uniform_atoms_lengths"]], "core.models": [[107, 2, 1, "", "available_pretrained_models"], [43, 0, 0, "-", "base"], [44, 0, 0, "-", "dimenet_plus_plus"], [50, 0, 0, "-", "equiformer_v2"], [64, 0, 0, "-", "escn"], [67, 0, 0, "-", "gemnet"], [80, 0, 0, "-", "gemnet_gp"], [93, 0, 0, "-", "gemnet_oc"], [107, 1, 1, "", "model_name_to_local_file"], [108, 0, 0, "-", "model_registry"], [109, 0, 0, "-", "painn"], [112, 0, 0, "-", "schnet"], [113, 0, 0, "-", "scn"], [120, 0, 0, "-", "utils"]], "core.models.base": [[43, 3, 1, "", "BaseModel"]], "core.models.base.BaseModel": [[43, 4, 1, "", "forward"], [43, 4, 1, "", "generate_graph"], [43, 4, 1, "", "no_weight_decay"], [43, 5, 1, "", "num_params"]], "core.models.dimenet_plus_plus": [[44, 3, 1, "", "DimeNetPlusPlus"], [44, 3, 1, "", "DimeNetPlusPlusWrap"], [44, 3, 1, "", "InteractionPPBlock"], [44, 3, 1, "", "OutputPPBlock"], [44, 2, 1, "", "sym"]], "core.models.dimenet_plus_plus.DimeNetPlusPlus": [[44, 4, 1, "", "forward"], [44, 4, 1, "", "reset_parameters"], [44, 4, 1, "", "triplets"], [44, 6, 1, "", "url"]], "core.models.dimenet_plus_plus.DimeNetPlusPlusWrap": [[44, 4, 1, "", "_forward"], [44, 4, 1, "", "forward"], [44, 5, 1, "", "num_params"]], "core.models.dimenet_plus_plus.InteractionPPBlock": [[44, 4, 1, "", "forward"], [44, 4, 1, "", "reset_parameters"]], "core.models.dimenet_plus_plus.OutputPPBlock": [[44, 4, 1, "", "forward"], [44, 4, 1, "", "reset_parameters"]], "core.models.equiformer_v2": [[50, 3, 1, "", "EquiformerV2"], [45, 0, 0, "-", "activation"], [46, 0, 0, "-", "drop"], [47, 0, 0, "-", "edge_rot_mat"], [48, 0, 0, "-", "equiformer_v2_oc20"], [49, 0, 0, "-", "gaussian_rbf"], [51, 0, 0, "-", "input_block"], [52, 0, 0, "-", "layer_norm"], [53, 0, 0, "-", "module_list"], [54, 0, 0, "-", "radial_function"], [55, 0, 0, "-", "so2_ops"], [56, 0, 0, "-", "so3"], [59, 0, 0, "-", "trainers"], [61, 0, 0, "-", "transformer_block"], [62, 0, 0, "-", "wigner"]], "core.models.equiformer_v2.EquiformerV2": [[50, 4, 1, "", "_init_edge_rot_mat"], [50, 4, 1, "", "_init_weights"], [50, 4, 1, "", "_uniform_init_linear_weights"], [50, 4, 1, "", "_uniform_init_rad_func_linear_weights"], [50, 4, 1, "", "forward"], [50, 4, 1, "", "no_weight_decay"], [50, 5, 1, "", "num_params"]], "core.models.equiformer_v2.activation": [[45, 3, 1, "", "GateActivation"], [45, 3, 1, "", "S2Activation"], [45, 3, 1, "", "ScaledSiLU"], [45, 3, 1, "", "ScaledSigmoid"], [45, 3, 1, "", "ScaledSmoothLeakyReLU"], [45, 3, 1, "", "ScaledSwiGLU"], [45, 3, 1, "", "SeparableS2Activation"], [45, 3, 1, "", "SmoothLeakyReLU"], [45, 3, 1, "", "SwiGLU"]], "core.models.equiformer_v2.activation.GateActivation": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.S2Activation": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSiLU": [[45, 4, 1, "", "extra_repr"], [45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSigmoid": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSmoothLeakyReLU": [[45, 4, 1, "", "extra_repr"], [45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.ScaledSwiGLU": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.SeparableS2Activation": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.SmoothLeakyReLU": [[45, 4, 1, "", "extra_repr"], [45, 4, 1, "", "forward"]], "core.models.equiformer_v2.activation.SwiGLU": [[45, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop": [[46, 3, 1, "", "DropPath"], [46, 3, 1, "", "EquivariantDropout"], [46, 3, 1, "", "EquivariantDropoutArraySphericalHarmonics"], [46, 3, 1, "", "EquivariantScalarsDropout"], [46, 3, 1, "", "GraphDropPath"], [46, 1, 1, "", "drop_path"]], "core.models.equiformer_v2.drop.DropPath": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.EquivariantDropout": [[46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.EquivariantDropoutArraySphericalHarmonics": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.EquivariantScalarsDropout": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.drop.GraphDropPath": [[46, 4, 1, "", "extra_repr"], [46, 4, 1, "", "forward"]], "core.models.equiformer_v2.edge_rot_mat": [[47, 1, 1, "", "init_edge_rot_mat"]], "core.models.equiformer_v2.equiformer_v2_oc20": [[48, 3, 1, "", "EquiformerV2_OC20"], [48, 2, 1, "", "_AVG_DEGREE"], [48, 2, 1, "", "_AVG_NUM_NODES"]], "core.models.equiformer_v2.equiformer_v2_oc20.EquiformerV2_OC20": [[48, 4, 1, "", "_init_edge_rot_mat"], [48, 4, 1, "", "_init_weights"], [48, 4, 1, "", "_uniform_init_linear_weights"], [48, 4, 1, "", "_uniform_init_rad_func_linear_weights"], [48, 4, 1, "", "forward"], [48, 4, 1, "", "no_weight_decay"], [48, 5, 1, "", "num_params"]], "core.models.equiformer_v2.gaussian_rbf": [[49, 3, 1, "", "GaussianRadialBasisLayer"], [49, 1, 1, "", "gaussian"]], "core.models.equiformer_v2.gaussian_rbf.GaussianRadialBasisLayer": [[49, 4, 1, "", "extra_repr"], [49, 4, 1, "", "forward"]], "core.models.equiformer_v2.input_block": [[51, 3, 1, "", "EdgeDegreeEmbedding"]], "core.models.equiformer_v2.input_block.EdgeDegreeEmbedding": [[51, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm": [[52, 3, 1, "", "EquivariantDegreeLayerScale"], [52, 3, 1, "", "EquivariantLayerNormArray"], [52, 3, 1, "", "EquivariantLayerNormArraySphericalHarmonics"], [52, 3, 1, "", "EquivariantRMSNormArraySphericalHarmonics"], [52, 3, 1, "", "EquivariantRMSNormArraySphericalHarmonicsV2"], [52, 1, 1, "", "get_l_to_all_m_expand_index"], [52, 1, 1, "", "get_normalization_layer"]], "core.models.equiformer_v2.layer_norm.EquivariantDegreeLayerScale": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArray": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantLayerNormArraySphericalHarmonics": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonics": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.layer_norm.EquivariantRMSNormArraySphericalHarmonicsV2": [[52, 4, 1, "", "__repr__"], [52, 4, 1, "", "forward"]], "core.models.equiformer_v2.module_list": [[53, 3, 1, "", "ModuleListInfo"]], "core.models.equiformer_v2.module_list.ModuleListInfo": [[53, 4, 1, "", "__repr__"]], "core.models.equiformer_v2.radial_function": [[54, 3, 1, "", "RadialFunction"]], "core.models.equiformer_v2.radial_function.RadialFunction": [[54, 4, 1, "", "forward"]], "core.models.equiformer_v2.so2_ops": [[55, 3, 1, "", "SO2_Convolution"], [55, 3, 1, "", "SO2_Linear"], [55, 3, 1, "", "SO2_m_Convolution"]], "core.models.equiformer_v2.so2_ops.SO2_Convolution": [[55, 4, 1, "", "forward"]], "core.models.equiformer_v2.so2_ops.SO2_Linear": [[55, 4, 1, "", "forward"]], "core.models.equiformer_v2.so2_ops.SO2_m_Convolution": [[55, 4, 1, "", "forward"]], "core.models.equiformer_v2.so3": [[56, 3, 1, "", "CoefficientMappingModule"], [56, 3, 1, "", "SO3_Embedding"], [56, 3, 1, "", "SO3_Grid"], [56, 3, 1, "", "SO3_Linear"], [56, 3, 1, "", "SO3_LinearV2"], [56, 3, 1, "", "SO3_Rotation"]], "core.models.equiformer_v2.so3.CoefficientMappingModule": [[56, 4, 1, "", "__repr__"], [56, 4, 1, "", "coefficient_idx"], [56, 4, 1, "", "complex_idx"], [56, 4, 1, "", "get_rotate_inv_rescale"]], "core.models.equiformer_v2.so3.SO3_Embedding": [[56, 4, 1, "", "_expand_edge"], [56, 4, 1, "", "_from_grid"], [56, 4, 1, "", "_grid_act"], [56, 4, 1, "", "_l_primary"], [56, 4, 1, "", "_m_primary"], [56, 4, 1, "", "_reduce_edge"], [56, 4, 1, "", "_rotate"], [56, 4, 1, "", "_rotate_inv"], [56, 4, 1, "", "clone"], [56, 4, 1, "", "expand_edge"], [56, 4, 1, "", "set_embedding"], [56, 4, 1, "", "set_lmax_mmax"], [56, 4, 1, "", "to_grid"]], "core.models.equiformer_v2.so3.SO3_Grid": [[56, 4, 1, "", "from_grid"], [56, 4, 1, "", "get_from_grid_mat"], [56, 4, 1, "", "get_to_grid_mat"], [56, 4, 1, "", "to_grid"]], "core.models.equiformer_v2.so3.SO3_Linear": [[56, 4, 1, "", "__repr__"], [56, 4, 1, "", "forward"]], "core.models.equiformer_v2.so3.SO3_LinearV2": [[56, 4, 1, "", "__repr__"], [56, 4, 1, "", "forward"]], "core.models.equiformer_v2.so3.SO3_Rotation": [[56, 4, 1, "", "RotationToWignerDMatrix"], [56, 4, 1, "", "rotate"], [56, 4, 1, "", "rotate_inv"], [56, 4, 1, "", "set_wigner"]], "core.models.equiformer_v2.trainers": [[57, 0, 0, "-", "energy_trainer"], [58, 0, 0, "-", "forces_trainer"], [60, 0, 0, "-", "lr_scheduler"]], "core.models.equiformer_v2.trainers.energy_trainer": [[57, 3, 1, "", "EquiformerV2EnergyTrainer"]], "core.models.equiformer_v2.trainers.energy_trainer.EquiformerV2EnergyTrainer": [[57, 4, 1, "", "load_extras"]], "core.models.equiformer_v2.trainers.forces_trainer": [[58, 3, 1, "", "EquiformerV2ForcesTrainer"]], "core.models.equiformer_v2.trainers.forces_trainer.EquiformerV2ForcesTrainer": [[58, 4, 1, "", "load_extras"]], "core.models.equiformer_v2.trainers.lr_scheduler": [[60, 3, 1, "", "CosineLRLambda"], [60, 3, 1, "", "LRScheduler"], [60, 3, 1, "", "MultistepLRLambda"], [60, 1, 1, "", "cosine_lr_lambda"], [60, 1, 1, "", "multiply"], [60, 1, 1, "", "multistep_lr_lambda"]], "core.models.equiformer_v2.trainers.lr_scheduler.CosineLRLambda": [[60, 4, 1, "", "__call__"]], "core.models.equiformer_v2.trainers.lr_scheduler.LRScheduler": [[60, 4, 1, "", "filter_kwargs"], [60, 4, 1, "", "get_lr"], [60, 4, 1, "", "step"]], "core.models.equiformer_v2.trainers.lr_scheduler.MultistepLRLambda": [[60, 4, 1, "", "__call__"]], "core.models.equiformer_v2.transformer_block": [[61, 3, 1, "", "FeedForwardNetwork"], [61, 3, 1, "", "SO2EquivariantGraphAttention"], [61, 3, 1, "", "TransBlockV2"]], "core.models.equiformer_v2.transformer_block.FeedForwardNetwork": [[61, 4, 1, "", "forward"]], "core.models.equiformer_v2.transformer_block.SO2EquivariantGraphAttention": [[61, 4, 1, "", "forward"]], "core.models.equiformer_v2.transformer_block.TransBlockV2": [[61, 4, 1, "", "forward"]], "core.models.equiformer_v2.wigner": [[62, 2, 1, "", "_Jd"], [62, 1, 1, "", "_z_rot_mat"], [62, 1, 1, "", "wigner_D"]], "core.models.escn": [[64, 3, 1, "", "eSCN"], [63, 0, 0, "-", "escn"], [65, 0, 0, "-", "so3"]], "core.models.escn.eSCN": [[64, 4, 1, "", "_init_edge_rot_mat"], [64, 4, 1, "", "forward"], [64, 5, 1, "", "num_params"]], "core.models.escn.escn": [[63, 3, 1, "", "EdgeBlock"], [63, 3, 1, "", "EnergyBlock"], [63, 3, 1, "", "ForceBlock"], [63, 3, 1, "", "LayerBlock"], [63, 3, 1, "", "MessageBlock"], [63, 3, 1, "", "SO2Block"], [63, 3, 1, "", "SO2Conv"], [63, 3, 1, "", "eSCN"]], "core.models.escn.escn.EdgeBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.EnergyBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.ForceBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.LayerBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.MessageBlock": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.SO2Block": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.SO2Conv": [[63, 4, 1, "", "forward"]], "core.models.escn.escn.eSCN": [[63, 4, 1, "", "_init_edge_rot_mat"], [63, 4, 1, "", "forward"], [63, 5, 1, "", "num_params"]], "core.models.escn.so3": [[65, 3, 1, "", "CoefficientMapping"], [65, 3, 1, "", "SO3_Embedding"], [65, 3, 1, "", "SO3_Grid"], [65, 3, 1, "", "SO3_Rotation"], [65, 2, 1, "", "_Jd"]], "core.models.escn.so3.CoefficientMapping": [[65, 4, 1, "", "coefficient_idx"], [65, 4, 1, "", "complex_idx"]], "core.models.escn.so3.SO3_Embedding": [[65, 4, 1, "", "_expand_edge"], [65, 4, 1, "", "_from_grid"], [65, 4, 1, "", "_grid_act"], [65, 4, 1, "", "_l_primary"], [65, 4, 1, "", "_m_primary"], [65, 4, 1, "", "_reduce_edge"], [65, 4, 1, "", "_rotate"], [65, 4, 1, "", "_rotate_inv"], [65, 4, 1, "", "clone"], [65, 4, 1, "", "expand_edge"], [65, 4, 1, "", "set_embedding"], [65, 4, 1, "", "set_lmax_mmax"], [65, 4, 1, "", "to_grid"]], "core.models.escn.so3.SO3_Grid": [[65, 4, 1, "", "_initialize"], [65, 4, 1, "", "from_grid"], [65, 4, 1, "", "get_from_grid_mat"], [65, 4, 1, "", "get_to_grid_mat"], [65, 4, 1, "", "to_grid"]], "core.models.escn.so3.SO3_Rotation": [[65, 4, 1, "", "RotationToWignerDMatrix"], [65, 4, 1, "", "_z_rot_mat"], [65, 4, 1, "", "rotate"], [65, 4, 1, "", "rotate_inv"], [65, 4, 1, "", "set_lmax"], [65, 4, 1, "", "wigner_D"]], "core.models.gemnet": [[67, 3, 1, "", "GemNetT"], [66, 0, 0, "-", "gemnet"], [68, 0, 0, "-", "initializers"], [74, 0, 0, "-", "layers"], [78, 0, 0, "-", "utils"]], "core.models.gemnet.GemNetT": [[67, 4, 1, "", "forward"], [67, 4, 1, "", "generate_interaction_graph"], [67, 4, 1, "", "get_triplets"], [67, 5, 1, "", "num_params"], [67, 4, 1, "", "reorder_symmetric_edges"], [67, 4, 1, "", "select_edges"], [67, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet.gemnet": [[66, 3, 1, "", "GemNetT"]], "core.models.gemnet.gemnet.GemNetT": [[66, 4, 1, "", "forward"], [66, 4, 1, "", "generate_interaction_graph"], [66, 4, 1, "", "get_triplets"], [66, 5, 1, "", "num_params"], [66, 4, 1, "", "reorder_symmetric_edges"], [66, 4, 1, "", "select_edges"], [66, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet.initializers": [[68, 1, 1, "", "_standardize"], [68, 1, 1, "", "he_orthogonal_init"]], "core.models.gemnet.layers": [[69, 0, 0, "-", "atom_update_block"], [70, 0, 0, "-", "base_layers"], [71, 0, 0, "-", "basis_utils"], [72, 0, 0, "-", "efficient"], [73, 0, 0, "-", "embedding_block"], [75, 0, 0, "-", "interaction_block"], [76, 0, 0, "-", "radial_basis"], [77, 0, 0, "-", "spherical_basis"]], "core.models.gemnet.layers.atom_update_block": [[69, 3, 1, "", "AtomUpdateBlock"], [69, 3, 1, "", "OutputBlock"]], "core.models.gemnet.layers.atom_update_block.AtomUpdateBlock": [[69, 4, 1, "", "forward"], [69, 4, 1, "", "get_mlp"]], "core.models.gemnet.layers.atom_update_block.OutputBlock": [[69, 4, 1, "", "forward"], [69, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.base_layers": [[70, 3, 1, "", "Dense"], [70, 3, 1, "", "ResidualLayer"], [70, 3, 1, "", "ScaledSiLU"], [70, 3, 1, "", "SiQU"]], "core.models.gemnet.layers.base_layers.Dense": [[70, 4, 1, "", "forward"], [70, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.base_layers.ResidualLayer": [[70, 4, 1, "", "forward"]], "core.models.gemnet.layers.base_layers.ScaledSiLU": [[70, 4, 1, "", "forward"]], "core.models.gemnet.layers.base_layers.SiQU": [[70, 4, 1, "", "forward"]], "core.models.gemnet.layers.basis_utils": [[71, 1, 1, "", "Jn"], [71, 1, 1, "", "Jn_zeros"], [71, 1, 1, "", "associated_legendre_polynomials"], [71, 1, 1, "", "bessel_basis"], [71, 1, 1, "", "real_sph_harm"], [71, 1, 1, "", "sph_harm_prefactor"], [71, 1, 1, "", "spherical_bessel_formulas"]], "core.models.gemnet.layers.efficient": [[72, 3, 1, "", "EfficientInteractionBilinear"], [72, 3, 1, "", "EfficientInteractionDownProjection"]], "core.models.gemnet.layers.efficient.EfficientInteractionBilinear": [[72, 4, 1, "", "forward"], [72, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.efficient.EfficientInteractionDownProjection": [[72, 4, 1, "", "forward"], [72, 4, 1, "", "reset_parameters"]], "core.models.gemnet.layers.embedding_block": [[73, 3, 1, "", "AtomEmbedding"], [73, 3, 1, "", "EdgeEmbedding"]], "core.models.gemnet.layers.embedding_block.AtomEmbedding": [[73, 4, 1, "", "forward"]], "core.models.gemnet.layers.embedding_block.EdgeEmbedding": [[73, 4, 1, "", "forward"]], "core.models.gemnet.layers.interaction_block": [[75, 3, 1, "", "InteractionBlockTripletsOnly"], [75, 3, 1, "", "TripletInteraction"]], "core.models.gemnet.layers.interaction_block.InteractionBlockTripletsOnly": [[75, 4, 1, "", "forward"]], "core.models.gemnet.layers.interaction_block.TripletInteraction": [[75, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis": [[76, 3, 1, "", "BernsteinBasis"], [76, 3, 1, "", "ExponentialEnvelope"], [76, 3, 1, "", "PolynomialEnvelope"], [76, 3, 1, "", "RadialBasis"], [76, 3, 1, "", "SphericalBesselBasis"]], "core.models.gemnet.layers.radial_basis.BernsteinBasis": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.ExponentialEnvelope": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.PolynomialEnvelope": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.RadialBasis": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.radial_basis.SphericalBesselBasis": [[76, 4, 1, "", "forward"]], "core.models.gemnet.layers.spherical_basis": [[77, 3, 1, "", "CircularBasisLayer"]], "core.models.gemnet.layers.spherical_basis.CircularBasisLayer": [[77, 4, 1, "", "forward"]], "core.models.gemnet.utils": [[78, 1, 1, "", "calculate_interatomic_vectors"], [78, 1, 1, "", "inner_product_normalized"], [78, 1, 1, "", "mask_neighbors"], [78, 1, 1, "", "ragged_range"], [78, 1, 1, "", "read_json"], [78, 1, 1, "", "read_value_json"], [78, 1, 1, "", "repeat_blocks"], [78, 1, 1, "", "update_json"], [78, 1, 1, "", "write_json"]], "core.models.gemnet_gp": [[80, 3, 1, "", "GraphParallelGemNetT"], [79, 0, 0, "-", "gemnet"], [81, 0, 0, "-", "initializers"], [87, 0, 0, "-", "layers"], [91, 0, 0, "-", "utils"]], "core.models.gemnet_gp.GraphParallelGemNetT": [[80, 4, 1, "", "forward"], [80, 4, 1, "", "generate_interaction_graph"], [80, 4, 1, "", "get_triplets"], [80, 5, 1, "", "num_params"], [80, 4, 1, "", "reorder_symmetric_edges"], [80, 4, 1, "", "select_edges"], [80, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet_gp.gemnet": [[79, 3, 1, "", "GraphParallelGemNetT"]], "core.models.gemnet_gp.gemnet.GraphParallelGemNetT": [[79, 4, 1, "", "forward"], [79, 4, 1, "", "generate_interaction_graph"], [79, 4, 1, "", "get_triplets"], [79, 5, 1, "", "num_params"], [79, 4, 1, "", "reorder_symmetric_edges"], [79, 4, 1, "", "select_edges"], [79, 4, 1, "", "select_symmetric_edges"]], "core.models.gemnet_gp.initializers": [[81, 1, 1, "", "_standardize"], [81, 1, 1, "", "he_orthogonal_init"]], "core.models.gemnet_gp.layers": [[82, 0, 0, "-", "atom_update_block"], [83, 0, 0, "-", "base_layers"], [84, 0, 0, "-", "basis_utils"], [85, 0, 0, "-", "efficient"], [86, 0, 0, "-", "embedding_block"], [88, 0, 0, "-", "interaction_block"], [89, 0, 0, "-", "radial_basis"], [90, 0, 0, "-", "spherical_basis"]], "core.models.gemnet_gp.layers.atom_update_block": [[82, 3, 1, "", "AtomUpdateBlock"], [82, 3, 1, "", "OutputBlock"], [82, 1, 1, "", "scatter_sum"]], "core.models.gemnet_gp.layers.atom_update_block.AtomUpdateBlock": [[82, 4, 1, "", "forward"], [82, 4, 1, "", "get_mlp"]], "core.models.gemnet_gp.layers.atom_update_block.OutputBlock": [[82, 6, 1, "", "dense_rbf_F"], [82, 4, 1, "", "forward"], [82, 6, 1, "", "out_energy"], [82, 6, 1, "", "out_forces"], [82, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.base_layers": [[83, 3, 1, "", "Dense"], [83, 3, 1, "", "ResidualLayer"], [83, 3, 1, "", "ScaledSiLU"], [83, 3, 1, "", "SiQU"]], "core.models.gemnet_gp.layers.base_layers.Dense": [[83, 4, 1, "", "forward"], [83, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.base_layers.ResidualLayer": [[83, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.base_layers.ScaledSiLU": [[83, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.base_layers.SiQU": [[83, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.basis_utils": [[84, 1, 1, "", "Jn"], [84, 1, 1, "", "Jn_zeros"], [84, 1, 1, "", "associated_legendre_polynomials"], [84, 1, 1, "", "bessel_basis"], [84, 1, 1, "", "real_sph_harm"], [84, 1, 1, "", "sph_harm_prefactor"], [84, 1, 1, "", "spherical_bessel_formulas"]], "core.models.gemnet_gp.layers.efficient": [[85, 3, 1, "", "EfficientInteractionBilinear"], [85, 3, 1, "", "EfficientInteractionDownProjection"]], "core.models.gemnet_gp.layers.efficient.EfficientInteractionBilinear": [[85, 4, 1, "", "forward"], [85, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.efficient.EfficientInteractionDownProjection": [[85, 4, 1, "", "forward"], [85, 4, 1, "", "reset_parameters"]], "core.models.gemnet_gp.layers.embedding_block": [[86, 3, 1, "", "AtomEmbedding"], [86, 3, 1, "", "EdgeEmbedding"]], "core.models.gemnet_gp.layers.embedding_block.AtomEmbedding": [[86, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.embedding_block.EdgeEmbedding": [[86, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.interaction_block": [[88, 3, 1, "", "InteractionBlockTripletsOnly"], [88, 3, 1, "", "TripletInteraction"]], "core.models.gemnet_gp.layers.interaction_block.InteractionBlockTripletsOnly": [[88, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.interaction_block.TripletInteraction": [[88, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis": [[89, 3, 1, "", "BernsteinBasis"], [89, 3, 1, "", "ExponentialEnvelope"], [89, 3, 1, "", "PolynomialEnvelope"], [89, 3, 1, "", "RadialBasis"], [89, 3, 1, "", "SphericalBesselBasis"]], "core.models.gemnet_gp.layers.radial_basis.BernsteinBasis": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.ExponentialEnvelope": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.PolynomialEnvelope": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.RadialBasis": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.radial_basis.SphericalBesselBasis": [[89, 4, 1, "", "forward"]], "core.models.gemnet_gp.layers.spherical_basis": [[90, 3, 1, "", "CircularBasisLayer"]], "core.models.gemnet_gp.layers.spherical_basis.CircularBasisLayer": [[90, 4, 1, "", "forward"]], "core.models.gemnet_gp.utils": [[91, 1, 1, "", "calculate_interatomic_vectors"], [91, 1, 1, "", "inner_product_normalized"], [91, 1, 1, "", "mask_neighbors"], [91, 1, 1, "", "ragged_range"], [91, 1, 1, "", "read_json"], [91, 1, 1, "", "read_value_json"], [91, 1, 1, "", "repeat_blocks"], [91, 1, 1, "", "update_json"], [91, 1, 1, "", "write_json"]], "core.models.gemnet_oc": [[93, 3, 1, "", "GemNetOC"], [92, 0, 0, "-", "gemnet_oc"], [94, 0, 0, "-", "initializers"], [95, 0, 0, "-", "interaction_indices"], [102, 0, 0, "-", "layers"], [106, 0, 0, "-", "utils"]], "core.models.gemnet_oc.GemNetOC": [[93, 4, 1, "", "calculate_quad_angles"], [93, 4, 1, "", "forward"], [93, 4, 1, "", "generate_graph_dict"], [93, 4, 1, "", "get_bases"], [93, 4, 1, "", "get_graphs_and_indices"], [93, 4, 1, "", "init_basis_functions"], [93, 4, 1, "", "init_shared_basis_layers"], [93, 5, 1, "", "num_params"], [93, 4, 1, "", "select_symmetric_edges"], [93, 4, 1, "", "set_cutoffs"], [93, 4, 1, "", "set_max_neighbors"], [93, 4, 1, "", "subselect_edges"], [93, 4, 1, "", "subselect_graph"], [93, 4, 1, "", "symmetrize_edges"]], "core.models.gemnet_oc.gemnet_oc": [[92, 3, 1, "", "GemNetOC"]], "core.models.gemnet_oc.gemnet_oc.GemNetOC": [[92, 4, 1, "", "calculate_quad_angles"], [92, 4, 1, "", "forward"], [92, 4, 1, "", "generate_graph_dict"], [92, 4, 1, "", "get_bases"], [92, 4, 1, "", "get_graphs_and_indices"], [92, 4, 1, "", "init_basis_functions"], [92, 4, 1, "", "init_shared_basis_layers"], [92, 5, 1, "", "num_params"], [92, 4, 1, "", "select_symmetric_edges"], [92, 4, 1, "", "set_cutoffs"], [92, 4, 1, "", "set_max_neighbors"], [92, 4, 1, "", "subselect_edges"], [92, 4, 1, "", "subselect_graph"], [92, 4, 1, "", "symmetrize_edges"]], "core.models.gemnet_oc.initializers": [[94, 1, 1, "", "_standardize"], [94, 1, 1, "", "get_initializer"], [94, 1, 1, "", "grid_init"], [94, 1, 1, "", "he_orthogonal_init"], [94, 1, 1, "", "log_grid_init"]], "core.models.gemnet_oc.interaction_indices": [[95, 1, 1, "", "get_mixed_triplets"], [95, 1, 1, "", "get_quadruplets"], [95, 1, 1, "", "get_triplets"]], "core.models.gemnet_oc.layers": [[96, 0, 0, "-", "atom_update_block"], [97, 0, 0, "-", "base_layers"], [98, 0, 0, "-", "basis_utils"], [99, 0, 0, "-", "efficient"], [100, 0, 0, "-", "embedding_block"], [101, 0, 0, "-", "force_scaler"], [103, 0, 0, "-", "interaction_block"], [104, 0, 0, "-", "radial_basis"], [105, 0, 0, "-", "spherical_basis"]], "core.models.gemnet_oc.layers.atom_update_block": [[96, 3, 1, "", "AtomUpdateBlock"], [96, 3, 1, "", "OutputBlock"]], "core.models.gemnet_oc.layers.atom_update_block.AtomUpdateBlock": [[96, 4, 1, "", "forward"], [96, 4, 1, "", "get_mlp"]], "core.models.gemnet_oc.layers.atom_update_block.OutputBlock": [[96, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.base_layers": [[97, 3, 1, "", "Dense"], [97, 3, 1, "", "ResidualLayer"], [97, 3, 1, "", "ScaledSiLU"]], "core.models.gemnet_oc.layers.base_layers.Dense": [[97, 4, 1, "", "forward"], [97, 4, 1, "", "reset_parameters"]], "core.models.gemnet_oc.layers.base_layers.ResidualLayer": [[97, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.base_layers.ScaledSiLU": [[97, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.basis_utils": [[98, 1, 1, "", "Jn"], [98, 1, 1, "", "Jn_zeros"], [98, 1, 1, "", "associated_legendre_polynomials"], [98, 1, 1, "", "bessel_basis"], [98, 1, 1, "", "get_sph_harm_basis"], [98, 1, 1, "", "real_sph_harm"], [98, 1, 1, "", "sph_harm_prefactor"], [98, 1, 1, "", "spherical_bessel_formulas"]], "core.models.gemnet_oc.layers.efficient": [[99, 3, 1, "", "BasisEmbedding"], [99, 3, 1, "", "EfficientInteractionBilinear"]], "core.models.gemnet_oc.layers.efficient.BasisEmbedding": [[99, 4, 1, "", "forward"], [99, 4, 1, "", "reset_parameters"], [99, 6, 1, "", "weight"]], "core.models.gemnet_oc.layers.efficient.EfficientInteractionBilinear": [[99, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.embedding_block": [[100, 3, 1, "", "AtomEmbedding"], [100, 3, 1, "", "EdgeEmbedding"]], "core.models.gemnet_oc.layers.embedding_block.AtomEmbedding": [[100, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.embedding_block.EdgeEmbedding": [[100, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.force_scaler": [[101, 3, 1, "", "ForceScaler"]], "core.models.gemnet_oc.layers.force_scaler.ForceScaler": [[101, 4, 1, "", "calc_forces"], [101, 4, 1, "", "calc_forces_and_update"], [101, 4, 1, "", "scale"], [101, 4, 1, "", "unscale"], [101, 4, 1, "", "update"]], "core.models.gemnet_oc.layers.interaction_block": [[103, 3, 1, "", "InteractionBlock"], [103, 3, 1, "", "PairInteraction"], [103, 3, 1, "", "QuadrupletInteraction"], [103, 3, 1, "", "TripletInteraction"]], "core.models.gemnet_oc.layers.interaction_block.InteractionBlock": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.interaction_block.PairInteraction": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.interaction_block.QuadrupletInteraction": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.interaction_block.TripletInteraction": [[103, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis": [[104, 3, 1, "", "BernsteinBasis"], [104, 3, 1, "", "ExponentialEnvelope"], [104, 3, 1, "", "GaussianBasis"], [104, 3, 1, "", "PolynomialEnvelope"], [104, 3, 1, "", "RadialBasis"], [104, 3, 1, "", "SphericalBesselBasis"]], "core.models.gemnet_oc.layers.radial_basis.BernsteinBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.ExponentialEnvelope": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.GaussianBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.PolynomialEnvelope": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.RadialBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.radial_basis.SphericalBesselBasis": [[104, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.spherical_basis": [[105, 3, 1, "", "CircularBasisLayer"], [105, 3, 1, "", "SphericalBasisLayer"]], "core.models.gemnet_oc.layers.spherical_basis.CircularBasisLayer": [[105, 4, 1, "", "forward"]], "core.models.gemnet_oc.layers.spherical_basis.SphericalBasisLayer": [[105, 4, 1, "", "forward"]], "core.models.gemnet_oc.utils": [[106, 1, 1, "", "calculate_interatomic_vectors"], [106, 1, 1, "", "get_angle"], [106, 1, 1, "", "get_edge_id"], [106, 1, 1, "", "get_inner_idx"], [106, 1, 1, "", "get_neighbor_order"], [106, 1, 1, "", "get_projected_angle"], [106, 1, 1, "", "inner_product_clamped"], [106, 1, 1, "", "mask_neighbors"], [106, 1, 1, "", "masked_select_sparsetensor_flat"], [106, 1, 1, "", "ragged_range"], [106, 1, 1, "", "repeat_blocks"], [106, 1, 1, "", "vector_rejection"]], "core.models.model_registry": [[108, 2, 1, "", "MODEL_REGISTRY"], [108, 2, 1, "", "available_pretrained_models"], [108, 1, 1, "", "model_name_to_local_file"]], "core.models.painn": [[109, 3, 1, "", "PaiNN"], [110, 0, 0, "-", "painn"], [111, 0, 0, "-", "utils"]], "core.models.painn.PaiNN": [[109, 4, 1, "", "__repr__"], [109, 4, 1, "", "forward"], [109, 4, 1, "", "generate_graph_values"], [109, 5, 1, "", "num_params"], [109, 4, 1, "", "reset_parameters"], [109, 4, 1, "", "select_symmetric_edges"], [109, 4, 1, "", "symmetrize_edges"]], "core.models.painn.painn": [[110, 3, 1, "", "GatedEquivariantBlock"], [110, 3, 1, "", "PaiNN"], [110, 3, 1, "", "PaiNNMessage"], [110, 3, 1, "", "PaiNNOutput"], [110, 3, 1, "", "PaiNNUpdate"]], "core.models.painn.painn.GatedEquivariantBlock": [[110, 4, 1, "", "forward"], [110, 4, 1, "", "reset_parameters"]], "core.models.painn.painn.PaiNN": [[110, 4, 1, "", "__repr__"], [110, 4, 1, "", "forward"], [110, 4, 1, "", "generate_graph_values"], [110, 5, 1, "", "num_params"], [110, 4, 1, "", "reset_parameters"], [110, 4, 1, "", "select_symmetric_edges"], [110, 4, 1, "", "symmetrize_edges"]], "core.models.painn.painn.PaiNNMessage": [[110, 4, 1, "", "aggregate"], [110, 4, 1, "", "forward"], [110, 4, 1, "", "message"], [110, 4, 1, "", "reset_parameters"], [110, 4, 1, "", "update"]], "core.models.painn.painn.PaiNNOutput": [[110, 4, 1, "", "forward"], [110, 4, 1, "", "reset_parameters"]], "core.models.painn.painn.PaiNNUpdate": [[110, 4, 1, "", "forward"], [110, 4, 1, "", "reset_parameters"]], "core.models.painn.utils": [[111, 1, 1, "", "get_edge_id"], [111, 1, 1, "", "repeat_blocks"]], "core.models.schnet": [[112, 3, 1, "", "SchNetWrap"]], "core.models.schnet.SchNetWrap": [[112, 4, 1, "", "_forward"], [112, 4, 1, "", "forward"], [112, 5, 1, "", "num_params"]], "core.models.scn": [[113, 3, 1, "", "SphericalChannelNetwork"], [114, 0, 0, "-", "sampling"], [115, 0, 0, "-", "scn"], [116, 0, 0, "-", "smearing"], [117, 0, 0, "-", "spherical_harmonics"]], "core.models.scn.SphericalChannelNetwork": [[113, 4, 1, "", "_forward_helper"], [113, 4, 1, "", "_init_edge_rot_mat"], [113, 4, 1, "", "_rank_edge_distances"], [113, 6, 1, "", "energy_fc1"], [113, 6, 1, "", "energy_fc2"], [113, 6, 1, "", "energy_fc3"], [113, 6, 1, "", "force_fc1"], [113, 6, 1, "", "force_fc2"], [113, 6, 1, "", "force_fc3"], [113, 4, 1, "", "forward"], [113, 5, 1, "", "num_params"]], "core.models.scn.sampling": [[114, 1, 1, "", "CalcSpherePoints"], [114, 1, 1, "", "CalcSpherePointsRandom"]], "core.models.scn.scn": [[115, 3, 1, "", "DistanceBlock"], [115, 3, 1, "", "EdgeBlock"], [115, 3, 1, "", "MessageBlock"], [115, 3, 1, "", "SphericalChannelNetwork"]], "core.models.scn.scn.DistanceBlock": [[115, 4, 1, "", "forward"]], "core.models.scn.scn.EdgeBlock": [[115, 4, 1, "", "forward"]], "core.models.scn.scn.MessageBlock": [[115, 4, 1, "", "forward"]], "core.models.scn.scn.SphericalChannelNetwork": [[115, 4, 1, "", "_forward_helper"], [115, 4, 1, "", "_init_edge_rot_mat"], [115, 4, 1, "", "_rank_edge_distances"], [115, 6, 1, "", "energy_fc1"], [115, 6, 1, "", "energy_fc2"], [115, 6, 1, "", "energy_fc3"], [115, 6, 1, "", "force_fc1"], [115, 6, 1, "", "force_fc2"], [115, 6, 1, "", "force_fc3"], [115, 4, 1, "", "forward"], [115, 5, 1, "", "num_params"]], "core.models.scn.smearing": [[116, 3, 1, "", "GaussianSmearing"], [116, 3, 1, "", "LinearSigmoidSmearing"], [116, 3, 1, "", "SiLUSmearing"], [116, 3, 1, "", "SigmoidSmearing"]], "core.models.scn.smearing.GaussianSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.smearing.LinearSigmoidSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.smearing.SiLUSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.smearing.SigmoidSmearing": [[116, 4, 1, "", "forward"]], "core.models.scn.spherical_harmonics": [[117, 3, 1, "", "SphericalHarmonicsHelper"], [117, 2, 1, "", "_Jd"], [117, 1, 1, "", "_z_rot_mat"], [117, 1, 1, "", "wigner_D"]], "core.models.scn.spherical_harmonics.SphericalHarmonicsHelper": [[117, 4, 1, "", "CombineYRotations"], [117, 4, 1, "", "FlipGrid"], [117, 4, 1, "", "FromGrid"], [117, 4, 1, "", "InitWignerDMatrix"], [117, 4, 1, "", "InitYRotMapping"], [117, 4, 1, "", "Rotate"], [117, 4, 1, "", "RotateInv"], [117, 4, 1, "", "RotateWigner"], [117, 4, 1, "", "RotationMatrix"], [117, 4, 1, "", "RotationToWignerDMatrix"], [117, 4, 1, "", "ToGrid"]], "core.models.utils": [[118, 0, 0, "-", "activations"], [119, 0, 0, "-", "basis"]], "core.models.utils.activations": [[118, 3, 1, "", "Act"]], "core.models.utils.activations.Act": [[118, 4, 1, "", "forward"]], "core.models.utils.basis": [[119, 3, 1, "", "Basis"], [119, 3, 1, "", "FourierSmearing"], [119, 3, 1, "", "GaussianSmearing"], [119, 3, 1, "", "SINESmearing"], [119, 3, 1, "", "SIREN"], [119, 3, 1, "", "Sine"], [119, 3, 1, "", "SphericalSmearing"]], "core.models.utils.basis.Basis": [[119, 4, 1, "", "forward"], [119, 6, 1, "", "smearing"]], "core.models.utils.basis.FourierSmearing": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.GaussianSmearing": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.SINESmearing": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.SIREN": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.Sine": [[119, 4, 1, "", "forward"]], "core.models.utils.basis.SphericalSmearing": [[119, 4, 1, "", "forward"], [119, 6, 1, "", "m"], [119, 6, 1, "", "n"]], "core.modules": [[121, 0, 0, "-", "evaluator"], [122, 0, 0, "-", "exponential_moving_average"], [124, 0, 0, "-", "loss"], [125, 0, 0, "-", "normalizer"], [128, 0, 0, "-", "scaling"], [131, 0, 0, "-", "scheduler"], [132, 0, 0, "-", "transforms"]], "core.modules.evaluator": [[121, 3, 1, "", "Evaluator"], [121, 2, 1, "", "NONE"], [121, 1, 1, "", "average_distance_within_threshold"], [121, 1, 1, "", "cosine_similarity"], [121, 1, 1, "", "energy_forces_within_threshold"], [121, 1, 1, "", "energy_within_threshold"], [121, 1, 1, "", "forcesx_mae"], [121, 1, 1, "", "forcesx_mse"], [121, 1, 1, "", "forcesy_mae"], [121, 1, 1, "", "forcesy_mse"], [121, 1, 1, "", "forcesz_mae"], [121, 1, 1, "", "forcesz_mse"], [121, 1, 1, "", "mae"], [121, 1, 1, "", "magnitude_error"], [121, 1, 1, "", "min_diff"], [121, 1, 1, "", "mse"]], "core.modules.evaluator.Evaluator": [[121, 4, 1, "", "eval"], [121, 6, 1, "", "task_metrics"], [121, 6, 1, "", "task_primary_metric"], [121, 4, 1, "", "update"]], "core.modules.exponential_moving_average": [[122, 3, 1, "", "ExponentialMovingAverage"]], "core.modules.exponential_moving_average.ExponentialMovingAverage": [[122, 4, 1, "", "_get_parameters"], [122, 4, 1, "", "copy_to"], [122, 4, 1, "", "load_state_dict"], [122, 4, 1, "", "restore"], [122, 4, 1, "", "state_dict"], [122, 4, 1, "", "store"], [122, 4, 1, "", "update"]], "core.modules.loss": [[124, 3, 1, "", "AtomwiseL2Loss"], [124, 3, 1, "", "DDPLoss"], [124, 3, 1, "", "L2MAELoss"]], "core.modules.loss.AtomwiseL2Loss": [[124, 4, 1, "", "forward"]], "core.modules.loss.DDPLoss": [[124, 4, 1, "", "forward"]], "core.modules.loss.L2MAELoss": [[124, 4, 1, "", "forward"]], "core.modules.normalizer": [[125, 3, 1, "", "Normalizer"]], "core.modules.normalizer.Normalizer": [[125, 4, 1, "", "denorm"], [125, 4, 1, "", "load_state_dict"], [125, 4, 1, "", "norm"], [125, 4, 1, "", "state_dict"], [125, 4, 1, "", "to"]], "core.modules.scaling": [[128, 3, 1, "", "ScaleFactor"], [126, 0, 0, "-", "compat"], [127, 0, 0, "-", "fit"], [129, 0, 0, "-", "scale_factor"], [130, 0, 0, "-", "util"]], "core.modules.scaling.ScaleFactor": [[128, 4, 1, "", "_enforce_consistency"], [128, 4, 1, "", "_observe"], [128, 4, 1, "", "fit_"], [128, 4, 1, "", "fit_context_"], [128, 5, 1, "", "fitted"], [128, 4, 1, "", "forward"], [128, 6, 1, "", "index_fn"], [128, 4, 1, "", "initialize_"], [128, 6, 1, "", "name"], [128, 4, 1, "", "reset_"], [128, 6, 1, "", "scale_factor"], [128, 4, 1, "", "set_"], [128, 6, 1, "", "stats"]], "core.modules.scaling.compat": [[126, 2, 1, "", "ScaleDict"], [126, 1, 1, "", "_load_scale_dict"], [126, 1, 1, "", "load_scales_compat"]], "core.modules.scaling.fit": [[127, 1, 1, "", "_prefilled_input"], [127, 1, 1, "", "_train_batch"], [127, 1, 1, "", "main"]], "core.modules.scaling.scale_factor": [[129, 2, 1, "", "IndexFn"], [129, 3, 1, "", "ScaleFactor"], [129, 3, 1, "", "_Stats"], [129, 1, 1, "", "_check_consistency"]], "core.modules.scaling.scale_factor.ScaleFactor": [[129, 4, 1, "", "_enforce_consistency"], [129, 4, 1, "", "_observe"], [129, 4, 1, "", "fit_"], [129, 4, 1, "", "fit_context_"], [129, 5, 1, "", "fitted"], [129, 4, 1, "", "forward"], [129, 6, 1, "", "index_fn"], [129, 4, 1, "", "initialize_"], [129, 6, 1, "", "name"], [129, 4, 1, "", "reset_"], [129, 6, 1, "", "scale_factor"], [129, 4, 1, "", "set_"], [129, 6, 1, "", "stats"]], "core.modules.scaling.scale_factor._Stats": [[129, 6, 1, "", "n_samples"], [129, 6, 1, "", "variance_in"], [129, 6, 1, "", "variance_out"]], "core.modules.scaling.util": [[130, 1, 1, "", "ensure_fitted"]], "core.modules.scheduler": [[131, 3, 1, "", "LRScheduler"]], "core.modules.scheduler.LRScheduler": [[131, 4, 1, "", "filter_kwargs"], [131, 4, 1, "", "get_lr"], [131, 4, 1, "", "step"]], "core.modules.transforms": [[132, 3, 1, "", "DataTransforms"], [132, 1, 1, "", "decompose_tensor"]], "core.modules.transforms.DataTransforms": [[132, 4, 1, "", "__call__"]], "core.preprocessing": [[134, 3, 1, "", "AtomsToGraphs"], [133, 0, 0, "-", "atoms_to_graphs"]], "core.preprocessing.AtomsToGraphs": [[134, 4, 1, "", "_get_neighbors_pymatgen"], [134, 4, 1, "", "_reshape_features"], [134, 4, 1, "", "convert"], [134, 4, 1, "", "convert_all"], [134, 6, 1, "", "max_neigh"], [134, 6, 1, "", "r_data_keys"], [134, 6, 1, "", "r_distances"], [134, 6, 1, "", "r_edges"], [134, 6, 1, "", "r_energy"], [134, 6, 1, "", "r_fixed"], [134, 6, 1, "", "r_forces"], [134, 6, 1, "", "r_pbc"], [134, 6, 1, "", "r_stress"], [134, 6, 1, "", "radius"]], "core.preprocessing.atoms_to_graphs": [[133, 2, 1, "", "AseAtomsAdaptor"], [133, 3, 1, "", "AtomsToGraphs"], [133, 2, 1, "", "shell"]], "core.preprocessing.atoms_to_graphs.AtomsToGraphs": [[133, 4, 1, "", "_get_neighbors_pymatgen"], [133, 4, 1, "", "_reshape_features"], [133, 4, 1, "", "convert"], [133, 4, 1, "", "convert_all"], [133, 6, 1, "", "max_neigh"], [133, 6, 1, "", "r_data_keys"], [133, 6, 1, "", "r_distances"], [133, 6, 1, "", "r_edges"], [133, 6, 1, "", "r_energy"], [133, 6, 1, "", "r_fixed"], [133, 6, 1, "", "r_forces"], [133, 6, 1, "", "r_pbc"], [133, 6, 1, "", "r_stress"], [133, 6, 1, "", "radius"]], "core.scripts": [[135, 0, 0, "-", "download_data"], [136, 0, 0, "-", "gif_maker_parallelized"], [137, 0, 0, "-", "hpo"], [141, 0, 0, "-", "make_challenge_submission_file"], [142, 0, 0, "-", "make_lmdb_sizes"], [143, 0, 0, "-", "make_submission_file"], [144, 0, 0, "-", "preprocess_ef"], [145, 0, 0, "-", "preprocess_relaxed"], [146, 0, 0, "-", "uncompress"]], "core.scripts.download_data": [[135, 2, 1, "", "DOWNLOAD_LINKS_is2re"], [135, 2, 1, "", "DOWNLOAD_LINKS_s2ef"], [135, 2, 1, "", "S2EF_COUNTS"], [135, 1, 1, "", "cleanup"], [135, 1, 1, "", "get_data"], [135, 2, 1, "", "parser"], [135, 1, 1, "", "preprocess_data"], [135, 1, 1, "", "uncompress_data"], [135, 1, 1, "", "verify_count"]], "core.scripts.gif_maker_parallelized": [[136, 1, 1, "", "get_parser"], [136, 1, 1, "", "parallelize_generation"], [136, 2, 1, "", "parser"], [136, 1, 1, "", "pov_from_atoms"]], "core.scripts.hpo": [[138, 0, 0, "-", "run_tune"], [139, 0, 0, "-", "run_tune_pbt"]], "core.scripts.hpo.run_tune": [[138, 1, 1, "", "main"], [138, 1, 1, "", "ocp_trainable"]], "core.scripts.hpo.run_tune_pbt": [[139, 1, 1, "", "main"], [139, 1, 1, "", "ocp_trainable"]], "core.scripts.make_challenge_submission_file": [[141, 1, 1, "", "main"], [141, 2, 1, "", "parser"], [141, 1, 1, "", "write_is2re_relaxations"], [141, 1, 1, "", "write_predictions"]], "core.scripts.make_lmdb_sizes": [[142, 1, 1, "", "get_data"], [142, 1, 1, "", "main"], [142, 2, 1, "", "parser"]], "core.scripts.make_submission_file": [[143, 2, 1, "", "SPLITS"], [143, 1, 1, "", "main"], [143, 2, 1, "", "parser"], [143, 1, 1, "", "write_is2re_relaxations"], [143, 1, 1, "", "write_predictions"]], "core.scripts.preprocess_ef": [[144, 1, 1, "", "get_parser"], [144, 1, 1, "", "main"], [144, 2, 1, "", "parser"], [144, 1, 1, "", "write_images_to_lmdb"]], "core.scripts.preprocess_relaxed": [[145, 1, 1, "", "main"], [145, 2, 1, "", "parser"], [145, 1, 1, "", "write_images_to_lmdb"]], "core.scripts.uncompress": [[146, 1, 1, "", "decompress_list_of_files"], [146, 1, 1, "", "get_parser"], [146, 1, 1, "", "main"], [146, 2, 1, "", "parser"], [146, 1, 1, "", "read_lzma"]], "core.tasks": [[147, 3, 1, "", "PredictTask"], [147, 3, 1, "", "RelaxationTask"], [147, 3, 1, "", "TrainTask"], [147, 3, 1, "", "ValidateTask"], [148, 0, 0, "-", "task"]], "core.tasks.PredictTask": [[147, 4, 1, "", "run"]], "core.tasks.RelaxationTask": [[147, 4, 1, "", "run"]], "core.tasks.TrainTask": [[147, 4, 1, "", "_process_error"], [147, 4, 1, "", "run"]], "core.tasks.ValidateTask": [[147, 4, 1, "", "run"]], "core.tasks.task": [[148, 3, 1, "", "BaseTask"], [148, 3, 1, "", "PredictTask"], [148, 3, 1, "", "RelaxationTask"], [148, 3, 1, "", "TrainTask"], [148, 3, 1, "", "ValidateTask"]], "core.tasks.task.BaseTask": [[148, 4, 1, "", "run"], [148, 4, 1, "", "setup"]], "core.tasks.task.PredictTask": [[148, 4, 1, "", "run"]], "core.tasks.task.RelaxationTask": [[148, 4, 1, "", "run"]], "core.tasks.task.TrainTask": [[148, 4, 1, "", "_process_error"], [148, 4, 1, "", "run"]], "core.tasks.task.ValidateTask": [[148, 4, 1, "", "run"]], "core.trainers": [[150, 3, 1, "", "BaseTrainer"], [150, 3, 1, "", "OCPTrainer"], [149, 0, 0, "-", "base_trainer"], [151, 0, 0, "-", "ocp_trainer"]], "core.trainers.BaseTrainer": [[150, 4, 1, "", "_backward"], [150, 4, 1, "", "_get_timestamp"], [150, 5, 1, "", "_unwrapped_model"], [150, 4, 1, "", "get_dataloader"], [150, 4, 1, "", "get_sampler"], [150, 4, 1, "", "load"], [150, 4, 1, "", "load_checkpoint"], [150, 4, 1, "", "load_datasets"], [150, 4, 1, "", "load_extras"], [150, 4, 1, "", "load_logger"], [150, 4, 1, "", "load_loss"], [150, 4, 1, "", "load_model"], [150, 4, 1, "", "load_optimizer"], [150, 4, 1, "", "load_seed_from_config"], [150, 4, 1, "", "load_task"], [150, 4, 1, "", "save"], [150, 4, 1, "", "save_results"], [150, 4, 1, "", "set_seed"], [150, 4, 1, "", "train"], [150, 4, 1, "", "update_best"], [150, 4, 1, "", "validate"]], "core.trainers.OCPTrainer": [[150, 4, 1, "", "_compute_loss"], [150, 4, 1, "", "_compute_metrics"], [150, 4, 1, "", "_forward"], [150, 4, 1, "", "predict"], [150, 4, 1, "", "run_relaxations"], [150, 4, 1, "", "train"]], "core.trainers.base_trainer": [[149, 3, 1, "", "BaseTrainer"]], "core.trainers.base_trainer.BaseTrainer": [[149, 4, 1, "", "_backward"], [149, 4, 1, "", "_get_timestamp"], [149, 5, 1, "", "_unwrapped_model"], [149, 4, 1, "", "get_dataloader"], [149, 4, 1, "", "get_sampler"], [149, 4, 1, "", "load"], [149, 4, 1, "", "load_checkpoint"], [149, 4, 1, "", "load_datasets"], [149, 4, 1, "", "load_extras"], [149, 4, 1, "", "load_logger"], [149, 4, 1, "", "load_loss"], [149, 4, 1, "", "load_model"], [149, 4, 1, "", "load_optimizer"], [149, 4, 1, "", "load_seed_from_config"], [149, 4, 1, "", "load_task"], [149, 4, 1, "", "save"], [149, 4, 1, "", "save_results"], [149, 4, 1, "", "set_seed"], [149, 4, 1, "", "train"], [149, 4, 1, "", "update_best"], [149, 4, 1, "", "validate"]], "core.trainers.ocp_trainer": [[151, 3, 1, "", "OCPTrainer"]], "core.trainers.ocp_trainer.OCPTrainer": [[151, 4, 1, "", "_compute_loss"], [151, 4, 1, "", "_compute_metrics"], [151, 4, 1, "", "_forward"], [151, 4, 1, "", "predict"], [151, 4, 1, "", "run_relaxations"], [151, 4, 1, "", "train"]], "data": [[167, 0, 0, "-", "oc"], [175, 0, 0, "-", "odac"], [179, 0, 0, "-", "om"]], "data.oc": [[167, 2, 1, "", "__version__"], [156, 0, 0, "-", "core"], [159, 0, 0, "-", "databases"], [169, 0, 0, "-", "structure_generator"], [170, 0, 0, "-", "tests"], [172, 0, 0, "-", "utils"]], "data.oc.core": [[156, 3, 1, "", "Adsorbate"], [156, 3, 1, "", "AdsorbateSlabConfig"], [156, 3, 1, "", "Bulk"], [156, 3, 1, "", "MultipleAdsorbateSlabConfig"], [156, 3, 1, "", "Slab"], [153, 0, 0, "-", "adsorbate"], [154, 0, 0, "-", "adsorbate_slab_config"], [155, 0, 0, "-", "bulk"], [157, 0, 0, "-", "multi_adsorbate_slab_config"], [158, 0, 0, "-", "slab"]], "data.oc.core.Adsorbate": [[156, 4, 1, "", "__len__"], [156, 4, 1, "", "__repr__"], [156, 4, 1, "", "__str__"], [156, 4, 1, "", "_get_adsorbate_from_random"], [156, 4, 1, "", "_load_adsorbate"]], "data.oc.core.AdsorbateSlabConfig": [[156, 4, 1, "", "_find_combos_to_check"], [156, 4, 1, "", "_get_projected_points"], [156, 4, 1, "", "_get_scaled_normal"], [156, 4, 1, "", "get_binding_sites"], [156, 4, 1, "", "get_metadata_dict"], [156, 4, 1, "", "place_adsorbate_on_site"], [156, 4, 1, "", "place_adsorbate_on_sites"]], "data.oc.core.Bulk": [[156, 4, 1, "", "__eq__"], [156, 4, 1, "", "__len__"], [156, 4, 1, "", "__repr__"], [156, 4, 1, "", "__str__"], [156, 4, 1, "", "_get_bulk_from_random"], [156, 4, 1, "", "get_slabs"], [156, 4, 1, "", "set_bulk_id_from_db"], [156, 4, 1, "", "set_source_dataset_id"]], "data.oc.core.MultipleAdsorbateSlabConfig": [[156, 4, 1, "", "get_metadata_dict"], [156, 4, 1, "", "place_adsorbates_on_sites"]], "data.oc.core.Slab": [[156, 4, 1, "", "__eq__"], [156, 4, 1, "", "__len__"], [156, 4, 1, "", "__repr__"], [156, 4, 1, "", "__str__"], [156, 4, 1, "", "from_atoms"], [156, 4, 1, "", "from_bulk_get_all_slabs"], [156, 4, 1, "", "from_bulk_get_random_slab"], [156, 4, 1, "", "from_bulk_get_specific_millers"], [156, 4, 1, "", "from_precomputed_slabs_pkl"], [156, 4, 1, "", "get_metadata_dict"], [156, 4, 1, "", "has_surface_tagged"]], "data.oc.core.adsorbate": [[153, 3, 1, "", "Adsorbate"], [153, 1, 1, "", "randomly_rotate_adsorbate"]], "data.oc.core.adsorbate.Adsorbate": [[153, 4, 1, "", "__len__"], [153, 4, 1, "", "__repr__"], [153, 4, 1, "", "__str__"], [153, 4, 1, "", "_get_adsorbate_from_random"], [153, 4, 1, "", "_load_adsorbate"]], "data.oc.core.adsorbate_slab_config": [[154, 3, 1, "", "AdsorbateSlabConfig"], [154, 1, 1, "", "custom_tile_atoms"], [154, 1, 1, "", "get_interstitial_distances"], [154, 1, 1, "", "get_random_sites_on_triangle"], [154, 1, 1, "", "there_is_overlap"]], "data.oc.core.adsorbate_slab_config.AdsorbateSlabConfig": [[154, 4, 1, "", "_find_combos_to_check"], [154, 4, 1, "", "_get_projected_points"], [154, 4, 1, "", "_get_scaled_normal"], [154, 4, 1, "", "get_binding_sites"], [154, 4, 1, "", "get_metadata_dict"], [154, 4, 1, "", "place_adsorbate_on_site"], [154, 4, 1, "", "place_adsorbate_on_sites"]], "data.oc.core.bulk": [[155, 3, 1, "", "Bulk"]], "data.oc.core.bulk.Bulk": [[155, 4, 1, "", "__eq__"], [155, 4, 1, "", "__len__"], [155, 4, 1, "", "__repr__"], [155, 4, 1, "", "__str__"], [155, 4, 1, "", "_get_bulk_from_random"], [155, 4, 1, "", "get_slabs"], [155, 4, 1, "", "set_bulk_id_from_db"], [155, 4, 1, "", "set_source_dataset_id"]], "data.oc.core.multi_adsorbate_slab_config": [[157, 3, 1, "", "MultipleAdsorbateSlabConfig"], [157, 1, 1, "", "update_distance_map"]], "data.oc.core.multi_adsorbate_slab_config.MultipleAdsorbateSlabConfig": [[157, 4, 1, "", "get_metadata_dict"], [157, 4, 1, "", "place_adsorbates_on_sites"]], "data.oc.core.slab": [[158, 3, 1, "", "Slab"], [158, 1, 1, "", "calculate_center_of_mass"], [158, 1, 1, "", "calculate_coordination_of_bulk_atoms"], [158, 1, 1, "", "compute_slabs"], [158, 1, 1, "", "find_surface_atoms_by_height"], [158, 1, 1, "", "find_surface_atoms_with_voronoi_given_height"], [158, 1, 1, "", "flip_struct"], [158, 1, 1, "", "is_structure_invertible"], [158, 1, 1, "", "set_fixed_atom_constraints"], [158, 1, 1, "", "standardize_bulk"], [158, 1, 1, "", "tag_surface_atoms"], [158, 1, 1, "", "tile_and_tag_atoms"], [158, 1, 1, "", "tile_atoms"]], "data.oc.core.slab.Slab": [[158, 4, 1, "", "__eq__"], [158, 4, 1, "", "__len__"], [158, 4, 1, "", "__repr__"], [158, 4, 1, "", "__str__"], [158, 4, 1, "", "from_atoms"], [158, 4, 1, "", "from_bulk_get_all_slabs"], [158, 4, 1, "", "from_bulk_get_random_slab"], [158, 4, 1, "", "from_bulk_get_specific_millers"], [158, 4, 1, "", "from_precomputed_slabs_pkl"], [158, 4, 1, "", "get_metadata_dict"], [158, 4, 1, "", "has_surface_tagged"]], "data.oc.databases": [[160, 0, 0, "-", "pkls"], [161, 0, 0, "-", "update"]], "data.oc.databases.pkls": [[160, 2, 1, "", "ADSORBATE_PKL_PATH"], [160, 2, 1, "", "BULK_PKL_PATH"]], "data.oc.databases.update": [[161, 1, 1, "", "pbc_patch"], [161, 1, 1, "", "set_pbc_patch"], [161, 1, 1, "", "update_dbs"], [161, 1, 1, "", "update_pkls"]], "data.oc.experimental": [[162, 0, 0, "-", "get_energies"], [163, 0, 0, "-", "merge_traj"], [164, 0, 0, "-", "perturb_systems"], [165, 0, 0, "-", "rattle_test"], [166, 0, 0, "-", "utils"]], "data.oc.experimental.get_energies": [[162, 1, 1, "", "extract_file"], [162, 2, 1, "", "input_folder"], [162, 1, 1, "", "process_func"]], "data.oc.experimental.merge_traj": [[163, 1, 1, "", "extract_file"], [163, 1, 1, "", "main"]], "data.oc.experimental.perturb_systems": [[164, 1, 1, "", "main"]], "data.oc.experimental.rattle_test": [[165, 1, 1, "", "main"]], "data.oc.experimental.utils": [[166, 1, 1, "", "plot_traj"], [166, 1, 1, "", "restart_bug_check"], [166, 1, 1, "", "v0_check"]], "data.oc.scripts": [[168, 0, 0, "-", "precompute_sample_structures"]], "data.oc.scripts.precompute_sample_structures": [[168, 2, 1, "", "BULK_PKL"], [168, 2, 1, "", "MAX_MILLER"], [168, 2, 1, "", "__authors__"], [168, 2, 1, "", "__email__"], [168, 1, 1, "", "enumerate_surfaces_for_saving"], [168, 1, 1, "", "flip_struct"], [168, 1, 1, "", "is_structure_invertible"], [168, 1, 1, "", "precompute_enumerate_surface"], [168, 2, 1, "", "s"], [168, 1, 1, "", "standardize_bulk"]], "data.oc.structure_generator": [[169, 3, 1, "", "StructureGenerator"], [169, 2, 1, "", "args"], [169, 1, 1, "", "parse_args"], [169, 1, 1, "", "precompute_slabs"], [169, 1, 1, "", "run_placements"], [169, 1, 1, "", "write_surface"]], "data.oc.structure_generator.StructureGenerator": [[169, 4, 1, "", "_write_adslabs"], [169, 4, 1, "", "run"]], "data.oc.utils": [[172, 3, 1, "", "DetectTrajAnomaly"], [171, 0, 0, "-", "flag_anomaly"], [173, 0, 0, "-", "vasp"]], "data.oc.utils.DetectTrajAnomaly": [[172, 4, 1, "", "_get_connectivity"], [172, 4, 1, "", "has_surface_changed"], [172, 4, 1, "", "is_adsorbate_desorbed"], [172, 4, 1, "", "is_adsorbate_dissociated"], [172, 4, 1, "", "is_adsorbate_intercalated"]], "data.oc.utils.flag_anomaly": [[171, 3, 1, "", "DetectTrajAnomaly"]], "data.oc.utils.flag_anomaly.DetectTrajAnomaly": [[171, 4, 1, "", "_get_connectivity"], [171, 4, 1, "", "has_surface_changed"], [171, 4, 1, "", "is_adsorbate_desorbed"], [171, 4, 1, "", "is_adsorbate_dissociated"], [171, 4, 1, "", "is_adsorbate_intercalated"]], "data.oc.utils.vasp": [[173, 2, 1, "", "BULK_VASP_FLAGS"], [173, 2, 1, "", "VASP_FLAGS"], [173, 2, 1, "", "__author__"], [173, 2, 1, "", "__email__"], [173, 1, 1, "", "_clean_up_inputs"], [173, 1, 1, "", "calculate_surface_k_points"], [173, 1, 1, "", "write_vasp_input_files"]], "data.odac.force_field": [[174, 0, 0, "-", "FF_analysis"]], "data.odac.force_field.FF_analysis": [[174, 1, 1, "", "bin_plot"], [174, 1, 1, "", "binned_average"], [174, 1, 1, "", "chem_err"], [174, 1, 1, "", "get_Fig4a"], [174, 1, 1, "", "get_Fig4b"], [174, 1, 1, "", "get_Fig4c"], [174, 1, 1, "", "get_Fig4d"], [174, 1, 1, "", "get_data"], [174, 2, 1, "", "infile"], [174, 1, 1, "", "phys_err"]], "data.odac.promising_mof.promising_mof_energies": [[176, 0, 0, "-", "energy"]], "data.odac.promising_mof.promising_mof_energies.energy": [[176, 2, 1, "id12", "adsorption_data"], [176, 2, 1, "id13", "adsorption_data_defective"], [176, 2, 1, "id0", "complete_data"], [176, 2, 1, "id2", "complete_data_merged_defective"], [176, 2, 1, "", "complete_data_merged_defective_co2"], [176, 2, 1, "", "complete_data_merged_defective_co_ads"], [176, 2, 1, "", "complete_data_merged_defective_co_ads_2"], [176, 2, 1, "", "complete_data_merged_defective_h2o"], [176, 2, 1, "id1", "complete_data_merged_pristine"], [176, 2, 1, "", "complete_data_merged_pristine_co2"], [176, 2, 1, "", "complete_data_merged_pristine_co_ads"], [176, 2, 1, "", "complete_data_merged_pristine_co_ads_2"], [176, 2, 1, "", "complete_data_merged_pristine_h2o"], [176, 2, 1, "", "count"], [176, 2, 1, "id9", "current_entry"], [176, 2, 1, "", "def_counts_df"], [176, 2, 1, "", "index_drop_ddec_defective"], [176, 2, 1, "", "index_drop_ddec_pristine"], [176, 2, 1, "", "lowest_energy_data_co2"], [176, 2, 1, "", "lowest_energy_data_co2_defective"], [176, 2, 1, "", "lowest_energy_data_co_ads"], [176, 2, 1, "", "lowest_energy_data_co_ads_2"], [176, 2, 1, "", "lowest_energy_data_co_ads_2_defective"], [176, 2, 1, "", "lowest_energy_data_co_ads_defective"], [176, 2, 1, "", "lowest_energy_data_h2o"], [176, 2, 1, "", "lowest_energy_data_h2o_defective"], [176, 2, 1, "", "missing_DDEC"], [176, 2, 1, "", "missing_DDEC_defective"], [176, 2, 1, "", "missing_DDEC_pristine"], [176, 2, 1, "", "mof_name"], [176, 2, 1, "", "promising_defective"], [176, 2, 1, "", "promising_pristine"], [176, 2, 1, "", "raw_ads_energy_data"], [176, 2, 1, "", "temp_split_string"], [176, 2, 1, "", "unique_combinations_count"]], "data.om.biomolecules.geom": [[177, 0, 0, "-", "sample_geom_drugs"], [178, 0, 0, "-", "write_geom_drugs_structures"]], "data.om.biomolecules.geom.sample_geom_drugs": [[177, 1, 1, "", "main"], [177, 1, 1, "", "parse_args"], [177, 1, 1, "", "write_pickle"]], "data.om.biomolecules.geom.write_geom_drugs_structures": [[178, 1, 1, "", "main"], [178, 1, 1, "", "parse_args"]], "data.om.omdata": [[181, 0, 0, "-", "orca"]], "data.om.omdata.orca": [[180, 0, 0, "-", "calc"], [182, 0, 0, "-", "recipes"]], "data.om.omdata.orca.calc": [[180, 2, 1, "", "OPT_PARAMETERS"], [180, 2, 1, "", "ORCA_ASE_SIMPLE_INPUT"], [180, 2, 1, "", "ORCA_BASIS"], [180, 2, 1, "", "ORCA_BLOCKS"], [180, 2, 1, "", "ORCA_FUNCTIONAL"], [180, 2, 1, "", "ORCA_SIMPLE_INPUT"], [180, 1, 1, "", "write_orca_inputs"]], "data.om.omdata.orca.recipes": [[182, 1, 1, "", "ase_relaxation"], [182, 1, 1, "", "single_point_calculation"]], "ocpapi": [[188, 3, 1, "", "AdsorbateBindingSites"], [188, 3, 1, "", "AdsorbateSlabConfigs"], [188, 3, 1, "", "AdsorbateSlabRelaxationResult"], [188, 3, 1, "", "AdsorbateSlabRelaxations"], [188, 3, 1, "", "AdsorbateSlabRelaxationsRequest"], [188, 3, 1, "", "AdsorbateSlabRelaxationsResults"], [188, 3, 1, "", "AdsorbateSlabRelaxationsSystem"], [188, 3, 1, "", "Adsorbates"], [188, 3, 1, "", "Atoms"], [188, 3, 1, "", "Bulk"], [188, 3, 1, "", "Bulks"], [188, 3, 1, "", "Client"], [188, 3, 1, "", "Lifetime"], [188, 3, 1, "", "Model"], [188, 3, 1, "", "Models"], [188, 2, 1, "", "NO_LIMIT"], [188, 2, 1, "", "NoLimitType"], [188, 7, 1, "", "NonRetryableRequestException"], [188, 7, 1, "", "RateLimitExceededException"], [188, 3, 1, "", "RateLimitLogging"], [188, 7, 1, "", "RequestException"], [188, 3, 1, "", "Slab"], [188, 3, 1, "", "SlabMetadata"], [188, 3, 1, "", "Slabs"], [188, 3, 1, "", "Status"], [188, 7, 1, "", "UnsupportedAdsorbateException"], [188, 7, 1, "", "UnsupportedBulkException"], [188, 7, 1, "", "UnsupportedModelException"], [188, 2, 1, "", "__version__"], [185, 0, 0, "-", "client"], [188, 1, 1, "", "find_adsorbate_binding_sites"], [188, 1, 1, "", "get_adsorbate_slab_relaxation_results"], [188, 1, 1, "", "get_results_ui_url"], [188, 3, 1, "", "keep_all_slabs"], [188, 3, 1, "", "keep_slabs_with_miller_indices"], [188, 3, 1, "", "prompt_for_slabs_to_keep"], [188, 1, 1, "", "retry_api_calls"], [189, 0, 0, "-", "version"], [188, 1, 1, "", "wait_for_adsorbate_slab_relaxations"], [193, 0, 0, "-", "workflows"]], "ocpapi.AdsorbateBindingSites": [[188, 6, 1, "", "adsorbate"], [188, 6, 1, "", "bulk"], [188, 6, 1, "", "model"], [188, 6, 1, "", "slabs"]], "ocpapi.AdsorbateSlabConfigs": [[188, 6, 1, "", "adsorbate_configs"], [188, 6, 1, "", "slab"]], "ocpapi.AdsorbateSlabRelaxationResult": [[188, 6, 1, "", "cell"], [188, 6, 1, "", "config_id"], [188, 6, 1, "", "energy"], [188, 6, 1, "", "energy_trajectory"], [188, 6, 1, "", "forces"], [188, 6, 1, "", "numbers"], [188, 6, 1, "", "pbc"], [188, 6, 1, "", "positions"], [188, 6, 1, "", "status"], [188, 6, 1, "", "system_id"], [188, 6, 1, "", "tags"], [188, 4, 1, "", "to_ase_atoms"]], "ocpapi.AdsorbateSlabRelaxations": [[188, 6, 1, "", "api_host"], [188, 6, 1, "", "configs"], [188, 6, 1, "", "slab"], [188, 6, 1, "", "system_id"], [188, 6, 1, "", "ui_url"]], "ocpapi.AdsorbateSlabRelaxationsRequest": [[188, 6, 1, "", "adsorbate"], [188, 6, 1, "", "adsorbate_configs"], [188, 6, 1, "", "adsorbate_reaction"], [188, 6, 1, "", "bulk"], [188, 6, 1, "", "ephemeral"], [188, 6, 1, "", "model"], [188, 6, 1, "", "slab"]], "ocpapi.AdsorbateSlabRelaxationsResults": [[188, 6, 1, "", "configs"], [188, 6, 1, "", "omitted_config_ids"]], "ocpapi.AdsorbateSlabRelaxationsSystem": [[188, 6, 1, "", "config_ids"], [188, 6, 1, "", "system_id"]], "ocpapi.Adsorbates": [[188, 6, 1, "", "adsorbates_supported"]], "ocpapi.Atoms": [[188, 6, 1, "", "cell"], [188, 6, 1, "", "numbers"], [188, 6, 1, "", "pbc"], [188, 6, 1, "", "positions"], [188, 6, 1, "", "tags"], [188, 4, 1, "", "to_ase_atoms"]], "ocpapi.Bulk": [[188, 6, 1, "", "elements"], [188, 6, 1, "", "formula"], [188, 6, 1, "", "src_id"]], "ocpapi.Bulks": [[188, 6, 1, "", "bulks_supported"]], "ocpapi.Client": [[188, 4, 1, "", "_run_request"], [188, 4, 1, "", "delete_adsorbate_slab_relaxations"], [188, 4, 1, "", "get_adsorbate_slab_configs"], [188, 4, 1, "", "get_adsorbate_slab_relaxations_request"], [188, 4, 1, "", "get_adsorbate_slab_relaxations_results"], [188, 4, 1, "", "get_adsorbates"], [188, 4, 1, "", "get_bulks"], [188, 4, 1, "", "get_models"], [188, 4, 1, "", "get_slabs"], [188, 5, 1, "", "host"], [188, 4, 1, "", "submit_adsorbate_slab_relaxations"]], "ocpapi.Lifetime": [[188, 6, 1, "", "DELETE"], [188, 6, 1, "", "MARK_EPHEMERAL"], [188, 6, 1, "", "SAVE"]], "ocpapi.Model": [[188, 6, 1, "", "id"]], "ocpapi.Models": [[188, 6, 1, "", "models"]], "ocpapi.RateLimitExceededException": [[188, 6, 1, "", "retry_after"]], "ocpapi.RateLimitLogging": [[188, 6, 1, "", "action"], [188, 6, 1, "", "logger"]], "ocpapi.Slab": [[188, 6, 1, "", "atoms"], [188, 6, 1, "", "metadata"]], "ocpapi.SlabMetadata": [[188, 6, 1, "", "bulk_src_id"], [188, 6, 1, "", "millers"], [188, 6, 1, "", "shift"], [188, 6, 1, "", "top"]], "ocpapi.Slabs": [[188, 6, 1, "", "slabs"]], "ocpapi.Status": [[188, 6, 1, "", "DOES_NOT_EXIST"], [188, 6, 1, "", "FAILED_RELAXATION"], [188, 6, 1, "", "NOT_AVAILABLE"], [188, 6, 1, "", "SUCCESS"], [188, 4, 1, "", "__str__"]], "ocpapi.client": [[185, 3, 1, "", "AdsorbateSlabConfigs"], [185, 3, 1, "", "AdsorbateSlabRelaxationResult"], [185, 3, 1, "", "AdsorbateSlabRelaxationsRequest"], [185, 3, 1, "", "AdsorbateSlabRelaxationsResults"], [185, 3, 1, "", "AdsorbateSlabRelaxationsSystem"], [185, 3, 1, "", "Adsorbates"], [185, 3, 1, "", "Atoms"], [185, 3, 1, "", "Bulk"], [185, 3, 1, "", "Bulks"], [185, 3, 1, "", "Client"], [185, 3, 1, "", "Model"], [185, 3, 1, "", "Models"], [185, 7, 1, "", "NonRetryableRequestException"], [185, 7, 1, "", "RateLimitExceededException"], [185, 7, 1, "", "RequestException"], [185, 3, 1, "", "Slab"], [185, 3, 1, "", "SlabMetadata"], [185, 3, 1, "", "Slabs"], [185, 3, 1, "", "Status"], [184, 0, 0, "-", "client"], [185, 1, 1, "", "get_results_ui_url"], [186, 0, 0, "-", "models"], [187, 0, 0, "-", "ui"]], "ocpapi.client.AdsorbateSlabConfigs": [[185, 6, 1, "", "adsorbate_configs"], [185, 6, 1, "", "slab"]], "ocpapi.client.AdsorbateSlabRelaxationResult": [[185, 6, 1, "", "cell"], [185, 6, 1, "", "config_id"], [185, 6, 1, "", "energy"], [185, 6, 1, "", "energy_trajectory"], [185, 6, 1, "", "forces"], [185, 6, 1, "", "numbers"], [185, 6, 1, "", "pbc"], [185, 6, 1, "", "positions"], [185, 6, 1, "", "status"], [185, 6, 1, "", "system_id"], [185, 6, 1, "", "tags"], [185, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.AdsorbateSlabRelaxationsRequest": [[185, 6, 1, "", "adsorbate"], [185, 6, 1, "", "adsorbate_configs"], [185, 6, 1, "", "adsorbate_reaction"], [185, 6, 1, "", "bulk"], [185, 6, 1, "", "ephemeral"], [185, 6, 1, "", "model"], [185, 6, 1, "", "slab"]], "ocpapi.client.AdsorbateSlabRelaxationsResults": [[185, 6, 1, "", "configs"], [185, 6, 1, "", "omitted_config_ids"]], "ocpapi.client.AdsorbateSlabRelaxationsSystem": [[185, 6, 1, "", "config_ids"], [185, 6, 1, "", "system_id"]], "ocpapi.client.Adsorbates": [[185, 6, 1, "", "adsorbates_supported"]], "ocpapi.client.Atoms": [[185, 6, 1, "", "cell"], [185, 6, 1, "", "numbers"], [185, 6, 1, "", "pbc"], [185, 6, 1, "", "positions"], [185, 6, 1, "", "tags"], [185, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.Bulk": [[185, 6, 1, "", "elements"], [185, 6, 1, "", "formula"], [185, 6, 1, "", "src_id"]], "ocpapi.client.Bulks": [[185, 6, 1, "", "bulks_supported"]], "ocpapi.client.Client": [[185, 4, 1, "", "_run_request"], [185, 4, 1, "", "delete_adsorbate_slab_relaxations"], [185, 4, 1, "", "get_adsorbate_slab_configs"], [185, 4, 1, "", "get_adsorbate_slab_relaxations_request"], [185, 4, 1, "", "get_adsorbate_slab_relaxations_results"], [185, 4, 1, "", "get_adsorbates"], [185, 4, 1, "", "get_bulks"], [185, 4, 1, "", "get_models"], [185, 4, 1, "", "get_slabs"], [185, 5, 1, "", "host"], [185, 4, 1, "", "submit_adsorbate_slab_relaxations"]], "ocpapi.client.Model": [[185, 6, 1, "", "id"]], "ocpapi.client.Models": [[185, 6, 1, "", "models"]], "ocpapi.client.RateLimitExceededException": [[185, 6, 1, "", "retry_after"]], "ocpapi.client.Slab": [[185, 6, 1, "", "atoms"], [185, 6, 1, "", "metadata"]], "ocpapi.client.SlabMetadata": [[185, 6, 1, "", "bulk_src_id"], [185, 6, 1, "", "millers"], [185, 6, 1, "", "shift"], [185, 6, 1, "", "top"]], "ocpapi.client.Slabs": [[185, 6, 1, "", "slabs"]], "ocpapi.client.Status": [[185, 6, 1, "", "DOES_NOT_EXIST"], [185, 6, 1, "", "FAILED_RELAXATION"], [185, 6, 1, "", "NOT_AVAILABLE"], [185, 6, 1, "", "SUCCESS"], [185, 4, 1, "", "__str__"]], "ocpapi.client.client": [[184, 3, 1, "", "Client"], [184, 7, 1, "", "NonRetryableRequestException"], [184, 7, 1, "", "RateLimitExceededException"], [184, 7, 1, "", "RequestException"]], "ocpapi.client.client.Client": [[184, 4, 1, "", "_run_request"], [184, 4, 1, "", "delete_adsorbate_slab_relaxations"], [184, 4, 1, "", "get_adsorbate_slab_configs"], [184, 4, 1, "", "get_adsorbate_slab_relaxations_request"], [184, 4, 1, "", "get_adsorbate_slab_relaxations_results"], [184, 4, 1, "", "get_adsorbates"], [184, 4, 1, "", "get_bulks"], [184, 4, 1, "", "get_models"], [184, 4, 1, "", "get_slabs"], [184, 5, 1, "", "host"], [184, 4, 1, "", "submit_adsorbate_slab_relaxations"]], "ocpapi.client.client.RateLimitExceededException": [[184, 6, 1, "", "retry_after"]], "ocpapi.client.models": [[186, 3, 1, "", "AdsorbateSlabConfigs"], [186, 3, 1, "", "AdsorbateSlabRelaxationResult"], [186, 3, 1, "", "AdsorbateSlabRelaxationsRequest"], [186, 3, 1, "", "AdsorbateSlabRelaxationsResults"], [186, 3, 1, "", "AdsorbateSlabRelaxationsSystem"], [186, 3, 1, "", "Adsorbates"], [186, 3, 1, "", "Atoms"], [186, 3, 1, "", "Bulk"], [186, 3, 1, "", "Bulks"], [186, 3, 1, "", "Model"], [186, 3, 1, "", "Models"], [186, 3, 1, "", "Slab"], [186, 3, 1, "", "SlabMetadata"], [186, 3, 1, "", "Slabs"], [186, 3, 1, "", "Status"], [186, 3, 1, "", "_DataModel"]], "ocpapi.client.models.AdsorbateSlabConfigs": [[186, 6, 1, "", "adsorbate_configs"], [186, 6, 1, "", "slab"]], "ocpapi.client.models.AdsorbateSlabRelaxationResult": [[186, 6, 1, "", "cell"], [186, 6, 1, "", "config_id"], [186, 6, 1, "", "energy"], [186, 6, 1, "", "energy_trajectory"], [186, 6, 1, "", "forces"], [186, 6, 1, "", "numbers"], [186, 6, 1, "", "pbc"], [186, 6, 1, "", "positions"], [186, 6, 1, "", "status"], [186, 6, 1, "", "system_id"], [186, 6, 1, "", "tags"], [186, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.models.AdsorbateSlabRelaxationsRequest": [[186, 6, 1, "", "adsorbate"], [186, 6, 1, "", "adsorbate_configs"], [186, 6, 1, "", "adsorbate_reaction"], [186, 6, 1, "", "bulk"], [186, 6, 1, "", "ephemeral"], [186, 6, 1, "", "model"], [186, 6, 1, "", "slab"]], "ocpapi.client.models.AdsorbateSlabRelaxationsResults": [[186, 6, 1, "", "configs"], [186, 6, 1, "", "omitted_config_ids"]], "ocpapi.client.models.AdsorbateSlabRelaxationsSystem": [[186, 6, 1, "", "config_ids"], [186, 6, 1, "", "system_id"]], "ocpapi.client.models.Adsorbates": [[186, 6, 1, "", "adsorbates_supported"]], "ocpapi.client.models.Atoms": [[186, 6, 1, "", "cell"], [186, 6, 1, "", "numbers"], [186, 6, 1, "", "pbc"], [186, 6, 1, "", "positions"], [186, 6, 1, "", "tags"], [186, 4, 1, "", "to_ase_atoms"]], "ocpapi.client.models.Bulk": [[186, 6, 1, "", "elements"], [186, 6, 1, "", "formula"], [186, 6, 1, "", "src_id"]], "ocpapi.client.models.Bulks": [[186, 6, 1, "", "bulks_supported"]], "ocpapi.client.models.Model": [[186, 6, 1, "", "id"]], "ocpapi.client.models.Models": [[186, 6, 1, "", "models"]], "ocpapi.client.models.Slab": [[186, 6, 1, "", "atoms"], [186, 6, 1, "", "metadata"]], "ocpapi.client.models.SlabMetadata": [[186, 6, 1, "", "bulk_src_id"], [186, 6, 1, "", "millers"], [186, 6, 1, "", "shift"], [186, 6, 1, "", "top"]], "ocpapi.client.models.Slabs": [[186, 6, 1, "", "slabs"]], "ocpapi.client.models.Status": [[186, 6, 1, "", "DOES_NOT_EXIST"], [186, 6, 1, "", "FAILED_RELAXATION"], [186, 6, 1, "", "NOT_AVAILABLE"], [186, 6, 1, "", "SUCCESS"], [186, 4, 1, "", "__str__"]], "ocpapi.client.models._DataModel": [[186, 6, 1, "", "other_fields"]], "ocpapi.client.ui": [[187, 2, 1, "", "_API_TO_UI_HOSTS"], [187, 1, 1, "", "get_results_ui_url"]], "ocpapi.keep_all_slabs": [[188, 4, 1, "", "__call__"]], "ocpapi.keep_slabs_with_miller_indices": [[188, 4, 1, "", "__call__"]], "ocpapi.prompt_for_slabs_to_keep": [[188, 4, 1, "", "__call__"], [188, 4, 1, "", "_sort_key"]], "ocpapi.version": [[189, 2, 1, "", "VERSION"]], "ocpapi.workflows": [[193, 3, 1, "", "AdsorbateBindingSites"], [193, 3, 1, "", "AdsorbateSlabRelaxations"], [193, 3, 1, "", "Lifetime"], [193, 2, 1, "", "NO_LIMIT"], [193, 2, 1, "", "NoLimitType"], [193, 3, 1, "", "RateLimitLogging"], [193, 7, 1, "", "UnsupportedAdsorbateException"], [193, 7, 1, "", "UnsupportedBulkException"], [193, 7, 1, "", "UnsupportedModelException"], [190, 0, 0, "-", "adsorbates"], [191, 0, 0, "-", "context"], [192, 0, 0, "-", "filter"], [193, 1, 1, "", "find_adsorbate_binding_sites"], [193, 1, 1, "", "get_adsorbate_slab_relaxation_results"], [193, 3, 1, "", "keep_all_slabs"], [193, 3, 1, "", "keep_slabs_with_miller_indices"], [194, 0, 0, "-", "log"], [193, 3, 1, "", "prompt_for_slabs_to_keep"], [195, 0, 0, "-", "retry"], [193, 1, 1, "", "retry_api_calls"], [193, 1, 1, "", "wait_for_adsorbate_slab_relaxations"]], "ocpapi.workflows.AdsorbateBindingSites": [[193, 6, 1, "", "adsorbate"], [193, 6, 1, "", "bulk"], [193, 6, 1, "", "model"], [193, 6, 1, "", "slabs"]], "ocpapi.workflows.AdsorbateSlabRelaxations": [[193, 6, 1, "", "api_host"], [193, 6, 1, "", "configs"], [193, 6, 1, "", "slab"], [193, 6, 1, "", "system_id"], [193, 6, 1, "", "ui_url"]], "ocpapi.workflows.Lifetime": [[193, 6, 1, "", "DELETE"], [193, 6, 1, "", "MARK_EPHEMERAL"], [193, 6, 1, "", "SAVE"]], "ocpapi.workflows.RateLimitLogging": [[193, 6, 1, "", "action"], [193, 6, 1, "", "logger"]], "ocpapi.workflows.adsorbates": [[190, 3, 1, "", "AdsorbateBindingSites"], [190, 3, 1, "", "AdsorbateSlabRelaxations"], [190, 7, 1, "", "AdsorbatesException"], [190, 2, 1, "", "DEFAULT_CLIENT"], [190, 3, 1, "", "Lifetime"], [190, 7, 1, "", "UnsupportedAdsorbateException"], [190, 7, 1, "", "UnsupportedBulkException"], [190, 7, 1, "", "UnsupportedModelException"], [190, 2, 1, "", "_CTX_AD_BULK"], [190, 2, 1, "", "_CTX_SLAB"], [190, 2, 1, "", "_DEFAULT_ADSLAB_FILTER"], [190, 1, 1, "", "_delete_system"], [190, 1, 1, "", "_ensure_adsorbate_supported"], [190, 1, 1, "", "_ensure_model_supported"], [190, 1, 1, "", "_ensure_system_deleted"], [190, 1, 1, "", "_get_absorbate_configs_on_slab"], [190, 1, 1, "", "_get_absorbate_configs_on_slab_with_logging"], [190, 1, 1, "", "_get_adsorbate_configs_on_slabs"], [190, 1, 1, "", "_get_bulk_if_supported"], [190, 1, 1, "", "_get_slabs"], [190, 1, 1, "", "_refresh_pbar"], [190, 1, 1, "", "_relax_binding_sites_on_slabs"], [190, 1, 1, "", "_run_relaxations_on_slab"], [190, 1, 1, "", "_setup_log_record_factory"], [190, 1, 1, "", "_submit_relaxations"], [190, 1, 1, "", "_submit_relaxations_with_progress_logging"], [190, 1, 1, "", "find_adsorbate_binding_sites"], [190, 1, 1, "", "get_adsorbate_slab_relaxation_results"], [190, 1, 1, "", "wait_for_adsorbate_slab_relaxations"]], "ocpapi.workflows.adsorbates.AdsorbateBindingSites": [[190, 6, 1, "", "adsorbate"], [190, 6, 1, "", "bulk"], [190, 6, 1, "", "model"], [190, 6, 1, "", "slabs"]], "ocpapi.workflows.adsorbates.AdsorbateSlabRelaxations": [[190, 6, 1, "", "api_host"], [190, 6, 1, "", "configs"], [190, 6, 1, "", "slab"], [190, 6, 1, "", "system_id"], [190, 6, 1, "", "ui_url"]], "ocpapi.workflows.adsorbates.Lifetime": [[190, 6, 1, "", "DELETE"], [190, 6, 1, "", "MARK_EPHEMERAL"], [190, 6, 1, "", "SAVE"]], "ocpapi.workflows.context": [[191, 1, 1, "", "set_context_var"]], "ocpapi.workflows.filter": [[192, 3, 1, "", "keep_all_slabs"], [192, 3, 1, "", "keep_slabs_with_miller_indices"], [192, 3, 1, "", "prompt_for_slabs_to_keep"]], "ocpapi.workflows.filter.keep_all_slabs": [[192, 4, 1, "", "__call__"]], "ocpapi.workflows.filter.keep_slabs_with_miller_indices": [[192, 4, 1, "", "__call__"]], "ocpapi.workflows.filter.prompt_for_slabs_to_keep": [[192, 4, 1, "", "__call__"], [192, 4, 1, "", "_sort_key"]], "ocpapi.workflows.keep_all_slabs": [[193, 4, 1, "", "__call__"]], "ocpapi.workflows.keep_slabs_with_miller_indices": [[193, 4, 1, "", "__call__"]], "ocpapi.workflows.log": [[194, 2, 1, "", "log"]], "ocpapi.workflows.prompt_for_slabs_to_keep": [[193, 4, 1, "", "__call__"], [193, 4, 1, "", "_sort_key"]], "ocpapi.workflows.retry": [[195, 2, 1, "", "NO_LIMIT"], [195, 2, 1, "", "NoLimitType"], [195, 3, 1, "", "RateLimitLogging"], [195, 3, 1, "", "_wait_check_retry_after"], [195, 1, 1, "", "retry_api_calls"]], "ocpapi.workflows.retry.RateLimitLogging": [[195, 6, 1, "", "action"], [195, 6, 1, "", "logger"]], "ocpapi.workflows.retry._wait_check_retry_after": [[195, 4, 1, "", "__call__"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "data", "Python data"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:data", "3": "py:class", "4": "py:method", "5": "py:property", "6": "py:attribute", "7": "py:exception"}, "terms": {"": [20, 31, 37, 78, 91, 92, 93, 95, 106, 129, 154, 156, 157, 158, 165, 168, 173, 182, 196, 197, 200, 201, 202, 204, 208, 209, 211, 215, 216, 217, 219, 221, 223, 226, 227, 229], "0": [0, 1, 3, 5, 6, 7, 13, 14, 16, 21, 23, 25, 26, 27, 29, 37, 38, 39, 40, 41, 44, 45, 46, 48, 50, 52, 57, 58, 61, 63, 64, 66, 67, 68, 71, 76, 78, 79, 80, 81, 84, 88, 89, 91, 92, 93, 94, 98, 101, 103, 104, 106, 109, 110, 111, 112, 113, 115, 116, 118, 119, 133, 134, 149, 150, 151, 154, 156, 157, 158, 171, 172, 174, 176, 180, 185, 186, 188, 189, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 208, 209, 210, 211, 212, 214, 215, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "00": [203, 204, 208, 217, 219, 221, 223, 227], "000": [198, 202, 204, 217, 227], "0000": [217, 218, 227], "00000000e": [204, 217, 219], "0001": [3, 106, 217, 228], "000116": [217, 219], "0005": [202, 217, 227], "0005973e": 203, "001": [202, 217, 227], "001264": 202, "002": [202, 227], "00341": [201, 209], "004571": 221, "005": [202, 227], "00594441": 221, "005981": 214, "006": [202, 227], "007164": 221, "007721": 214, "0078125": 204, "0081e": 217, "00848243": 203, "009": 204, "00de11a": [217, 229], "00e": [217, 227], "00it": [217, 223], "01": [25, 29, 204, 208, 209, 217, 218, 219, 223, 224, 226, 227], "010": [202, 227], "010895": 214, "011": [202, 227], "0111": 227, "0117": 209, "012": [202, 227], "01229019e": 204, "0126": 209, "013": [202, 227], "01319351e": 204, "0132": [217, 219, 224], "013285": 221, "013586": 221, "0137": 217, "0139": 209, "01409519": 203, "014190": 221, "0142": [209, 217, 219], "0143": [217, 219], "014364": 221, "0144": 227, "015": [202, 227], "0150": 227, "0155": [217, 219], "0156": [217, 219], "016": 217, "0160": 209, "0161": 209, "0163b0e8c4df6d9c426b875a28d9178a": 198, "0164": 209, "0167": 209, "017": [202, 227], "0172": 227, "0173": 209, "0175": 227, "0179": 209, "018": 204, "0186": 209, "0189": 224, "0191": 209, "0193": 209, "01c879067a05b4288055a1fdf821e068": 197, "01e": 217, "01it": 223, "02": [63, 64, 113, 115, 204, 209, 217, 218, 219, 223, 224, 227], "020": 217, "021": 217, "0211": 209, "0216": 209, "0218": 217, "0218e": 217, "022": 217, "0222": 227, "0225": 209, "022689": 221, "023": 209, "0236": 217, "024": 217, "0242": [217, 219], "0249e": 218, "025": [202, 217, 227], "0254": 221, "0257": 209, "0260e": 217, "0265": 227, "0267": 209, "0268": 224, "027": [209, 217], "02782": 212, "028": 217, "02825": 209, "0287": 227, "02885979": 221, "029": [202, 217, 227], "0292": 227, "0294": 209, "02e": 217, "02it": [208, 217], "03": [204, 209, 217, 218, 219, 223, 224, 227], "030": [209, 217], "031": 217, "03150": [109, 110], "032": 209, "0321": 217, "0324": 227, "0326": 224, "0329": 209, "033": [202, 227], "03320312e": 204, "0334": 209, "034": 217, "035": 217, "0351": 214, "0355": 227, "037234": 226, "038": 217, "0384": [217, 224], "0387": 217, "0388": [217, 219], "039": [204, 217], "0394": 224, "03e": 217, "03it": [204, 217], "04": [202, 204, 211, 215, 217, 219, 224, 227], "0409": 227, "041": 217, "0410": 224, "0413": 227, "042557": 226, "043": 217, "0431e": 218, "0436": 227, "043e1e0b0cce64c62f01a8563dbc3178": 200, "0443": 209, "0444": 209, "0445": 217, "0449": [217, 227], "045": [202, 217, 227], "0457": 224, "046": 217, "04684963": 221, "047": [202, 217, 227], "0473": [217, 219], "0477": 217, "048": 217, "0480": 224, "0482": [217, 219], "0494": 209, "0496": 223, "0498": 223, "04e": 217, "04it": 217, "05": [5, 6, 7, 48, 50, 52, 118, 199, 202, 204, 214, 215, 217, 219, 221, 223, 224, 226, 227, 228], "050": 217, "0511": 209, "0512e": 218, "0513": [217, 219, 224], "0514": 224, "052": 217, "0524": 217, "053": 204, "0530e": 217, "0539": 217, "0541": [217, 219], "0543": 224, "0548": [217, 219], "055": 217, "0550": [217, 219], "0559e": 217, "056": 217, "0562": [217, 219], "0563": 224, "0568": 209, "057": 217, "0573": 224, "0576": 209, "058": [202, 227], "0583e": 218, "0586": 217, "0588": [217, 219], "05882597": 203, "059": 209, "0594": 209, "0595": [209, 214], "0598": 224, "05e": [217, 227], "05it": [208, 217], "06": [203, 204, 209, 217, 219, 224, 227], "0600": 224, "0603": 214, "0608208365211214": 202, "061": 204, "0612": 214, "0614": [209, 217, 219, 224], "062": [202, 217, 227], "0621": [214, 223], "0624": 217, "0647": 224, "065": [209, 217], "066185": [217, 219], "0664": 221, "0665e": 217, "0668": [217, 224], "0669": 217, "0670": [217, 219], "0672": [217, 219], "0673": 209, "0674": 223, "0676": 224, "068": 204, "0684": 209, "0685": 224, "0687": 227, "0693": 209, "0694": 221, "0697": 227, "06e": 217, "07": [203, 204, 217, 224, 227], "0710": 224, "0712e": 217, "0717": [214, 224], "072": 217, "0721": 224, "0722": 224, "072814": 223, "0737": 209, "0741": 209, "0743": 209, "0755": 224, "076138": 217, "077": 217, "07827000e": [217, 219], "07900000e": [217, 219], "079041076c3f15d18ecb5d17c509cdf": 197, "0794": 227, "0796": 224, "0798": [217, 219], "07e": 217, "08": [203, 204, 209, 217, 223], "0801": 224, "081": [202, 217, 227], "0814": 224, "0815": 217, "082": 217, "0823047bbbe05fa0e63f9d83ec601487": 197, "083": [202, 227], "0835": 221, "0839": 214, "0847": 217, "0852": 224, "0857": [217, 219], "086": 217, "0860": 224, "0862": 223, "0885": [217, 219], "08917": 209, "0897": 224, "0898": 224, "08e": 217, "09": [204, 215, 217, 223, 224, 227], "0901": 224, "0927": 221, "0938": [217, 219], "094": 217, "0942": [217, 219], "09435": 217, "09439099": 221, "0946e": 217, "095": 217, "0956": 224, "0976": 224, "0982": [217, 219], "0988": 224, "09913759c6e0f8d649f7ec9dff9e0e8b": 201, "0992": [217, 219], "099784": 217, "09990": 209, "09e": 217, "09it": [204, 217], "0_0": [208, 217], "0c04525": [197, 209, 216], "0cf2ce56049ca395c567026b700ed66c94a85161": 202, "0g": 197, "0it": 204, "0k": 217, "0mb": 204, "1": [0, 1, 2, 3, 5, 6, 7, 13, 16, 26, 27, 31, 37, 38, 43, 44, 45, 46, 48, 49, 50, 52, 56, 63, 64, 65, 68, 70, 72, 76, 78, 81, 82, 83, 85, 88, 89, 91, 92, 93, 94, 97, 104, 106, 110, 111, 113, 115, 116, 117, 118, 119, 124, 128, 129, 133, 134, 154, 156, 157, 158, 171, 172, 180, 183, 185, 186, 188, 189, 190, 193, 195, 196, 198, 199, 200, 202, 203, 204, 208, 209, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "10": [5, 44, 48, 50, 53, 63, 64, 78, 91, 94, 106, 111, 112, 113, 115, 119, 154, 158, 188, 190, 193, 197, 199, 202, 203, 204, 208, 209, 212, 214, 216, 217, 219, 221, 223, 224, 226, 227, 228], "100": [25, 31, 37, 39, 57, 58, 149, 150, 151, 154, 156, 157, 204, 208, 209, 214, 217, 218, 219, 221, 223, 224, 227, 228], "1000": [202, 208, 217, 218, 224, 227], "1000000": 197, "1000000000": 29, "1001": [208, 218], "1002": 204, "10045": 204, "1006m": 197, "100k": [204, 209, 214, 217, 229], "101": [217, 219], "1013e": 217, "1016": 217, "1019": [217, 219], "102": 217, "1021": [197, 202, 209, 216, 221, 223, 229], "1024": 224, "103": 217, "1034": 224, "1037": [217, 219], "1038": 223, "1039": 226, "104": 217, "1040": 217, "10430500e": [217, 219], "10439": 204, "105": [204, 217], "1050e": 218, "1053": 218, "1054": 217, "106": [204, 217], "1063": [217, 219], "107": 217, "1076": [217, 219], "1078": 224, "108": 217, "10833": 204, "108775": 221, "109": [1, 204, 217], "1092": 224, "1093": 203, "1094": 203, "109447": 217, "1095": 203, "1096": 203, "1097": 203, "1099": 203, "1099511627776": [208, 217], "109g": 197, "109m": 200, "10e": 217, "10it": [204, 217], "10k": [204, 209, 211, 214, 217, 229], "10x": 197, "10z": [217, 219], "11": [202, 203, 204, 205, 214, 217, 219, 221, 223, 224, 226, 227, 229], "110": [203, 204, 214, 217], "1100": 203, "1101": 203, "1102": 203, "1103": 203, "1104": 203, "1105": 203, "1106": 203, "1107": 203, "1108": 203, "111": [199, 203, 214, 217, 223], "1117": 223, "112": [203, 217], "112g": 198, "113": [203, 204, 217], "1132": 224, "114": [203, 217], "115": [203, 217], "11500": 197, "115891": 226, "116": [203, 204, 217], "1167": [217, 219], "117": [202, 217, 227], "118": [203, 217, 223], "1180": 217, "1181": [204, 217, 219], "1182": 217, "1186014": 221, "11898": 204, "119": [203, 217], "1194": 224, "11948267": 204, "1196": [217, 219, 224], "1197": [217, 219], "11e": 217, "11it": [204, 217], "12": [48, 50, 78, 91, 106, 109, 110, 111, 158, 182, 197, 202, 204, 209, 214, 215, 217, 219, 221, 223, 224, 227, 229], "120": [203, 217], "1200e": 217, "1205": 224, "12059": 212, "1207": 203, "1208": 203, "1209": 203, "121": [202, 203, 204, 217, 227], "12138614784": 229, "1216": 203, "121665": 221, "1217": 203, "1218": [203, 217, 219, 223], "122": 217, "1220": 203, "1221": 203, "1222": 203, "1223": 203, "1224": 203, "1224e": 217, "1225": [203, 224], "1226": 203, "1227": 203, "1228": 203, "1229": 203, "123": 217, "1230": 203, "1231": 203, "1232": 203, "1233": 203, "1234": 203, "1235": 203, "1236": 203, "1237": 203, "1238": 203, "1239": 203, "124": 217, "1241": 203, "1242": 203, "124811": [217, 219], "125": [202, 217, 227], "1254e": 217, "126": [212, 217], "1260": 224, "127": [209, 217], "1271": 217, "127167122751231": [217, 219], "1277": [217, 219], "128": [44, 48, 50, 63, 64, 109, 110, 112, 113, 115, 202, 204, 217, 227], "1280": [217, 219], "128599": 226, "129": [202, 217, 227], "1290e": 217, "1291": [217, 219], "1294e": 218, "12a7087bfd189a06ccbec9bc7add2bcd": 197, "12e": 217, "12it": [204, 217], "13": [78, 91, 106, 111, 197, 202, 204, 208, 214, 215, 217, 218, 219, 221, 223, 224, 227, 229], "130": [203, 208, 217], "13047800e": [217, 219], "1305": [217, 219], "130m": 197, "131": [203, 204, 217], "132": [203, 217], "1321": 224, "133": [203, 217], "13302410e": [217, 219], "1332": [217, 219], "1334640640": 229, "13356": 227, "133934018": 197, "133953162": 197, "134": [202, 204, 217, 221, 227], "1344e": 218, "134m": 217, "135": [203, 217], "1350": 224, "1352e": 217, "1354": [217, 219], "13543430e": [217, 219], "1354e": 218, "13560540e": [217, 219], "13568646": 221, "1358": 224, "135m": 208, "136": 217, "1364e": 217, "1366": 224, "136g": 197, "137": [204, 217, 221], "1370": 217, "1372": [217, 219], "1374e": 217, "1376": 224, "138": [202, 204, 217, 221, 227], "1384": 217, "1388": 224, "139": 217, "1394": [217, 219], "1395": 224, "13dc06c6510346d8a7f614d5b26c8ffa": 200, "13e": 217, "13it": [204, 208, 217], "13m": 204, "14": [202, 204, 208, 214, 215, 217, 218, 219, 221, 223, 224, 227, 229], "140": 217, "1409": [217, 219], "14093081": 221, "141": 217, "142": [202, 204, 217, 227], "143": 217, "1436": 224, "14384263168": 229, "144": [204, 217], "1448": 226, "145": [197, 217, 227], "1451e": 217, "146": [202, 217, 227], "1462e": 217, "1464": [217, 219], "147": [202, 204, 217, 227], "1479": [217, 219], "147m": 201, "148": 217, "1482": 224, "1490": 224, "1496e": 218, "14e": 217, "14it": [204, 217], "14m": 204, "15": [202, 204, 214, 215, 217, 218, 219, 221, 223, 224, 227, 229], "150": [31, 37, 196, 202, 217, 227], "1509": 203, "1510": 203, "1511": 203, "15117579": 217, "1515": 203, "1516": 203, "1517": 203, "1518": 203, "1519": 203, "151g": 197, "1520": 203, "1522": 203, "1523": 203, "153": [202, 217], "1538": [217, 219, 224], "153m": [204, 209, 214, 229], "154": [202, 203, 227], "1546": [217, 219], "155": 203, "1550": 224, "1557": 224, "156": [203, 204], "1563": 224, "1568": 224, "1572": 224, "1575": 204, "1579": 224, "1589": 224, "159": 217, "15e": [217, 227], "15it": [204, 217], "16": [1, 48, 50, 127, 197, 202, 204, 214, 217, 218, 219, 221, 223, 224, 227], "16046990e": [217, 219], "161": [204, 217], "1616e": 217, "162236": 224, "1623": [217, 219], "1624": [217, 219], "162f0660b2f1c9209c5b57f7b9e545a7": 201, "164": 204, "1642": 221, "1643": 224, "1644e": 217, "165g": 197, "166": [204, 217], "1665424": 221, "16666666666666669": 221, "1668": 224, "16757354496": 229, "168181": 226, "1690": [217, 219], "1691e": 217, "16963": 217, "16e": 217, "16it": [204, 217], "17": [202, 204, 214, 215, 217, 218, 219, 221, 223, 224, 227], "170": 203, "1700": 217, "1700380": 217, "1706": 214, "1717": 217, "1729": 224, "172g": 201, "1730103": 221, "1733": 217, "1746": 224, "1746e": 217, "1753": 224, "1755": [217, 219], "1756": 224, "177": 217, "1772": 204, "1773": 224, "1779": [217, 224], "178": 217, "1787": [217, 219], "179": 204, "1797": [217, 219], "17e": 217, "17g": 197, "17it": 208, "17k": 217, "18": [36, 202, 204, 209, 215, 217, 218, 219, 221, 223, 224, 227], "1807e": 217, "181": [210, 217], "18144370e": [217, 219], "18178516": [217, 219], "18178516e": [217, 219], "1818": 217, "182": [217, 221], "1820": 224, "1822": 223, "1823": [217, 219], "1824": 221, "1827": 217, "1829": 224, "1835e": 217, "1836": 217, "184": 217, "185": 217, "18519999": 202, "1854": 224, "185602": 217, "1857": 217, "185k": 217, "186": 217, "1871405": [217, 219], "18714050e": [217, 219], "187179": [217, 219], "1876": [217, 219], "1879": 217, "18793": 200, "18793_clean_3hdhbg6tiz": 200, "188": 217, "188122": 224, "188769": 224, "18895316": [217, 219], "18895316e": [217, 219], "1894881259824612": 202, "1897": 224, "18e": 217, "18g": 201, "18it": [204, 208, 217], "19": [161, 202, 204, 217, 218, 219, 221, 223, 224, 227], "190": 217, "190083": 226, "1904": 224, "190607": [217, 219], "1911": 217, "1912": 224, "1927": 224, "1930": 224, "1945": 226, "1959088128": 229, "196": [217, 221, 227], "1964": 224, "1966": [217, 219, 224], "1979": 224, "1982": 224, "198372": 217, "199": [202, 217, 221, 227], "1997": 217, "19e": 217, "19it": [204, 217], "1ba0bc266130f186850f5faa547b6a02": 198, "1d": [76, 89], "1d140aaa2e7b287124ab38911a711d70": 197, "1e": [52, 224], "1ev": [0, 1], "1f": [202, 204, 221], "1f4": 204, "1g": [197, 201], "1m": [217, 229], "1mb": 204, "1t": 197, "1x1": [113, 115, 117, 223], "2": [0, 1, 5, 13, 16, 26, 29, 36, 41, 44, 45, 48, 50, 52, 53, 55, 61, 63, 64, 70, 71, 78, 83, 84, 91, 92, 93, 97, 98, 101, 106, 110, 111, 113, 115, 117, 121, 129, 154, 155, 156, 158, 168, 174, 185, 186, 188, 190, 193, 195, 196, 198, 200, 201, 202, 203, 204, 208, 209, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "20": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 113, 115, 116, 118, 119, 124, 128, 129, 174, 202, 203, 204, 208, 209, 217, 219, 221, 223, 224, 226, 227, 229], "200": [5, 31, 37, 133, 134, 196, 199, 204, 216, 217, 226, 228], "2000": 101, "2008": 217, "200k": [197, 204, 209, 214, 217, 229], "201": [208, 223], "2010": [209, 217], "2014": [217, 219, 223], "2015": 202, "201563": 224, "2016": [204, 229], "2018": 223, "202": 204, "2020": [44, 216, 217], "2021": [76, 89, 104, 109, 110, 141, 209, 216, 217, 220], "2022": [217, 219, 226], "2023": [200, 212, 216, 221], "2024": [202, 204, 215, 216, 217, 227, 229], "20240517": 204, "20240517t175732z": 204, "2026": 224, "2029": 217, "204": [202, 217, 227], "204414": 224, "2045": 224, "206": 202, "207508": 226, "2077": 224, "2078": [217, 219], "2087": 224, "20878": 204, "2089": 224, "20890000e": [217, 219], "20atom": 217, "20data": 223, "20e": 217, "20environ": 217, "20g": [197, 200], "20gnu": 217, "20it": 204, "20lgpl": 217, "20licens": 217, "20m": [197, 204, 209, 214, 217, 229], "20simul": 217, "20th": 217, "20the": 217, "21": [52, 136, 161, 204, 209, 217, 219, 221, 223, 224, 226], "2102": [109, 110], "2107": 224, "211": 215, "2114e": 217, "2122": [217, 219], "2129e": 217, "2136": 224, "2139830589294434": 203, "2139854431152344": 203, "2139861583709717": 203, "2139866352081299": 203, "213986873626709": 203, "213987159729004": 203, "2139878273010254": 203, "2139880657196045": 203, "2139883041381836": 203, "2139892578125": 203, "2139899730682373": 203, "213990": 223, "214": 204, "2143": [217, 219], "214374": 224, "214ca96e620c5ec6e8a6ff8144a22a04": 197, "215": 217, "2159": [217, 219], "2161e": 217, "2163e": 217, "2171": 224, "2173": 224, "218": [204, 217], "2180": 223, "2182456713431016": [217, 219], "219": 204, "2190": 221, "219321": 224, "2198": 224, "21e": 217, "21it": 204, "22": [204, 217, 219, 221, 223, 224, 229], "2201": 221, "2204": 212, "2206": 209, "22179": 197, "2225": 224, "2229": 224, "2230": 224, "2249": 217, "2257e": 217, "225g": 197, "22633633": [217, 219], "2265": 224, "2267": 217, "227669": 226, "22774037": 217, "228": 204, "228008524576823": 217, "2289": 224, "2293e": 217, "2294": 217, "22e": 217, "22it": [204, 217], "22m": 204, "23": [48, 203, 204, 217, 219, 223, 224, 227], "2306": 212, "230672": 202, "2311": [201, 209], "2326": 217, "232g": 201, "233262": 224, "2334": 224, "234": [1, 203, 217], "234251": 224, "2346e": 217, "235": [203, 204, 217], "2356": 217, "23642045": [217, 219], "236fe4e950aa2fbdde94ef2821fb48d2": 197, "237": 203, "2371": [217, 219], "2377": [217, 219], "238": [203, 217], "239": 217, "2396": 224, "23e": 217, "23it": [208, 217], "24": [204, 217, 219, 221, 223, 224], "240": 203, "240169": [217, 219], "2409": 199, "241": 203, "2425e": 217, "2429e": 217, "243": 203, "244461": 217, "245": 203, "245651": 224, "2459": 204, "246": [203, 215], "247": 217, "2483": 224, "2489": 224, "2490": [217, 219], "24930": 197, "24931": 197, "24936": 197, "24943": 197, "24946": 197, "24948": 197, "24951": 197, "24961": 197, "24963": 197, "24965": 197, "24966": 197, "24967": 197, "24985": 197, "24986": 197, "24987": 197, "24988": 197, "249910": [217, 219], "24e": 217, "24it": [204, 217], "25": [25, 204, 217, 219, 221, 223, 224], "250344": 217, "2507": 224, "251": 204, "25115": 204, "2512": [217, 219], "25174662753": 224, "2526e": 217, "2532": [217, 219], "254098": 217, "2543": [217, 219], "2544": 224, "255": 217, "2550": 224, "25504302978516": 204, "25597": 223, "256": [44, 63, 64, 113, 115, 202, 217, 226, 227], "25602": 223, "25640960": 229, "257": 217, "258": [202, 217, 227], "2589": 217, "2592": [217, 219], "2596214": 217, "25e": [217, 227], "25it": [204, 208, 217], "25k": [197, 217], "26": [204, 209, 215, 217, 218, 219, 221, 223, 224, 229], "260": 217, "2602": [217, 219], "261": 204, "2617409536": 229, "2619": 217, "262": [202, 227], "26336330e": [217, 219], "263842000000002": 223, "264": [204, 223], "2641": 217, "264382": 224, "2646": 204, "2652": 224, "2655": [217, 219, 224], "266": [202, 227], "266571": 224, "2666": [217, 219], "266996999999996": [217, 219], "266997": [217, 219], "267": 211, "267647": 224, "2677": 221, "269": 217, "2690e": 218, "26e": 217, "26it": 204, "27": [204, 208, 217, 219, 223, 224], "270": 208, "2700e": 217, "2719": 217, "27199": 217, "2725": 224, "272800176143646": 223, "2729": 217, "2731": 224, "2732": 224, "2737": 217, "2743": 224, "2746e": 218, "2748e": 217, "275": 217, "2757": 204, "276": 217, "2763": 218, "277": 217, "2770690048": 229, "2772": 217, "2779738903045654": 203, "2782e": 217, "2787": 224, "2787e": 217, "2797": 224, "27e": 217, "27it": 204, "27k": 217, "28": [204, 209, 215, 217, 219, 224], "2803": 217, "2809": 224, "2815": 217, "2817403e": 203, "2819e": 217, "2822e": 218, "282500615000004": 217, "2825e": 217, "2829": 224, "2837": 224, "28405964374542236": 217, "285": 217, "2852": 217, "286": 204, "2863": 204, "286822": [217, 219], "28792763e": 204, "289": 204, "28e": 217, "28it": [204, 217], "29": [204, 217, 218, 219, 224], "2913": 224, "2915": 224, "2919": [217, 219], "29200000e": [217, 219], "2923": 224, "2931": [217, 219], "29319953918457": 217, "293970": 217, "294k": 197, "295": [202, 204, 227], "2954": 204, "295602": 217, "2960": 217, "2964": 217, "29d1b992715054e920e8bb2afe97b393": 197, "29e": 217, "29g": [197, 198], "29it": 204, "2a05": 204, "2a27de122d32917cc5b6ac0a21c63c1c": 197, "2b355741f9300445703270e0e4b8c01c": 197, "2c05877": 221, "2d": [77, 90, 105], "2d71adb9e305e6f3bca49e5df9b5a86a": 197, "2dfa": 204, "2f": [221, 223, 228], "2g": [197, 201], "2it": 204, "2m": [197, 203, 204, 209, 211, 214, 217, 229], "2mb": 204, "2o2": 223, "2x2": 223, "3": [5, 21, 44, 60, 63, 64, 78, 91, 92, 93, 106, 111, 112, 136, 154, 158, 173, 188, 193, 195, 197, 198, 199, 200, 202, 203, 204, 208, 210, 212, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "30": [119, 155, 156, 188, 190, 193, 202, 204, 215, 217, 219, 224, 227], "300": [180, 199, 211, 217, 224, 228], "3000465215529733": 224, "301": [202, 227], "3011e": 217, "302": [204, 217, 219], "3021": 217, "3033": 217, "303845376": 229, "306": 217, "3063": 224, "306553": 224, "306g": 197, "308": 217, "3082": 224, "30859": 200, "30e": [217, 227], "30g": 197, "30it": 217, "31": [204, 217, 219, 224, 227], "310": 217, "3115": 224, "312": 204, "313": 217, "3142e": 217, "315": 217, "3155": 227, "3162e": 217, "3166": 224, "31671825": 217, "31814437": [217, 219], "3181554154438013": 202, "319": 217, "319755": 224, "31993856": 229, "31e": 217, "31it": 204, "31m": [203, 204, 209, 214, 221, 223, 224, 228, 229], "32": [48, 50, 202, 204, 215, 217, 218, 219, 224, 227], "321269": 217, "3232": [217, 219], "3241": 224, "324463": 217, "3250e": 218, "3253": 217, "326332": 217, "327": 217, "3274e": 217, "32792576": 229, "328": 204, "328320": 217, "32e": 217, "32it": [204, 217], "32m": 204, "33": [1, 204, 217, 219, 224, 227, 228], "330": [202, 227], "3315": 217, "331771": 217, "331944": 217, "3320": 217, "3321": [217, 219], "3322e": 217, "3334": [217, 219], "3346": 217, "3348": [217, 219], "3360519": 217, "3368e": 218, "3382e": 217, "339": 208, "33e": 217, "33it": [204, 217], "34": [204, 208, 209, 217, 219, 224], "340": 217, "341": 217, "342222": [217, 219], "343": [204, 217], "343006": 221, "343039": 221, "343394": 221, "343615": 221, "344237": 221, "344251": 221, "344635": 221, "3446e": 217, "344m": 197, "3450": [217, 219], "345352": 221, "3459": 217, "345911": 221, "346653": 221, "346818": 221, "347528": 221, "347f4183465810e9b384e7a033baefc7": 197, "348": 204, "34815": 200, "348366": 221, "348629": 221, "348901238291901": 204, "349496": 221, "349719": 221, "349719_h": 221, "349719_nnh": 221, "349813": 221, "34e": 217, "34g": [197, 200], "34it": [204, 217], "35": [204, 217, 218, 219, 221, 224, 227, 229], "350": [202, 227], "350k": 197, "353616": 224, "3544": 223, "3545": 204, "35609837e": 204, "357": 217, "35700169e": 204, "3574e": 217, "3588e": 217, "358921": [217, 219], "35892145140813": [217, 219], "358986": [217, 219], "359": [202, 227], "359048": [217, 219], "359102": [217, 219], "359163": [217, 219], "359361": [217, 219], "359692": [217, 219], "35e": 217, "35g": 197, "35it": [204, 217], "36": [204, 214, 215, 217, 219, 224], "360631": [217, 219], "3609": 217, "361": 215, "361680": [217, 219], "3621": 214, "363": 217, "3630": 202, "3639": 202, "36420450e": [217, 219], "364350": 224, "364580062942467": 226, "366226": [217, 219], "36653536": 221, "3671793937683105": 211, "3673": [217, 219], "368774": 224, "368801": [217, 219], "368de083dafdc3bbdb560d35e2a102c0": 197, "369": 217, "36929188e": 204, "3697f04faf04251a23da8b88a78209f7": 197, "3699": 217, "36ba974d80c20ff636431f7c0ad225da": 197, "36e": 217, "36it": [204, 217], "37": [204, 214, 215, 217, 219, 224, 227], "370": 217, "370825": [217, 219], "3709e": 217, "3710": 227, "371078": [217, 219], "371972": 224, "374": 204, "3757": 224, "3760e": 217, "3767": 223, "378": 217, "3789762519649225": 202, "3797e": 217, "37e": 217, "37it": [204, 217], "38": [204, 214, 215, 217, 219, 223, 224, 227], "3809": 204, "381525": 226, "3816e": 217, "381e72fd8b9c055065fd3afff6b0945b": 201, "3847": 204, "385": 204, "385339": [217, 219], "3864": 224, "3865e": 217, "386849": [217, 219], "386c99407fe63080d26cda525dfdd8cd": 197, "387": 217, "387947": [217, 219], "38821999231974286": 217, "38e": 217, "38it": [204, 217], "38k": 204, "39": [204, 214, 215, 217, 219, 221, 223, 224, 227], "390": [203, 217], "391616": 224, "3947": 224, "3948e": 217, "395238876342773": 48, "39618436": 221, "39708923": [217, 219], "397314": [217, 219], "3973e": 217, "398": 204, "3986587524414": 203, "398659": 214, "3996": [217, 219, 227], "399866": 224, "39e": 217, "39it": [204, 217], "3c1aaf790659f7ff89bf1eed8b396b63": 197, "3cc90425ec042a70085ba7eb2916a79a": 197, "3d": [105, 154, 217], "3e": 211, "3e26c3bcef01ccfc9b001931065ea6e6": 198, "3f": 202, "3g": [197, 199], "3m": 217, "3mb": 204, "3rd": 158, "3x": 110, "3x3": [185, 186, 188, 217, 219, 223], "4": [6, 7, 44, 78, 91, 94, 106, 111, 153, 154, 155, 156, 168, 197, 199, 200, 201, 202, 203, 204, 209, 211, 214, 215, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "40": [63, 64, 119, 204, 214, 217, 219, 224, 226, 227], "400": 204, "4001": 217, "400382": 226, "4015": 227, "401753": [217, 219], "402": [202, 227], "403120": 217, "40431149b27b64ce1fb40cac4e2e064b": 197, "404838": [217, 219], "404849": [217, 219], "405": 217, "4070": [217, 219], "408": 208, "4095": 217, "409649": [217, 219], "40e": 217, "40it": 204, "41": [202, 204, 208, 214, 217, 219, 224, 227], "412": 204, "4124e": 217, "4129e": 217, "413846": [217, 219], "415": [202, 227], "415g": 197, "416": [202, 227], "417": [209, 217], "418": 217, "418884": [217, 219], "419": [202, 227], "4196e": 217, "41af": 216, "41e": 217, "41it": [204, 208, 217], "41m": 204, "42": [27, 202, 204, 214, 217, 219, 224, 226, 227], "4223": 223, "42242048": 229, "423485": [217, 219], "423ffd0c67f5": 212, "424": [202, 227], "424782": 224, "4247e": 218, "424m": 200, "4250": 204, "425721": 224, "426": 203, "4262170624": 229, "4265": 224, "426840130515679": 226, "427": 203, "428": 203, "4286e": 218, "4294963200": 229, "429676": 224, "4297371208667755": 203, "42e": 217, "42g": 197, "42it": [204, 217], "43": [204, 215, 217, 219, 223, 224, 227], "4308e": 218, "431": [203, 217], "43125760": 204, "431957": [217, 219], "431ab0d7557a4639605ba8b67793f053": 197, "432": 203, "432045887992657": 202, "433": 203, "433047": 224, "4333": [217, 219], "433813": [217, 219], "434": 203, "434342": 224, "435695": [217, 219], "436": 203, "437": [202, 203, 227], "437429": [217, 219], "4385e": 217, "438600": [217, 219], "438790": 224, "439820": [217, 219], "4399e": 218, "43e": 217, "43it": 217, "44": [204, 217, 219, 223, 224], "440": 217, "440960": [217, 219], "442": 204, "442114": [217, 219], "442166": 224, "442646": [217, 219], "443": [204, 217], "443403": [217, 219], "444024": 224, "444705": [217, 219], "4448": 224, "446": 204, "446174": 224, "446550": [217, 219], "4466": [217, 219], "447": [209, 217], "448937": [217, 219], "448980": [217, 219], "448f7d352ab6e32f754e24de64ca302a": 197, "4499999999999993": [217, 219], "44e": [217, 227], "44g": 197, "44it": [204, 217], "45": [199, 204, 215, 217, 218, 219, 224], "45150244": 216, "45158625849998374": 217, "45264": [76, 89, 104], "454037": [217, 219], "454434": 224, "456": [1, 204], "4570415561499996": 217, "458": [202, 209], "458151": 224, "459208": 224, "4597": 218, "45e": 217, "45it": 217, "45y": [217, 219], "46": [204, 217, 218, 219, 224], "460328": 197, "460413": 224, "460k": 217, "4611": [217, 219], "4612": 214, "461202": 224, "461313": 197, "462": 204, "462197": 224, "462255": [217, 219], "463": 202, "46333681": [217, 219], "46333681e": [217, 219], "464": 217, "464847": 224, "466738": [217, 219], "466k": 197, "467": [204, 209], "4673": 224, "467607": [217, 219], "4679": 224, "4687": 224, "469440": 224, "46e": 217, "46g": 197, "46it": [204, 208, 217], "47": [215, 217, 219, 223, 224], "470": 215, "4710": 217, "471315": 224, "47152822": [217, 219], "47152822e": [217, 219], "4725": 217, "472541": 224, "4727e": 217, "472887": 224, "473": [202, 227], "473f": 212, "474792": 224, "4755e": 217, "475658": 224, "47573199c545afe46c554ff756c3e38f": 197, "476114": 224, "476613": 224, "476823": 224, "476g": 201, "477": 208, "4771": 204, "4777e": 217, "479388": 224, "47e": [217, 227], "47it": 204, "47m": 227, "48": [208, 217, 219, 223, 224], "480": 217, "481330": [217, 219], "481568": 224, "4822a06f6c5f41bdefd3cbbd8856c11f": 197, "482698": 224, "482712": 224, "482ee306a5ae2eee78cac40d10059ebc": 197, "483": [202, 209], "483463": 224, "483667": 224, "485434": [217, 219], "485558": 224, "485858": 224, "486": 217, "486411": 224, "4878": 224, "488019": 224, "48877a0c6f2994baac82cb722711aaa2": 197, "489": 1, "489300": 224, "4895e": 217, "489763": 224, "489977": 224, "48e": 217, "49": [215, 217, 218, 219, 223, 224], "490": 217, "490770": 224, "491252": 224, "4924": 204, "492424": 224, "492710": 224, "4929": 217, "4932": 204, "493784286685525": 204, "494": 46, "494223": 224, "494234": 224, "494741": 224, "495075": 224, "4951e": 217, "495224": 224, "496": [202, 227], "496284": 224, "497": [204, 217], "497403": 224, "497575": [217, 219], "497955": 224, "498": 217, "4980": 224, "49808000e": [217, 219], "4980e": 217, "498344": 224, "498971": 217, "499": 204, "499651": 224, "499792": 224, "4997e": 217, "49e": 217, "49it": 217, "4_neb1": 199, "4ddcccd62a834a76fe6167461f512529": 197, "4dfab479495f76179749c1956046fbd8": 197, "4g": 197, "4it": 204, "4m": 217, "4th": 199, "4x4": 223, "5": [2, 5, 43, 44, 45, 46, 48, 49, 50, 52, 56, 70, 76, 78, 83, 89, 91, 97, 101, 104, 106, 110, 111, 115, 116, 118, 119, 124, 128, 129, 156, 158, 164, 171, 172, 197, 201, 202, 203, 204, 209, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "50": [21, 29, 66, 67, 79, 80, 92, 93, 101, 104, 109, 110, 112, 116, 119, 202, 204, 208, 211, 217, 218, 219, 221, 224, 227, 229], "500": [48, 50], "5000": 217, "5001e": 218, "5002": [217, 219], "500846": 224, "500877": 224, "5014": 224, "501749": 224, "502": 202, "502174": 224, "502977": 224, "503652": 217, "503671": 224, "503903": [217, 219], "5040816326530613": 217, "504088": 224, "504124": 224, "504484": 224, "504958": 224, "505841": 224, "506096": 224, "506509": 224, "507587": 224, "5076435414262623": 202, "507683": 224, "5078e": 217, "507967": [217, 219], "508195": 224, "5081e": 217, "5085": 227, "508891": 224, "509": [217, 224], "509256": 224, "509853": 224, "50a6ff098f9ba7adbba9ac115726cc5a": 197, "50e": 217, "51": [204, 215, 217, 219, 224], "510": 204, "510074": 224, "5100e": 217, "511240": [217, 219], "51154989": [78, 91, 106, 111], "511651": 224, "511861": 224, "512": [48, 50, 109, 110, 202, 217, 227], "5120": [217, 219], "5121": [204, 217], "512196": 224, "512389": 224, "513039": 224, "513103": 224, "513180": 224, "514538": 224, "514586": 224, "514888": 224, "5148e": 217, "515001": 224, "5152": 223, "515381": 224, "515424": [217, 219], "515453": 224, "5156444102461508": 217, "515782": 224, "516": 217, "516574": 224, "516648": 224, "516673": [217, 219], "516759": 224, "5168e": 217, "516979": 224, "517310": 224, "517390": 224, "5174": 217, "517458": 224, "518": [202, 227], "518093": 224, "518100": 224, "518261": 224, "518704": 224, "518859": 224, "518920": 224, "5192": 224, "519229": [217, 219], "519332": 224, "519951": 224, "51e": [217, 227], "51f7f05982d6b4052becc160375a8b8b670177a7": 202, "51it": [204, 217], "52": [204, 217, 219, 224], "520": 202, "520244": 224, "520416": 224, "520626": 224, "520854": 224, "520869": 224, "521": 224, "521268": 224, "521610": 224, "521836": 224, "521856": 224, "521900": 224, "5221e": 218, "5228": 214, "522909": 224, "5234": 217, "523863": [217, 219], "523989": 224, "524": 204, "5241": [217, 219], "524306": 224, "524454": 224, "5246": 217, "524965": 224, "5257e": 217, "525815": 224, "526": [202, 227], "527104": 224, "527487": [217, 219], "527491": 224, "5274e": 218, "527562": 224, "527908": 224, "527998": 224, "5283e": 217, "529658": 224, "52af34a93758c82fae951e52af445089": 199, "52ce": 204, "52e": [217, 227], "53": [202, 204, 217, 219, 221, 224, 227], "530633": 224, "5307": [217, 219], "53094000e": [217, 219], "530941": 224, "532": 204, "532171": 224, "532275": 224, "5329724550247192": 217, "532d6cd1fe541a0ddb0aa0f99962b7db": 197, "533622": [217, 219], "5338": 217, "534": [202, 227], "534950": 224, "534m": 201, "535": 224, "535432": [217, 219], "537502": [217, 219], "53e": 217, "53it": 217, "54": [202, 208, 217, 219, 224, 227], "5409": [217, 219], "5418a1b331f6c7689a5405cca4cc8d15": 197, "542": 204, "542086": [217, 219], "544": 13, "545": 208, "545036": 214, "54722937": 210, "547597": [217, 219], "5480": 204, "548985": 224, "54e": 217, "54it": 217, "55": [204, 209, 217, 219, 224, 227], "5511e": 218, "552510": 224, "5527": 218, "553338": 224, "553609": 224, "55401287e": 204, "55401325e": 204, "554117": [217, 219], "554336": 224, "5550e": 217, "555946": 224, "5560": 223, "556490": 224, "557071": 224, "557446": 224, "558": [204, 217], "5581": 224, "558208": 217, "5583": 204, "5585": [217, 219], "5586": 221, "558698": 224, "559": 216, "559112": 200, "559112_ryqxa0n0uc_ohyukozy3g": 200, "559462": 226, "559996": 224, "55e": 217, "55it": 217, "56": [202, 209, 215, 217, 219, 221, 224, 227], "561335": 224, "561744": 224, "562": [202, 204, 227], "562243": 224, "562677": 224, "5629": [214, 224], "563": [203, 209], "563343": [217, 219], "563401": 224, "563569": 224, "563870": 224, "5639": 209, "564264": 224, "5646": 224, "564891": 224, "565047": 224, "565472": 224, "565871": 224, "56598052": [217, 219], "566": 224, "566027": 224, "566088": 224, "5662": 224, "5675": 217, "5687": 217, "56e": 217, "56it": 217, "57": [204, 215, 217, 219, 224, 227], "5711": 224, "5718": [217, 219], "5728": 209, "572938": [217, 219], "5731862978d80502bbf7017d68c2c729": 197, "574461": [217, 219], "5797e": 218, "57e": [217, 227], "57it": [208, 217], "58": [214, 215, 217, 219, 223, 224, 227], "580239": [217, 219], "5823": [217, 219, 224], "5830": 214, "584": 217, "584633": [217, 219], "586": [202, 227], "587274": [217, 219], "5872c21c": 216, "589493": [217, 219], "58e": 217, "58it": 217, "59": [203, 217, 219, 224, 227, 229], "5906": 217, "5913": 224, "592069": 217, "5928": 214, "5937": 224, "594063": [217, 219], "5958": 221, "598": [202, 208, 227], "599": [202, 227], "599151": [217, 219], "59948557": [217, 219], "5999": 209, "59e": 217, "59it": 217, "5ced8ea84584aa229d31e693e0fb090f": 197, "5g": [197, 199], "5x": 197, "5x5": 223, "6": [5, 21, 29, 44, 66, 67, 78, 79, 80, 91, 92, 93, 106, 109, 110, 111, 112, 113, 115, 119, 133, 134, 197, 199, 202, 203, 204, 208, 209, 210, 211, 214, 217, 218, 219, 221, 223, 224, 226, 227, 229], "60": [3, 204, 208, 217, 219, 226], "6014": 204, "602": [202, 217, 227], "6033": 217, "604928": [217, 219], "6059e": 218, "608134": [217, 219], "6088": 224, "6090e": 217, "60ac9f965f9589a3389483e3d1e58144": 197, "60e": 217, "60it": [204, 217], "61": [204, 208, 217, 219], "6100": 218, "610785": [217, 219], "613": 208, "613007": 214, "614414": [217, 219], "6152": 217, "61604699": [217, 219], "617": 204, "618": 217, "618084": 217, "6190e": 217, "619347": 217, "6199": 209, "61e": 217, "61it": [204, 217], "62": [217, 219], "620": [202, 227], "621201": [217, 219], "622719": 214, "626": 204, "6277": 217, "62e": 217, "62it": 217, "63": [204, 217, 219, 226], "630": 217, "6307": 214, "6309": 223, "6322": 204, "634": 218, "6349": 224, "636": [208, 218, 226], "6373e": 217, "6388": 209, "6399": 223, "63e": [217, 227], "63it": 204, "64": [44, 202, 204, 209, 217, 219, 227], "64190926": [217, 219], "64190926e": [217, 219], "641937": 214, "642": [202, 227], "643432": [217, 219], "644": 226, "6451e": 217, "6458": 209, "646": 204, "6468": 224, "649": 217, "6499": 204, "64e": [217, 227], "65": [215, 217, 219], "6510": 197, "654": 208, "6548": 224, "654m": 198, "656": 208, "65796644": [217, 219], "65796644025031": [217, 219], "658": 198, "65980520e": [217, 219], "65e": 217, "65it": 217, "66": [202, 209, 217, 219, 227], "6604e7130ea41fabff93c229af2486433093e3b4": 218, "661": 208, "6610e": 218, "6613": 224, "661515": [217, 219], "6634": 224, "6635": [217, 219], "665": 208, "6650": 224, "6658": 209, "667": 204, "6684269905090332": 203, "669": [202, 208], "6691": 204, "6696": 204, "66acc5460a999625c3364f0f3bcca871": 197, "66df44121806debef6dc038df7115d1d": 197, "66e": 217, "66it": 217, "67": [202, 217, 219, 227], "670": [202, 227], "671": 208, "671473": 217, "671525": [217, 219], "6720": 224, "674": 208, "675": 208, "67589182": [217, 219], "67589182e": [217, 219], "676": [204, 208], "678": 208, "6780": 227, "6787": 224, "679": 208, "6796": [204, 224], "67e": 217, "67it": 217, "68": [202, 208, 209, 217, 219, 223, 227], "68051147460938": 217, "6812e": 217, "682": 209, "6826": 224, "682d8a6b05ca5948b34dc5e5f6bbcd61": 197, "683": 208, "6851": [217, 219], "6852": 217, "68595478528": 229, "6865": 204, "6869": 224, "6877": 200, "687kb": 204, "689": 204, "6899": 223, "68e": 217, "68it": [204, 217], "69": [197, 217, 219], "691620": 214, "692": 204, "6930": 217, "695": 221, "696": 204, "6970": 224, "699": 204, "69e": 217, "6_1134_23": 1, "6a": 217, "6b": 222, "6ffa903a62d8ec3319ecec6a03b06276": 197, "6g": 197, "6it": 204, "7": [44, 78, 91, 106, 111, 202, 203, 204, 214, 217, 219, 221, 223, 224, 226, 227], "70": [211, 217, 219], "7007e": 217, "700834326e789a6e38bf3922d9fcb792": 197, "701210": 223, "7016e": 217, "702312": [217, 219], "705305": 223, "707": 204, "7070": 217, "707525": 223, "708": 203, "709": 203, "70dcda6ab23a1f0c3fb366d82d481f47125db5be17bde4aa902a351216183910": 204, "70e": [217, 227], "70it": [208, 217], "71": [202, 217, 219, 227], "710": 203, "7101": 217, "711": 203, "7110": 224, "7120": 214, "713": 204, "7137": 209, "71458646": [217, 219], "71458646e": [217, 219], "717583": 223, "71796226501465": 203, "7179e": 217, "718": [204, 217], "71e": 217, "71g": 200, "72": [209, 217, 219, 227], "720971": 223, "723862": 214, "72399424": 221, "725928": [217, 219], "727": 215, "72730560e": 204, "728": 203, "72820892e": 204, "729": 203, "72e": 217, "72it": 217, "73": [202, 217, 219, 227], "730": 203, "731": 203, "7312": 217, "732": 203, "733": [203, 204], "7339": 217, "7341": 224, "735": 203, "736": 203, "737": 203, "737121": 217, "739": 203, "73e": 217, "73it": 217, "74": [217, 219], "740": 203, "74049911e": 204, "741": 203, "742": [203, 204], "743": 203, "7455": 217, "747": 208, "74768262": [217, 219], "74768262e": [217, 219], "7480": 204, "74e": 217, "75": [202, 208, 217, 219, 227], "750249": [217, 219], "751": 217, "7514": 217, "7525e": 217, "7528": [217, 219], "754106": 223, "755093": 223, "755165": 223, "7554450631141663": 217, "7558": 217, "757": 204, "757200": 223, "758": 217, "758444": 223, "7586356401443481": 211, "75e": 217, "75x": [217, 219], "76": [203, 215, 217, 219], "7635": 217, "764206": 214, "766": [202, 227], "766987": [217, 219], "7676e": 217, "7683716e": 203, "76e": 217, "76it": 204, "77": [48, 202, 217, 219, 227], "7702": [217, 219], "770491": 223, "773": 217, "7737": 217, "775079": [217, 219], "7762": 217, "7764": [217, 219], "7780e": 218, "778410": [217, 219], "77851254784": 229, "779223": [217, 219], "779553": 223, "77e": 217, "77m": 204, "78": [217, 219], "780394": [217, 219], "781g": 201, "782": 204, "782320": [217, 219], "78299828": [217, 219], "78299828e": [217, 219], "786": 204, "787": 204, "7879": 217, "788": [202, 227], "789162": [217, 219], "7895": 217, "78d25997e0aaf754df526ab37276bb89": 198, "78e": [217, 227], "78it": 204, "79": [217, 219, 227], "7921e": 217, "794": [202, 227], "794643": [217, 219], "7947": 217, "7951": 217, "796": 204, "796453": 217, "7979b9e7ab557d6979b33e352486f0ef": 197, "798": 217, "799": 204, "79e": 217, "7_6566_62": 1, "7bcae43cee451306e34ec416588a7f09": 197, "7e123e6f4fb10d6897be3f47721dfd4a": 197, "7eaa0d63": 212, "7g": 197, "7it": 204, "8": [27, 44, 48, 50, 63, 64, 78, 91, 101, 106, 111, 113, 115, 156, 158, 174, 197, 199, 202, 204, 205, 209, 211, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "80": [202, 217, 219, 227], "80000000e": [217, 219], "8005": 217, "8005e": 217, "8025": 217, "804699620277187": 217, "804700": [217, 219], "805": [202, 227], "8050": 218, "80532383918762": 227, "80666995048523": 204, "808": 204, "808721": [217, 219], "809m": 201, "80e": 217, "80g": 200, "80it": [204, 208, 217], "81": [197, 202, 203, 204, 208, 217, 219, 227], "8106": 217, "812": 204, "812526": 223, "81317": 48, "81469727e": 204, "815": 208, "815173": [217, 219], "81527863e": 204, "81527901e": 204, "816": 217, "818": 204, "81927b78d9e4184cc3c398e79760126a": 201, "81e": 217, "81it": 217, "82": [197, 202, 204, 217, 219, 227], "824777": 223, "82618693": 221, "826222": 223, "82679392": 202, "8287e": 218, "8290": 218, "82e": 217, "82it": [204, 208, 217], "83": [66, 67, 92, 93, 109, 110, 199, 202, 217, 219, 227], "8306": 224, "831": [202, 227], "8313e": 217, "832": [202, 227], "834": 204, "835475": 223, "8364": 217, "8371084209427546": 217, "83aa": 212, "83e": 217, "83m": [204, 209, 214, 229], "84": [202, 217, 219, 227], "8415": 217, "841g": 197, "84424aa2ad30301e23ece1438ea39923": 197, "84573700e": [217, 219], "845939": [217, 219], "846": 217, "84600000e": [217, 219], "8469": 204, "8470": 224, "8475": 227, "84e": 217, "85": [197, 198, 204, 217, 219], "850": 215, "850m": 197, "851": [202, 227], "853": [202, 227], "85544000e": [217, 219], "8586": 217, "8587e": 217, "8588": 224, "85915122": 221, "85it": [204, 217], "85m": 204, "85mb": 204, "86": [217, 219, 227], "8615e": 217, "862": 217, "863": 204, "863bc983245ffc0285305a1850e19cf7": 197, "864091775985314": 202, "866": [202, 204, 227], "8660e": 217, "869545": 214, "86e": 217, "86it": 204, "87": [217, 219], "87133271053866": 202, "8728": 217, "8736": 217, "874": 217, "8740": 224, "8785": 217, "87e": 217, "87it": [204, 217], "88": [204, 208, 215, 217, 219, 229], "880": 217, "8807e": 218, "880961": 223, "8812": 224, "8812e": 217, "882": 217, "883": 204, "8837": 209, "884": [208, 217], "8845": 217, "885881": 226, "886933": 226, "887317180633545": 217, "8880e": 217, "8892e": 217, "88dcc02fd8c174a72d2c416878fc44ff": 197, "88e": 217, "89": [217, 219], "8911": 223, "8922": 217, "893": 217, "893632": [217, 219], "897": 204, "8970": 224, "897787927830925e": 203, "898": [202, 227], "8993": 217, "89e": [217, 227], "8bff6bf3e10cc84acc4a283a375fcc23": 197, "8cfbb67beb312b98c40fcb891dfa480a": 197, "8ee1066149c305d7c17c219b369c5a73": 197, "8f39": 216, "8g": [197, 198], "8hr": 211, "8it": 204, "8m": 217, "9": [78, 91, 106, 111, 158, 197, 198, 199, 202, 203, 204, 212, 214, 217, 218, 219, 221, 223, 224, 226, 227, 229], "90": [48, 50, 63, 64, 113, 115, 209, 217, 219], "901947": 217, "903": 204, "9060": 204, "9064": 223, "906543aaefc171edab388ff4f0fe8a20": 197, "9087901568412775": 223, "90e": 217, "90it": 217, "90x": [214, 223], "91": [209, 217, 219, 227], "9102e": 217, "912": [202, 227], "91276645": 221, "9165": 217, "9166": 217, "918b20960438494ab160a9dbd9668157": 197, "91e": 217, "91it": [204, 217], "92": [215, 217, 219], "920": 217, "92019999999996": 202, "9202e": 217, "9211": 217, "9238999040": 229, "9246": 224, "9250": 214, "92522011e": 204, "92522049e": 204, "9260": 217, "9261e": 217, "928": 217, "9291": 224, "92e": [217, 227], "92it": [204, 217], "93": [36, 215, 217, 219], "930": 217, "93112559": 221, "932": 199, "9322": 217, "9335": 217, "935": 217, "9363": 217, "9372": [217, 219], "938713": 214, "93e": 217, "93it": 217, "94": [217, 219, 227], "940": 204, "9421": 217, "9421e": 218, "9437": 224, "94486": [76, 89, 104], "945": 204, "946623": 226, "9495": 227, "94e": 217, "94it": 217, "95": [208, 217, 219, 226, 227], "9509": 217, "952": 208, "953474cb93f0b08cdc523399f03f7c36": 197, "9549": 217, "95617571": 221, "9575e": 217, "957974": 217, "95e": [217, 227], "95it": 217, "96": [215, 217, 219, 223], "960242": 223, "96059535": 221, "9607": 217, "9609e": 217, "960c2450814024b66f3c79121179ac60": 197, "9627": 217, "9652": 224, "96835355": [217, 219], "96835355e": [217, 219], "968355893395695": 218, "9684": 208, "96898192": 221, "969171404838562": 211, "96e": 217, "97": [217, 219], "97011185e": 204, "97011566e": 204, "97089230e": [217, 219], "9712": 217, "9721e": 217, "9741": 227, "975634574890137": 223, "9761": 217, "97640000e": [217, 219], "9775": 224, "977699": 214, "977b6be1cbac6864e63c4c7fbf8a3fc": 200, "9784": 208, "979": 204, "9791": 217, "97914505e": 204, "97914886e": 204, "97e": 217, "97g": 197, "97it": [204, 217], "98": [217, 219], "9812": 217, "981515": 223, "981738567352295": 211, "9835": 208, "986": 223, "987": 204, "9881": 209, "9892": 217, "9893": 208, "9893144106684715": [208, 218], "98e": [217, 227], "98it": 217, "99": [217, 219], "9901": 224, "9907085": 221, "992668": 214, "99485570e": [217, 219], "995178": 214, "9983": 217, "999": [202, 217, 227], "999657": 214, "999736": 197, "999809": 197, "999826": 197, "999838": 197, "999859": 197, "999866": 197, "999944": 197, "999973": 197, "9ac71e198d75b1427182cd34abb73e4d": 197, "9c9e4d617d306751760a80f1453e71f1": 197, "9dbcf7566e40965dd7f8a186a75a718": 197, "9e": 204, "9e3ed4d1e497bfdce4472ee70455edef": 197, "9e5912df6f7b11706d1046cdb9e3087": 197, "9f352fbc32bb2b8caf4788aba28b2eb7": 197, "9fed845aaab8fb4bf85e3a8db57796e0": 197, "9g": 197, "9it": 204, "9th": 199, "A": [1, 11, 21, 29, 44, 92, 93, 110, 112, 133, 134, 153, 154, 156, 158, 168, 169, 173, 188, 190, 193, 195, 197, 198, 201, 202, 203, 204, 207, 208, 211, 212, 216, 217, 218, 219, 224, 225, 229], "AND": [44, 110, 207, 217], "AS": [44, 110, 207, 217], "ASE": [21, 23, 31, 37, 38, 133, 134, 165, 185, 186, 188, 197, 198, 199, 203, 217, 218, 219, 221, 224, 228, 229], "And": [205, 224, 228], "As": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 199, 204, 208, 217, 220, 221, 223, 224], "At": [11, 202, 211, 217, 219, 223], "BE": [44, 110, 207, 217], "BUT": [44, 110, 207, 217], "Be": 221, "But": [66, 67, 79, 80, 203, 226, 228], "By": [110, 202, 210, 217, 224, 228], "FOR": [3, 44, 110, 207, 217], "For": [0, 1, 5, 13, 29, 31, 37, 39, 40, 51, 52, 55, 60, 61, 106, 129, 141, 153, 154, 156, 158, 173, 184, 185, 188, 197, 198, 199, 200, 201, 202, 203, 209, 210, 211, 212, 216, 217, 219, 221, 223, 224, 226, 228], "IN": [44, 110, 207, 217], "If": [0, 1, 11, 16, 20, 23, 26, 29, 31, 37, 48, 50, 55, 61, 66, 67, 69, 71, 79, 80, 82, 84, 92, 93, 96, 98, 109, 110, 112, 122, 131, 158, 166, 168, 171, 172, 184, 185, 186, 188, 190, 193, 195, 196, 197, 199, 203, 204, 205, 208, 210, 211, 212, 216, 217, 218, 219, 221, 223, 224, 226, 228], "In": [1, 13, 31, 37, 71, 73, 84, 86, 95, 98, 110, 154, 156, 157, 158, 168, 197, 199, 200, 202, 203, 204, 208, 210, 211, 212, 217, 218, 219, 221, 223, 226, 229], "It": [1, 5, 11, 16, 31, 66, 67, 79, 80, 95, 158, 168, 185, 186, 188, 190, 193, 196, 198, 199, 202, 203, 204, 216, 217, 219, 221, 223, 224, 226, 227], "NO": [44, 110, 197, 207, 217], "NOT": [44, 110, 207, 217], "No": [92, 93, 202, 203, 204, 214, 217, 221, 223, 224, 227], "Not": [31, 37, 203], "OF": [44, 110, 207, 217], "OR": [44, 110, 207, 217], "On": [48, 50, 63, 64, 113, 115, 210, 212, 227, 228], "One": [158, 180, 197, 199, 217, 226, 227], "Or": 211, "Such": 13, "THE": [44, 110, 207, 217], "TO": [44, 110, 207, 217, 219], "That": [202, 204, 224, 226, 228], "The": [0, 1, 2, 5, 11, 12, 13, 16, 21, 26, 29, 31, 37, 38, 39, 40, 44, 48, 50, 51, 52, 57, 58, 61, 63, 64, 95, 110, 112, 113, 115, 122, 133, 134, 150, 151, 153, 156, 158, 168, 169, 171, 172, 184, 185, 186, 187, 188, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 202, 205, 207, 209, 210, 211, 212, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "Then": [0, 5, 16, 158, 202, 203, 221, 223, 229], "There": [16, 31, 37, 158, 168, 196, 199, 202, 203, 211, 217, 223, 224, 228, 229], "These": [21, 106, 196, 197, 202, 203, 211, 217, 221, 223, 228, 229], "To": [16, 37, 38, 39, 45, 46, 49, 131, 156, 158, 168, 196, 197, 200, 204, 205, 210, 211, 214, 215, 217, 218, 219, 221, 223, 227, 228, 229, 230], "WITH": [44, 110, 207, 217], "With": [52, 154, 156, 203, 208, 217, 221], "_": [110, 112, 203, 204, 221, 224, 226], "__author__": 173, "__authors__": 168, "__call__": [12, 13, 26, 29, 60, 132, 188, 192, 193, 195], "__email__": [168, 173], "__enter__": [37, 38], "__eq__": [155, 156, 158], "__exit__": [37, 38], "__file__": 221, "__getitem__": [31, 37, 39, 40], "__getitems__": [37, 39], "__import_error": 20, "__init__": [13, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 203, 217], "__iter__": 13, "__len__": [13, 31, 37, 39, 40, 153, 155, 156, 158], "__repr__": [26, 52, 53, 56, 109, 110, 153, 155, 156, 158], "__str__": [153, 155, 156, 158, 185, 186, 188], "__version__": [10, 167, 188], "_api_to_ui_host": 187, "_avg_degre": 48, "_avg_num_nod": 48, "_backward": [149, 150], "_backward_hook": 203, "_backward_pre_hook": 203, "_calc": 203, "_call_impl": 203, "_check_consist": 129, "_clean_up_input": 173, "_cli": [42, 183], "_compiled_call_impl": 203, "_compute_loss": [150, 151], "_compute_metr": [150, 151], "_contextlib": 203, "_create_warning_msg": 217, "_ctx_ad_bulk": 190, "_ctx_slab": 190, "_data_parallel_group": 16, "_datamodel": [185, 186, 188], "_default_adslab_filt": [188, 190, 193], "_delete_system": 190, "_enforce_consist": [128, 129], "_ensure_adsorbate_support": 190, "_ensure_model_support": 190, "_ensure_system_delet": 190, "_error_msg": [128, 129], "_expand_edg": [56, 65], "_find_combos_to_check": [154, 156], "_forward": [44, 112, 150, 151, 203], "_forward_help": [113, 115], "_forward_hook": 203, "_forward_pre_hook": 203, "_from_grid": [56, 65], "_gather": 16, "_gather_with_pad": 16, "_get_absolute_map": 20, "_get_absorbate_configs_on_slab": 190, "_get_absorbate_configs_on_slab_with_log": 190, "_get_adsorbate_configs_on_slab": 190, "_get_adsorbate_from_random": [153, 156], "_get_bulk_from_random": [155, 156], "_get_bulk_if_support": 190, "_get_connect": [171, 172], "_get_neighbors_pymatgen": [133, 134], "_get_paramet": 122, "_get_project_root": 29, "_get_projected_point": [154, 156], "_get_row": [37, 38], "_get_row_by_index": [37, 38], "_get_scaled_norm": [154, 156], "_get_slab": 190, "_get_timestamp": [149, 150], "_global_backward_hook": 203, "_global_backward_pre_hook": 203, "_global_forward_hook": 203, "_global_forward_pre_hook": 203, "_graph_parallel_group": 16, "_grid_act": [56, 65], "_h": 221, "_hasmetadata": 13, "_i": [110, 112, 203], "_import_local_fil": 29, "_incompatiblekei": 29, "_init_edge_rot_mat": [48, 50, 63, 64, 113, 115], "_init_weight": [48, 50], "_initi": 65, "_j": [110, 112], "_jd": [62, 65, 117], "_l_primari": [56, 65], "_load_adsorb": [153, 156], "_load_dataset": 13, "_load_dataset_get_id": [31, 37], "_load_id": [37, 38], "_load_scale_dict": 126, "_local_metadata": [128, 129], "_m_primari": [56, 65], "_missing_kei": [128, 129], "_new_shar": [217, 227], "_nextid": [37, 38], "_nnh": 221, "_observ": [128, 129], "_pred": 203, "_predict": 211, "_prefilled_input": 127, "_process_error": [147, 148], "_rank_edge_dist": [113, 115], "_reduc": 16, "_reduce_edg": [56, 65], "_refresh_pbar": 190, "_relax_binding_sites_on_slab": 190, "_report_incompat_kei": 29, "_reshape_featur": [133, 134], "_resolve_scale_factor_submodul": 29, "_rotat": [56, 65], "_rotate_inv": [56, 65], "_run_relaxations_on_slab": 190, "_run_request": [184, 185, 188], "_select": [37, 38], "_setup_log_record_factori": 190, "_sort_kei": [188, 192, 193], "_split": 16, "_split_tensor": 16, "_standard": [68, 81, 94], "_stat": [128, 129], "_stats_mstats_common": 221, "_strict": [128, 129], "_submit_relax": 190, "_submit_relaxations_with_progress_log": 190, "_t": 28, "_train_batch": 127, "_unexpected_kei": [128, 129], "_uniform_init_linear_weight": [48, 50], "_uniform_init_rad_func_linear_weight": [48, 50], "_unwrapped_model": [149, 150, 226], "_updat": [37, 38], "_util": [37, 42, 183], "_wait_check_retry_aft": 195, "_wrapped_call_impl": 203, "_write": [37, 38], "_write_adslab": 169, "_write_deleted_id": [37, 38], "_z_rot_mat": [62, 65, 117], "a0": 226, "a193b4c72f915ba0b21a41790696b23c": 197, "a21081f3f55eb0c98a91021bbe3dac44": 197, "a2a_graph": [92, 93, 103, 203], "a2ee2a_graph": [92, 93, 103, 203], "a2g": [203, 208, 217, 218], "a2g_arg": [31, 37, 196, 202, 204, 227], "a405ce403018bf8afbd4425d5c0b34d5": 197, "a_0": [76, 89, 104], "aa": [202, 226], "ab": [109, 110, 202, 204, 209, 212], "abc": [19, 29, 31, 121, 122, 133, 134, 149, 150], "abhishek": [197, 200, 201, 209, 212, 216, 217], "abhshkdz": 217, "abl": [202, 203, 227], "about": [5, 95, 154, 156, 184, 185, 186, 188, 190, 196, 197, 200, 202, 204, 208, 214, 217, 221, 223, 224, 226, 228, 230], "abov": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 168, 197, 204, 207, 208, 209, 211, 212, 217, 218, 219, 223, 224, 226, 227, 228, 229], "absolut": [5, 27, 29, 202, 217, 219], "absorb": [185, 186, 188], "abstract": [19, 31, 37, 39, 43, 44, 148, 149, 150], "ac": [197, 200, 202, 209, 216, 217, 221], "ac84": 212, "accedingsequencelengthbatchsampl": 13, "accedingsequencelengthsampl": 13, "acceler": [110, 182, 199, 213, 217, 229], "accept": [16, 37, 39, 45, 46, 49], "acces": 217, "access": [199, 211, 212, 217, 224, 226, 227], "accident": [5, 158], "accompani": [110, 200], "accord": [68, 81, 94, 158, 202, 217, 219], "accordingli": [197, 205, 211, 217], "account": [112, 133, 134, 217, 223], "accumul": [202, 226, 229], "accur": [158, 202, 203, 217], "accuraci": [202, 217, 219], "achiev": [11, 21, 217, 228], "across": [1, 5, 48, 50, 52, 182, 197, 198, 211, 217, 221], "acscat": [197, 209, 216, 221], "act": [13, 20, 44, 53, 56, 63, 65, 115, 118, 119], "action": [44, 110, 184, 185, 188, 193, 195, 207, 217], "activ": [42, 44, 48, 50, 61, 63, 66, 67, 69, 70, 73, 75, 79, 80, 82, 83, 86, 88, 92, 93, 96, 97, 100, 103, 107, 120, 183, 202, 205, 210, 211, 217, 221, 226, 227, 229], "active_discoveri": 20, "activediscoverytrain": 20, "actual": [197, 217, 226], "ad": [92, 93, 96, 153, 154, 156, 185, 186, 188, 193, 195, 197, 200, 208, 211, 217, 219, 220, 221, 223], "adamw": [202, 217, 227], "adapt": [29, 78, 91, 106, 111, 158, 226, 229], "add": [5, 11, 31, 46, 48, 50, 53, 56, 66, 67, 79, 80, 92, 93, 109, 110, 112, 190, 197, 202, 212, 217, 221, 223, 224], "add_additional_inform": 204, "add_adsorb": [203, 208, 214, 217, 218, 219, 223], "add_core_arg": 15, "add_edge_distance_to_graph": 29, "addfilt": 227, "addhandl": 227, "addit": [5, 31, 37, 48, 50, 110, 182, 196, 197, 202, 208, 212, 219, 220, 223, 224], "addition": [29, 208, 217, 220], "address": [31, 37, 158, 168, 196, 217], "adeesh": [200, 209, 217], "adequ": [224, 228], "adj_edg": 95, "adjac": [5, 95], "adjust": [202, 228], "administr": 205, "ado": 202, "adopt": 217, "adorb": 212, "adosrb": 200, "ads0": 169, "ads1": 169, "ads_id": 197, "ads_len": 224, "ads_symbol": [197, 200], "adslab": [169, 188, 190, 192, 193, 208, 212, 217, 218, 219, 221, 224], "adslab_filt": [188, 190, 193, 212], "adslab_obj": 169, "adsorb": [2, 5, 92, 93, 152, 154, 156, 157, 158, 163, 167, 169, 171, 172, 183, 184, 185, 186, 188, 193, 198, 200, 208, 209, 210, 211, 214, 217, 218, 219, 222, 223, 228, 229], "adsorbate1": 5, "adsorbate2": 5, "adsorbate_atom": [153, 154, 156], "adsorbate_binding_index": 224, "adsorbate_binding_indic": [153, 156], "adsorbate_c": [154, 156], "adsorbate_c2": [154, 156], "adsorbate_config": [184, 185, 186, 188, 190], "adsorbate_db": [153, 156], "adsorbate_db_path": [6, 8, 153, 156, 221, 228], "adsorbate_h": 221, "adsorbate_id_from_db": [153, 156, 228], "adsorbate_idx": [154, 156], "adsorbate_index": 169, "adsorbate_info": [217, 219], "adsorbate_nnh": 221, "adsorbate_pkl_path": [153, 156, 160, 228], "adsorbate_react": [185, 186, 188], "adsorbate_reference_energi": [217, 219], "adsorbate_slab_config": [5, 152, 156, 167, 183], "adsorbate_slab_configur": 154, "adsorbate_smil": 224, "adsorbate_smiles_from_db": [153, 156, 221, 224], "adsorbate_smiles_h": 221, "adsorbate_smiles_nnh": 221, "adsorbatebindingsit": [188, 190, 193, 212], "adsorbates_support": [185, 186, 188, 212], "adsorbatesexcept": [188, 190, 193], "adsorbatesitefind": [154, 156, 157], "adsorbateslabconfig": [154, 156, 157, 184, 185, 186, 188, 190, 192, 193, 221, 224, 228], "adsorbateslabrelax": [188, 190, 193], "adsorbateslabrelaxationresult": [185, 186, 188, 190, 193, 212], "adsorbateslabrelaxationsrequest": [184, 185, 186, 188], "adsorbateslabrelaxationsresult": [184, 185, 186, 188], "adsorbateslabrelaxationssystem": [184, 185, 186, 188], "adsorbml": [198, 212, 216, 221], "adsorbml_walkthrough": 215, "adsorbt": 219, "adsorpt": [1, 5, 168, 197, 198, 200, 203, 208, 209, 210, 211, 212, 219, 221, 229], "adsorption_data": 176, "adsorption_data_defect": 176, "adsorption_energi": [217, 219], "adsorption_sit": [197, 198], "advanc": [215, 217, 227], "advantag": [211, 217, 224], "advis": [31, 37, 202], "aecc5e23542de49beceb4b7e44c153b9": 197, "aed414cdd240fbb5670b5de6887a138b": 197, "af": 228, "af9817f0aff": 216, "affect": [122, 154, 156, 157, 197, 217, 218, 221, 223], "affili": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207], "affin": [33, 52, 158, 168], "after": [12, 44, 48, 50, 61, 66, 67, 73, 75, 78, 79, 80, 86, 88, 91, 92, 93, 96, 100, 103, 106, 111, 122, 153, 156, 188, 193, 195, 203, 210, 211, 212, 221, 224, 226], "ag": [202, 204, 223, 227], "ag36pd12": 221, "ag3cu": 221, "ag3mo": 221, "ag3pd": 221, "again": [185, 186, 188, 202, 217], "against": [184, 185, 188], "agcu3": 221, "agg": [217, 219], "agg2_out_s": [99, 103], "aggr": 110, "aggr_kwarg": 110, "aggreg": [51, 63, 66, 67, 69, 79, 80, 82, 92, 93, 95, 96, 99, 110, 112, 113, 115, 117, 210], "aghf3": 221, "agmo3": 221, "ago": 229, "agreement": [166, 202, 223], "agta3": 221, "ahead": 217, "ai": [217, 220], "aim": 217, "aini": [168, 197, 209, 212, 216, 217], "air": 216, "aka": 226, "akiai266r7v6o36o5jua": 204, "akolluru": 217, "al": [109, 110, 217, 221], "alert": 203, "algo": 158, "algorithm": [158, 204, 217], "align": [5, 158, 168], "all": [1, 2, 5, 13, 16, 21, 27, 29, 31, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 53, 55, 56, 61, 63, 66, 67, 70, 79, 80, 83, 92, 93, 95, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 141, 154, 156, 157, 158, 163, 168, 169, 184, 185, 186, 188, 190, 192, 193, 196, 197, 198, 200, 201, 202, 203, 204, 205, 207, 209, 210, 211, 214, 216, 217, 218, 219, 222, 223, 224, 226, 227, 228, 229], "all_converg": 11, "all_gath": 14, "all_reduc": 14, "all_slabs_info": [158, 168], "all_system": 5, "all_system_energi": 5, "all_systems_binding_idx": 5, "alloc": 203, "alloi": 222, "allow": [5, 11, 29, 31, 37, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 106, 110, 115, 116, 118, 119, 124, 128, 129, 171, 172, 184, 185, 188, 190, 193, 199, 202, 217, 218, 223, 227, 228], "allow_calcul": 203, "allow_pickl": 204, "allow_shared_calcul": [6, 7], "allowed_model": [188, 190, 193], "allowed_radius_max": 5, "allowed_radius_min": 5, "allpop": 180, "along": [5, 48, 50, 51, 61, 110, 154, 156, 157, 158, 164, 185, 186, 188, 199, 200, 201, 208, 217], "alpha": [25, 48, 50, 61, 62, 65, 117, 202, 211, 217], "alpha_drop": [48, 50, 61], "alreadi": [2, 107, 108, 154, 155, 156, 169, 185, 186, 188, 196, 203, 223, 227], "also": [1, 11, 16, 37, 39, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 153, 156, 158, 168, 185, 186, 188, 196, 198, 201, 202, 203, 204, 205, 209, 211, 212, 215, 217, 218, 223, 224, 226, 227, 229], "altern": [204, 211, 212, 217, 219, 223, 224, 227], "although": [110, 196, 202, 211, 217], "alwai": [13, 109, 110], "am": 224, "am4059149": 202, "amazonaw": 204, "ambigu": 203, "amedford6": 174, "ammar": [200, 209], "ammonia": 217, "among": [212, 224], "amongst": [48, 50, 92, 93], "amount": [195, 223], "amp": [57, 58, 101, 149, 150, 151, 202, 203, 204, 217, 227], "amsgrad": [202, 217, 227], "amz": 204, "an": [0, 1, 2, 5, 13, 16, 20, 27, 29, 31, 37, 39, 43, 44, 45, 46, 49, 52, 53, 55, 56, 63, 70, 83, 97, 104, 106, 110, 115, 116, 118, 119, 122, 124, 128, 129, 133, 134, 149, 150, 153, 154, 155, 156, 158, 162, 166, 168, 171, 172, 180, 184, 185, 186, 188, 190, 192, 193, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 208, 211, 212, 213, 214, 215, 216, 218, 219, 223, 224, 226, 227, 229], "analogi": 110, "analys": [2, 221], "analysi": [197, 221, 227], "analyz": [211, 217, 221], "anatas": 202, "anatomi": 199, "andrew": [168, 173, 201, 209, 217], "ang": 228, "ang_mom": 29, "angl": [26, 62, 65, 66, 67, 75, 79, 80, 88, 92, 93, 103, 106, 117, 156, 157, 217], "angle_ab": 106, "angle_cab": 106, "angle_cabd": [92, 93, 203], "angstom": [133, 134], "angstrom": [48, 50, 63, 64, 66, 67, 76, 79, 80, 89, 92, 93, 104, 113, 115, 133, 134, 154, 156, 157, 158, 217, 226], "angular": 29, "ani": [2, 5, 13, 16, 21, 29, 31, 37, 39, 40, 44, 110, 153, 154, 155, 156, 158, 171, 172, 184, 185, 188, 190, 191, 192, 193, 195, 197, 199, 200, 201, 203, 205, 207, 209, 210, 211, 212, 217, 218, 223, 227], "anim": 219, "anl": 223, "annoi": 227, "annot": 221, "announc": 216, "anom": [221, 224], "anomali": [2, 197, 224], "anomalies_by_sid": 2, "anomol": [221, 224], "anoth": [158, 199, 203, 210, 217, 219, 226], "answer": [203, 210], "anuroop": [197, 200, 201, 209, 216, 217], "anyth": 226, "apart": 217, "api": [184, 185, 186, 187, 188, 190, 193, 195, 212], "api_host": [185, 187, 188, 190, 193], "appear": [197, 229], "append": [57, 58, 110, 150, 151, 204, 217, 218, 221, 224, 226, 228], "appl": 202, "appli": [5, 11, 16, 31, 37, 46, 112, 190, 217, 219], "applic": [5, 57, 58, 110, 150, 151, 199, 208, 216, 217, 219, 226, 228, 229], "apply_constraint": [25, 203, 217, 219], "apply_one_tag": [31, 37], "approach": [202, 204, 211, 214, 216, 217, 221, 224, 228, 229], "appropri": [29, 31, 37, 133, 134, 158, 205], "approxim": [48, 50, 63, 64, 113, 115, 217, 219], "apt": 5, "aquisit": 198, "ar": [0, 1, 2, 5, 11, 12, 13, 16, 21, 29, 31, 37, 38, 39, 40, 45, 46, 48, 49, 50, 52, 53, 57, 58, 66, 67, 68, 71, 79, 80, 81, 84, 92, 93, 94, 95, 98, 109, 110, 122, 133, 134, 136, 150, 151, 153, 154, 156, 157, 158, 164, 168, 173, 184, 185, 186, 188, 190, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 209, 211, 212, 214, 216, 217, 219, 221, 223, 224, 226, 227, 228, 229], "arbitrari": [16, 29, 180, 208, 216, 217, 219], "arbitrarili": [0, 1, 48, 50, 92, 93], "arbitrarli": 218, "architectur": [210, 217, 229], "are_all_adsorbate_atoms_overlap": 5, "area": 217, "aren": 221, "arg": [2, 12, 16, 29, 31, 37, 38, 48, 50, 92, 93, 141, 142, 143, 144, 145, 146, 166, 168, 169, 173, 185, 186, 188, 190, 193, 203, 217, 224, 227], "argpars": [15, 136, 141, 143, 144, 146, 169], "args_overrid": [29, 227], "argsort": [13, 204], "argument": [12, 13, 16, 29, 31, 37, 46, 56, 70, 71, 83, 84, 97, 98, 110, 112, 129, 158, 168, 173, 196, 197, 202, 211, 214, 217, 218, 219, 221, 227], "argumentpars": [15, 136, 144, 146], "aris": [44, 110, 207, 217], "arosen93": 36, "around": [5, 26, 112, 133, 134, 182, 188, 190, 193, 218, 226, 227, 228, 229], "arrai": [133, 134, 202, 203, 204, 217, 219, 224, 226, 229], "arriv": [217, 219], "art": [217, 223, 229], "articl": [197, 200, 201, 202, 209, 212, 216], "arxiv": [109, 110, 201, 209, 212, 216, 217, 223], "ascii": [37, 39, 40, 208, 217], "asctim": 227, "ase": [5, 6, 7, 11, 21, 27, 31, 37, 38, 133, 134, 136, 153, 154, 155, 156, 158, 161, 168, 171, 172, 173, 185, 186, 188, 196, 197, 199, 202, 203, 204, 208, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "ase_atom": 212, "ase_dataset": [37, 42, 183], "ase_db": [27, 196, 202, 204, 227], "ase_read": 196, "ase_read_arg": [31, 37, 196], "ase_read_multi": 196, "ase_relax": 182, "ase_relax_job": 182, "ase_util": [18, 22, 42, 183, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228], "aseatomsadaptor": 133, "aseatomsdataset": [31, 37], "asedbdataset": [31, 37], "aselmdbdataset": [31, 37], "aseneb": [6, 7], "asereaddataset": [31, 37], "asereadmultistructuredataset": [31, 37], "ask": [21, 212], "assert_is_inst": 28, "assess": [5, 11, 171, 172, 198, 199, 221, 224], "asset": 216, "assign": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 106, 110, 112, 115, 116, 118, 119, 124, 128, 129, 185, 186, 188, 191, 208, 217], "associ": [1, 44, 71, 84, 98, 99, 110, 200, 207, 217, 229], "associated_legendre_polynomi": [71, 84, 98], "assum": [29, 31, 37, 45, 52, 154, 156, 185, 186, 188, 196, 212, 217, 224], "assumpt": [37, 38], "async": [184, 185, 188, 190, 192, 193], "async_op": 14, "asyncgener": 190, "asynchron": [184, 185, 188], "asyncio": 212, "atct": 223, "atom": [5, 11, 13, 21, 25, 29, 31, 32, 33, 37, 38, 44, 48, 50, 51, 61, 63, 64, 66, 67, 69, 73, 75, 78, 79, 80, 82, 86, 88, 91, 92, 93, 95, 96, 99, 100, 103, 106, 109, 110, 112, 113, 115, 133, 134, 153, 154, 155, 156, 157, 158, 165, 166, 168, 171, 172, 173, 180, 182, 184, 185, 186, 188, 190, 193, 197, 198, 200, 201, 202, 204, 208, 210, 211, 214, 220, 221, 223, 224, 227, 229], "atom_dist": [29, 106], "atom_edge_embed": [48, 50], "atom_edge_interact": [92, 93, 103, 202, 203, 217, 227], "atom_emb": [203, 217], "atom_emb_s": 217, "atom_featur": [73, 86, 100], "atom_interact": [92, 93, 103, 202, 217, 227], "atom_tag": 224, "atom_upd": [69, 82, 217], "atom_update_block": [67, 74, 80, 87, 93, 102, 107, 183], "atomembed": [73, 86, 100, 217], "atomic_numb": [51, 61, 63, 115, 133, 134, 203, 208, 217, 218], "atomic_radii": [34, 37, 42, 183], "atomist": [217, 219, 226, 229], "atoms_collect": [133, 134], "atoms_fin": 2, "atoms_init": 2, "atoms_len": 41, "atoms_list": [41, 221, 224, 228], "atoms_tag": [171, 172], "atoms_til": 158, "atoms_to_graph": [42, 134, 183, 218], "atoms_transform": [31, 37], "atoms_transform_arg": [31, 37], "atomsrow": [37, 38], "atomstograph": [31, 37, 133, 134, 217, 218], "atomupdate_2_sum": 217, "atomupdate_3_sum": 217, "atomupdate_4_sum": 217, "atomupdate_5_sum": 217, "atomupdateblock": [69, 82, 96], "atomwisel2loss": 124, "attach": 202, "attempt": [31, 37, 184, 185, 188, 190, 193, 195], "attent": [48, 50, 52, 61, 110], "attn_activ": [48, 50, 61], "attn_alpha_channel": [48, 50, 61], "attn_alpha_head": [48, 50, 61], "attn_hidden_channel": [48, 50, 61], "attn_value_channel": [48, 50, 61], "attn_value_head": [48, 50, 61], "attribut": [13, 21, 43, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 185, 186, 197, 200, 201, 208, 209, 217], "au": 204, "au106": 204, "au14": 204, "au15": 204, "au18": 204, "au25": 204, "au26": 204, "au33": 204, "au34": 204, "au4": 204, "au43": 204, "au46": 204, "au51": 204, "au53": 204, "au55": 204, "au6": 204, "au8": 204, "au9": 204, "audienc": [206, 220], "augment": [154, 156, 223], "auhf3": 221, "author": [44, 110, 168, 173, 197, 200, 201, 207, 209, 212, 216, 217], "auto": [183, 215, 226], "autoapi": 183, "autocast": 203, "autofram": [6, 10, 183, 228], "autoframedesorpt": 5, "autoframedissoci": [5, 228], "autoframetransf": 5, "autograd": 16, "autom": [204, 208, 221, 223, 224], "automat": [16, 57, 58, 110, 113, 115, 117, 150, 151, 202, 203, 212, 214, 217, 228], "autonotebook": 226, "auxiliari": [37, 38], "avail": [1, 38, 110, 185, 186, 188, 190, 193, 197, 200, 201, 205, 208, 209, 210, 211, 214, 217, 221, 229], "available_pretrained_checkpoint": [107, 108], "available_pretrained_model": [107, 108, 204, 214, 229], "averag": [14, 48, 50, 122, 210, 228], "average_distance_within_threshold": 121, "avg_degre": [48, 50], "avg_num_nod": [48, 50], "avoid": [5, 31, 37, 196, 197, 202, 203, 204, 212, 214, 217, 221, 223, 224, 227], "awai": [113, 115, 156, 157, 217], "await": [188, 190, 193, 204, 212, 217], "awar": [196, 217], "aws4": 204, "aws4_request": 204, "ax": [26, 174, 214, 217, 219, 221, 223, 226], "ax1": [221, 226], "ax2": [221, 226], "axi": [26, 106, 110, 203, 208, 217, 218, 219, 221], "axvlin": 226, "azur": 229, "b": [16, 29, 66, 67, 79, 80, 92, 93, 95, 106, 158, 174, 185, 186, 188, 204, 205, 212, 217, 221, 223, 226], "b07c64158e4bfa5f7b9bf6263753ecc5": 198, "b12b706854f5d899e02a9ae6578b5d45": 197, "b2": [204, 209, 214, 229], "b35dc24e99ef3aeaee6c5c949903de94": 200, "b703": 216, "back": [191, 195, 212], "backend": [31, 37, 38, 196], "background": [206, 220], "backoff_factor": 101, "backpropag": [92, 93], "backward": [16, 131, 153, 156], "bader": 229, "balanc": [211, 217], "balanced_partit": 13, "balancedbatchsampl": [13, 149, 150], "band": [113, 115, 117], "bar": [31, 37, 190], "bare": [197, 217, 219], "barrier": 11, "barrierless": 11, "barrierless_converg": 11, "base": [5, 6, 7, 12, 13, 16, 19, 21, 23, 29, 31, 37, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 96, 97, 99, 100, 103, 104, 105, 107, 109, 110, 112, 113, 115, 116, 117, 118, 119, 124, 128, 129, 147, 148, 149, 150, 151, 156, 157, 183, 184, 185, 186, 188, 190, 193, 195, 196, 197, 200, 202, 211, 212, 216, 217, 223, 226, 227, 229], "base_config": 29, "base_joint": 211, "base_lay": [67, 74, 80, 82, 87, 93, 102, 107, 183], "base_train": [42, 127, 150, 151, 183], "basedata": [37, 39], "basedataset": 20, "baselin": [197, 217], "basemodel": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 203], "bases_a2": [103, 203], "bases_e2": [103, 203], "bases_e2a": [103, 203], "bases_qint": [103, 203], "basetask": [20, 147, 148], "basetrain": [127, 149, 150, 151], "bash": 217, "basi": [42, 44, 48, 50, 63, 64, 66, 67, 71, 72, 75, 76, 77, 79, 80, 84, 85, 88, 89, 90, 92, 93, 96, 98, 99, 100, 103, 104, 105, 107, 113, 115, 120, 182, 183, 197, 217], "basic": 217, "basis_a2a_rad": [103, 203], "basis_atom_upd": [103, 203], "basis_cir_qint_raw": 203, "basis_emb_s": 44, "basis_output": 203, "basis_rad": 96, "basis_rad_a2ee2a_raw": 203, "basis_rad_cir_qint_raw": 203, "basis_rad_raw": 203, "basis_rad_sph_qint_raw": 203, "basis_sph_qint_raw": 203, "basis_typ": 119, "basis_util": [67, 74, 80, 87, 93, 102, 107, 183], "basis_width_scalar": [63, 64, 113, 115, 116], "basisembed": 99, "batch": [13, 21, 23, 25, 29, 37, 39, 44, 46, 56, 61, 65, 112, 127, 150, 151, 185, 186, 188, 203, 210, 211, 217, 228], "batch_idx": [92, 93, 109, 110], "batch_siz": [6, 7, 13, 124, 149, 150, 199, 202, 203, 217, 227, 228], "batch_to_atom": 21, "bb": 29, "bb4a01956736399c8cee5e219f8c1229": 197, "bbox_to_anchor": 202, "bc74b6474a13542cc56eaa97bd51adfc": 197, "bc7c55330ece006d09496a5ff01d5d50": 197, "bcada432482f6e87b24e14b6b744992a": 197, "becaus": [184, 185, 188, 199, 201, 203, 208, 211, 217, 221, 223, 224], "becker": 217, "becom": [158, 168, 190, 203], "been": [11, 21, 37, 38, 154, 184, 185, 186, 188, 190, 193, 202, 203, 204, 208, 213, 214, 216, 217, 221, 223, 224, 227, 228, 229], "befor": [43, 44, 45, 46, 49, 52, 56, 66, 67, 70, 75, 79, 80, 83, 88, 92, 93, 96, 97, 103, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 184, 185, 188, 190, 193, 196, 197, 212, 217], "began": 229, "begin": [208, 217], "behav": 217, "behavior": [29, 31, 166], "being": [5, 29, 60, 184, 185, 186, 187, 188, 190, 193, 195, 197, 199, 211, 212, 219, 229], "belong": 199, "below": [11, 29, 106, 197, 202, 203, 204, 208, 211, 212, 217, 219, 223, 224, 227, 228], "benchmark": 217, "beneath": [217, 219], "benefici": 217, "benefit": 217, "bernstein": [76, 89, 104], "bernsteinbasi": [76, 89, 104], "besid": [31, 37], "bess_basi": [71, 84, 98], "bessel": [71, 76, 77, 84, 89, 90, 98, 104, 105], "bessel_basi": [71, 84, 98], "best": [0, 1, 16, 202, 226], "best_checkpoint": [202, 217], "best_checpoint": 217, "best_dft_energi": [0, 1], "best_ml_dft_energi": 1, "best_pred_energi": 0, "beta": [62, 65, 117], "better": [31, 37, 68, 81, 92, 93, 94, 104, 105, 136, 202, 204, 217, 218, 223, 227], "between": [5, 29, 31, 37, 48, 50, 63, 64, 78, 91, 92, 93, 94, 95, 106, 113, 115, 133, 134, 154, 156, 157, 188, 190, 193, 203, 210, 217, 218, 221, 223, 229], "beyond": [216, 217], "bfaf689e5827fcf26c51e567bb8dd1b": 197, "bfb6e03d4a687987ff68976f0793cc46": 197, "bfg": [199, 203, 208, 214, 217, 218, 221, 223, 224, 228], "bi": 217, "bia": [45, 56, 70, 83, 97, 217], "bias": 217, "bigger": 23, "biggest": 223, "bigoplu": 110, "bigoplus_": 110, "bilinear": [66, 67, 72, 75, 79, 80, 85, 88, 92, 93, 99, 103], "billion": 217, "bimetal": 221, "bin": [174, 204, 208, 217, 229], "bin_plot": 174, "binari": [133, 134, 204, 217], "bind": [5, 153, 154, 156, 157, 171, 172, 184, 185, 188, 190, 193, 197, 198, 212, 217, 223], "binding_idx": 153, "binding_indic": 224, "binned_averag": 174, "blob": [38, 182, 209, 218, 226], "block": [33, 44, 46, 48, 50, 55, 63, 64, 66, 67, 69, 70, 73, 75, 78, 79, 80, 82, 83, 86, 88, 91, 92, 93, 96, 97, 100, 103, 106, 110, 111, 112, 113, 115, 184, 185, 188, 190, 193, 203, 204, 217, 226], "block_inc": [78, 91, 106, 111], "bluish": 226, "bo": 202, "bo2": 202, "board": [210, 216], "bodi": [184, 185, 188], "boe": 204, "bohr": 202, "boilerpl": 217, "bond": [5, 171, 172, 229], "bond_feat_dim": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 217], "bool": [0, 5, 11, 12, 13, 14, 16, 19, 20, 21, 23, 25, 29, 31, 37, 38, 39, 41, 43, 44, 45, 46, 48, 49, 50, 51, 52, 55, 56, 57, 58, 61, 63, 64, 66, 67, 69, 70, 71, 77, 78, 79, 80, 82, 83, 84, 90, 91, 92, 93, 95, 96, 97, 98, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 116, 118, 119, 122, 124, 128, 129, 130, 133, 134, 135, 149, 150, 151, 154, 155, 156, 158, 171, 172, 184, 185, 186, 188, 190, 193, 217, 218], "bool_matrix": 224, "boolean": [2, 11, 16, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 158, 168, 197, 198, 217, 219], "borrow": [20, 44, 216], "both": [11, 13, 45, 46, 49, 52, 92, 93, 103, 109, 110, 158, 169, 188, 190, 193, 197, 200, 211, 214, 217, 219], "both_barri": 11, "both_barrierless": 11, "bottleneck": 196, "bottom": [156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 217, 219], "bound": 5, "boundari": [48, 50, 63, 64, 78, 91, 92, 93, 106, 112, 113, 115, 133, 134], "box": [217, 219], "brabson": [201, 209], "branch": 226, "brandon": [197, 200, 209, 212, 216, 217], "breach": [184, 185, 188], "breadth": 213, "break": [5, 171, 172, 217], "breviti": [221, 224, 228], "bridg": [154, 156, 157, 221, 223], "broadcast": 14, "broken": [197, 200, 217], "brook": 212, "brookit": 202, "browser": [202, 227], "broyden": 217, "brute": 217, "budget": 217, "buffer": 229, "bug": [166, 197], "build": [44, 66, 67, 79, 80, 92, 93, 203, 204, 205, 208, 214, 217, 218, 219, 223, 226, 227, 229], "build_config": [29, 217, 227], "built": [48, 50], "bulk": [2, 29, 92, 93, 152, 156, 158, 167, 168, 169, 183, 184, 185, 186, 188, 190, 193, 197, 198, 199, 200, 203, 208, 217, 218, 219, 221, 223, 224, 228], "bulk0": 169, "bulk1": 169, "bulk_atom": [155, 156, 158, 168], "bulk_cn": 158, "bulk_cn_dict": 158, "bulk_databas": 168, "bulk_db": [155, 156], "bulk_db_path": [155, 156, 221, 228], "bulk_id": [197, 200, 221], "bulk_id_from_db": [155, 156], "bulk_ind": 169, "bulk_index": [168, 169], "bulk_mpid": 197, "bulk_pkl": 168, "bulk_pkl_path": [155, 156, 160, 228], "bulk_src_id": [185, 186, 188, 221, 224], "bulk_src_id_from_db": [155, 156, 221, 224, 228], "bulk_symbol": [197, 200], "bulk_vasp_flag": 173, "bulkier": 217, "bulks_support": [185, 186, 188, 212], "bump": 226, "bwood": 217, "byte": [197, 198, 199, 200, 201], "c": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 52, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 154, 167, 185, 186, 188, 197, 198, 200, 202, 204, 205, 207, 209, 212, 216, 217, 219, 221, 223, 226, 228], "c05289fd56d64c74306ebf57f1061318": 197, "c18735c405ce6ce5761432b07287d8d9": 198, "c2h6": 226, "c3h8": [217, 219], "c4c9": 204, "c7f383b50faa6244e265c9611466cb8f": 197, "c8742faa8ca40e8edb4110069817fa70": 197, "c_index": [133, 134], "caca0058b641bfdc9f8de4527e60feb7": 197, "cach": [107, 108, 217, 229], "cache_sorted_by": 2, "cait": 52, "calc": [11, 181, 202, 203, 204, 214, 221, 223, 224, 226, 227, 228], "calc_forc": 101, "calc_forces_and_upd": 101, "calc_kwarg": 182, "calc_tim": 204, "calcspherepoint": 114, "calcspherepointsrandom": 114, "calcuat": 201, "calcul": [1, 5, 11, 13, 21, 37, 39, 40, 51, 61, 71, 78, 84, 91, 92, 93, 98, 101, 106, 117, 157, 158, 164, 166, 169, 173, 182, 185, 186, 188, 190, 193, 197, 198, 199, 202, 203, 208, 211, 212, 214, 218, 219, 220, 221, 224, 226, 227, 228, 229], "calculate_center_of_mass": 158, "calculate_coordination_of_bulk_atom": 158, "calculate_interatomic_vector": [78, 91, 106], "calculate_quad_angl": [92, 93, 203], "calculate_surface_k_point": 173, "caleb": [197, 209, 216, 217], "calibr": 223, "call": [11, 16, 21, 29, 43, 44, 45, 46, 49, 52, 56, 60, 70, 83, 97, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 169, 184, 185, 188, 190, 193, 195, 202, 203, 210, 212, 217, 226, 229], "callabl": [12, 31, 37, 40, 69, 72, 82, 85, 96, 188, 190, 193], "caller": [190, 191], "can": [1, 13, 16, 20, 21, 29, 31, 37, 38, 43, 44, 45, 46, 48, 49, 50, 52, 53, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 136, 150, 151, 156, 157, 158, 168, 169, 184, 185, 186, 187, 188, 190, 193, 196, 197, 198, 200, 201, 202, 204, 205, 206, 209, 210, 211, 212, 216, 217, 218, 219, 220, 221, 223, 224, 226, 227, 228, 229], "cancel": 190, "candid": [5, 190, 202, 217, 221], "cannot": [56, 185, 186, 188, 203, 217, 219], "capabl": [217, 229], "capac": 203, "caption": 19, "captur": [203, 204, 211, 216, 217, 226, 227], "carbon": [217, 226], "care": [95, 203, 217, 223], "carnegi": 217, "carri": [217, 219, 227], "cartesian": [71, 84, 98, 185, 186, 188, 197, 198, 229], "case": [0, 1, 5, 13, 29, 31, 37, 110, 154, 156, 157, 190, 196, 199, 208, 211, 212, 217], "cat": [202, 211, 217], "catalyast": 217, "catalysi": [197, 198, 199, 200, 209, 214, 216, 217, 221, 229], "catalyst": [141, 154, 156, 184, 185, 188, 211, 212, 216, 218, 219, 220, 229], "catalyt": 221, "catchal": 186, "categori": 217, "cattsunami": [183, 199], "cattsunami_walkthrough": 215, "caus": [184, 185, 188, 202, 203, 204, 221, 227], "cbf": [66, 67, 77, 79, 80, 90, 92, 93, 99, 105, 202, 217, 227], "cbf3": [75, 88], "cbf_basis_qint": 203, "cc668fecf679b6edaac8fd8fb9cdd404": 197, "ccai": 217, "cch": 197, "cch2": 197, "cch2oh": 197, "cch3": 197, "ccho": 197, "cchoh": 197, "cco": 197, "cd": [205, 217], "cell": [5, 21, 29, 95, 121, 133, 134, 154, 158, 168, 173, 185, 186, 188, 197, 202, 203, 208, 212, 218, 221, 226, 227, 228], "cell_offset": [29, 44, 66, 67, 79, 80, 95, 106, 109, 110, 111, 208, 217, 218], "center": [5, 52, 133, 134, 154, 156, 157, 158, 202, 208, 217, 218, 219, 224], "center_coordin": 5, "central": [20, 154, 216, 229], "centuri": 217, "certain": [29, 31, 217, 219], "certainli": 204, "cf51128f8522b7b66fc68d79980d6def": 197, "cfc04dd2f87b4102ab2f607240d25fb1": 197, "cg_change_mat": 29, "cgcnn": [20, 33, 35, 36, 204, 209, 214, 216, 229], "cgcnnconv": 20, "ch": 197, "ch2": 197, "ch2ch2oh": 197, "ch2ch3": 197, "ch2oh": 197, "ch3": [197, 226], "ch3ch2oh": 226, "ch3oh": 226, "ch4": [197, 203], "ch_dissoc_on_ru_": 228, "ch_dissoc_on_ru_0": 228, "ch_dissoc_on_ru_0001": 228, "challeng": [141, 197, 200, 201, 209, 211, 216, 217], "chang": [5, 12, 21, 29, 46, 158, 168, 171, 172, 196, 202, 210, 211, 216, 217, 220, 221, 223, 224, 226, 227, 228], "channel": [48, 50, 51, 52, 54, 55, 56, 61, 63, 64, 65, 112, 113, 115, 117], "channels_list": 54, "chanussot": [197, 209, 216, 217], "charg": [21, 44, 110, 180, 182, 202, 204, 207, 217, 227, 229], "chch2": 197, "chch2oh": 197, "chcho": 197, "chchoh": 197, "chco": 197, "chcoh": 197, "check": [0, 1, 3, 5, 13, 154, 156, 165, 166, 185, 186, 188, 190, 193, 195, 199, 202, 205, 208, 210, 217, 218, 221, 224, 230], "check_converg": 25, "check_immedi": [188, 190, 193], "check_traj_fil": 29, "checker": 13, "checkpoint": [12, 21, 27, 29, 48, 50, 107, 108, 149, 150, 163, 166, 197, 203, 204, 209, 210, 211, 214, 223, 224, 227, 228], "checkpoint_dir": [29, 138, 139, 202, 217], "checkpoint_fil": [29, 149, 150], "checkpoint_path": [6, 7, 21, 27, 149, 150, 199, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "checksum": [197, 198, 199, 200, 201], "chem": [204, 205, 209, 217, 223, 226], "chem_err": 174, "chemic": [185, 186, 188, 197, 198, 200, 216, 217], "chemistri": [206, 213, 216, 217], "child": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 228], "chmiela": [76, 89, 104], "cho": 197, "choch2oh": 197, "chochoh": 197, "choh": 197, "chohch2": 197, "chohch2oh": 197, "chohch3": 197, "chohchoh": 197, "choi": [201, 209], "choic": [29, 204, 217], "choos": [169, 188, 192, 193, 202, 204, 214, 218, 226, 229], "chosen": [5, 136, 197, 198], "chunk": 13, "chunk_idx": 204, "cif": [31, 37, 196], "circular": [66, 67, 75, 79, 80, 88, 92, 93, 99, 103, 105], "circular_basi": 203, "circularbasislay": [77, 90, 105], "cite": 209, "cl": 28, "claim": [44, 110, 207, 217], "clariti": [217, 219], "class": [197, 199, 210, 212, 217, 218, 227, 228], "classic": 219, "classif": 197, "classmethod": [20, 156, 158], "classvar": [20, 21, 121], "clean": [198, 202, 209, 210], "cleaner": 11, "cleanli": [31, 37], "cleanup": [14, 135], "cleanup_gp": 16, "clear": 226, "click": 229, "client": [183, 188, 190, 192, 193, 212], "climat": 220, "climb": [6, 7, 199, 228], "clip_grad_norm": [202, 217, 227], "clone": [56, 65, 82, 217], "close": [37, 38, 158, 203, 208, 217, 219, 226], "close_db": [31, 37, 39, 40], "closer": [202, 203, 217, 219], "closest": [5, 154, 156, 157, 226], "cls_method": 203, "cluster": [204, 211, 225], "cm": 197, "cmap": 226, "cmd": [202, 204, 227], "cmp": [37, 38], "cmu": [168, 173, 204, 217], "cn": 197, "co": [197, 203, 217, 219, 220, 223, 224], "coch2o": 197, "coch2oh": 197, "coch3": 197, "cocho": 197, "code": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 136, 137, 140, 141, 143, 148, 149, 151, 167, 188, 197, 200, 201, 210, 216, 221, 225, 226, 228], "codebas": [209, 210, 216, 217], "coeff": 217, "coeffici": [55, 56, 63, 65, 76, 89, 104, 202, 217, 227], "coefficient_idx": [56, 65], "coefficientmap": 65, "coefficientmappingmodul": [51, 55, 56, 61], "coh": 197, "coh4": 226, "cohch2oh": 197, "cohch3": 197, "cohcho": 197, "cohchoh": 197, "cohcoh": 197, "colab": 220, "collabor": 216, "collat": [29, 133, 134, 217, 227], "collate_and_sav": [133, 134], "collect": [29, 121, 122, 133, 134, 149, 150, 217], "collid": 217, "color": [217, 226], "colorbar": 226, "columbit": 202, "column": [37, 38, 217, 219], "com": [44, 78, 91, 106, 111, 182, 184, 185, 188, 197, 198, 200, 204, 205, 209, 211, 212, 216, 217, 218, 226], "combin": [5, 16, 21, 48, 50, 69, 70, 82, 83, 96, 97, 154, 156, 157, 158, 198, 202, 217, 223], "combinatori": [156, 157], "combineyrot": 117, "combo": 224, "come": [166, 202, 217, 218], "command": [169, 197, 202, 203, 204, 205, 220, 227], "comment": 204, "commit": [208, 217, 229], "common": [42, 110, 131, 133, 134, 149, 150, 183, 197, 200, 201, 202, 204, 209, 214, 217, 221, 223, 224, 226, 227, 228, 229], "commonli": 217, "commun": [197, 209, 216, 217], "communn": 217, "comp": 221, "compar": [0, 1, 5, 202, 222, 223, 224, 226], "comparison": [204, 223], "compat": [5, 16, 42, 48, 50, 123, 128, 131, 153, 156, 183, 217, 221, 229], "complet": [29, 182, 211, 217], "complete_data": 176, "complete_data_merged_defect": 176, "complete_data_merged_defective_co2": 176, "complete_data_merged_defective_co_ad": 176, "complete_data_merged_defective_co_ads_2": 176, "complete_data_merged_defective_h2o": 176, "complete_data_merged_pristin": 176, "complete_data_merged_pristine_co2": 176, "complete_data_merged_pristine_co_ad": 176, "complete_data_merged_pristine_co_ads_2": 176, "complete_data_merged_pristine_h2o": 176, "complex": 223, "complex_idx": [56, 65], "compli": 5, "complic": 224, "compon": [48, 50, 52, 55, 61, 158, 168], "composit": [197, 198, 200, 202, 221, 229], "comprehens": [216, 220], "compress": [53, 197, 198, 199, 200, 201], "compressed_dir": 135, "compris": [198, 199], "compromis": 202, "compscienc": 110, "comput": [0, 1, 3, 16, 31, 37, 39, 40, 48, 50, 63, 64, 71, 84, 98, 110, 112, 113, 115, 122, 196, 197, 198, 201, 204, 206, 210, 212, 213, 217, 218, 221, 223, 226], "computation": 217, "compute_hybrid_success": 1, "compute_neighbor": 29, "compute_slab": 158, "compute_valid_ml_success": [0, 1], "con": [208, 217, 218, 219], "concaten": [5, 52, 66, 67, 73, 75, 78, 79, 80, 86, 88, 91, 92, 93, 100, 103, 106, 110, 217], "concept": [20, 227], "conceptu": [204, 223], "concern": 217, "conclus": 11, "condit": [3, 44, 48, 50, 63, 64, 78, 91, 92, 93, 106, 110, 112, 113, 115, 133, 134, 198, 207], "condition": [153, 156], "conditional_grad": [29, 203], "confer": 216, "config": [1, 2, 12, 14, 16, 19, 20, 27, 29, 31, 37, 39, 40, 57, 58, 60, 131, 132, 138, 139, 147, 148, 150, 151, 154, 156, 157, 185, 186, 188, 190, 193, 196, 197, 200, 202, 203, 204, 209, 210, 212, 214, 219, 221, 223, 224, 227, 228, 229], "config_id": [0, 1, 184, 185, 186, 188, 190, 193, 198], "config_idx": 224, "config_yml": [21, 227], "configs_for_dedupl": 224, "configs_for_dft": 224, "configur": [0, 1, 2, 5, 37, 39, 40, 57, 58, 150, 151, 154, 156, 157, 158, 168, 184, 185, 186, 188, 190, 192, 193, 195, 198, 204, 209, 211, 212, 217, 222, 223, 226, 229], "confirm": [156, 158], "conjug": 217, "connect": [31, 37, 44, 46, 66, 67, 75, 78, 79, 80, 88, 91, 92, 93, 95, 103, 106, 110, 171, 172, 196, 202, 204, 207, 217, 229], "connect_arg": [31, 37, 196], "connect_db": [31, 37, 39, 40], "consecut": [78, 91, 106, 111], "consequ": 217, "consid": [5, 11, 46, 78, 91, 106, 133, 134, 158, 171, 172, 196, 197, 200, 201, 202, 203, 204, 205, 209, 211, 212, 214, 216, 217, 219, 221, 223, 224, 226, 227], "consider": 217, "consist": [1, 198, 211, 217, 219, 229], "consistenli": 217, "consol": 29, "constant": [71, 84, 98, 158, 223, 226], "constrain": [158, 223], "constraint": [0, 1, 203, 208, 218, 223], "construct": [37, 39, 110, 133, 134, 202, 208, 211, 217, 219, 221, 223, 226, 229], "construct_map": 29, "consum": 221, "contain": [3, 11, 27, 29, 31, 37, 39, 40, 43, 44, 45, 46, 49, 52, 53, 56, 66, 67, 70, 71, 79, 80, 83, 84, 92, 93, 95, 97, 98, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 154, 156, 157, 158, 163, 168, 169, 173, 183, 188, 190, 193, 196, 197, 198, 199, 200, 201, 202, 208, 210, 211, 217, 218, 219, 226], "context": [16, 183, 188, 193], "context_decor": 203, "context_var": 191, "contextlib": 203, "contextvar": [190, 191], "contiguous_chunk": 16, "continu": [33, 112, 202, 208, 212, 217, 224], "continuous_embed": [34, 37, 42, 183], "continuous_index": [78, 91, 106, 111], "contract": [44, 110, 207, 217], "contrast": 209, "contribut": [205, 216, 217, 221], "control": [66, 67, 76, 77, 79, 80, 89, 90, 92, 93, 104, 105, 188, 190, 191, 193, 195, 217, 218, 219], "contruct": 54, "conv": [11, 55, 61, 63, 199, 228], "conv1": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "conv2": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "conv2d": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "conveni": [196, 197], "convent": 5, "convention": 223, "converg": [3, 5, 11, 180, 199, 217, 228], "converged_idx": 228, "converged_oszicar": 3, "convers": 217, "convert": [29, 43, 44, 45, 46, 49, 51, 52, 56, 61, 63, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 200, 202, 203, 204, 210, 211, 214, 217, 219, 220, 221, 223, 224, 227], "convert_al": [133, 134, 208, 217, 218], "convext": 191, "convolut": [48, 50, 55, 61, 63, 64, 112, 113, 115, 117, 229], "coordin": [5, 71, 84, 98, 112, 154, 156, 158, 185, 186, 188, 197, 198, 223, 228, 229], "coorespond": [199, 224], "copi": [5, 29, 44, 66, 67, 79, 80, 110, 122, 154, 156, 158, 185, 186, 188, 207, 212, 217, 221, 224], "copper": [217, 219, 224], "copy_to": 122, "copy_to_model_parallel_region": 16, "copyright": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207, 217], "copytomodelparallelregion": 16, "core": [10, 152, 167, 182, 183, 197, 199, 202, 203, 204, 208, 210, 214, 215, 217, 218, 221, 223, 224, 226, 227, 228, 229], "correct": [5, 16, 48, 50, 78, 91, 92, 93, 106, 210, 221, 223, 224], "correctli": [1, 5, 211, 217], "correl": [198, 221], "correlact": 182, "correspond": [1, 5, 11, 16, 23, 31, 37, 38, 55, 94, 133, 134, 154, 156, 157, 158, 197, 198, 200, 202, 211, 217, 218, 219, 229], "cosin": [60, 66, 67, 77, 79, 80, 90, 92, 93, 217, 224, 226], "cosine_lr_lambda": 60, "cosine_similar": [121, 202, 217, 224, 226, 227], "cosinelrlambda": 60, "cossim1": 226, "cossim2": 226, "cossim3": 226, "cost": [31, 37, 217, 229], "cos\u03c6": 203, "cos\u03c6_abd": [92, 93, 203], "cos\u03c6_cab": [77, 90, 92, 93, 105, 203], "cos\u03c6_cab_q": 203, "could": [5, 27, 37, 39, 66, 67, 79, 80, 158, 168, 184, 185, 186, 188, 197, 199, 202, 203, 204, 212, 217, 219, 223, 226, 228, 229], "count": [1, 37, 38, 71, 84, 98, 176, 196, 224], "count_scf": 3, "counter": [66, 67, 79, 80, 92, 93, 109, 110], "counterpart": [197, 200], "cours": 217, "coval": [33, 154, 156, 157], "cover": [202, 217], "coverag": [198, 223], "cpdir": 202, "cpline": 202, "cpu": [6, 7, 21, 29, 57, 58, 110, 114, 149, 150, 151, 196, 202, 203, 204, 205, 210, 211, 214, 215, 221, 223, 224, 227, 228], "craft": 229, "crash": [221, 223], "creat": [16, 21, 29, 46, 66, 67, 79, 80, 95, 110, 144, 145, 149, 150, 158, 168, 169, 183, 185, 186, 188, 202, 204, 205, 208, 218, 220, 221, 223, 224, 228, 229], "create_dict_from_arg": 29, "create_grid": 29, "create_indic": [37, 38], "creation": 217, "creativ": [197, 200, 201, 209], "credenti": 204, "criterion": 5, "critic": 203, "cross": [29, 106], "crystal": [158, 168], "ctx": [16, 227], "ctx_factori": 203, "cu": [158, 203, 217, 219, 220, 223, 224], "cu121": 229, "cu27c3h8": [217, 219], "cu3ru": 221, "cuco_adslab": [208, 218], "cuda": [23, 25, 101, 203, 205, 217, 229], "cull": 224, "cupd3": 221, "curat": 12, "current": [12, 16, 31, 57, 58, 122, 150, 151, 190, 203, 211, 212, 217, 223, 229], "current_entri": 176, "current_step": [29, 60], "curv": 202, "cushion": [171, 172], "custom": [13, 16, 37, 39, 45, 46, 49, 53, 182, 217, 228], "custom_tile_atom": 154, "cut": [158, 185, 186, 188, 228], "cutoff": [21, 43, 44, 49, 63, 64, 66, 67, 76, 79, 80, 89, 92, 93, 95, 104, 109, 110, 112, 113, 115, 133, 134, 158, 197, 198, 202, 217, 218, 227], "cutoff_aeaint": [92, 93, 202, 217, 227], "cutoff_aint": [92, 93, 202, 217, 227], "cutoff_index": 115, "cutoff_list": 115, "cutoff_multipli": [171, 172], "cutoff_orig": [92, 93], "cutoff_qint": [92, 93, 202, 217, 227], "cxhyoznw": 223, "cycl": 223, "cyclic": 166, "d": [29, 51, 56, 61, 65, 76, 89, 92, 93, 95, 104, 129, 202, 204, 217, 223, 227], "d000": 204, "d018": 204, "d297b27b02822f9b6af80bdb64aee819": 197, "d2dd00055e": 226, "d32200f74ad5c3bfd42e8835f36d57ab": 197, "d3c829f1952db6e4f428273ee05f59b1": 197, "d4151542856b4b6405f276808f75358a": 197, "d519": 204, "d687a151345305897b9245af4b0f9967": 197, "d8": 217, "d_ca": [77, 90, 105, 203], "d_scale": [76, 89, 104, 217], "d_st": [78, 91, 106, 217], "da": [197, 200, 201, 209, 212, 216, 217], "da2268545e80ca1664026449dd2fdd24": 197, "dac": [201, 209], "dai": [217, 229], "damag": [44, 110, 207, 217], "daml": 29, "damp": [25, 211, 217], "dark": 226, "dash": [217, 219], "data": [13, 14, 16, 25, 26, 27, 29, 30, 31, 37, 38, 39, 40, 43, 44, 46, 48, 50, 63, 64, 66, 67, 78, 79, 80, 91, 92, 93, 109, 110, 112, 113, 115, 132, 133, 134, 149, 150, 183, 186, 196, 198, 202, 203, 204, 211, 216, 220, 221, 223, 224, 225, 226, 228, 229], "data_list": [13, 29, 37, 39, 133, 134], "data_list_collat": [37, 39, 203], "data_load": [150, 151, 203], "data_object": [30, 132, 203, 208, 217, 218], "data_parallel": [18, 42, 149, 150, 183], "data_preprocess": 215, "data_sourc": 13, "data_visu": [215, 218], "data_w_om": 174, "databas": [10, 31, 37, 38, 133, 134, 152, 153, 155, 156, 167, 183, 202, 221, 226, 228], "dataclasses_json": 186, "datadir": 135, "datafram": [11, 221, 224], "dataload": [13, 37, 39, 48, 50, 142, 149, 150, 197, 200, 201, 217], "datapoint": [31, 37], "datasampl": 13, "dataset": [13, 20, 42, 57, 58, 110, 133, 134, 146, 149, 150, 151, 166, 183, 198, 199, 200, 201, 202, 204, 209, 210, 212, 214, 219, 220, 227], "datatransform": 132, "date": [204, 216], "datefmt": 227, "datetim": [184, 185, 188, 217], "david": [201, 209], "db": [27, 31, 37, 38, 133, 134, 161, 169, 196, 202, 204, 208, 217, 221, 227], "dd456b7e19ef592d9f0308d911b91d7c": 197, "ddp": [57, 58, 150, 151], "ddploss": 124, "de": [44, 217, 219, 221], "de83cf50247f5556fa4f9f64beff1eeb": 197, "dead": 217, "deal": [44, 110, 207, 208, 217], "debug": [27, 57, 58, 150, 151, 180, 210, 215, 217, 223, 227, 229], "dec": [29, 203], "decad": [217, 229], "decai": [43, 48, 50, 122], "decay_epoch": 60, "decay_r": 60, "decis": 223, "decompos": 110, "decompose_tensor": 132, "decomposed_lay": 110, "decomposit": 110, "decompress_list_of_fil": 146, "decor": [13, 20, 29, 188, 193, 195, 203], "decorate_context": 203, "decorrel": [68, 81, 94], "decreas": [202, 217, 226], "deem": 29, "deep": [29, 68, 81, 94, 158], "deepcopi": 217, "deeper": [52, 217], "def": [13, 16, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 203, 208, 217, 224], "def2": 180, "def_counts_df": 176, "default": [17, 20, 26, 31, 37, 39, 40, 44, 57, 58, 66, 67, 76, 79, 80, 89, 92, 93, 104, 110, 112, 131, 133, 134, 150, 151, 173, 184, 185, 188, 190, 193, 195, 202, 203, 204, 205, 210, 211, 212, 217, 223, 224, 226], "default_cli": [188, 190, 193], "default_wait": 195, "defgrid3": 180, "defin": [1, 13, 16, 92, 93, 95, 106, 110, 158, 168, 184, 185, 186, 188, 190, 193, 197, 202, 208, 214, 218, 219, 221, 224, 227], "definit": [0, 1, 224, 228], "degener": [29, 48, 50, 92, 93], "degeneraci": 29, "degeneracy_toler": 29, "degre": [26, 48, 50, 51, 52, 55, 56, 61, 63, 64, 65, 71, 76, 84, 89, 98, 104, 113, 115, 117, 158, 168, 218, 224], "dejavu": [217, 219], "del": [208, 217], "del_intmd_fil": 135, "delaunai": [154, 156, 157], "deleg": 110, "delet": [27, 37, 38, 184, 185, 186, 188, 190, 193, 202, 203, 204, 227], "delete_adsorbate_slab_relax": [184, 185, 188], "deleted_id": 38, "delta_fmax_climb": 228, "demand": 217, "demo": [188, 190, 192, 193, 208, 212, 216, 217, 219], "demonstr": [31, 37, 208, 217, 221, 224], "denorm": 125, "denot": [110, 217, 219], "dens": [66, 67, 69, 70, 73, 75, 79, 80, 82, 83, 86, 88, 92, 93, 96, 97, 100, 103, 106, 217], "dense_rbf_f": 82, "densiti": [202, 217, 223, 229], "depend": [29, 31, 110, 154, 156, 197, 202, 203, 205, 211, 212, 217, 223], "deprec": [31, 37, 202, 203, 214, 217, 227], "depth": [5, 46, 217, 219], "deriv": [12, 31, 185, 186, 188], "describ": [185, 186, 188, 197, 211, 212], "describe_fairchem": [27, 229], "descript": [109, 110, 184, 185, 186, 188, 190, 193, 195, 217], "descriptor": 224, "design": [217, 220], "desir": [5, 29, 153, 154, 156, 221, 229], "desorb": [171, 172, 217, 221, 224], "desorpt": [6, 8, 171, 172, 197, 199, 221], "desorption_cutoff_multipli": [2, 171, 172], "desorption_id_83_2409_9_111": 199, "desorption_reaction_db_path": 9, "despit": 199, "detail": [13, 16, 182, 184, 185, 188, 190, 193, 197, 202, 203, 205, 209, 210, 211, 212, 217, 219, 223, 224, 226, 228, 229], "detect": [29, 202, 203, 204, 214, 217, 221, 223, 224, 227], "detector": [221, 224], "detecttrajanomali": [171, 172, 221, 224], "determin": [1, 5, 17, 29, 133, 134, 158, 197, 198, 199, 202, 203, 210, 223, 228], "determinist": 203, "dev": 205, "dev1": 217, "develop": [216, 220, 226, 228, 229], "devi": [197, 209, 216, 217], "deviat": [211, 217, 223, 226], "devic": [13, 14, 23, 25, 29, 56, 65, 114, 125, 149, 150, 203, 217, 227], "df": [221, 224], "df2": 11, "df_all": 221, "df_flat": 221, "df_h": 221, "df_nnh": 221, "dff880f1a5baa7f67b52fd3ed745443d": 197, "dft": [0, 1, 3, 11, 174, 198, 199, 202, 203, 204, 209, 210, 211, 217, 219, 223], "dft_ad": 174, "dft_ads_energi": [0, 1], "dft_adsorption_energi": 1, "dft_co2": 174, "dft_data": [0, 1], "dft_energi": [0, 1], "dft_h2o": 174, "dft_po": 121, "diagnost": 225, "diatanc": 63, "dict": [0, 1, 2, 5, 11, 12, 17, 21, 29, 30, 31, 37, 38, 39, 40, 57, 58, 60, 66, 67, 76, 77, 79, 80, 89, 90, 92, 93, 95, 104, 105, 109, 110, 121, 122, 129, 131, 135, 149, 150, 151, 153, 154, 155, 156, 157, 158, 182, 187, 188, 190, 193], "dict1": 29, "dict2": 29, "dict_set_recurs": 29, "dictionari": [1, 11, 21, 27, 29, 30, 31, 37, 95, 126, 129, 158, 173, 182, 197, 200, 202, 217, 226], "did": [223, 224], "differ": [3, 5, 20, 29, 31, 37, 46, 52, 92, 93, 95, 110, 156, 157, 158, 164, 188, 190, 193, 197, 198, 199, 201, 202, 204, 205, 210, 211, 217, 219, 221, 223, 226, 229], "differenti": [16, 110, 112], "difficult": [31, 217], "diffus": 204, "digit": 226, "dihedr": [92, 93], "dii": 180, "dim": [16, 82, 217], "dim_siz": [82, 106, 110, 217], "dimenet": [44, 204, 209, 214, 216, 217, 229], "dimenet_plus_plu": [42, 107, 183, 217], "dimenetplusplu": 44, "dimenetpluspluswrap": 44, "dimenns": 226, "dimens": [29, 110, 203, 226], "dimension": 226, "dipol": [21, 180], "dir": [202, 211], "direct": [66, 67, 78, 79, 80, 91, 92, 93, 103, 106, 109, 110, 154, 158, 168, 196, 197, 198, 216, 217, 219, 223, 230], "direct_forc": [66, 67, 69, 79, 80, 82, 92, 93, 96, 109, 110, 113, 115, 202, 203, 217, 227], "directli": [16, 31, 37, 39, 40, 69, 82, 96, 110, 153, 155, 156, 196, 197, 199, 200, 201, 205, 209, 211, 216, 217, 223, 227], "directori": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 150, 151, 163, 164, 167, 169, 182, 188, 196, 197, 199, 202, 208, 209, 211, 217], "dirlist": 162, "dirnam": 135, "disabl": [29, 31, 203, 217], "disable_eval_tqdm": [149, 150, 151], "disable_tqdm": [133, 134, 149, 150, 151, 203, 208, 217, 218], "disadvantag": [31, 37], "disassoci": [221, 224], "discard": [0, 1, 171, 172, 218, 227], "discov": 217, "discoveri": [201, 209, 213, 217, 226], "discrep": 223, "discuss": [46, 158, 203, 210, 217, 219, 223, 229], "disk": [31, 37, 229], "displai": [46, 217, 219, 227, 228], "dissoci": [5, 197, 199, 217, 221, 223], "dissociation_reaction_db_path": [9, 228], "dist": [14, 49, 104, 116, 217], "distanc": [5, 44, 48, 50, 51, 61, 63, 64, 76, 78, 89, 91, 104, 106, 112, 113, 115, 133, 134, 154, 156, 157, 158, 203, 217, 218, 224], "distance_expans": [63, 115], "distance_funct": [48, 50, 63, 64, 113, 115], "distance_resolut": [63, 64, 113, 115], "distance_vec": 217, "distanceblock": 115, "distiguish": 199, "distinct": [66, 67, 79, 80, 95, 158, 168, 185, 186, 188, 211], "distribut": [12, 14, 29, 44, 57, 58, 110, 150, 151, 197, 200, 207, 211, 217, 227], "distributed_backend": 227, "distributed_port": 227, "distributedsampl": 13, "distutil": [18, 42, 183], "divers": 217, "divid": 221, "divide_and_check_no_remaind": 16, "dk": [31, 37, 197, 217, 219], "dl": [197, 198, 200, 211, 217], "dmax": 29, "dmin": 29, "do": [1, 5, 11, 16, 21, 31, 44, 52, 110, 154, 156, 157, 173, 196, 202, 203, 204, 205, 207, 211, 217, 221, 223, 224, 227], "doc": [202, 204, 205, 217, 218, 227], "docstr": 158, "document": [44, 110, 183, 203, 207, 211, 212, 214, 215, 216, 217, 219, 221], "doe": [5, 29, 66, 67, 71, 79, 80, 84, 98, 107, 108, 156, 157, 185, 186, 188, 193, 195, 199, 203, 204, 211, 217, 218, 219], "does_not_exist": [185, 186, 188], "doesn": [20, 184, 185, 188, 223], "doi": [197, 202, 204, 209, 216, 221, 223, 226], "domain": [197, 199, 201, 217, 221], "domingo": [197, 200, 209, 216, 217], "don": [48, 50, 169, 202, 204, 210, 217, 221, 223, 224, 227], "done": [5, 211, 223, 224], "dont": 228, "dortmund": 44, "dot": 27, "down": [52, 66, 67, 72, 75, 79, 80, 85, 88, 92, 93, 101, 103, 158, 168, 217], "download": [107, 108, 146, 201, 205, 208, 209, 210, 211, 214, 223, 224, 228, 229], "download_data": [42, 140, 183, 197], "download_links_is2r": 135, "download_links_s2ef": 135, "downsampl": [113, 115], "downstream": [133, 134], "dpp": 217, "dpp_is2re_sampl": 217, "dpvlwhra": 217, "dq": 103, "drawimag": 219, "drive": 217, "drop": [42, 48, 50, 61, 107, 183], "drop_graph": 46, "drop_last": 13, "drop_path": 46, "drop_path_r": [48, 50, 61], "drop_prob": 46, "dropconnect": 46, "dropout": [46, 48, 50, 61, 68, 81, 94], "droppath": 46, "dscribe": 224, "dset": 210, "dt": [75, 88, 204, 209, 214, 216, 217, 229], "dtu": [31, 37, 197, 217, 219], "dtype": [56, 65, 203, 217, 218], "dual": 211, "duck": 13, "due": [1, 197, 217, 223], "dummi": 21, "dump": [12, 208, 217], "duplic": [5, 29, 92, 93, 224], "dure": [16, 48, 50, 55, 61, 63, 110, 113, 115, 117, 184, 185, 186, 188, 190, 193, 199, 217, 219, 221], "dx": [202, 204, 217, 219, 223, 226], "dyn": [208, 217, 218, 219], "dynam": [68, 81, 94, 197, 217], "dynamic_relax": [6, 7], "dyneb": [6, 7], "e": [1, 5, 16, 17, 19, 29, 31, 37, 68, 69, 76, 81, 82, 89, 94, 95, 96, 104, 110, 112, 147, 148, 154, 155, 156, 157, 158, 168, 196, 197, 199, 202, 203, 205, 209, 210, 217, 221, 226, 228], "e3nn": 229, "e4fe9890764fcf59e01e3ceab089b978": 197, "e836de4ec146b1b611533f1ef682cac": 197, "e_": 217, "e_f": 202, "e_lit_h": 221, "e_lit_nnh": 221, "ea": 228, "each": [1, 2, 5, 16, 29, 31, 37, 44, 48, 50, 51, 55, 61, 63, 66, 67, 71, 78, 79, 80, 84, 91, 94, 95, 98, 99, 106, 110, 111, 112, 133, 134, 154, 156, 157, 158, 168, 184, 185, 186, 188, 190, 193, 196, 197, 198, 199, 200, 201, 202, 203, 208, 209, 211, 212, 215, 217, 219, 221, 223, 226, 228, 229], "earli": [226, 229], "earlier": [166, 197, 217], "early_stop_batch": [23, 25], "easi": [31, 37, 226], "easier": [66, 67, 79, 80, 202, 224], "easili": [110, 217, 226], "ebea523c6f8d61248a37b4dd660b11e6": 200, "ec1e964d2ee6f468fa5773743e3994a4": 197, "ec9aa2c4c4bd4419359438ba7fbb881d": 197, "econom": 217, "edata": 223, "edg": [5, 29, 48, 50, 51, 55, 61, 63, 64, 66, 67, 69, 72, 73, 75, 78, 79, 80, 82, 85, 86, 88, 91, 92, 93, 95, 96, 99, 100, 103, 106, 109, 110, 112, 133, 134, 197, 203, 208, 218, 229], "edge_atom_interact": [92, 93, 103, 202, 217, 227], "edge_attr_sph": 119, "edge_channel": [48, 50, 63, 64], "edge_channels_list": [51, 55, 61], "edge_dist": [51, 61, 63, 66, 67, 79, 80, 113, 115], "edge_distance_vec": [47, 48, 50, 63, 64, 113, 115], "edge_dst": 49, "edge_emb": 217, "edge_emb_s": 217, "edge_featur": [73, 86, 100], "edge_idx": [106, 111], "edge_index": [29, 44, 48, 50, 51, 56, 61, 63, 64, 65, 66, 67, 79, 80, 95, 100, 103, 109, 110, 113, 115, 203, 208, 217, 218], "edge_index_main": 103, "edge_list": 5, "edge_list_fin": 5, "edge_mask": [78, 91, 106], "edge_offset": [85, 88], "edge_rbf": 110, "edge_rot_mat": [42, 50, 56, 65, 107, 117, 183], "edge_src": 49, "edge_vector": [66, 67, 79, 80, 110], "edgeblock": [63, 115], "edgedegreeembed": 51, "edgeembed": [73, 86, 100, 217], "edgelist": 5, "ediff": 3, "ediffg": 204, "edit": 205, "edu": [154, 168, 173, 197, 217], "ee937e5290f8f720c914dc9a56e0281f": 198, "effect": [76, 89, 92, 93, 104, 158, 168, 173, 217, 224], "effici": [31, 37, 63, 64, 67, 74, 77, 80, 87, 90, 93, 102, 107, 110, 183, 196, 198, 204, 212, 217, 228], "efficientinteractionbilinear": [72, 85, 99], "efficientinteractiondownproject": [72, 85], "efficientnet": 46, "effict": 196, "effort": [213, 216], "eg": [68, 81, 94], "either": [16, 17, 31, 37, 48, 50, 71, 78, 84, 91, 98, 106, 111, 126, 133, 134, 205, 211, 217], "elaps": [202, 204, 221, 223], "elax": 217, "electrocatalysi": 217, "electrocatalyst": [200, 209, 217], "electrochem": 217, "electron": [3, 33, 76, 89, 104], "electroneg": 33, "elem": [217, 227], "element": [13, 35, 36, 48, 50, 71, 78, 84, 91, 98, 99, 106, 111, 158, 185, 186, 188, 203, 210, 219, 229], "elif": [203, 224], "ellipsi": [31, 37, 153, 156], "elprop": 180, "els": [71, 84, 98, 202, 203, 224], "ema": 122, "ema_decai": [202, 217, 227], "emb": [99, 217, 226], "emb_siz": [72, 73, 85, 86, 99, 100, 217], "emb_size_a2a_in": 103, "emb_size_a2a_out": 103, "emb_size_aint_in": [92, 93, 202, 217, 227], "emb_size_aint_out": [92, 93, 202, 217, 227], "emb_size_atom": [66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 202, 217, 227], "emb_size_bil_trip": [66, 67, 75, 79, 80, 88, 217], "emb_size_bilinear": [75, 88], "emb_size_cbf": [66, 67, 75, 79, 80, 88, 92, 93, 103, 202, 217, 227], "emb_size_edg": [66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 202, 217, 227], "emb_size_in": [99, 103], "emb_size_interm": [72, 85, 99], "emb_size_out": [99, 103], "emb_size_pair_in": 103, "emb_size_pair_out": 103, "emb_size_quad_in": [92, 93, 103, 202, 217, 227], "emb_size_quad_out": [92, 93, 103, 202, 217, 227], "emb_size_rbf": [66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 202, 217, 227], "emb_size_sbf": [92, 93, 103, 202, 217, 227], "emb_size_trip": [66, 67, 75, 79, 80, 88, 217], "emb_size_trip_in": [92, 93, 103, 202, 217, 227], "emb_size_trip_out": [92, 93, 103, 202, 217, 227], "embarrassingli": 221, "embbed": 226, "embed": [37, 42, 44, 48, 50, 51, 55, 56, 61, 63, 65, 66, 67, 69, 70, 72, 73, 75, 79, 80, 82, 83, 85, 86, 88, 92, 93, 95, 96, 97, 99, 100, 103, 110, 183, 202, 203, 215, 225], "embedding_block": [67, 74, 80, 87, 93, 102, 107, 183], "embedding_monkeypatch": 226, "empir": 210, "empti": [29, 129, 184, 185, 188, 190, 193], "emt": [208, 217, 218, 219], "emul": 52, "en": 226, "enabl": [29, 101, 203, 205, 213, 217, 229], "encod": [204, 208, 217], "encount": 221, "encourag": [212, 217], "encut": [202, 204], "end": [94, 119, 180, 202, 211, 217, 223], "end_lmax": [56, 65, 117], "energet": [154, 156, 157, 221], "energi": [0, 1, 2, 3, 5, 6, 7, 11, 21, 25, 29, 31, 33, 37, 39, 40, 48, 50, 57, 58, 63, 66, 67, 69, 79, 80, 82, 92, 93, 96, 101, 112, 133, 134, 150, 151, 166, 184, 185, 186, 188, 190, 196, 198, 199, 202, 204, 209, 212, 214, 216, 218, 221, 224, 226, 227, 228, 229], "energies_for_dedupl": 224, "energy_coeffici": [202, 217, 227], "energy_fc1": [113, 115], "energy_fc2": [113, 115], "energy_fc3": [113, 115], "energy_forces_within_threshold": [121, 202, 217, 227], "energy_ma": [217, 227], "energy_ms": 217, "energy_train": [50, 59, 107, 183, 217], "energy_trajectori": [185, 186, 188], "energy_within_threshold": [121, 217], "energyblock": 63, "energytrain": 217, "enforc": [5, 16, 29, 92, 93, 203], "enforce_consist": [128, 129], "enforce_max_neighbors_strictli": [29, 43, 48, 50, 92, 93, 209], "enforce_max_strictli": 29, "engin": 216, "engrad": 180, "enhanc": 221, "enough": [196, 217, 219, 226], "ensur": [0, 1, 3, 5, 16, 48, 50, 76, 89, 92, 93, 104, 109, 110, 156, 157, 171, 172, 188, 190, 193, 198, 208, 211, 212, 217, 219], "ensure_div": 16, "ensure_fit": 130, "enter": [188, 190, 193], "entir": [1, 31, 37, 197, 211, 217], "entri": [11, 37, 38, 95, 154, 156, 197, 199, 200, 211, 223, 224, 226], "enum": [185, 186, 188, 190, 193], "enumer": [53, 66, 67, 79, 80, 95, 99, 156, 157, 158, 168, 188, 190, 193, 197, 198, 199, 203, 208, 212, 217, 218, 222, 226], "enumerate_surfaces_for_sav": 168, "env": [16, 205, 217], "env_expon": 217, "envelop": [66, 67, 76, 79, 80, 89, 92, 93, 104, 109, 110, 202, 217, 227], "envelope_expon": 44, "environ": [21, 37, 39, 158, 204, 214, 217, 219, 224, 226], "eo": 202, "eos_data": 202, "ep": [52, 106], "ephemer": [184, 185, 186, 188, 190, 193], "epitaxi": 202, "epoch": [13, 17, 31, 37, 60, 131, 202, 217, 227], "eq2_31m_ec4_allmd": 221, "equat": 202, "equidist": [48, 50], "equiform": [48, 50, 61], "equiformer_v2": [42, 107, 183], "equiformer_v2_31m_s2ef_all_md": [188, 190, 193, 212], "equiformer_v2_oc20": [42, 50, 107, 183], "equiformerv2": [50, 203, 204, 209, 214, 216, 221, 223, 224, 228, 229], "equiformerv2_oc20": 48, "equiformerv2energytrain": 57, "equiformerv2forcestrain": 58, "equival": [5, 16, 224], "equivalent_idx_factor": 5, "equivari": [63, 64, 109, 110], "equivariantdegreelayerscal": 52, "equivariantdropout": 46, "equivariantdropoutarraysphericalharmon": 46, "equivariantlayernormarrai": 52, "equivariantlayernormarraysphericalharmon": 52, "equivariantrmsnormarraysphericalharmon": 52, "equivariantrmsnormarraysphericalharmonicsv2": 52, "equivariantscalarsdropout": 46, "eqv2": 203, "err_co2": 174, "err_h2o": 174, "erron": 224, "error": [2, 29, 31, 184, 185, 188, 202, 203, 204, 212, 223, 227], "errors_by_sid": 2, "escn": [42, 107, 183, 203, 204, 209, 214, 216, 223, 229], "especi": [217, 223, 224], "essenti": [217, 227], "establish": [1, 221], "estim": 217, "et": [109, 110, 217, 221], "etc": [19, 29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 168, 184, 185, 186, 188, 197], "ethan": 226, "ethanol": 226, "ethanol_emb": 226, "eu": 204, "euclidean": 224, "ev": [202, 204, 208, 209, 217, 219, 221, 223, 226, 228], "eval": 121, "eval_batch_s": [202, 217, 227], "eval_everi": [202, 217, 227], "eval_metr": [57, 58, 121, 149, 150, 151, 217], "eval_on_free_atom": [202, 217, 227], "evalu": [0, 1, 6, 7, 42, 43, 44, 45, 46, 49, 52, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 123, 124, 128, 129, 150, 151, 183, 184, 185, 188, 190, 196, 197, 198, 212, 216, 217, 227], "evaluation_metr": [202, 227], "even": [48, 50, 202, 217, 223], "evenli": 211, "event": [5, 29, 44, 110, 154, 156, 171, 172, 184, 185, 188, 207, 217], "eventu": 202, "ever": 227, "everi": [13, 29, 31, 37, 60, 66, 67, 79, 80, 92, 93, 109, 110, 122, 164, 196, 199, 217], "everydai": 217, "everyth": 217, "everytim": 202, "evid": 202, "ex": [31, 37, 196], "exact": [68, 81, 94], "exactli": [48, 50, 92, 93], "exampl": [13, 16, 21, 29, 31, 37, 43, 44, 45, 46, 49, 51, 52, 53, 55, 56, 57, 58, 61, 70, 78, 83, 91, 97, 104, 106, 110, 111, 115, 116, 118, 119, 124, 128, 129, 150, 151, 158, 184, 185, 188, 196, 197, 199, 200, 202, 203, 210, 211, 212, 217, 223, 224, 225, 229], "exc_typ": [37, 38], "exc_valu": [37, 38], "exce": 221, "exceed": [184, 185, 188, 223], "except": [27, 48, 50, 69, 75, 82, 88, 173, 184, 185, 188, 190, 193, 195], "excess": 217, "exchang": [182, 223], "excit": 206, "exclud": [1, 2, 71, 84, 98], "execut": [110, 188, 190, 193, 202, 210], "exercis": 221, "exhaust": 221, "exist": [5, 6, 7, 20, 21, 27, 29, 31, 71, 84, 92, 93, 98, 107, 108, 109, 110, 158, 168, 169, 185, 186, 188, 196, 197, 210, 211, 217], "exist_ok": [208, 217, 219, 221, 224], "exp": [16, 112, 217], "expand": 52, "expand_edg": [56, 65], "expand_idx": 103, "expans": 217, "expect": [1, 5, 13, 29, 37, 39, 68, 71, 81, 84, 94, 98, 110, 153, 156, 184, 185, 188, 197, 208, 211, 217, 223], "expens": [202, 212, 217], "experi": [57, 58, 150, 151, 217, 223, 229], "experiment": [29, 223], "expir": 204, "explain": [37, 38, 211, 229], "explicit": [219, 226], "explicitli": [154, 156, 186, 217, 221], "exploit": [154, 156], "explor": [202, 212, 217, 219, 223, 229], "explos": 217, "expon": [76, 89, 104, 202, 217, 227], "exponenti": [76, 89, 104, 122], "exponential_moving_averag": [42, 123, 183], "exponentialenvelop": [76, 89, 104], "exponentialmovingaverag": 122, "expos": [184, 185, 188, 193, 195], "express": [44, 110, 207, 217, 219], "expt": 223, "extend": [16, 212, 224], "extens": [66, 67, 79, 80, 92, 93, 202, 217, 227, 229], "extra": [2, 45, 46, 49, 185, 186, 188, 197], "extra_m0_featur": 55, "extra_m0_output_channel": 55, "extra_repr": [45, 46, 49], "extract": [55, 144, 145, 197, 208, 211, 217, 221, 224, 226], "extract_fil": [162, 163], "extract_to": [162, 163], "extrapol": [197, 223], "extrem": [196, 219], "extxyz": [144, 145, 197, 201, 217, 219], "ey": 224, "f": [43, 44, 45, 46, 49, 52, 56, 69, 70, 82, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 199, 202, 203, 204, 205, 208, 212, 217, 219, 221, 223, 224, 226, 227, 228], "f57f7f5c1302637940f2cc858e789410": 197, "f7f2f58669a30abae8cb9ba1b7f2bcd2": 201, "f8": 217, "f8d0909c2623a393148435dede7d3a46": 197, "f98866d08fe3451ae7ebc47bb51599aa": 197, "f_st": [92, 93], "f_st_vec": 217, "f_t": [92, 93], "fa24472e0c02c34d91f3ffe6b77bfb11": 197, "face": 217, "facebook": [12, 137, 140, 141, 143, 217], "facebookresearch": [20, 216], "facilit": 229, "facillit": 5, "factor": [26, 66, 67, 71, 79, 80, 84, 92, 93, 98, 126, 202, 204, 217, 223, 227], "factori": 190, "fadel": 122, "fail": [11, 166, 185, 186, 188, 190, 201, 204, 210, 212], "failed_relax": [185, 186, 188], "failur": [0, 1], "fair": [156, 157, 205, 209, 217, 226], "fairchem": [5, 12, 20, 27, 31, 37, 44, 48, 50, 57, 58, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 127, 131, 149, 150, 151, 154, 156, 157, 188, 190, 192, 193, 196, 197, 199, 202, 204, 208, 212, 214, 217, 218, 221, 223, 224, 226, 227, 228, 229], "fairchem_main": [27, 202, 204], "fairchem_root": 27, "fairli": 217, "fall": [166, 195, 216, 217, 223], "fallback": 29, "fals": [5, 6, 7, 11, 12, 13, 14, 16, 20, 23, 25, 29, 31, 37, 38, 39, 44, 45, 46, 48, 50, 55, 57, 58, 61, 63, 64, 66, 67, 70, 71, 77, 78, 79, 80, 83, 84, 90, 91, 92, 93, 95, 97, 98, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 119, 122, 130, 133, 134, 149, 150, 151, 154, 158, 168, 171, 172, 184, 185, 186, 188, 190, 193, 196, 202, 203, 204, 208, 209, 211, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "famili": [217, 219], "familiar": [212, 217], "far": [197, 217], "farm": 217, "farther": 226, "fashion": 221, "fast": [196, 208, 219, 221], "fast_interval_sec": [188, 190, 193], "faster": 217, "fastest": 208, "favor": [154, 156, 157, 219, 221, 223], "fb": 217, "fbaipublicfil": [197, 198, 200, 211, 217], "fcb71363018fb1e7127db2500e39e11a": 197, "fcc": [203, 214, 223, 226], "fcc100": [208, 217, 218, 219], "fcc111": [203, 214, 223], "fd589b013b72e62e11a6b2a5bd1d323c": 198, "fdc4cd19977496909d61be4aee61c4f1": 197, "feasibl": 196, "featur": [48, 50, 51, 52, 55, 61, 63, 64, 68, 81, 94, 110, 144, 145, 211, 212, 217, 226, 229], "fed": 168, "feed": 217, "feedforward": [48, 50, 61], "feedforwardnetwork": 61, "feedstock": 217, "feel": [210, 213, 217, 219], "fei": 44, "fermi": 204, "fermi_level": 202, "fertil": 217, "fetch": [37, 39, 184, 185, 186, 188, 190, 193], "few": [197, 202, 206, 210, 217, 223, 224, 229], "fewer": 5, "ff": 174, "ff6981fdbcd2e65d351505c15d218d76": 197, "ffmpeg": [136, 219], "ffn": [48, 50, 52, 61], "ffn_activ": [48, 50, 61], "ffn_hidden_channel": [48, 50, 61], "fid": [208, 217, 218], "field": [76, 89, 104, 153, 156, 184, 185, 186, 188, 190, 193], "fig": [214, 217, 219, 221, 223, 228], "fig5a": 174, "fig5b": 174, "fig5c": 174, "fig5d": 174, "figshar": 204, "figsiz": [217, 219], "figur": [158, 166, 168, 198, 217, 219, 222, 223, 224], "file": [0, 1, 2, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 126, 133, 134, 137, 140, 141, 142, 143, 144, 145, 148, 149, 151, 153, 154, 156, 157, 161, 164, 166, 167, 168, 169, 173, 188, 197, 200, 201, 203, 204, 205, 207, 209, 210, 212, 217, 221, 227, 228, 229], "file_out": 221, "file_to_unzip": [162, 163], "filehandl": 227, "filelink": 227, "filenam": [27, 31, 37, 38, 135, 141, 166, 196], "filepath": [31, 37, 196], "filetyp": [31, 37], "fill": 168, "filter": [1, 2, 11, 29, 31, 37, 106, 112, 183, 188, 190, 193, 196, 208, 217, 221], "filter_kwarg": [60, 131], "filter_ml_data": 1, "final": [2, 5, 23, 31, 37, 66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 174, 188, 190, 193, 197, 199, 210, 211, 212, 214, 217, 219, 221, 224, 229], "final_atom": [171, 172, 224], "final_fram": 5, "final_slab_atom": [171, 172], "final_structur": [217, 219], "final_til": 5, "find": [5, 11, 31, 37, 66, 67, 79, 80, 154, 156, 157, 158, 190, 199, 202, 208, 210, 211, 217, 221, 223, 224, 226, 229], "find_adsorbate_binding_sit": [188, 190, 193, 212], "find_surface_atoms_by_height": 158, "find_surface_atoms_with_voronoi": 158, "find_surface_atoms_with_voronoi_given_height": 158, "fine": [13, 48, 50, 136, 204, 215, 223, 225, 226, 229], "finish": [188, 190, 193, 212, 215], "finit": 212, "first": [2, 5, 16, 21, 27, 29, 33, 66, 67, 71, 75, 79, 80, 84, 88, 92, 93, 98, 99, 103, 104, 110, 153, 156, 188, 190, 193, 195, 197, 199, 202, 204, 212, 214, 218, 221, 223, 224, 226, 227, 229], "fit": [29, 42, 44, 110, 123, 128, 129, 158, 168, 183, 196, 202, 203, 207, 214, 217], "fit_": [128, 129], "fit_context_": [128, 129], "fit_transform": 226, "fix": [66, 67, 79, 80, 133, 134, 156, 157, 158, 165, 173, 185, 186, 188, 193, 195, 197, 208, 210, 218], "fixatom": [208, 217, 218, 219, 223], "fixed_wait_sec": [188, 193, 195], "flag": [11, 18, 42, 48, 50, 133, 134, 183, 210, 224, 227], "flag_anomali": [152, 167, 172, 183], "fletcher": 217, "fli": 217, "flip": [158, 168, 224], "flip_struct": [158, 168], "flipgrid": 117, "flipped_struct": [158, 168], "float": [5, 23, 25, 26, 29, 31, 37, 41, 44, 45, 46, 48, 49, 50, 51, 52, 60, 61, 63, 64, 66, 67, 71, 76, 79, 80, 84, 89, 92, 93, 98, 101, 104, 106, 109, 110, 112, 113, 115, 116, 117, 118, 119, 121, 122, 128, 129, 133, 134, 154, 156, 157, 158, 168, 171, 172, 185, 186, 188, 190, 192, 193, 195, 217, 218], "float16": 204, "float32": [203, 204, 211], "florian": 217, "flow": 110, "fluorit": 202, "fly": [48, 50, 63, 64, 112, 113, 115, 197, 217], "fmax": [5, 6, 7, 23, 25, 199, 202, 204, 208, 214, 217, 218, 219, 221, 223, 224, 227, 228], "fn": [202, 217, 227], "fname": 166, "focu": [202, 229], "folder": [3, 29, 31, 37, 39, 40, 196, 197, 210, 217], "follow": [1, 2, 5, 12, 16, 36, 44, 60, 110, 154, 156, 169, 188, 190, 193, 197, 198, 200, 201, 202, 204, 205, 207, 208, 209, 210, 211, 212, 217, 218, 221, 224, 228, 230], "font": [217, 219], "fontsiz": [217, 219], "forc": [5, 6, 7, 11, 21, 23, 25, 29, 31, 37, 39, 40, 48, 50, 57, 58, 63, 64, 66, 67, 69, 76, 79, 80, 82, 89, 92, 93, 96, 101, 104, 112, 113, 115, 133, 134, 150, 151, 184, 185, 186, 188, 190, 193, 196, 202, 204, 212, 214, 216, 218, 223, 226, 227, 229], "force_balanc": 13, "force_coeffici": [202, 217, 227], "force_consist": [25, 203], "force_fc1": [113, 115], "force_fc2": [113, 115], "force_fc3": [113, 115], "force_scal": [93, 102, 107, 183], "forceblock": 63, "forcenet": 216, "forces_cosine_similar": [217, 227], "forces_coupl": [92, 93, 202, 217, 227], "forces_ma": [202, 217, 227], "forces_magnitude_error": [217, 227], "forces_train": [50, 59, 107, 183], "forcescal": 101, "forcestrain": 217, "forcesx_ma": [121, 202, 217, 227], "forcesx_ms": 121, "forcesy_ma": [121, 202, 217, 227], "forcesy_ms": 121, "forcesz_ma": [121, 202, 217, 227], "forcesz_ms": 121, "forev": [188, 193, 195], "fork": [205, 216], "form": [46, 110, 112, 133, 134, 171, 172, 197, 202, 217], "format": [0, 12, 29, 185, 186, 188, 196, 197, 200, 201, 202, 203, 204, 211, 214, 217, 219, 221, 223, 224, 227], "formatopt": 197, "formatt": 227, "former": [106, 122], "formerli": [208, 217, 229], "formula": [16, 71, 84, 98, 154, 156, 185, 186, 188, 202, 204, 212, 227], "forward": [16, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61, 63, 64, 66, 67, 69, 70, 72, 73, 75, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 103, 104, 105, 109, 110, 112, 113, 115, 116, 118, 119, 124, 128, 129, 203, 210, 217], "forward_cal": 203, "found": [5, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 150, 151, 167, 188, 197, 203, 204, 211, 217, 219, 220, 221, 223, 224, 226], "four": 197, "fourier": [77, 90, 105], "fouriersmear": 119, "fourth": 202, "fp": 219, "fr": [202, 227], "frac": [217, 219], "fraction": 27, "fragment": 203, "frame": [1, 3, 5, 11, 23, 31, 37, 185, 186, 188, 197, 199, 208, 217, 218, 219, 228], "frame_set": 228, "frame_til": 5, "framework": [218, 224, 228], "free": [44, 110, 133, 134, 203, 207, 210, 213, 217, 219, 229], "free_energi": 203, "freedom": [76, 89, 104, 158, 168, 224], "freez": 217, "frequenc": [57, 58, 66, 67, 71, 76, 77, 79, 80, 84, 89, 90, 92, 93, 98, 104, 105, 150, 151], "fresh": 214, "fro": 166, "from": [0, 1, 2, 5, 12, 13, 20, 26, 27, 29, 31, 36, 37, 38, 39, 40, 44, 48, 50, 52, 60, 61, 63, 68, 78, 81, 91, 92, 93, 94, 95, 98, 106, 110, 111, 112, 122, 126, 129, 131, 136, 144, 145, 153, 154, 155, 156, 157, 158, 161, 166, 168, 173, 184, 185, 186, 188, 190, 192, 193, 196, 197, 198, 199, 200, 201, 202, 204, 205, 207, 208, 209, 212, 214, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "from_atom": [156, 158], "from_bulk_get_all_slab": [156, 158], "from_bulk_get_random_slab": [156, 158], "from_bulk_get_specific_mil": [156, 158, 221, 224, 228], "from_grid": [56, 65], "from_json": 212, "from_precomputed_slabs_pkl": [156, 158], "fromgrid": 117, "frozen": [171, 172], "ft": 202, "fuel": 217, "full": [12, 23, 31, 37, 163, 166, 199, 211, 217, 219], "full_data": 204, "full_db": 204, "full_traj": 166, "fulli": 217, "func": [13, 63, 203], "funcanim": 219, "function": [38, 40, 43, 44, 45, 48, 50, 54, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 69, 70, 73, 75, 76, 77, 79, 80, 83, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 103, 104, 105, 110, 113, 115, 116, 118, 119, 124, 128, 150, 151, 202, 203, 210, 212, 217, 223, 224, 229], "functool": 203, "funk": 154, "funtion": 44, "furnish": [44, 110, 207, 217], "further": [113, 115, 202, 203], "furthermor": 110, "furthest": [217, 218], "futur": [185, 186, 188, 190, 193, 217, 227, 229], "fysik": [31, 37, 197, 217, 219], "g": [1, 16, 17, 19, 31, 37, 110, 155, 156, 196, 202, 203, 217, 221], "g00de11a": 217, "ga": [197, 198, 209, 210, 217, 219], "gain": 217, "gamma": [62, 65, 76, 89, 104, 112, 117, 202], "gamma_": 110, "gap": [156, 157, 217], "gas_reference_energi": [217, 219], "gaspi": [168, 173], "gastegg": [76, 89, 104], "gate": [48, 50, 61, 110], "gateactiv": 45, "gatedequivariantblock": 110, "gather": [14, 166], "gather_from_model_parallel_region": 16, "gather_object": 14, "gatherfrommodelparallelregion": 16, "gating_scalar": 45, "gaurante": [156, 157], "gaussian": [48, 49, 50, 63, 64, 76, 89, 104, 112, 113, 115, 202, 217, 227], "gaussian_out": 203, "gaussian_rbf": [42, 50, 107, 183], "gaussianbasi": [104, 203], "gaussianradialbasislay": 49, "gaussiansmear": [116, 119, 217], "gcc": 229, "gcn": 110, "gemnet": [31, 42, 80, 88, 103, 107, 183, 202, 203, 204, 209, 214, 216, 223, 226, 227, 229], "gemnet_gp": [42, 107, 183], "gemnet_oc": [42, 107, 183, 202, 203, 217, 227], "gemnet_oc_base_s2ef_all_md": 212, "gemnet_t": 217, "gemnet_t_direct_h512_al": 217, "gemnetoc": [92, 93, 203, 217, 226], "gemnett": [66, 67, 217], "gener": [0, 1, 5, 13, 19, 20, 27, 68, 81, 92, 93, 94, 136, 142, 154, 156, 157, 158, 168, 169, 171, 172, 183, 184, 185, 186, 187, 188, 190, 191, 192, 193, 195, 196, 197, 198, 202, 203, 211, 212, 216, 220, 221, 228, 229], "generaliz": [198, 212], "generate_graph": 43, "generate_graph_dict": [92, 93], "generate_graph_valu": [109, 110], "generate_interaction_graph": [66, 67, 79, 80], "generate_yml_config": [27, 202, 204, 227], "genproto": 13, "geomet": [133, 134], "geometr": [44, 133, 134, 216, 217, 218, 229], "geometri": [5, 182, 202, 217, 221, 223, 229], "get": [5, 6, 8, 11, 20, 29, 31, 37, 38, 56, 65, 66, 67, 79, 80, 95, 98, 110, 154, 156, 157, 158, 168, 184, 185, 188, 197, 199, 202, 204, 210, 217, 220, 222, 223, 224, 225, 226, 227, 229], "get_adsorb": [184, 185, 188, 212], "get_adsorbate_slab_config": [184, 185, 188], "get_adsorbate_slab_relaxation_result": [188, 190, 193], "get_adsorbate_slab_relaxations_request": [184, 185, 188], "get_adsorbate_slab_relaxations_result": [184, 185, 188, 190, 193], "get_angl": 106, "get_atom": [31, 37, 204], "get_atomic_numb": [217, 219], "get_atoms_object": 31, "get_bas": [92, 93, 203], "get_best_sites_for_product1": 5, "get_best_unique_sites_for_product2": 5, "get_binding_sit": [154, 156], "get_bulk": [184, 185, 188, 212], "get_chemical_symbol": [217, 219, 224], "get_class": 20, "get_commit_hash": 29, "get_data": [135, 142, 174], "get_dataload": [149, 150], "get_dataset_class": 20, "get_desorption_map": [6, 8], "get_dft_comput": 1, "get_dft_data": [0, 1], "get_dist": 226, "get_dp_group": 16, "get_dp_rank": 16, "get_dp_world_s": 16, "get_edge_id": [106, 111], "get_energy_and_forc": 25, "get_fig4a": 174, "get_fig4b": 174, "get_fig4c": 174, "get_fig4d": 174, "get_forc": [6, 7, 203, 212, 217, 219], "get_from_grid_mat": [56, 65], "get_gp_group": 16, "get_gp_rank": 16, "get_gp_world_s": 16, "get_graphs_and_indic": [92, 93, 203], "get_initi": 94, "get_inner_idx": 106, "get_interstitial_dist": 154, "get_l_to_all_m_expand_index": 52, "get_logger_class": 20, "get_loss_modul": 29, "get_lr": [60, 131], "get_max_neighbors_mask": 29, "get_metadata": [31, 37, 39], "get_metadata_dict": [154, 156, 157, 158], "get_mixed_triplet": 95, "get_mlp": [69, 82, 96], "get_model": [184, 185, 188], "get_model_class": 20, "get_most_proximate_symmetric_group": 5, "get_neb_fram": [5, 228], "get_neighbor_ord": 106, "get_normalization_lay": 52, "get_pars": [15, 136, 144, 146, 227], "get_pbc_dist": [29, 217], "get_potential_energi": [202, 203, 204, 212, 217, 219, 221, 223, 224, 226, 228], "get_precon_forc": [6, 7], "get_product2_idx": 5, "get_projected_angl": 106, "get_properti": 203, "get_pruned_edge_idx": 29, "get_quadruplet": 95, "get_random_sites_on_triangl": 154, "get_rank": 14, "get_relaxed_energi": [31, 37], "get_results_ml": 11, "get_results_sp": 11, "get_results_ui_url": [185, 187, 188], "get_rotate_inv_rescal": 56, "get_sampl": [149, 150], "get_shortest_path": 5, "get_single_point": 11, "get_sites_within_r": 5, "get_slab": [155, 156, 184, 185, 188], "get_sph_harm_basi": [98, 203], "get_stress": 21, "get_surface_sit": 158, "get_system_pairs_fin": 5, "get_system_pairs_initi": 5, "get_tag": [208, 210, 217, 219, 221, 224], "get_task_class": 20, "get_to_grid_mat": [56, 65], "get_trainer_class": 20, "get_triplet": [66, 67, 79, 80, 95], "get_volum": 202, "get_world_s": 14, "getattr": 203, "getcwd": 182, "getlogg": 227, "gga": [202, 204], "gib": 203, "gif": [136, 219], "gif_maker_parallel": [42, 140, 183], "gin": 110, "gist": 221, "git": 229, "github": [36, 44, 182, 197, 205, 209, 210, 216, 217, 218, 226], "githubusercont": [205, 217], "give": [5, 29, 78, 91, 106, 154, 156, 158, 168, 213, 215, 217], "given": [0, 1, 3, 5, 13, 16, 26, 37, 39, 54, 78, 91, 92, 93, 106, 110, 122, 133, 134, 154, 156, 157, 163, 166, 169, 173, 210, 217, 218], "glibc2": 229, "glob": [31, 37, 217, 221, 224], "global": [20, 78, 91, 106, 111, 112, 198], "gndt_oc22_all_s2ef": 204, "gnn": [48, 50, 63, 64, 110, 113, 115, 217], "gnoc": 226, "gnoc_oc22_oc20_all_s2ef": [202, 214, 227, 229], "go": [2, 52, 92, 93, 197, 202, 217, 223], "goal": [217, 221], "goe": [173, 217], "gold": 204, "goldfarb": 217, "good": [173, 197, 202, 204, 217, 223, 224], "googl": 220, "gotcha": 215, "gov": [217, 223], "goyal": [168, 197, 200, 209, 216, 217], "gp_gpu": 227, "gp_util": [18, 42, 183], "gpa": 202, "gpu": [196, 197, 202, 203, 204, 205, 210, 211, 217, 221, 224, 227, 228], "grab": [224, 228], "grad": [16, 29], "grad_input": 217, "grad_output": 16, "grad_target_mean": [211, 217], "grad_target_std": [211, 217], "gradcheck": 16, "gradient": [16, 19, 66, 67, 69, 79, 80, 82, 92, 93, 96, 217, 219], "gradscal": 101, "grain": 13, "grant": [44, 110, 207, 217], "granular": 110, "graph": [5, 46, 48, 50, 61, 63, 64, 92, 93, 95, 110, 112, 113, 115, 133, 134, 144, 145, 199, 216, 217, 229], "graph_in": 95, "graph_out": 95, "graphdroppath": 46, "graphparallelgemnett": [79, 80], "graphsag": 110, "great": [217, 219], "greater": 5, "greedili": 13, "grei": 217, "grep": [202, 204], "grid": [48, 50, 56, 61, 63, 65, 94, 117, 217, 226], "grid_init": 94, "grid_resolut": [48, 50], "groenenboom": 204, "ground": [0, 1, 217, 219], "group": [2, 5, 14, 33, 204], "grow": 217, "growth": 202, "growth_factor": 101, "growth_interv": 101, "guarante": [184, 185, 188], "guess": [190, 212, 217, 221, 223], "guess_property_metadata": 41, "guess_target_metadata": 41, "gz": [197, 198, 200, 201, 217], "g\u00fcnnemann": 217, "h": [69, 73, 75, 82, 86, 88, 96, 100, 103, 197, 203, 217, 219, 221, 223, 226, 227, 228], "h2": [217, 219, 223], "h2o": [203, 217, 219, 223], "h_": [112, 217, 223], "h_atom": 217, "h_t": 217, "ha": [3, 5, 11, 13, 16, 21, 29, 31, 66, 67, 71, 79, 80, 84, 92, 93, 98, 106, 109, 110, 113, 115, 154, 158, 168, 184, 185, 188, 190, 193, 195, 197, 202, 203, 204, 206, 208, 214, 216, 217, 218, 221, 223, 224, 227, 228, 229], "had": [166, 190, 197, 217, 226, 229], "hadamard": [75, 88], "half": 228, "halid": 197, "halv": 52, "hand": [227, 229], "handl": [16, 188, 190, 193, 212, 228, 229], "handler": 29, "handler_err": 227, "handler_out": 227, "handpick": 217, "happen": [5, 202, 203, 217, 221, 226], "hard": 217, "hardwar": [110, 211], "harm": [71, 84, 98], "harmon": [44, 48, 50, 55, 56, 61, 63, 64, 65, 71, 84, 98, 113, 115, 117], "has_surface_chang": [171, 172, 221, 224], "has_surface_tag": [156, 158], "hashabl": 121, "have": [5, 13, 16, 37, 38, 43, 44, 45, 46, 48, 49, 50, 52, 56, 70, 83, 92, 93, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 136, 154, 156, 158, 168, 169, 171, 172, 186, 188, 190, 193, 196, 197, 199, 202, 203, 204, 205, 210, 211, 212, 216, 217, 218, 221, 223, 224, 226, 227, 228, 229], "hcoda1": 174, "hcp": 223, "he": [68, 81, 94], "he_orthogonal_init": [68, 70, 81, 83, 94, 97], "head": [48, 50, 61, 227], "hear": 230, "heavili": [44, 212], "heighest": 158, "height": [174, 203, 214, 216, 223], "height_tag": 158, "help": [29, 31, 37, 133, 134, 156, 157, 204, 206, 215, 217, 219, 229], "helper": [12, 56, 65, 117, 149, 150, 184, 185, 188, 190, 202], "henc": 95, "henkelman": 197, "heorthogon": [66, 67, 69, 79, 80, 82, 92, 93, 202, 217, 227], "her": [218, 221], "hera": [197, 200, 209, 216, 217], "here": [0, 1, 5, 38, 66, 67, 79, 80, 92, 93, 109, 110, 173, 197, 199, 202, 203, 204, 205, 209, 210, 211, 213, 217, 219, 220, 221, 223, 224, 226, 227, 228, 229], "herebi": [44, 110, 207, 217], "hessian": 217, "heur": 198, "heur0": 169, "heur1": 169, "heurist": [154, 156, 157, 158, 169, 197, 198, 221, 224], "heuristic_adslab": [221, 224], "heuristic_adslabs_h": 221, "heuristic_adslabs_nnh": 221, "heurstic": 169, "hidden": [44, 48, 50, 51, 61, 63, 64, 112, 113, 115], "hidden_channel": [44, 51, 55, 61, 63, 64, 109, 110, 112, 113, 115], "hidden_channels_list": 115, "hierarchi": 29, "high": [0, 1, 196, 202, 210, 212, 217, 226, 229], "higher": [52, 223, 226, 227], "highli": [208, 223], "highlight": [213, 217], "hist": [204, 208, 217], "histor": [37, 39, 40], "histori": 217, "hit": [188, 193, 195, 217], "hmac": 204, "ho": [197, 209, 216, 217], "hold": [5, 53], "holder": [44, 110, 207, 217], "hollow": [154, 156, 157, 221], "home": [5, 174, 202, 204, 217, 221, 227, 229], "hook": 203, "hope": 217, "host": [184, 185, 187, 188, 190, 193, 204, 211], "hostedtoolcach": [203, 217, 219, 221, 226, 227, 229], "hot": [33, 35, 36], "hour": [217, 221, 228], "how": [16, 92, 93, 196, 202, 204, 206, 208, 209, 211, 213, 214, 215, 217, 218, 219, 220, 223, 224, 226, 228, 229], "howev": [46, 71, 84, 98, 110, 196, 217, 219, 223, 224, 227], "hpo": [42, 140, 183], "hpo_util": [18, 42, 183], "html": [31, 37, 158, 185, 186, 188, 197, 217, 219, 226, 228], "http": [31, 37, 44, 78, 91, 106, 109, 110, 111, 154, 158, 184, 185, 188, 197, 198, 200, 202, 204, 205, 209, 211, 212, 216, 217, 218, 219, 221, 223, 226], "hu": [197, 209, 216, 217], "hundr": 212, "hybrid": [1, 141, 211], "hydrogen": 217, "hyperparamet": [66, 67, 76, 77, 79, 80, 89, 90, 92, 93, 104, 105, 210, 217], "i": [0, 1, 2, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60, 61, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 124, 125, 128, 129, 131, 133, 134, 136, 137, 140, 141, 143, 148, 149, 150, 151, 154, 155, 156, 157, 158, 166, 167, 168, 171, 172, 184, 185, 186, 187, 188, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 202, 204, 205, 207, 208, 209, 211, 212, 216, 217, 218, 219, 220, 221, 223, 224, 226, 227, 228, 229], "i_structur": [217, 219], "ibrion": 202, "iccv": 52, "id": [1, 2, 31, 37, 38, 155, 156, 184, 185, 186, 187, 188, 190, 193, 197, 198, 199, 200, 202, 204, 208, 209, 211, 212, 217, 221, 227], "id001": 217, "id3_ba": [66, 67, 75, 79, 80, 88], "id3_ca": [66, 67, 75, 77, 79, 80, 88, 90], "id3_ragged_idx": [66, 67, 75, 79, 80, 88], "id_": [78, 91, 106], "id_ca": [72, 85], "id_j": [69, 82], "id_ragged_idx": [72, 85], "id_reduc": [72, 85], "id_swap": [75, 88, 103], "id_t": [78, 91, 106], "idea": [204, 213, 215, 216, 217, 221], "ident": 166, "identifi": [5, 31, 37, 57, 58, 133, 134, 149, 150, 151, 154, 156, 197, 198, 199, 200, 202, 204, 208, 217, 218, 219, 221, 227], "idx": [3, 5, 31, 37, 38, 39, 40, 103, 106, 208, 217, 218, 221, 224, 228], "idx_": [73, 75, 86, 88, 217], "idx_agg2": 103, "idx_agg2_inn": [99, 103], "idx_agg2_out": 99, "idx_agg_inn": 99, "idx_agg_out": 99, "idx_atom": 96, "idx_ji": 44, "idx_kj": 44, "idx_map": 5, "idx_of_interest": 228, "idx_rad_inn": 99, "idx_rad_out": 99, "idx_sph_inn": 99, "idx_sph_out": 99, "idx_t": [73, 75, 86, 88, 203, 217], "idxs_to_keep": 224, "ignor": [13, 21, 37, 39, 40, 158, 188, 192, 193, 203, 219], "ij": 217, "ill": 106, "illumin": 217, "illustr": [204, 217, 219], "iloc": 224, "imag": [6, 7, 52, 95, 164, 166, 203, 204, 208, 217, 219, 228], "imagin": 224, "img": 216, "immedi": [188, 190, 193], "impact": [220, 223], "impl": 46, "implement": [12, 13, 16, 21, 31, 37, 39, 44, 45, 46, 49, 110, 197, 216, 217, 224], "implemented_properti": 21, "impli": [44, 110, 199, 207, 217], "implicit": 229, "import": [11, 20, 29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 198, 199, 202, 203, 204, 208, 210, 212, 214, 218, 219, 221, 223, 224, 226, 227, 228, 229], "importantli": 31, "improv": [122, 202, 203, 204, 217, 223, 224, 228], "in_channel": [45, 115], "in_featur": [56, 70, 97, 217], "in_lmax": [56, 65], "in_mmax": [56, 65], "inact": 229, "inc": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207], "incar": [11, 202], "incid": 95, "includ": [1, 5, 21, 29, 31, 37, 44, 66, 67, 79, 80, 110, 133, 134, 184, 185, 186, 188, 190, 193, 195, 196, 197, 198, 202, 204, 207, 211, 212, 213, 216, 217, 220, 221, 223, 229], "include_data": [37, 38], "include_relaxed_energi": [31, 37, 196], "incom": 95, "incompat": [202, 203, 204, 214, 217, 221, 223, 224, 227], "incorpor": [157, 218, 224], "incorrect": 197, "increas": [29, 78, 91, 106, 111, 158, 168, 217, 221, 228], "increasingli": [216, 229], "increment": [78, 91, 106, 111], "ind": [154, 156, 157, 204, 226], "indefinit": [188, 190, 193], "independ": [190, 211], "index": [5, 29, 31, 37, 38, 39, 53, 78, 82, 91, 106, 110, 111, 133, 134, 142, 153, 155, 156, 158, 168, 169, 196, 197, 199, 202, 208, 217, 218, 219, 224, 226, 228], "index_drop_ddec_defect": 176, "index_drop_ddec_pristin": 176, "index_fil": [31, 37, 196], "index_fn": [128, 129], "indexfn": [128, 129], "indic": [5, 13, 37, 39, 51, 61, 66, 67, 78, 79, 80, 91, 92, 93, 95, 106, 111, 112, 133, 134, 153, 154, 156, 157, 158, 162, 168, 169, 173, 185, 186, 188, 192, 193, 197, 198, 199, 200, 202, 203, 208, 212, 217, 218, 219, 224], "individu": [5, 133, 134, 188, 190, 193, 203, 212], "induc": [171, 172], "inf": [92, 93, 101], "infer": [37, 39, 40, 210, 215], "infil": 174, "infinit": [217, 219], "influenc": 223, "info": [5, 17, 46, 63, 64, 113, 115, 133, 134, 204, 217, 220, 227], "info_str": 53, "inform": [1, 5, 20, 27, 31, 37, 45, 46, 49, 133, 134, 154, 156, 184, 185, 186, 188, 190, 196, 198, 199, 202, 208, 212, 217, 218, 219, 223, 224, 226, 228, 229], "infrastructur": [196, 199], "ingo": 95, "inherit": [149, 150], "init": 5, "init_atom": [171, 172], "init_basis_funct": [92, 93], "init_edge_rot_mat": 47, "init_kwarg": 94, "init_scal": 101, "init_shared_basis_lay": [92, 93], "initi": [5, 6, 8, 12, 14, 16, 23, 29, 31, 37, 39, 40, 42, 48, 50, 57, 58, 66, 67, 69, 70, 72, 73, 76, 79, 80, 82, 83, 85, 86, 89, 92, 93, 97, 100, 104, 107, 110, 119, 122, 129, 150, 151, 153, 154, 155, 156, 158, 166, 171, 172, 183, 188, 190, 193, 198, 199, 212, 216, 219, 221, 223, 224], "initial_atom": 224, "initial_charg": [21, 221], "initial_fram": 5, "initial_lr": 29, "initial_magmom": [21, 221], "initial_struc": [208, 217], "initial_til": 5, "initialize_": [128, 129], "initwignerdmatrix": 117, "inityrotmap": 117, "inlin": [203, 217, 219], "inner": [5, 78, 91, 106, 217], "inner_product_clamp": 106, "inner_product_norm": [78, 91], "innov": 217, "inpfil": 146, "inplac": 45, "input": [16, 29, 45, 52, 54, 55, 56, 60, 66, 67, 70, 71, 79, 80, 83, 84, 94, 95, 97, 98, 99, 100, 103, 110, 118, 124, 131, 158, 164, 166, 168, 169, 173, 180, 184, 185, 186, 187, 188, 190, 191, 192, 193, 197, 198, 200, 201, 202, 210, 211, 212, 216, 217, 228], "input_block": [42, 50, 107, 183], "input_channel": [51, 55, 61], "input_embed": [56, 61], "input_fold": 162, "input_scalar": 45, "input_tensor": 45, "insert": [13, 21], "insid": 97, "inspect": [202, 221, 223, 226], "inspir": [20, 101, 217], "instal": [27, 214, 217, 229], "instanc": [29, 31, 37, 155, 156, 184, 185, 188, 190, 193, 217], "instanti": [31, 110, 224, 228], "instead": [16, 26, 33, 95, 106, 173, 197, 202, 203, 211, 214, 217, 219, 221, 224, 227], "instruct": [205, 217, 224, 228], "int": [3, 5, 6, 8, 13, 14, 16, 19, 21, 23, 25, 26, 29, 31, 37, 38, 39, 40, 43, 44, 45, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 121, 124, 127, 129, 133, 134, 149, 150, 151, 153, 154, 155, 156, 157, 158, 169, 182, 184, 185, 186, 188, 190, 192, 193, 195, 204, 217, 218, 224], "int32": 218, "int_": [13, 119], "int_block": 217, "int_dft_co2": 174, "int_dft_h2o": 174, "int_emb_s": 44, "integ": [2, 27, 37, 38, 39, 40, 133, 134, 168, 173, 197, 198, 200, 202], "integr": [37, 39, 48, 50, 56, 63, 64, 113, 115], "intend": [16, 31, 37, 208, 217], "intens": [217, 229], "intention": 197, "inter": [156, 157, 228], "interact": [31, 44, 73, 75, 86, 88, 92, 93, 95, 100, 103, 112, 113, 115, 171, 172, 188, 192, 193, 203, 210, 219, 220, 229], "interaction_block": [67, 74, 80, 87, 93, 102, 107, 183], "interaction_indic": [42, 93, 107, 183], "interactionblock": 103, "interactionblocktripletsonli": [75, 88], "interactionppblock": 44, "interactom": [66, 67, 79, 80], "interatom": [44, 66, 67, 79, 80, 92, 93, 112, 133, 134], "intercal": [221, 224], "intercept": 221, "interest": [197, 208, 211, 217, 219, 220, 228], "interfac": [19, 21, 202, 217], "intermedi": [72, 85, 95, 99, 163, 166, 217], "intermetal": 197, "intermitt": 217, "intern": [20, 29, 197], "internal_weight": 55, "internet": 229, "interplai": 217, "interpol": 5, "interpolate_and_correct_fram": 5, "interpret": 223, "interrel": 217, "intersect": [5, 154, 156], "interstiti": [5, 156, 157], "interstitial_gap": [154, 156, 157], "interv": [26, 219], "interval_sec": 190, "intro": [206, 215], "introduc": [110, 223, 229], "introduct": [215, 217, 222], "intuit": [217, 219], "inv_cutoff": 217, "invalid": 221, "invari": [29, 48, 50, 51, 55, 61, 63, 64, 110, 229], "invers": [76, 89, 104], "inverse_neg": [66, 67, 79, 80, 109, 110], "investig": [223, 226, 229], "involv": [1, 13, 158, 168, 217], "io": [31, 37, 196, 197, 199, 203, 208, 212, 217, 218, 219, 221, 224, 226, 228], "ionic": [1, 3, 198], "ionic_step": [1, 3], "ioniz": 33, "ip_op_pair": 146, "iprogress": 226, "ipynb": 218, "ipython": [202, 212, 217, 219, 227, 228], "ipywidget": 226, "ir": 223, "iro2": 202, "irrep": [29, 46, 56, 65], "irreps_sum": 29, "is2": 197, "is2r": [37, 39, 40, 57, 58, 150, 151, 196, 204, 210, 214, 220, 224, 228, 229], "is2re_is2re_result": 217, "is2re_predict": [211, 217], "is2re_result": 217, "is2rs_submiss": 211, "is_adsorbate_adsorb": 5, "is_adsorbate_desorb": [171, 172, 221, 224], "is_adsorbate_dissoci": [171, 172, 221, 224], "is_adsorbate_intercal": [171, 172, 221, 224], "is_avail": [217, 229], "is_debug": [57, 58, 149, 150, 151, 217, 227], "is_edge_list_respect": 5, "is_failed_sp": 11, "is_mast": 14, "is_structure_invert": [158, 168], "is_success": [0, 1], "isif": 202, "ismear": 202, "isn": [13, 171, 172, 223], "issu": [36, 202, 203, 204, 210, 216, 217], "item": [20, 217, 226], "iter": [5, 13, 17, 25, 31, 37, 53, 122, 129, 149, 150, 151, 188, 192, 193, 199, 211, 217, 221, 224], "itersect": [154, 156], "ith": [37, 38], "its": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 171, 172, 188, 190, 191, 193, 207, 212, 216, 217, 224, 229], "itself": [29, 158, 168, 217, 219], "j": [66, 67, 79, 80, 92, 93, 109, 110, 112, 180, 201, 202, 204, 209, 217, 223, 226], "janic": [200, 209, 212, 217], "janlan": 217, "javier": [197, 200, 209, 216, 217], "ji": 217, "jing": 221, "jn": [71, 84, 98], "jn_zero": [71, 84, 98], "job": [11, 29, 182, 190, 203, 217], "johann": 217, "join": [180, 216, 217, 219], "jointli": 211, "journal": [197, 200, 201, 209, 212, 216], "jp508805h": 223, "json": [31, 37, 38, 66, 67, 79, 80, 126, 174, 202, 212, 217, 223], "judgement": [202, 229], "jump": 5, "junwoong": [197, 209, 216, 217], "jupyt": [203, 212, 220, 221, 226, 227, 229], "just": [5, 11, 16, 37, 38, 57, 58, 136, 150, 151, 196, 203, 204, 208, 213, 217, 219, 221, 223, 224, 228], "jvp": 16, "k": [1, 6, 7, 33, 35, 36, 71, 84, 98, 129, 173, 199, 217, 221, 223, 226, 228], "k2zn6o7_mp": 200, "k4zn12o14": 200, "k_pt": 173, "kaim": [68, 81, 94], "kb": 204, "keep": [57, 58, 78, 91, 106, 111, 150, 151, 188, 192, 193, 196, 203, 204, 216, 221, 223, 224], "keep_all_slab": [188, 192, 193, 212], "keep_in_memori": [31, 37, 196], "keep_slabs_with_miller_indic": [188, 192, 193, 212], "kei": [1, 20, 27, 29, 30, 37, 38, 39, 40, 78, 91, 121, 129, 133, 134, 149, 150, 158, 188, 192, 193, 197, 200, 202, 203, 204, 208, 217, 226, 229], "keith": 204, "kept": [48, 50, 224], "kernel": [68, 69, 81, 82, 94, 221, 223], "kernel_initi": [72, 85], "kevin": [168, 173, 197, 209, 216, 217], "key_map": [30, 31, 37, 217], "key_sequ": 29, "key_value_pair": [37, 38, 204], "keyword": [31, 37, 70, 83, 97, 129, 196], "khot_embed": [34, 37, 42, 183], "kind": [20, 44, 110, 203, 204, 207, 217, 221, 223, 226, 229], "kitchin": [202, 204, 223, 226], "klicpera": 217, "klicperajo": 44, "kmax": [72, 85, 88, 99], "know": [203, 206, 223], "knowledg": 217, "known": [184, 185, 188, 221], "kolluru": [200, 209, 217], "kpt": 202, "kpt1": 204, "kpt2": 204, "kpt3": 204, "kpts_nintersect": 202, "ktran": [168, 173], "kwarg": [12, 13, 16, 29, 37, 38, 69, 75, 82, 88, 92, 93, 129, 156, 158, 174, 182, 184, 185, 188, 203], "kwd": [185, 186, 188, 190, 193], "l": [48, 50, 51, 52, 53, 55, 61, 63, 65, 71, 84, 98, 117, 217, 226], "l2": 226, "l22": 182, "l2mae": [202, 217, 227], "l2maeloss": 124, "l4": [203, 204, 209, 214, 229], "l6": [204, 209, 214, 229], "l_degre": [71, 84, 98], "l_harmon": 56, "l_max": 224, "l_maxdegre": [71, 84, 98], "label": [158, 185, 186, 188, 192, 193, 202, 217, 219, 221, 223, 226, 229], "label_metric_dict": 17, "labels": [217, 219], "lack": 229, "lambda": [60, 203], "lambda_": 209, "lambda_f": 209, "lambda_typ": 60, "lambdalr": 60, "lan": [200, 209, 212, 217], "lan2023adsorbml": 212, "laptop": 229, "larg": [5, 13, 31, 37, 156, 157, 201, 202, 204, 208, 209, 210, 214, 217, 219, 223, 227, 229], "larger": [31, 37, 158, 168, 197, 223], "largest": [13, 208, 217], "larri": [206, 217], "last": [21, 31, 37, 51, 61, 110, 196, 199, 202, 203], "lastli": [133, 134], "late": 223, "later": [2, 5, 29, 122, 125, 184, 185, 186, 188, 202, 211, 217, 221, 224, 226, 229], "latest": [166, 213, 216, 217, 230], "latter": [221, 224], "lattic": [158, 185, 186, 188, 223, 226], "launch": [210, 211, 212, 217, 221], "lavril": [197, 209, 216, 217], "lawrenc": [197, 200, 209, 212, 216, 217], "lay12": [203, 204, 209, 214, 229], "lay20": [204, 209, 214, 229], "layer": [20, 42, 44, 46, 48, 50, 52, 54, 61, 63, 64, 66, 67, 79, 80, 92, 93, 107, 110, 112, 113, 115, 119, 183, 203, 217, 219], "layer_idx": 63, "layer_kwarg": [70, 83, 97], "layer_norm": [42, 48, 50, 61, 107, 183], "layer_norm_sh": [48, 50, 61], "layerblock": 63, "lbfg": [25, 217, 219], "lbfgs_torch": [18, 22, 24, 183], "lbl": 217, "lbrabson3": 174, "lc": 226, "lda": 202, "le4": [204, 209, 214, 229], "lead": [29, 204, 217], "leaderboard": 217, "leap": [198, 212], "learn": [29, 60, 68, 76, 81, 89, 94, 104, 131, 196, 198, 202, 204, 211, 212, 214, 217, 229], "learnabl": [110, 229], "least": [31, 156, 157, 158, 188, 190, 193, 204], "leav": [5, 221], "led": [197, 217], "left": [110, 197, 202, 221, 222, 225], "legacy_tutori": [215, 217], "legend": [202, 217, 219, 221, 223, 226], "legendr": [71, 84, 98], "legendre_out": [202, 203, 217, 227], "len": [13, 21, 37, 38, 78, 91, 106, 111, 202, 203, 204, 208, 217, 218, 219, 221, 226], "length": [13, 37, 39, 40, 56, 65, 71, 84, 98, 199, 204, 208, 217], "less": [1, 5, 154, 156, 158, 217, 223, 224], "let": [202, 217, 221, 229], "level": [29, 202, 211, 212, 217, 227], "levelnam": 227, "leverag": [217, 221, 223, 229], "lf100": [204, 209, 214, 229], "lgpl2": 38, "li2cr2o4": 200, "liabil": [44, 110, 207, 217], "liabl": [44, 110, 207, 217], "lib": [203, 217, 219, 221, 226, 227], "librari": [212, 217], "licens": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 197, 200, 201, 209, 217], "licro2_mp": 200, "lie": 5, "lifetim": [188, 190, 193], "like": [21, 33, 53, 60, 188, 190, 193, 198, 199, 202, 203, 204, 210, 216, 217, 219, 221, 223, 224, 226, 227, 229], "limit": [37, 38, 44, 110, 174, 184, 185, 186, 188, 190, 193, 195, 207, 212, 219, 220, 229], "lin_ref": [48, 50, 210], "line": [45, 46, 49, 169, 197, 202, 203, 204, 220, 221, 223, 227], "linear": [5, 44, 48, 50, 53, 54, 55, 61, 63, 68, 81, 94, 113, 115, 210, 217, 226], "linearli": [5, 29], "linearsigmoid": [48, 50, 63, 64, 113, 115], "linearsigmoidsmear": 116, "linewidth": 221, "link": [197, 198, 199, 200, 201, 205, 211, 213, 227], "linker": 201, "linregress": 221, "linspac": [217, 226], "linux": 229, "list": [2, 5, 11, 13, 14, 21, 26, 27, 29, 31, 37, 38, 39, 43, 48, 50, 51, 53, 54, 55, 56, 60, 61, 63, 64, 65, 71, 84, 92, 93, 98, 110, 119, 129, 133, 134, 153, 154, 155, 156, 157, 158, 166, 168, 169, 182, 184, 185, 186, 188, 190, 192, 193, 197, 202, 204, 209, 212, 217, 224, 226, 229], "liter": [13, 29], "literatur": [222, 229], "literature_data": 221, "littl": [29, 202, 217, 219, 221, 223, 226], "liu": 226, "ll": [204, 214, 217], "lmax": [45, 48, 50, 52, 56, 63, 64, 65, 113, 115, 117], "lmax_list": [48, 50, 51, 55, 56, 61, 63, 64, 65], "lmdb": [31, 37, 39, 40, 144, 145, 146, 196, 197, 198, 199, 200, 201, 210, 211, 220, 224, 228], "lmdb_databas": [37, 42, 183], "lmdb_dataset": [37, 42, 183], "lmdb_dataset_cr": 215, "lmdb_path": [37, 39, 40], "lmdbdatabas": [37, 38], "lmdbdataset": [37, 39, 208, 217], "lmdbdatset": 217, "load": [6, 7, 21, 31, 37, 38, 39, 40, 48, 50, 122, 126, 149, 150, 155, 156, 196, 197, 200, 202, 203, 204, 210, 211, 214, 221, 223, 226, 229], "load_balanc": [142, 202, 211, 227], "load_checkpoint": [6, 7, 21, 149, 150, 217], "load_config": 29, "load_dataset": [149, 150], "load_dataset_get_id": 31, "load_energy_lin_ref": [48, 50], "load_extra": [57, 58, 149, 150], "load_logg": [149, 150], "load_loss": [149, 150], "load_model": [149, 150], "load_optim": [149, 150], "load_scales_compat": 126, "load_seed_from_config": [149, 150], "load_state_dict": [29, 122, 125], "load_task": [149, 150], "loc": [202, 221], "local": [57, 58, 107, 108, 150, 151, 188, 190, 193, 197, 198, 203, 212, 217, 226, 227], "local_cach": [21, 107, 108, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "local_rank": [57, 58, 149, 150, 151, 217, 227], "locat": [5, 158, 168, 204, 217, 219, 224], "lock": 217, "log": [19, 29, 57, 58, 76, 89, 104, 150, 151, 183, 188, 190, 193, 195, 202, 208, 211, 217, 221, 227], "log_formatt": 227, "log_grid_init": 94, "log_plot": 19, "logan": [201, 209], "logarithm": 94, "logdir": [211, 227], "logfil": [208, 218, 221, 223], "logger": [18, 20, 29, 42, 57, 58, 149, 150, 151, 183, 188, 193, 195, 202, 204, 217, 227], "logic": [110, 203], "logrecord": 29, "logs_dir": 217, "lone": 197, "long": [66, 67, 79, 80, 95, 158, 204, 215, 217, 227], "longer": [5, 16, 171, 172, 216, 217, 228], "longtensor": [208, 217], "look": [60, 158, 168, 199, 202, 217, 219, 221, 223, 224, 226], "lookup": [0, 1], "loop": [3, 31, 37, 163, 184, 185, 188, 202, 221, 226], "lose": [66, 67, 79, 80, 92, 93, 109, 110], "loss": [42, 57, 58, 123, 149, 150, 151, 183, 202, 217, 227], "loss_energi": [202, 217, 227], "loss_fn": [57, 58, 124, 149, 150, 151, 202, 217, 227], "loss_forc": [202, 217, 227], "loss_nam": [29, 124], "lost": 5, "lot": [202, 203, 204, 216, 217, 221], "low": [198, 212, 217, 223], "low_e_valu": 224, "lower": [0, 1, 113, 115, 212, 217, 223, 226], "lowest": [2, 5, 202, 221, 223, 224, 226], "lowest_energy_data_co2": 176, "lowest_energy_data_co2_defect": 176, "lowest_energy_data_co_ad": 176, "lowest_energy_data_co_ads_2": 176, "lowest_energy_data_co_ads_2_defect": 176, "lowest_energy_data_co_ads_defect": 176, "lowest_energy_data_h2o": 176, "lowest_energy_data_h2o_defect": 176, "lowik": [197, 209, 216, 217], "lr": [131, 217, 227], "lr_gamma": 29, "lr_initi": [202, 211, 217, 227], "lr_mileston": 217, "lr_min_factor": 60, "lr_schedul": [50, 59, 107, 183], "lrschedul": [60, 131], "lv": [62, 65], "lval": [56, 65], "lw": [217, 219], "lzma": 197, "m": [48, 50, 51, 52, 55, 56, 61, 63, 65, 69, 71, 72, 75, 82, 84, 85, 88, 96, 98, 99, 100, 103, 119, 158, 168, 201, 204, 209, 212, 217, 226, 227], "m2": [203, 204, 209, 214, 229], "m3": [204, 209, 214, 229], "m_ba": [72, 85], "m_ca": [72, 85, 99], "m_complex": 56, "m_db": [72, 85], "m_ji": 217, "m_order": [71, 84, 98], "m_output_channel": 55, "m_rbf": [73, 86, 217], "m_st": [73, 86, 100, 217], "machin": [188, 190, 193, 198, 205, 211, 212, 217, 229], "made": [0, 1, 5, 29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 184, 185, 188, 193, 195, 202, 203, 206, 229], "mae": [121, 124, 202, 204, 209, 217, 227], "magic": 202, "magmom": 21, "magneton": 202, "magnitud": [154, 156, 203, 217], "magnitude_error": [121, 202, 217, 227], "mai": [12, 13, 29, 171, 172, 186, 196, 197, 202, 203, 204, 210, 211, 214, 217, 218, 219, 221, 223, 224, 226, 227, 229], "main": [0, 12, 27, 31, 46, 95, 127, 138, 139, 141, 142, 143, 144, 145, 146, 163, 164, 165, 177, 178, 182, 202, 203, 205, 209, 210, 211, 217, 221, 224, 226, 227, 228, 229], "main_graph": [92, 93, 95, 203], "mainstai": 229, "maintain": [20, 122, 154, 171, 172, 217, 219], "major": [208, 217], "make": [5, 11, 12, 16, 31, 37, 39, 66, 67, 68, 79, 80, 81, 92, 93, 94, 109, 110, 136, 173, 184, 185, 188, 190, 193, 195, 197, 203, 205, 210, 211, 219, 222, 223, 224, 226, 227, 228, 229], "make_challenge_submission_fil": [42, 140, 183], "make_lmdb_s": [42, 140, 183, 211], "make_submission_fil": [42, 140, 141, 183, 211], "makedir": [208, 217, 219, 221, 224], "malform": [184, 185, 188], "mamba": 205, "manag": 203, "mandatori": 217, "mani": [16, 31, 37, 38, 39, 40, 71, 84, 98, 136, 158, 168, 196, 203, 204, 213, 216, 217, 219, 221, 223, 224, 226, 228], "manner": 217, "manual": 212, "manuscript": [1, 197, 200, 201, 209], "map": [0, 1, 5, 6, 8, 20, 29, 31, 37, 39, 56, 65, 95, 110, 126, 129, 157, 188, 190, 193, 198, 217], "map_async": [208, 217], "map_idx": 5, "map_siz": [208, 217], "mapping_adslab_slab": 197, "mapping_idx": 228, "mapping_nam": 20, "mappingreduc": [51, 55, 56, 61, 63, 65], "margin": 224, "mark": [188, 190, 193], "mark_ephemer": [188, 190, 193], "mark_preempt": 19, "marker": 202, "mask": [29, 66, 67, 79, 80, 92, 93, 106, 109, 110, 223], "mask_neighbor": [78, 91, 106], "masked_select_sparsetensor_flat": 106, "mass": [154, 156, 157, 158, 202, 204, 227], "master": [38, 44, 218], "match": [5, 31, 37, 196, 226], "mater": 202, "materi": [184, 185, 186, 188, 190, 193, 197, 198, 199, 200, 202, 212, 216, 217, 221, 229], "mathbf": [110, 112], "mathcal": [110, 112], "mathrm": 26, "matmul": 95, "matplotlib": [202, 204, 208, 214, 217, 219, 221, 223, 226, 228], "matric": [51, 61], "matrix": [65, 66, 67, 68, 72, 79, 80, 81, 85, 94, 95, 99, 106, 158, 168, 171, 172, 185, 186, 188], "matt": [201, 209, 212], "matter": [217, 227], "matthia": 44, "max": [17, 23, 29, 110, 204, 217, 219, 228], "max_attempt": [188, 193, 195], "max_epoch": [202, 217, 227], "max_force_it": 101, "max_jitter_sec": [188, 193, 195], "max_level": 29, "max_mil": [155, 156, 158, 168], "max_n": 119, "max_neigh": [29, 133, 134, 208, 217, 218], "max_neighbor": [21, 43, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 202, 217, 227], "max_neighbors_aeaint": [92, 93, 202, 217, 227], "max_neighbors_aint": [92, 93, 202, 217, 227], "max_neighbors_orig": [92, 93], "max_neighbors_qint": [92, 93, 202, 217, 227], "max_num_el": [48, 50, 51, 61, 63, 64, 113, 115], "max_num_neighbor": [113, 115], "max_num_neighbors_threshold": [29, 106], "max_radiu": [48, 50], "max_split_size_mb": 203, "maxim": 17, "maximum": [3, 48, 50, 51, 56, 61, 63, 64, 65, 66, 67, 71, 72, 76, 77, 79, 80, 84, 85, 89, 90, 92, 93, 98, 99, 104, 105, 109, 110, 113, 115, 117, 133, 134, 158, 168, 188, 193, 195, 217, 218], "maxit": 180, "maxstep": [25, 211, 217], "mayb": 203, "mb": [204, 217], "md": [197, 203, 204, 209, 214, 217, 221, 223, 224, 228, 229], "md5": [197, 198, 199, 200, 201], "mean": [49, 110, 112, 124, 125, 158, 168, 202, 203, 204, 205, 210, 211, 214, 217, 221, 223, 226], "meaning": 217, "meantim": 205, "measur": [1, 198], "mechan": 217, "medford": [201, 209], "medium": 217, "meet": 217, "mehta": 202, "mellon": 217, "member": 21, "meminit": [208, 217], "memori": [25, 31, 37, 63, 64, 110, 113, 115, 196, 197, 203, 204, 211, 217, 223, 229], "mention": 217, "merchant": [44, 110, 207, 217], "merg": [29, 44, 66, 67, 79, 80, 110, 163, 207, 217, 221], "merge_dict": 29, "merit": 198, "mesh": 173, "messag": [61, 63, 64, 66, 67, 69, 75, 79, 80, 82, 88, 92, 93, 96, 103, 109, 110, 113, 115, 117, 190, 227, 229], "messageblock": [63, 115], "messagepass": 110, "meta": [10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 148, 149, 151, 167, 188, 207], "metadata": [0, 37, 38, 142, 154, 156, 157, 169, 185, 186, 188, 198, 211], "metadata_path": [13, 37, 39], "metademolab": [184, 185, 188, 212], "metal": 197, "metalloid": 197, "meth": 13, "methan": 226, "methane_emb": 226, "methanol": 226, "methanol_emb": 226, "method": [1, 6, 7, 12, 13, 16, 37, 38, 39, 45, 46, 49, 53, 66, 67, 79, 80, 92, 93, 110, 122, 156, 157, 158, 168, 180, 184, 185, 188, 190, 193, 195, 204, 211, 215, 217, 226, 229], "metric": [17, 57, 58, 60, 121, 131, 149, 150, 151, 202, 216, 217, 224, 227], "metric_dict": 17, "metric_to_opt": 17, "mib": 203, "middl": [217, 219], "might": [158, 184, 185, 188, 203, 210, 217, 223, 229], "mileston": 29, "miller": [156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 199, 200, 204, 212, 224], "miller_idx": 198, "miller_index": [197, 200], "miller_indic": [188, 192, 193], "million": 217, "mimic": 227, "min": [17, 110, 202, 204, 217, 221, 224, 227, 228], "min_": [221, 224], "min_ab": [156, 158], "min_diff": [2, 121], "min_e_ml": 221, "min_e_ml_i": 221, "min_e_ml_x": 221, "min_level": 29, "min_max": 17, "mind": [13, 31, 37, 203, 224], "minim": [5, 17, 188, 190, 193, 217, 227], "minimum": [5, 154, 156, 157, 158, 198, 211, 226], "minor": 197, "minu": [209, 210], "minut": [188, 190, 193, 202, 204, 212, 228], "mirror": [158, 168], "misc": [202, 203, 217, 227], "mislead": [46, 203], "miss": [21, 37, 38, 201], "missing_ddec": 176, "missing_ddec_defect": 176, "missing_ddec_pristin": 176, "mit": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 207, 212, 216, 217], "mitig": 229, "mix": [46, 57, 58, 95, 150, 151, 203, 204, 217], "mjyjzgpq978": 217, "mkdir": [217, 224], "ml": [0, 1, 2, 11, 23, 185, 186, 188, 197, 206, 211, 222, 223], "ml_data": [0, 1], "ml_dft_target": 0, "ml_energi": [0, 1], "ml_relax": [18, 22, 42, 183], "ml_trajectori": 217, "mlp": [48, 50, 61, 110, 229], "mmax": [45, 56, 65, 113, 115, 117], "mmax_list": [48, 50, 51, 55, 56, 61, 63, 64, 65], "mmf": 216, "mo3pd": 221, "mo3ru": 221, "mode": [13, 16, 43, 44, 45, 46, 49, 52, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 150, 151, 153, 154, 156, 157, 202, 204, 205, 210, 211, 217, 221, 224, 227, 228], "mode_str": 169, "model": [0, 6, 7, 11, 19, 20, 21, 23, 25, 29, 31, 37, 42, 122, 124, 128, 129, 149, 150, 151, 183, 184, 185, 188, 190, 193, 196, 197, 198, 199, 200, 204, 218, 219, 220, 221, 223, 224, 226, 227, 228], "model_attribut": [202, 204, 217, 227], "model_nam": [21, 107, 108], "model_name_to_local_fil": [107, 108, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "model_param": 217, "model_registri": [42, 107, 183, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "modelcheckpoint": [202, 203, 204, 214, 217, 221, 223, 224, 227], "modif": 197, "modifi": [11, 29, 38, 44, 110, 165, 173, 188, 190, 193, 197, 207, 215, 217], "modul": [42, 183, 203, 210, 217, 223, 226], "module_list": [42, 50, 107, 183], "modulelist": 53, "modulelistinfo": 53, "mof": 201, "mof_nam": 176, "moiti": 5, "molecul": [112, 208, 217, 218, 219, 226], "molecular": [109, 110, 133, 134, 197, 217, 229], "moment": 202, "momenta": 221, "momenttum": 29, "momentum": 29, "monitor": [19, 211], "monkeypatch": 226, "monoton": 217, "month": 217, "mopd3": 221, "more": [5, 13, 16, 31, 37, 46, 158, 182, 196, 197, 199, 202, 203, 210, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 228], "moreov": 210, "morgan": [197, 209, 216, 217], "moru3": 221, "most": [5, 29, 31, 37, 38, 106, 110, 136, 154, 156, 157, 158, 196, 198, 202, 203, 204, 217, 221, 223, 227, 229], "mostli": [37, 38, 188, 193, 195], "motion": 173, "motiv": [36, 217], "move": [5, 122, 182, 203, 217, 219], "move_mask": [217, 219], "movement": [171, 172], "moviewrit": 219, "mp": [155, 156, 188, 190, 193, 197, 200, 212, 221, 224, 228], "mp_arg": [136, 144, 145], "mpid": 198, "mse": [121, 217], "msg": 28, "mshuaibi": 217, "mu": 112, "much": [1, 204, 216, 217, 221, 228], "muham": [197, 200, 209, 212, 216, 217], "mul": 110, "mult": 180, "multi": [45, 46, 49, 197, 211], "multi_adsorbate_slab_config": [152, 156, 167, 183], "multiarrai": 217, "multipl": [5, 31, 37, 78, 91, 106, 110, 156, 157, 158, 168, 169, 182, 196, 203, 208, 210, 211, 217, 224], "multipleadsorbateslabconfig": [156, 157], "multipli": [29, 52, 55, 60, 99, 158, 168, 217], "multistep": 60, "multistep_lr_lambda": 60, "multisteplrlambda": 60, "must": [1, 5, 12, 16, 21, 31, 37, 39, 40, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 190, 196, 199, 202, 205, 208, 210, 211, 217, 218, 219], "mustb": 217, "mv": 204, "my": 211, "mymodul": 53, "m\u00fcller": [76, 89, 104], "n": [5, 37, 38, 45, 52, 68, 71, 81, 84, 94, 98, 106, 110, 112, 119, 197, 199, 202, 217, 219, 221, 223], "n2": [197, 217, 219, 223], "n2_dissoc_on_ru_": 228, "nO": 223, "n_distanc": [133, 134], "n_final_frames_per_initi": 5, "n_frame": [5, 228], "n_index": [133, 134], "n_initial_fram": 5, "n_job": 226, "n_max": 224, "n_pdt1_site": [5, 228], "n_pdt2_site": [5, 228], "n_proc": 136, "n_sampl": 129, "n_site": 5, "n_system": 5, "nad": 200, "name": [0, 20, 21, 27, 29, 30, 31, 37, 39, 40, 46, 57, 58, 66, 67, 69, 70, 75, 76, 77, 79, 80, 82, 83, 88, 89, 90, 92, 93, 94, 96, 97, 103, 104, 105, 107, 108, 110, 126, 128, 129, 149, 150, 151, 197, 199, 202, 203, 209, 212, 227, 229], "namespac": [141, 143, 144, 146, 169, 205, 227], "nan": [32, 33, 92, 93, 101], "nanoparticl": 226, "nation": 217, "nativ": 199, "natom": [29, 69, 73, 78, 82, 86, 88, 91, 92, 93, 96, 100, 106, 124, 202, 204, 208, 217, 218, 227], "nband": 202, "nbo": 180, "nccl": 227, "ncol": 202, "ncoordin": 202, "ndarrai": [5, 13, 119, 149, 150, 154, 156, 171, 172], "ndownload": 204, "nearest": [92, 93, 133, 134, 157, 218], "neb": [5, 6, 7, 11, 199, 204], "neb1": 199, "neb_fram": [11, 199], "necessari": [142, 164, 196, 200, 202, 204, 208, 210, 211, 217, 219, 221, 224], "necessarili": [5, 110, 204], "nedg": [69, 72, 73, 75, 78, 82, 85, 86, 88, 91, 96, 100, 103, 106], "need": [0, 1, 16, 20, 21, 29, 31, 37, 57, 58, 150, 151, 173, 196, 202, 204, 205, 208, 211, 217, 221, 223, 224, 226, 227, 228, 229], "needs_input_grad": 16, "neg": [66, 67, 79, 80, 92, 93, 158, 168, 217, 219, 221], "negative_slop": 45, "neigbhor": 218, "neigh": 217, "neighbor": [13, 29, 48, 50, 63, 64, 66, 67, 72, 78, 79, 80, 85, 91, 92, 93, 99, 106, 109, 110, 113, 115, 133, 134, 158, 171, 172, 203, 208, 211, 217, 218], "neighor": 217, "nelm": 3, "nenergi": 202, "nergi": 217, "nersc": 217, "nest": [29, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 169, 211], "nesteddict": 20, "net": 203, "network": [12, 43, 44, 45, 46, 48, 49, 50, 52, 56, 61, 63, 64, 68, 70, 81, 83, 94, 97, 104, 110, 112, 113, 115, 116, 118, 119, 124, 128, 129, 199, 204, 217, 226, 229], "neural": [12, 43, 44, 45, 46, 49, 52, 56, 68, 70, 81, 83, 94, 97, 104, 110, 112, 115, 116, 118, 119, 124, 128, 129, 199, 204, 217, 226, 229], "neural_energi": 204, "neurip": [141, 217, 220], "never": [190, 204], "new": [20, 29, 30, 92, 93, 129, 157, 158, 168, 185, 186, 188, 197, 202, 203, 204, 206, 213, 214, 217, 220, 221, 223, 224, 227, 229], "new_kei": 30, "new_trainer_context": [29, 227], "newcalc": 202, "newckpt": 202, "newer": [202, 204, 212], "newli": 211, "next": [2, 37, 38, 158, 184, 185, 188, 202, 205, 211, 220, 221, 226, 227, 229], "nextid": 38, "nfeatur": [73, 86], "nforc": 202, "nframe": 228, "nh": [197, 221], "nh2": 197, "nh2n": 197, "nh3": 197, "nhidden": [69, 82, 96], "nhidden_afteratom": 96, "nhnh": 197, "nieghbor": [48, 50, 63, 64, 113, 115], "nif": 202, "nima": [200, 209], "nitial": 217, "nitrogen": [221, 223], "nlayer": [70, 83, 97, 223], "nmagnet": 202, "nn": [29, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61, 63, 65, 69, 70, 72, 73, 75, 76, 77, 82, 83, 85, 86, 88, 89, 90, 96, 97, 99, 100, 103, 104, 105, 110, 112, 113, 115, 116, 118, 119, 122, 124, 126, 128, 129, 130, 203, 217], "nnh": 221, "no2": 197, "no2no2": 197, "no3": 197, "no_ddp": 227, "no_limit": [188, 193, 195], "no_warn": 20, "no_weight_decai": [43, 48, 50], "noddp": [57, 58, 149, 150, 151, 202, 217, 227], "node": [26, 29, 48, 50, 51, 61, 88, 110, 210, 211, 217, 218, 229], "node_atom": 49, "node_dim": 110, "node_input": 52, "noisi": 217, "nolimittyp": [188, 193, 195], "nomenclatur": [197, 198], "non": [16, 31, 37, 39, 61, 63, 113, 115, 156, 157, 197, 210, 216, 217, 224], "none": [1, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 26, 28, 29, 31, 37, 38, 39, 40, 43, 44, 46, 48, 49, 50, 53, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 78, 79, 80, 82, 83, 85, 86, 88, 89, 91, 92, 93, 96, 97, 98, 99, 100, 101, 103, 104, 109, 110, 112, 117, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 155, 156, 158, 171, 172, 173, 182, 184, 185, 186, 187, 188, 190, 191, 193, 195, 202, 203, 208, 217, 218, 223, 227], "none_throw": 28, "nonh": 197, "noninfring": [44, 110, 207, 217], "nonlinear": [68, 81, 94], "nonloc": [76, 89, 104], "nonretryablerequestexcept": [184, 185, 188], "nonzero": 31, "norm": [106, 125], "norm_typ": [48, 50, 52, 61], "normal": [27, 42, 48, 50, 52, 54, 56, 61, 71, 78, 84, 91, 92, 93, 98, 106, 123, 154, 156, 157, 158, 168, 183, 202, 204, 210, 223], "normalconv": 180, "normalize_label": [211, 217], "normed_tensor": 125, "nososcf": 180, "not_avail": [185, 186, 188], "notabl": [202, 229], "notat": 27, "note": [1, 5, 31, 37, 60, 131, 136, 158, 168, 173, 197, 199, 204, 210, 211, 217, 218, 219, 221, 224, 226, 228], "notebook": [202, 204, 208, 212, 218, 219, 220, 227, 229], "notebook_tqdm": 226, "noth": [71, 84, 98, 217], "notic": [5, 38, 44, 110, 207, 217, 223], "nousesym": 180, "now": [5, 29, 37, 39, 40, 197, 202, 204, 213, 221, 226, 227], "np": [5, 21, 133, 134, 154, 156, 171, 172, 202, 203, 204, 217, 219, 221, 224, 226], "npj": 212, "nproc": 182, "nproc_per_nod": 211, "npz": [0, 142, 204, 211, 217, 227], "nquadruplet": 95, "nrr": [215, 221, 223], "nrr_exampl": 215, "nrr_example_bulk": 221, "nsn": [204, 209, 214, 229], "nstress": 202, "nsw": 202, "nthe": 202, "ntriplet": 95, "nueral": 217, "null": [131, 217], "num": [60, 197, 211], "num_after_skip": [44, 66, 67, 75, 79, 80, 88, 92, 93, 103, 202, 217, 227], "num_atom": [29, 43, 44, 48, 50, 63, 64, 66, 67, 75, 79, 80, 88, 92, 93, 95, 99, 100, 103, 106, 109, 110, 111, 112, 113, 115, 202, 203, 217, 227], "num_atom_emb_lay": [92, 93, 103, 202, 217, 227], "num_augmentations_per_sit": [154, 156], "num_band": [113, 115, 117], "num_basi": 49, "num_basis_funct": [113, 115], "num_batch": 127, "num_before_skip": [44, 66, 67, 75, 79, 80, 88, 92, 93, 103, 202, 217, 227], "num_block": [44, 66, 67, 79, 80, 92, 93, 202, 217, 227], "num_channel": [45, 52, 56, 63, 65, 117], "num_concat": [66, 67, 75, 79, 80, 88, 92, 93, 103, 202, 217, 227], "num_configur": [156, 157], "num_distance_basi": [48, 50], "num_edg": [95, 99, 100, 217], "num_el": [66, 67, 73, 92, 93, 100, 109, 110], "num_filt": 112, "num_fram": 5, "num_freq": 119, "num_gaussian": [29, 104, 112, 115, 116, 203, 217], "num_global_out_lay": [92, 93, 202, 217, 227], "num_gpu": 227, "num_head": [48, 50, 61], "num_in_featur": [83, 119], "num_interact": [112, 113, 115], "num_lay": [44, 48, 50, 63, 64, 109, 110], "num_nod": [44, 56, 65, 227], "num_ord": 99, "num_out_featur": [83, 86], "num_output": 116, "num_output_afteratom": [92, 93, 202, 217, 227], "num_output_lay": 44, "num_param": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 217], "num_part": [13, 16], "num_point": 114, "num_proc": 219, "num_quadruplet": [92, 93, 99, 203], "num_radi": [44, 66, 67, 72, 76, 79, 80, 85, 89, 92, 93, 99, 104, 202, 217, 227], "num_rbf": [109, 110], "num_relaxation_batch": 217, "num_replica": 13, "num_resolut": [113, 115], "num_sampl": [31, 37, 39], "num_sigmoid": 116, "num_sit": [154, 156, 157, 221, 224, 228], "num_spher": [44, 66, 67, 72, 77, 79, 80, 85, 90, 92, 93, 99, 105, 202, 203, 217, 227], "num_sphere_sampl": [48, 50, 63, 64, 113, 115], "num_system": 217, "num_tap": [113, 115, 117], "num_target": [43, 44, 48, 50, 63, 64, 66, 67, 69, 79, 80, 82, 92, 93, 109, 110, 112, 113, 115, 217], "num_triplet": [66, 67, 79, 80, 95, 99], "num_triplets_inint": [92, 93], "num_triplets_qint": [92, 93], "num_work": [202, 211, 217, 227], "numba": 229, "number": [1, 3, 5, 11, 16, 21, 23, 26, 27, 31, 33, 37, 39, 40, 44, 48, 50, 51, 52, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 69, 70, 72, 75, 78, 79, 80, 82, 83, 85, 88, 91, 92, 93, 95, 96, 97, 99, 103, 104, 105, 106, 109, 110, 111, 112, 113, 115, 117, 122, 133, 134, 150, 151, 154, 156, 157, 158, 168, 182, 185, 186, 188, 190, 193, 195, 196, 197, 198, 199, 200, 201, 203, 211, 212, 218, 221, 224, 228, 229], "numel": [217, 227], "numer": [71, 84, 92, 93, 98, 104, 105, 106, 217], "numpi": [5, 13, 78, 91, 106, 111, 119, 149, 150, 154, 156, 202, 203, 204, 217, 219, 224, 226, 229], "nvolum": 202, "o": [182, 197, 202, 203, 204, 205, 208, 214, 217, 219, 221, 223, 224, 226], "o2": [200, 223], "obj": [20, 28, 60, 131, 171, 172], "object": [5, 6, 8, 11, 14, 16, 20, 23, 28, 30, 31, 37, 39, 40, 60, 122, 126, 129, 131, 133, 134, 153, 154, 155, 156, 157, 158, 166, 168, 169, 171, 172, 173, 182, 185, 186, 188, 190, 200, 202, 208, 219, 220, 224, 226, 228], "observ": 166, "obtain": [44, 110, 196, 198, 207, 212, 217, 222], "obviou": [31, 37, 204, 217], "oc": [31, 152, 183, 202, 203, 204, 209, 214, 216, 217, 221, 224, 226, 227, 228, 229], "oc20": [60, 196, 198, 202, 203, 204, 214, 216, 218, 219, 220, 221, 223, 224, 226, 227, 228, 229], "oc20_bader_data": 197, "oc20_data_map": 197, "oc20_dense_map": 198, "oc20_ref": [200, 210, 211], "oc20dens": 216, "oc20dense_comput": [1, 198], "oc20dense_map": 198, "oc20dense_ref_energi": 198, "oc20dense_tag": 198, "oc20dense_target": [1, 198], "oc20neb": 216, "oc22": [48, 50, 196, 202, 203, 204, 214, 216, 226, 227, 229], "oc22_dataset": [200, 209], "oc22_lmdb": [210, 211], "oc22_lmdb_dataset": [37, 42, 183], "oc22_metadata": 200, "oc22lmdbdataset": [37, 40, 210, 211], "occupi": 198, "occur": [2, 154, 156, 217], "ocdata": [199, 224], "ocean": 217, "och2ch3": 197, "och2choh": 197, "och3": 197, "ochch3": 197, "ocp": [5, 11, 21, 29, 31, 37, 38, 57, 58, 133, 134, 149, 150, 151, 184, 185, 188, 190, 193, 195, 199, 202, 204, 212, 215, 216, 220, 224, 226, 227, 228, 230], "ocp_checkpoint": [202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "ocp_dataset": [197, 209, 216], "ocp_is2r": [57, 58, 150, 151], "ocp_predict": [204, 211, 227], "ocp_s2ef": [57, 58, 150, 151], "ocp_train": [42, 138, 139, 150, 183, 203], "ocp_tutori": 215, "ocpapi": [183, 215], "ocpcalcul": [21, 202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228], "ocpcollat": 13, "ocpmodel": [218, 229], "ocpneb": [6, 10, 183, 199, 228], "ocptrain": [57, 58, 150, 151, 203, 211, 217], "oct": 226, "octahedr": 226, "octahedron": 226, "octet": [204, 217], "odac": [152, 183, 204, 209, 214, 229], "odac23": 216, "odac23_dataset": [201, 209], "odot": 112, "off": [180, 197, 202, 208, 217, 219, 226], "offer": 217, "offici": [205, 211], "offset": [37, 38, 78, 91, 106, 133, 134, 202, 208, 217, 218, 219], "offsets_st": [78, 91, 106], "often": [202, 210, 217, 227], "oh": [197, 212], "oh2": 197, "ohch2ch3": 197, "ohch3": 197, "ohnh2": 197, "ohnnch3": 197, "ok": [203, 204, 217], "old": [29, 129, 197, 202, 203, 204, 214, 217, 221, 223, 224, 227], "older": [29, 153, 156, 216, 223], "om": [152, 183], "omit": [185, 186, 188, 190, 193], "omitted_config_id": [185, 186, 188], "ommit": [221, 224], "onc": [51, 61, 188, 190, 193, 197, 212, 224, 228], "one": [2, 5, 13, 31, 45, 48, 50, 51, 61, 63, 64, 66, 67, 75, 79, 80, 88, 92, 93, 94, 103, 109, 110, 129, 153, 154, 155, 156, 157, 158, 168, 169, 184, 185, 186, 188, 190, 193, 197, 199, 202, 203, 211, 212, 214, 215, 217, 219, 221, 223, 224, 226, 228, 229], "ones": [202, 203, 221, 226], "onh": 197, "onli": [0, 1, 2, 5, 13, 23, 29, 31, 37, 45, 57, 58, 66, 67, 71, 79, 80, 84, 92, 93, 95, 98, 99, 103, 109, 110, 141, 150, 151, 154, 156, 157, 158, 168, 173, 184, 185, 186, 188, 196, 200, 202, 203, 204, 211, 212, 214, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "onlin": 221, "only_keep_unique_system": 5, "onn": 197, "onnh2": 197, "onoh": 197, "onto": [106, 154, 156], "ontop": [154, 156, 157, 221], "ood": [197, 199, 201, 211, 217], "ood_ad": [197, 211], "ood_both": [197, 211], "ood_cat": [197, 211], "op": 16, "open": [141, 184, 185, 188, 202, 203, 204, 208, 211, 212, 216, 218, 219, 220, 221, 223, 227, 229], "opencatalyst": 217, "opencatalystproject": [197, 198, 200, 211, 217], "opendac": [201, 216], "oper": [16, 20, 37, 38, 56, 82, 110, 158, 168, 210, 229], "opfil": 168, "opportun": [227, 229], "opposit": [92, 93], "opposite_neg": [92, 93], "opt": [46, 203, 214, 217, 219, 221, 223, 224, 226, 227, 228, 229], "opt_param": 182, "opt_paramet": 180, "optim": [5, 17, 18, 22, 23, 42, 57, 58, 60, 110, 122, 131, 149, 150, 151, 182, 183, 185, 186, 188, 190, 193, 199, 202, 203, 208, 211, 214, 217, 218, 219, 221, 223, 224, 227, 228, 229], "optim_config": 29, "optimized_neb": 228, "optimized_neb_ch_disoc_on_ru0001": 228, "optimizer_param": [202, 203, 214, 217, 227], "option": [17, 26, 29, 31, 37, 39, 40, 44, 53, 57, 58, 92, 93, 99, 110, 112, 119, 133, 134, 150, 151, 155, 156, 171, 172, 185, 186, 188, 196, 202, 203, 205, 208, 210, 211, 218, 220], "oqmd": 221, "orang": [217, 226], "orbit": 202, "orc": 217, "orca_ase_simple_input": 180, "orca_basi": [180, 182], "orca_block": 180, "orca_funct": [180, 182], "orca_simple_input": 180, "orcablock": [180, 182], "orcasimpleinput": [180, 182], "order": [1, 5, 48, 50, 51, 55, 56, 61, 63, 64, 65, 71, 77, 84, 90, 98, 104, 113, 115, 117, 185, 186, 188, 192, 193, 197, 200, 202, 204, 210, 211, 212, 217, 219, 221], "org": [109, 110, 158, 202, 204, 209, 212, 217, 221, 223, 226], "organ": [0, 1, 29, 197, 216, 217], "orient": [156, 158], "oriented_bulk": [156, 158], "origin": [33, 35, 46, 92, 93, 122, 154, 184, 185, 186, 188, 191, 197, 198, 209, 211, 217, 219], "orthogon": [68, 81, 94, 106], "os_environ_get_or_throw": 14, "otf": [48, 50, 63, 64, 113, 115], "otf_graph": [13, 37, 39, 43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 202, 203, 217, 227], "other": [5, 16, 31, 37, 43, 44, 45, 46, 48, 49, 50, 52, 56, 66, 67, 70, 79, 80, 83, 92, 93, 97, 104, 109, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 141, 155, 156, 157, 158, 184, 185, 188, 190, 192, 193, 196, 197, 199, 202, 203, 205, 207, 217, 218, 219, 221, 223, 226, 227, 229], "other_field": 186, "otherwis": [0, 1, 5, 11, 29, 44, 48, 50, 61, 110, 113, 115, 117, 154, 171, 172, 184, 185, 188, 190, 193, 195, 196, 197, 203, 207, 211, 217], "our": [136, 157, 196, 197, 200, 201, 204, 205, 211, 216, 217, 219, 221, 224, 226, 227, 228], "out": [1, 2, 23, 29, 44, 82, 95, 106, 110, 150, 151, 158, 168, 169, 173, 197, 199, 200, 201, 203, 207, 211, 213, 217, 218, 219, 224, 226, 227, 230], "out_agg": 95, "out_block": 217, "out_channel": [44, 45, 110], "out_emb_channel": 44, "out_embed": 55, "out_energi": [82, 217], "out_featur": [56, 70, 73, 97, 100, 119], "out_forc": [82, 217], "out_lmax": [56, 65], "out_mmax": [56, 65], "out_path": 136, "out_siz": 217, "outblock_0_had": 217, "outblock_1_had": 217, "outblock_2_had": 217, "outblock_2_sum": 217, "outblock_3_had": 217, "outblock_3_sum": 217, "outblock_4_sum": 217, "outblock_5_sum": 217, "outcar": [31, 37, 196], "outdir": [173, 224], "outer": 5, "outfil": [146, 174], "outgo": 95, "output": [3, 16, 44, 48, 50, 52, 55, 56, 57, 58, 61, 63, 64, 65, 66, 67, 69, 70, 72, 79, 80, 82, 83, 85, 92, 93, 95, 96, 97, 99, 103, 110, 113, 115, 149, 150, 151, 169, 185, 186, 188, 197, 200, 201, 202, 203, 204, 217, 223, 227, 229], "output_channel": 61, "output_directori": 180, "output_init": [66, 67, 69, 79, 80, 82, 92, 93, 202, 217, 227], "output_path": 135, "output_scal": 56, "outputblock": [69, 82, 96], "outputdir": [169, 182], "outputppblock": 44, "outsid": 5, "over": [5, 13, 31, 37, 52, 199, 203, 217, 221, 224, 226, 229], "overal": 217, "overfit": [68, 81, 94, 202], "overlap": [5, 154, 156, 157, 217], "overrid": [16, 29, 217, 227], "overridden": [16, 226], "overrul": [31, 37], "overtaken": 229, "overus": 217, "overview": [208, 218, 220], "overwrit": [37, 39], "overwritten": [71, 84, 98], "own": [45, 46, 49, 110, 164, 188, 190, 193, 208, 220, 223, 224, 229], "oxid": [200, 202, 209, 215, 227], "oxygen": [223, 226], "p": [121, 174, 202, 217, 221], "p_n": 106, "packag": [27, 203, 211, 212, 217, 219, 221, 226, 227], "pad": [66, 67, 79, 80, 95], "pad_tensor": 16, "page": [183, 209, 216, 217, 219], "painn": [42, 107, 183, 204, 209, 214, 216, 229], "painnmessag": 110, "painnoutput": 110, "painnupd": 110, "pair": [5, 78, 91, 103, 106, 129, 133, 134, 154, 156, 185, 186, 188, 217, 229], "pairinteract": 103, "palizhati": [168, 197, 209, 212, 216, 217], "panda": [11, 221, 224], "paper": [46, 63, 64, 110, 113, 115, 197, 198, 199, 200, 201, 202, 204, 209, 210, 211, 212, 213, 216, 217, 219, 222, 223, 224], "parallel": [6, 7, 11, 182, 197, 208, 210, 211, 216, 221, 226], "parallelize_gener": 136, "param": [20, 23, 31, 37, 39, 154, 156, 217, 219], "paramet": [3, 5, 6, 7, 11, 12, 13, 17, 19, 20, 21, 23, 26, 29, 30, 31, 32, 33, 37, 40, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 112, 113, 115, 116, 117, 118, 119, 122, 124, 128, 129, 131, 133, 134, 136, 150, 151, 153, 154, 155, 156, 157, 158, 168, 169, 171, 172, 173, 182, 184, 185, 187, 188, 190, 191, 193, 195, 202, 210, 217], "parent": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 221], "parikh": [197, 209, 216, 217], "pariti": [202, 222, 223], "parlanc": 210, "pars": [29, 158, 173, 222], "parse_arg": [0, 2, 169, 177, 178], "parse_known_arg": 227, "parse_neb_info": 11, "parse_valu": 29, "parser": [1, 4, 11, 135, 136, 141, 142, 143, 144, 145, 146, 211, 227], "part": [44, 71, 84, 92, 93, 98, 197, 208, 209, 210, 216, 217, 220, 226], "particip": 229, "particular": [1, 31, 44, 110, 156, 158, 203, 207, 208, 217, 218], "particularli": 217, "partit": 13, "pass": [1, 11, 13, 16, 20, 29, 31, 61, 63, 64, 66, 67, 75, 79, 80, 88, 92, 93, 103, 109, 110, 113, 115, 153, 155, 156, 158, 173, 210, 219, 221, 224, 229], "pass_idx": 224, "past": 229, "patch": 226, "path": [3, 5, 6, 7, 11, 13, 21, 25, 27, 29, 31, 37, 38, 39, 46, 48, 50, 57, 58, 61, 66, 67, 78, 79, 80, 91, 92, 93, 107, 108, 133, 134, 141, 150, 151, 153, 155, 156, 168, 177, 184, 185, 188, 196, 197, 200, 202, 210, 211, 217, 219, 221, 224, 228], "pathlib": [13, 25, 29, 31, 37, 38, 39, 107, 108, 221], "pathwai": 164, "patienc": [202, 217, 227], "pattern": [31, 37, 196], "payload": [185, 186, 188], "pbar": [188, 190, 193], "pbc": [5, 21, 29, 78, 91, 106, 121, 133, 134, 161, 185, 186, 188, 202, 204, 221, 223, 226, 227], "pbc_patch": 161, "pbe": [202, 204, 223], "pd": [11, 158, 221, 223, 224], "pd3ag": 221, "pd3ru": 221, "pd3ta": 221, "pdf": 154, "pdist": 224, "pdta3": 221, "pe": 202, "peak": [110, 217, 226], "peer": [184, 185, 188], "pend": 212, "peopl": [136, 196], "pep": 13, "per": [5, 43, 44, 45, 46, 48, 49, 50, 52, 56, 63, 64, 70, 78, 83, 91, 92, 93, 97, 99, 104, 106, 110, 111, 113, 115, 116, 118, 119, 124, 128, 129, 154, 156, 157, 210, 211, 217, 219, 224], "per_imag": [150, 151, 203], "percent": [223, 229], "perfect": [197, 202], "perform": [3, 5, 11, 16, 29, 48, 50, 55, 56, 61, 63, 196, 198, 199, 202, 211, 212, 217, 218, 221, 223, 224, 226, 228], "period": [33, 48, 50, 63, 64, 78, 91, 92, 93, 95, 106, 112, 113, 115, 133, 134, 185, 186, 188, 190, 202, 224], "permiss": [44, 110, 168, 173, 207, 217], "permit": [44, 110, 207, 217], "permut": [110, 229], "persist": [184, 185, 188], "person": [44, 110, 207, 217], "pertan": [154, 156], "pertin": 5, "perturb": 221, "phase": [198, 209, 210], "phi": [71, 84, 98], "phi_": 110, "phy": 223, "phys_err": 174, "physic": [0, 1, 217, 219, 229], "pick": 224, "pickl": [1, 12, 126, 197, 199, 200, 208, 210, 217, 221], "pickleabl": 14, "picomet": 32, "piec": [202, 218], "pillow": 219, "pip": [205, 212], "pkl": [1, 2, 152, 155, 156, 159, 161, 167, 168, 169, 183, 197, 198, 200, 210, 211, 221, 228], "place": [5, 29, 82, 154, 156, 157, 184, 185, 186, 188, 190, 193, 202, 211, 212, 217, 221, 223], "place_adsorbate_on_sit": [154, 156], "place_adsorbates_on_sit": [156, 157], "placement": [5, 154, 156, 157, 169, 185, 186, 188, 190, 193, 197, 198, 212, 221, 224, 228], "plai": 217, "plain": 217, "plan": [157, 205, 224, 228], "plane": [106, 154, 156, 158, 168], "platform": [110, 229], "pleas": [141, 196, 197, 200, 201, 202, 203, 205, 209, 210, 211, 212, 214, 216, 217, 226, 227], "plot": [19, 166, 202, 204, 214, 219, 222, 223, 226, 228], "plot_atom": [214, 217, 219, 221, 223, 226], "plot_histogram": 29, "plot_traj": 166, "plt": [202, 204, 208, 214, 217, 219, 221, 223, 226, 228], "plu": [154, 156, 157, 217], "png": [174, 228], "pnyyzmtk": 217, "po": [29, 44, 101, 112, 208, 217, 218, 223], "point": [0, 1, 11, 29, 37, 39, 40, 154, 156, 158, 168, 173, 182, 185, 186, 188, 200, 201, 202, 204, 211, 217, 218, 219, 221, 223, 226, 229], "pointwis": [113, 115, 117], "polymorph": 202, "polynomi": [71, 76, 84, 89, 98, 104, 202, 217, 227], "polynomialenvelop": [76, 89, 104, 217], "ponder": 217, "pop": 27, "popul": [185, 186, 188, 217], "portion": [44, 110, 207, 217, 223], "pos_m_onli": [71, 84, 98], "pos_relax": [208, 217], "poscar": [31, 37, 166, 196, 212], "posit": [5, 6, 7, 21, 26, 29, 78, 91, 106, 112, 133, 134, 154, 156, 157, 158, 168, 185, 186, 188, 190, 193, 202, 203, 208, 211, 212, 214, 216, 217, 219, 223], "position_idx": 224, "positions_average_distance_within_threshold": 217, "positions_ma": 217, "positions_ms": 217, "posixpath": [202, 204, 221, 227], "possibl": [1, 29, 31, 37, 66, 67, 79, 80, 95, 155, 156, 157, 158, 169, 184, 185, 186, 188, 190, 193, 196, 197, 199, 202, 211, 212, 213, 217, 221, 223, 227], "post": [184, 185, 188, 210, 216, 222], "potcar": 202, "potenti": [66, 67, 69, 79, 80, 82, 92, 93, 96, 190, 196, 198, 202, 203, 204, 212, 214, 217, 219, 221, 223, 224, 227, 229], "potpaw": 202, "pov_from_atom": 136, "povrai": 136, "pow": 217, "power": 217, "powersin": 119, "pqr": 197, "pr": [211, 213], "practic": [173, 217, 223, 228, 229], "pre": [71, 84, 98, 199, 202, 217, 229], "prec": 202, "precis": [57, 58, 150, 151, 203, 204, 217], "precomput": [169, 197, 200, 201, 210], "precompute_enumerate_surfac": 168, "precompute_slab": 169, "precomputed_slabs_dir": [155, 156], "precomputed_slabs_pkl": [156, 158], "precon": [6, 7], "pred": 203, "pred_err": 174, "pred_po": 121, "predict": [0, 1, 29, 48, 50, 66, 67, 69, 79, 80, 82, 92, 93, 96, 109, 110, 112, 121, 149, 150, 151, 185, 186, 188, 196, 202, 203, 204, 209, 212, 216, 218, 219, 220, 221, 223, 227, 229], "prediction_dtyp": [204, 211], "predicttask": [147, 148], "prefer": [202, 220], "preferr": 217, "prefil": 127, "prefix": [128, 129], "preform": [133, 134], "pregamma": [76, 89, 104], "pregamma_initi": [76, 89, 104], "prepar": [199, 211], "preprint": [201, 209], "preprocess": [31, 37, 42, 146, 183, 196, 208, 211, 217, 220], "preprocess_data": 135, "preprocess_ef": [42, 140, 146, 183, 218], "preprocess_relax": [42, 140, 183, 211], "prerequisit": 220, "presenc": [13, 217], "present": [29, 37, 38, 66, 67, 79, 80, 92, 93, 109, 110, 188, 192, 193, 200, 203, 211, 217], "pretrain": [44, 107, 108, 202], "pretrained_energy_train": 217, "pretrained_train": 217, "pretti": [221, 223, 226], "prev_distance_map": 157, "prev_kei": 30, "prev_metr": 121, "prevent": [29, 52, 68, 81, 92, 93, 94, 101, 156, 157, 217, 219, 224], "previou": [209, 212, 217, 221], "previous": [211, 216, 217], "previous_includ": 29, "primari": [133, 134], "primarili": [13, 180], "primary_metr": [149, 150, 202, 227], "prime": [110, 112], "princeton": 154, "principl": [221, 226], "print": [27, 45, 46, 49, 57, 58, 150, 151, 202, 203, 204, 208, 210, 212, 214, 217, 218, 219, 221, 223, 224, 226, 228, 229], "print_cuda_usag": 29, "print_everi": [57, 58, 149, 150, 151, 217, 227], "prior": [29, 199, 209, 210], "probabl": [37, 38, 202, 203, 221, 223], "probe": 223, "problem": [156, 157, 203, 217], "process": [2, 11, 57, 58, 122, 133, 134, 150, 151, 182, 197, 202, 208, 211, 217, 222], "process_func": 162, "process_ml_data": 0, "processed_file_path": [133, 134], "processgroup": 14, "processor": 229, "produc": [210, 217], "product": [5, 75, 78, 88, 91, 106, 217, 228], "product1": [5, 228], "product1_config": 228, "product1_energi": [5, 228], "product1_idx": 228, "product1_system": [5, 228], "product2": 228, "product2_config": 228, "product2_energi": [5, 228], "product2_idx": 228, "product2_system": [5, 228], "profil": [166, 219], "progess": 229, "program": 12, "programmat": 212, "progress": [31, 37, 190, 217, 227, 229], "proj_drop": [48, 50, 61], "project": [29, 48, 50, 61, 66, 67, 72, 75, 79, 80, 85, 88, 92, 93, 103, 106, 154, 156, 188, 190, 193, 197, 198, 200, 202, 209, 211, 218, 220, 226, 229], "project_root": 29, "promising_defect": 176, "promising_pristin": 176, "prompt": [127, 188, 192, 193], "prompt_for_slabs_to_keep": [188, 192, 193], "proof": 227, "propag": 110, "propan": [217, 219], "proper": 5, "properli": [53, 205, 217, 219], "properti": [13, 21, 31, 33, 37, 38, 43, 44, 48, 50, 57, 58, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 128, 129, 133, 134, 149, 150, 151, 184, 185, 188, 203, 204, 217, 219, 229], "propertynotimplementederror": [21, 203], "proport": [66, 67, 79, 80, 92, 93], "propos": [5, 76, 89, 104], "proto": 13, "protocol": [13, 208, 217], "provid": [1, 5, 13, 37, 39, 44, 110, 142, 144, 145, 149, 150, 153, 156, 166, 169, 195, 197, 198, 199, 200, 201, 202, 207, 208, 210, 211, 215, 216, 217, 218, 219, 220, 221, 224, 226, 228, 229], "proxim": [5, 154, 156], "pseudo": 5, "pseudo_atom": 157, "pseudopotenti": 224, "pstorag": 204, "pt": [29, 149, 150, 158, 202, 203, 204, 210, 211, 212, 214, 217, 221, 223, 227, 229], "publicli": 217, "publish": [44, 110, 207, 217], "purpos": [44, 110, 133, 134, 196, 207, 217, 223, 224, 226, 229], "push": 217, "put": [133, 134, 164, 202, 208, 217], "py": [2, 27, 31, 52, 141, 146, 182, 197, 202, 203, 210, 211, 217, 218, 219, 221, 224, 226, 227, 228], "pyg": [29, 205], "pyg2_data_transform": 29, "pymatgen": [154, 156, 157, 158, 168, 197, 198, 229], "pyplot": [202, 204, 208, 214, 217, 219, 221, 223, 226, 228], "pyrit": 202, "pythia": 20, "python": [11, 29, 53, 126, 197, 200, 202, 203, 204, 210, 211, 212, 214, 215, 217, 219, 221, 225, 226, 229], "python3": [203, 217, 219, 221, 226, 227], "pytorch": [13, 44, 92, 93, 133, 134, 203, 205, 216, 217, 218], "pytorch_cuda_alloc_conf": 203, "pytorch_ema": 122, "pytorch_geometr": 44, "q": [103, 212, 217], "qint_graph": [92, 93, 95, 203], "qint_tag": [92, 93, 202, 217, 227], "qm9": [20, 217, 219], "qmof": 36, "qmof_khot_embed": [34, 37, 42, 183], "qua": 204, "quacc": 182, "quad_idx": [92, 93, 103, 203], "quad_interact": [92, 93, 103, 202, 217, 227], "quadrat": 229, "quadruplet": [31, 72, 85, 92, 93, 95, 99, 103, 210, 217, 229], "quadrupletinteract": 103, "quadrupol": 180, "qualit": [202, 217], "quantiti": 217, "quantum": [112, 182, 204, 216, 217], "queri": [31, 37, 196, 226], "question": [78, 91, 106, 111, 210, 216], "queu": [188, 190, 193], "queue": 227, "quick": [136, 217], "quickli": 221, "quickstart": 215, "quit": [210, 217, 223, 226], "r": [5, 16, 20, 71, 78, 84, 91, 98, 106, 197, 200, 202, 204, 212, 217, 219, 221, 223, 226], "r1": 228, "r2": 228, "r3": 228, "r_ab": 106, "r_ab_proj": 106, "r_ac": 106, "r_adsorbate_atom": [154, 156], "r_cut": 224, "r_data_kei": [133, 134], "r_distanc": [133, 134, 208, 217, 218], "r_edg": [133, 134, 218], "r_energi": [31, 37, 133, 134, 196, 202, 204, 208, 217, 218, 227], "r_fix": [133, 134, 208, 217, 218], "r_forc": [31, 37, 133, 134, 196, 202, 204, 208, 217, 218, 227], "r_ij": 110, "r_pbc": [133, 134], "r_product1_max": [5, 228], "r_product2_max": [5, 228], "r_product2_min": [5, 228], "r_properti": [133, 134], "r_react_max": 5, "r_react_min": 5, "r_slab_atom": [154, 156], "r_stress": [31, 37, 133, 134], "r_surface_atom": [154, 156], "r_traverse_max": 5, "rad_basi": [99, 103, 203], "rad_w1": 99, "radial": [44, 48, 50, 54, 55, 61, 66, 67, 75, 77, 79, 80, 88, 90, 92, 93, 96, 99, 100, 103, 105], "radial_basi": [67, 74, 77, 80, 87, 90, 93, 102, 105, 107, 183, 203, 217], "radial_basis_aeaint": 203, "radial_funct": [42, 50, 107, 183], "radialbasi": [76, 77, 89, 90, 104, 105, 217], "radialfunct": 54, "radii": [32, 154, 156, 157, 217, 219], "radiu": [5, 29, 33, 92, 93, 133, 134, 208, 217, 218], "radius_graph_pbc": 29, "ragged_rang": [78, 91, 106], "rais": [21, 27, 31, 37, 184, 185, 188, 190, 193, 195, 203], "ram": 221, "rand": 198, "rand0": 169, "rand11": 1, "rand5": 1, "rand79": 1, "random": [27, 31, 37, 57, 58, 68, 81, 94, 150, 151, 153, 154, 156, 157, 169, 196, 197, 198, 200, 202, 203, 204, 208, 217, 221, 224, 228], "random1981709": 197, "random2181546": 197, "random533137": 197, "random_adslab": [221, 224], "random_site_heuristic_plac": [154, 156, 157, 221, 224, 228], "random_st": 226, "randomli": [26, 153, 154, 155, 156, 157, 158, 188, 193, 195, 198, 202], "randomly_rotate_adsorb": 153, "randomrot": 26, "rang": [53, 78, 91, 106, 203, 204, 217, 219, 221, 226, 229], "rank": [13, 14, 57, 58, 150, 151, 217], "rate": [0, 1, 29, 46, 48, 50, 60, 61, 131, 184, 185, 188, 190, 193, 195, 199, 202, 211, 212, 217, 219], "rate_limit_log": [188, 193, 195], "ratelimitexceededexcept": [184, 185, 188, 195], "ratelimitlog": [188, 193, 195], "rather": [37, 38, 46, 166, 196, 224], "rattl": [164, 165, 197, 204, 209, 214, 226, 229], "raw": [1, 44, 92, 93, 99, 197, 200, 205, 217, 218, 219], "raw_ads_energy_data": 176, "raw_data": [208, 218], "raw_error_co2": 174, "raw_error_h2o": 174, "raw_slab": [217, 219], "raw_slab_energi": [217, 219], "rb": [202, 219, 221], "rbf": [44, 66, 67, 69, 72, 73, 75, 76, 79, 80, 82, 85, 86, 88, 89, 92, 93, 104, 109, 110, 202, 217, 227], "rbf3": [75, 88], "rbf_h": [75, 88], "rbf_spheric": [92, 93], "rbf_w1": [72, 85], "rbfh_ij": 110, "rcparam": [217, 219], "re": [29, 45, 46, 48, 49, 50, 61, 188, 190, 193, 197, 202, 203, 204, 214, 216, 217, 221, 223, 224, 227], "re1": 223, "re2": 223, "re3": 223, "reach": [213, 217], "reactant": [5, 6, 8, 228], "reactant1_energi": 5, "reactant1_idx": 228, "reactant1_system": 5, "reactant2_energi": 5, "reactant2_system": 5, "reactant_config": 228, "reactant_energi": [5, 228], "reactant_system": [5, 228], "reaction": [5, 6, 10, 183, 185, 186, 188, 199, 217, 219, 221, 223, 228, 229], "reaction_db_path": [6, 8, 228], "reaction_id_from_db": [6, 8], "reaction_str_from_db": [6, 8, 228], "reaction_typ": [6, 8], "read": [2, 29, 31, 37, 196, 197, 199, 202, 208, 209, 212, 216, 218, 221, 224, 228], "read_json": [78, 91], "read_lzma": 146, "read_trajectory_extract_featur": [208, 217], "read_value_json": [78, 91], "readabl": [31, 37], "reader": [196, 217], "readi": [188, 190, 193, 197], "readili": [197, 229], "readm": [197, 217], "readonli": [37, 38], "readout": 112, "readthedoc": 226, "real": [71, 84, 98], "real_sph_harm": [71, 84, 98], "realiti": [217, 219], "realli": [221, 224, 228], "realxat": [217, 219], "reason": [31, 37, 39, 40, 131, 184, 185, 188, 196, 202, 203, 204, 217, 223, 224, 227], "reax_energi": 204, "reaxff": 204, "rebrand": 216, "recal": [217, 224], "recalcul": 210, "recent": [202, 203, 229], "recip": [181, 205], "reciproc": 202, "recogn": [13, 185, 187, 188], "recommend": [31, 37, 196, 203, 208, 210, 217, 221, 227], "recomput": [210, 212], "reconstruct": [171, 172, 197, 221], "record": [29, 190, 230], "recreat": 202, "recurs": [29, 31, 37, 196], "red": 226, "reddish": 226, "reddit": 110, "redirect": [202, 203, 204, 227], "redirect_stdout": 203, "reduc": [5, 63, 64, 68, 71, 81, 84, 94, 98, 110, 158, 168, 196, 217, 224, 226], "reduce_from_model_parallel_region": 16, "reducefrommodelparallelregion": 16, "reducelronplateau": [202, 217, 227], "reduct": [124, 221, 223], "redund": 224, "redux": 20, "ref": [128, 129, 197, 223], "refdata": 223, "refer": [1, 48, 50, 171, 172, 197, 198, 208, 210, 211, 212, 219, 220, 221, 223, 226], "referenc": [1, 197, 209, 210, 212, 217, 219, 221, 223, 224], "reference_energi": 197, "refin": [188, 190, 193, 202], "refit": 210, "reflect": [157, 216], "reformul": [72, 85, 99], "refresh": [190, 202], "regardl": 5, "regardless": [158, 168, 217, 219], "region": 226, "regist": [20, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "register_buff": 217, "register_dataset": 20, "register_logg": 20, "register_model": [20, 217], "register_task": 20, "register_train": 20, "registri": [18, 42, 183, 217], "regress": [202, 204, 217, 227], "regress_forc": [44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115, 202, 203, 217, 227], "regular": [43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 94, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 190, 217], "regularli": 229, "reject": [184, 185, 188], "rel": [48, 50, 51, 61, 158, 185, 186, 188, 196, 200, 202, 217, 223, 228], "relat": [216, 217, 221, 226, 229], "relav": 199, "relax": [0, 1, 2, 5, 11, 18, 29, 31, 37, 39, 40, 42, 57, 58, 150, 151, 164, 171, 172, 173, 183, 184, 185, 186, 188, 190, 193, 198, 199, 202, 203, 204, 209, 214, 219, 220, 222, 226, 227, 229], "relax_dataset": [211, 217], "relax_opt": [23, 211, 217], "relaxation1": [31, 37, 196], "relaxation2": [31, 37, 196], "relaxation_idx": [221, 224], "relaxation_step": [211, 217], "relaxationtask": [147, 148], "relaxed_atom": [221, 224], "relaxed_energi": [217, 219], "relaxed_energy_ml": [221, 224], "relaxed_fram": 199, "relaxed_posit": [211, 217], "relaxed_struc": [208, 217], "releas": [0, 1, 197, 209, 212, 216, 217], "relev": [92, 93, 103, 212, 217, 221], "reli": [211, 212], "reliabl": 217, "relianc": 217, "relu": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "remain": [202, 217, 226], "remark": 226, "rememb": 228, "remov": [5, 12, 13, 20, 27, 92, 93, 197, 202, 203, 204, 217, 227], "remove_rotation_and_transl": [6, 7], "renam": [30, 211], "rename_data_object_kei": 30, "renew": 217, "reorder": [5, 66, 67, 79, 80, 92, 93], "reorder_adsorb": 5, "reorder_edge_list": 5, "reorder_idx": [66, 67, 79, 80, 92, 93, 109, 110], "reorder_symmetric_edg": [66, 67, 79, 80], "reorder_tensor": [109, 110], "reorder_tensors_invneg": [109, 110], "reorient": 5, "repeat": [53, 78, 91, 106, 111, 154, 158, 199, 217, 219, 224, 226], "repeat_block": [78, 91, 106, 111], "repeat_inc": [78, 91, 106, 111], "repetit": [78, 91, 106, 111], "repl": 212, "replac": [12, 204, 217], "repo": [205, 208, 215, 216, 217, 218, 221, 224, 228, 229], "report": [17, 202, 222], "reposit": 5, "repositori": [197, 199, 216, 220], "repr": [26, 52, 53, 56, 109, 110, 153, 155, 156, 158], "repres": [2, 16, 37, 39, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 156, 157, 169, 185, 186, 188, 190, 193, 199, 217, 219, 229], "represent": [45, 46, 49, 53, 56, 61, 63, 65, 68, 81, 94, 117, 133, 134, 202, 226], "reproduc": [202, 203, 204, 214, 217, 221, 223, 224, 227], "reproducibli": 202, "request": [184, 185, 186, 188, 190, 193, 204, 212, 217], "requestexcept": [184, 185, 188], "requeu": 12, "requir": [1, 13, 16, 99, 136, 154, 156, 197, 203, 204, 205, 211, 218, 220, 223, 226], "rerun": 226, "rescal": [51, 71, 84, 98], "rescale_factor": 51, "research": [197, 198, 199, 200, 201, 209, 212, 216, 217, 219, 229, 230], "reserv": 203, "reserved_kei": 38, "reset": [110, 191], "reset_": [128, 129], "reset_index": [221, 224], "reset_paramet": [44, 69, 70, 72, 82, 83, 85, 97, 99, 109, 110], "reshap": [56, 65, 106, 133, 134, 203], "residu": [44, 46, 66, 67, 69, 70, 75, 79, 80, 82, 83, 88, 92, 93, 96, 97, 103, 227], "residuallay": [70, 83, 97], "resolut": [45, 48, 50, 51, 55, 56, 61, 63, 64, 113, 115], "resolv": [110, 204, 217], "resort": 204, "resourc": [110, 196, 218, 223], "respect": [110, 112, 158, 168, 185, 186, 188, 198, 211, 216, 217], "respons": [31, 184, 185, 186, 188, 204, 217], "rest": [203, 211, 217], "restart": 166, "restart_bug_check": 166, "restor": [122, 125], "restrict": [44, 110, 207, 217], "resubmit": 12, "result": [0, 1, 11, 16, 21, 31, 37, 78, 91, 106, 122, 182, 184, 185, 186, 187, 188, 190, 193, 197, 202, 204, 210, 211, 214, 217, 222, 223, 224, 226, 227, 229], "results_dir": [204, 211, 217], "results_fil": [0, 149, 150, 151, 203, 217], "resum": 13, "retri": [183, 184, 185, 188, 190, 193, 212], "retriev": [16, 20, 202, 204, 226], "retry_aft": [184, 185, 188, 195], "retry_api_cal": [188, 193, 195], "retry_st": 195, "retrycallst": 195, "return": [0, 1, 3, 5, 6, 7, 11, 13, 16, 20, 26, 27, 29, 31, 37, 39, 43, 44, 45, 46, 48, 49, 50, 52, 53, 55, 56, 66, 67, 69, 70, 71, 72, 73, 75, 78, 79, 80, 82, 83, 84, 85, 86, 88, 91, 92, 93, 95, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 110, 111, 115, 116, 118, 119, 122, 124, 128, 129, 133, 134, 153, 154, 155, 156, 157, 158, 168, 171, 172, 173, 184, 185, 186, 187, 188, 190, 191, 192, 193, 195, 203, 208, 212, 217, 219, 223, 224, 226], "return_adj": 95, "return_agg_idx": 95, "return_dict": 29, "return_distance_vec": [29, 217], "return_embed": 226, "return_offset": [29, 217], "reus": 210, "revis": [153, 156], "rh": 223, "rh1": 223, "rh2": 223, "richard": [200, 209], "right": [44, 110, 156, 157, 207, 217, 223, 224], "rijcosx": 180, "rise": 217, "rivier": [197, 209, 216, 217], "rizvi": [200, 209], "rm": [202, 217, 219, 227], "rmax": 5, "rmin": 5, "rms_norm_sh": [48, 50, 61], "role": 217, "root": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 52, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 154, 156, 167, 188, 202, 203, 204, 214, 217, 221, 223, 224, 227], "rot_i": 117, "rot_mat3x3": [56, 65], "rot_x": 117, "rot_z": 117, "rotat": [26, 51, 56, 61, 65, 113, 115, 117, 154, 156, 157, 158, 168, 203, 214, 217, 219, 223, 229], "rotate_inv": [56, 65], "rotateinv": 117, "rotatewign": 117, "rotationmatrix": 117, "rotationtowignerdmatrix": [56, 65, 117], "roughli": [226, 229], "round": [29, 224], "rout": [184, 185, 188], "routin": 212, "row": [11, 37, 38, 202, 204, 221, 224, 226, 227], "row_idx": 224, "rpbe": [202, 223], "run": [1, 11, 12, 23, 25, 27, 57, 58, 66, 67, 79, 80, 110, 131, 147, 148, 149, 150, 151, 161, 163, 164, 169, 173, 184, 185, 186, 187, 188, 190, 193, 196, 197, 199, 203, 204, 205, 208, 209, 211, 212, 214, 215, 218, 219, 220, 222, 223, 225, 226, 229], "run_dir": [57, 58, 149, 150, 151, 217, 227], "run_plac": 169, "run_relax": [150, 151, 217], "run_tun": [42, 137, 140, 183], "run_tune_pbt": [42, 137, 140, 183], "run_vasp": 173, "runner": [12, 202, 204, 217, 221, 227, 229], "runtim": 13, "runtime_check": 13, "runtimeerror": [20, 147, 148, 203], "runtimewarn": 221, "ruo2": 202, "rusty1": 44, "rutil": 202, "rx": [1, 3, 221, 224], "rx_energi": [221, 224], "rx_id": [221, 224], "s2": [48, 50, 61], "s2activ": 45, "s2ef": [37, 39, 40, 57, 58, 144, 145, 146, 150, 151, 174, 202, 203, 204, 210, 214, 218, 220, 221, 223, 224, 226, 227, 228, 229], "s2ef_count": 135, "s2ef_predict": 211, "s2ef_result": 217, "s2ef_s2ef_result": 217, "s3": 204, "sad": 203, "safeload": 29, "sai": 158, "sake": 217, "salvador": 202, "same": [5, 12, 29, 37, 39, 40, 46, 48, 50, 52, 61, 95, 106, 110, 122, 158, 168, 173, 185, 186, 188, 197, 204, 210, 211, 212, 217, 218, 219, 223, 224, 226], "same_idx": 224, "sampl": [13, 26, 37, 39, 42, 44, 46, 48, 50, 63, 64, 107, 113, 115, 153, 154, 155, 156, 157, 158, 168, 183, 198, 203, 211, 224], "sample_cuco": 208, "sample_ml_relax": 217, "sampler": [13, 37, 39, 149, 150, 217], "san": [217, 219], "saniti": 217, "sauceda": [76, 89, 104], "save": [1, 2, 16, 23, 37, 38, 57, 58, 122, 133, 134, 149, 150, 151, 153, 156, 166, 169, 173, 188, 190, 193, 196, 199, 202, 204, 210, 211, 212, 217, 218, 221, 226, 227], "save_checkpoint": 29, "save_count": 219, "save_experiment_log": 29, "save_for_backward": 16, "save_for_forward": 16, "save_full_traj": [23, 25], "save_path": [156, 158], "save_result": [149, 150], "saved_tensor": 16, "savefig": 228, "sbf": [44, 92, 93, 99, 105, 202, 217, 227], "sbf_basis_qint": 203, "sbf_hparam": 203, "sbf_name": 203, "sc": 1, "scaffold": 216, "scalabl": 217, "scalar": [48, 50, 51, 61, 217, 221], "scale": [31, 37, 42, 52, 66, 67, 70, 79, 80, 83, 92, 93, 97, 101, 104, 105, 123, 154, 156, 183, 196, 204, 209, 217, 221, 229], "scale_backprop_forc": [92, 93], "scale_basi": [92, 93, 104, 105, 203], "scale_cbf_sum": 217, "scale_factor": [42, 52, 123, 128, 183], "scale_fil": [66, 67, 79, 80, 92, 93, 109, 110, 126, 210, 217], "scale_fmax": [6, 7], "scale_num_block": [79, 80], "scale_rbf": 217, "scale_sum": 217, "scaled_silu": [48, 50, 61], "scaledict": 126, "scaledsigmoid": 45, "scaledsilu": [45, 70, 83, 97], "scaledsmoothleakyrelu": 45, "scaledswiglu": 45, "scalefactor": [128, 129], "scaler": 203, "scaling_factor": 217, "scatter": [210, 217, 221, 226], "scatter_atom": [79, 80], "scatter_det": [29, 210], "scatter_sum": 82, "scatter_to_model_parallel_region": 16, "scattertomodelparallelregion": 16, "scf": [1, 3, 180, 198], "scf_step": [1, 3], "schedul": [42, 60, 123, 183, 190, 202, 203, 217, 221, 223, 224, 227], "scheduler_param": 60, "scheme": [110, 184, 185, 188, 211, 217, 221, 224], "schnet": [42, 107, 183, 204, 209, 211, 214, 216, 217, 229], "schnetwrap": 112, "sch\u00fctt": [76, 89, 104, 109, 110], "scienc": 216, "scientif": 217, "scipi": [221, 224], "scn": [42, 107, 183, 203, 204, 209, 214, 216, 229], "scpd3": 221, "scrap": 224, "scratch": 202, "screen": [213, 217], "script": [0, 11, 42, 161, 173, 183, 197, 208, 211, 212, 217, 218, 227, 229], "sdata": 223, "sdiskusag": 229, "se": 221, "search": [5, 31, 37, 133, 134, 188, 190, 193, 196, 217, 221, 223, 225], "sec": [154, 210], "second": [29, 99, 188, 190, 193, 195, 202, 204, 217, 221, 223, 226, 229], "section": [131, 197, 202, 205, 209, 212, 217, 221, 222, 223, 225], "see": [5, 13, 16, 31, 37, 38, 46, 107, 108, 110, 154, 158, 182, 197, 202, 203, 204, 205, 209, 210, 211, 212, 214, 217, 219, 221, 222, 223, 224, 225, 226, 227], "seed": [21, 27, 57, 58, 149, 150, 151, 202, 203, 204, 210, 214, 217, 221, 223, 224, 226, 227], "seek": [217, 219], "seem": [66, 67, 79, 80, 136, 202, 203, 217], "seen": [204, 217], "select": [29, 31, 37, 38, 48, 50, 92, 93, 110, 153, 155, 156, 157, 196, 198, 203, 204, 205, 212, 229], "select_arg": [31, 37, 196, 204], "select_edg": [66, 67, 79, 80], "select_symmetric_edg": [66, 67, 79, 80, 92, 93, 109, 110], "self": [1, 12, 13, 21, 26, 31, 37, 38, 43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 109, 110, 115, 116, 118, 119, 124, 128, 129, 153, 155, 156, 158, 161, 185, 186, 188, 197, 203, 217, 226], "sell": [44, 110, 207, 217], "semi": [68, 81, 94], "seml": 29, "send": 227, "sens": [5, 217], "sensibl": [188, 193, 195], "sent": [204, 217], "sep": 29, "separ": [16, 29, 46, 48, 50, 52, 61, 95, 110, 112, 169, 202, 211, 221], "separables2activ": 45, "seper": 205, "sequenc": [133, 134, 149, 150], "sequenti": [119, 217], "serial": [37, 38], "serv": [31, 37, 211, 217], "server": [31, 37, 184, 185, 186, 188, 190, 193, 211], "set": [0, 1, 2, 5, 11, 13, 16, 21, 31, 37, 45, 46, 48, 49, 50, 63, 64, 110, 112, 113, 115, 117, 122, 133, 134, 136, 158, 169, 173, 182, 185, 186, 188, 190, 191, 193, 196, 197, 199, 200, 201, 203, 204, 205, 210, 211, 212, 214, 219, 221, 223, 224, 225, 226, 229], "set_": [128, 129], "set_axis_off": [214, 221, 223], "set_bulk_id_from_db": [155, 156], "set_calcul": [202, 203, 204, 208, 214, 217, 218, 219, 223, 226, 228], "set_constraint": [208, 217, 218, 219, 223], "set_context_var": 191, "set_cutoff": [92, 93], "set_embed": [56, 65], "set_epoch_and_start_iter": 13, "set_figheight": 221, "set_figwidth": 221, "set_fixed_atom_constraint": 158, "set_lmax": 65, "set_lmax_mmax": [56, 65], "set_max_neighbor": [92, 93], "set_pbc": [208, 217, 218, 219], "set_pbc_patch": 161, "set_posit": [6, 7, 25], "set_se": [149, 150], "set_source_dataset_id": [155, 156], "set_tag": [202, 203, 217, 219, 226], "set_titl": [217, 219, 221], "set_wign": 56, "set_xlabel": 221, "set_xlim": 221, "set_ylabel": [221, 226], "set_ylim": 221, "setformatt": 227, "setlevel": 227, "setup": [14, 148, 202, 203, 205, 210, 221, 223, 224, 225, 229], "setup_context": 16, "setup_experimental_import": 29, "setup_gp": 16, "setup_import": [29, 217], "setup_log": [29, 217], "sever": [197, 202, 217, 218, 219, 220, 227, 229], "severitylevelbetween": [29, 227], "sfcc": 223, "sh": 212, "sha256": 204, "shall": [44, 110, 207, 217], "shanno": 217, "shape": [44, 45, 52, 66, 67, 69, 72, 73, 75, 78, 79, 80, 82, 85, 86, 88, 91, 92, 93, 95, 96, 99, 100, 103, 106, 111, 112, 202, 203, 208, 217, 226], "shard": [37, 39], "share": [5, 29, 48, 50, 61, 95, 229], "share_atom_edge_embed": [48, 50], "sharei": 221, "shell": [133, 202, 229], "shift": [156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 199], "ship": 212, "shoghi": [200, 209], "sholl": [201, 209], "short": [158, 168, 188, 193, 195], "shortest": 5, "shortli": 202, "should": [5, 11, 16, 21, 27, 29, 31, 37, 39, 43, 44, 45, 46, 48, 49, 50, 52, 56, 66, 67, 70, 79, 80, 83, 92, 93, 97, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 153, 156, 184, 185, 188, 190, 193, 203, 204, 212, 215, 216, 217, 221, 223, 224, 226, 227, 228], "show": [63, 64, 113, 115, 202, 204, 208, 212, 217, 221, 224, 226, 227, 228, 229], "show_timing_info": [63, 64, 113, 115], "showcas": 229, "shown": [21, 203, 217], "shuaibi": [197, 200, 209, 212, 216, 217], "shuffl": [13, 149, 150, 202], "si": [217, 219, 223], "si2ti2y2": 197, "sid": [2, 133, 134, 198, 200, 208, 217, 218], "siddharth": [168, 197, 200, 209, 216, 217], "side": [184, 185, 188], "sigma": 202, "sigmoid": [48, 50, 63, 64, 113, 115], "sigmoidsmear": 116, "sign": 217, "signatur": [13, 204], "signedhead": 204, "signific": [31, 37, 171, 172, 216, 226], "significantli": 217, "sihoon": [201, 209], "silu": [44, 48, 50, 54, 61, 63, 64, 92, 93, 97, 113, 115, 202, 217, 227], "silusmear": 116, "similar": [52, 197, 211, 217, 223, 224, 226], "similarli": [205, 212, 217], "similiar": 217, "simpl": [13, 68, 81, 94, 202, 214, 217, 225, 229], "simpleatomedgemodel": 217, "simpler": 204, "simpli": [21, 31, 37, 158, 196, 226, 227], "simplic": 219, "simplifi": 211, "simul": [21, 184, 185, 186, 188, 213, 214, 217, 219, 229], "simular": 224, "sin": 229, "sinc": [21, 37, 38, 39, 40, 48, 50, 56, 66, 67, 79, 80, 92, 93, 109, 110, 156, 157, 171, 172, 202, 208, 210, 212, 216, 221, 223, 224], "sind": 204, "sine": 119, "sinesmear": 119, "singl": [0, 1, 5, 11, 37, 39, 40, 45, 46, 49, 71, 84, 98, 133, 134, 158, 163, 182, 185, 186, 188, 197, 200, 201, 203, 208, 211, 217], "single_point_calcul": 182, "single_point_lmdb": 217, "singlepoint": 202, "singlepointcalcul": [185, 186, 188, 202, 217, 219, 221], "singlepointdftcalcul": 221, "singlepointlmdb": [57, 58, 150, 151, 208], "singlepointlmdbdataset": [37, 39], "siqu": [70, 83], "siren": 119, "site": [5, 154, 156, 157, 158, 184, 185, 188, 190, 193, 198, 203, 212, 217, 219, 221, 226, 227, 228], "site_idx": 157, "six": 21, "size": [13, 16, 37, 39, 44, 51, 55, 56, 61, 63, 65, 66, 67, 69, 70, 72, 73, 75, 78, 79, 80, 82, 83, 85, 86, 88, 91, 92, 93, 96, 97, 99, 100, 103, 106, 111, 173, 185, 186, 188, 196, 197, 198, 199, 200, 201, 203, 204, 208, 211, 214, 217, 218, 219, 229], "skew": 202, "skip": [13, 16, 44, 66, 67, 75, 79, 80, 88, 92, 93, 103, 203, 204, 217, 219, 221, 223, 224], "skip_alwai": 31, "skip_if_nonzero": 31, "slab": [5, 29, 152, 154, 155, 156, 157, 167, 169, 171, 172, 183, 184, 185, 186, 188, 190, 192, 193, 197, 200, 203, 212, 214, 217, 219, 222, 223, 228, 229], "slab_": 223, "slab_atom": [156, 158], "slab_atom_posit": [154, 156], "slab_c": [154, 156], "slab_c2": [154, 156], "slab_idx": [154, 156], "slab_len": 5, "slab_sid": 200, "slabmetadata": [185, 186, 188], "sleep": [188, 190, 193], "slice": [52, 110], "slight": [154, 156, 157], "slightli": 203, "slope": [118, 221], "slope_stderr": 221, "slow": [31, 37, 205, 217], "slow_interval_sec": [188, 190, 193], "slowdown": 197, "slower": [204, 210, 221], "slurm": [57, 58, 149, 150, 151, 202, 204, 211, 217, 227], "slurm_mem": 227, "slurm_partit": 227, "slurm_timeout": 227, "small": [29, 31, 37, 171, 172, 196, 201, 203, 204, 217, 223, 224, 226, 228], "smaller": [196, 203, 217], "smallest": 13, "smear": [42, 107, 113, 119, 183], "smile": [153, 156], "smooth": [44, 76, 89, 104], "smoothleakyrelu": 45, "sn2o4": [202, 227], "sn4o8": [202, 227], "sno2": 202, "so": [5, 11, 12, 21, 29, 31, 37, 44, 48, 50, 55, 61, 63, 64, 92, 93, 94, 106, 109, 110, 133, 134, 154, 156, 158, 168, 171, 172, 184, 185, 188, 192, 193, 195, 198, 199, 202, 204, 205, 207, 210, 217, 221, 223, 224, 226, 227, 228], "so2_convolut": 55, "so2_linear": 55, "so2_m_convolut": 55, "so2_op": [42, 50, 107, 183], "so2block": 63, "so2conv": 63, "so2equivariantgraphattent": 61, "so3": [42, 50, 63, 64, 107, 183], "so3_edge_rot": 63, "so3_embed": [55, 56, 65], "so3_grid": [45, 48, 50, 56, 61, 63, 65], "so3_linear": 56, "so3_linearv2": 56, "so3_rot": [51, 56, 61, 65], "soap": 224, "soap_desc": 224, "soap_ex": 224, "societ": 217, "softplu": [76, 89, 104], "softwar": [44, 110, 207, 220], "solar": 217, "solut": [68, 81, 94, 203, 217], "solv": [154, 156, 209, 217], "some": [19, 27, 66, 67, 79, 80, 92, 93, 109, 110, 133, 134, 166, 168, 173, 202, 204, 210, 211, 213, 217, 219, 221, 223, 229, 230], "someth": [203, 226], "sometim": [158, 203], "somewhat": [202, 221, 223], "soon": [188, 190, 193, 202, 203, 214, 227], "sorbent": [201, 209], "sort": [2, 29, 37, 38, 106, 188, 192, 193], "sort_valu": 224, "sourc": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188, 205, 217, 218], "source_el": [63, 115], "source_to_target": 110, "sout": 229, "sp": [1, 3, 221, 224], "space": [37, 38, 202, 226], "span": [156, 158], "sparsetensor": [95, 106], "spatial": 224, "speci": [223, 224, 228], "special": 20, "species_numb": 223, "specif": [1, 26, 37, 38, 56, 65, 110, 158, 202, 205, 211, 212, 217, 219, 229], "specifi": [1, 5, 29, 30, 31, 37, 60, 95, 110, 131, 154, 156, 157, 169, 198, 200, 203, 204, 210, 211, 217, 223, 227], "specific_mil": [156, 158, 221, 224, 228], "specifii": 217, "spectra": [109, 110], "spectral": 226, "speed": [208, 217, 221, 224], "speedup": [37, 39, 110], "sph": [71, 72, 84, 85, 98, 99, 119], "sph_basi": [99, 203], "sph_harm_prefactor": [71, 84, 98], "sphere": [48, 50, 63, 64, 71, 84, 98, 113, 115], "sphere_basi": 52, "sphere_channel": [48, 50, 51, 55, 61, 63, 64, 113, 115], "sphere_channels_reduc": [113, 115], "sphere_point": 63, "spheric": [44, 48, 50, 51, 55, 56, 61, 63, 64, 65, 71, 76, 84, 89, 92, 93, 98, 99, 103, 104, 105, 113, 115, 117], "spherical_basi": [67, 74, 80, 87, 93, 102, 107, 183, 203], "spherical_bessel_formula": [71, 84, 98], "spherical_harmon": [42, 107, 113, 183, 202, 217, 227], "sphericalbasislay": [105, 203], "sphericalbesselbasi": [76, 89, 104], "sphericalchannelnetwork": [113, 115], "sphericalharmonicshelp": 117, "sphericalsmear": 119, "sphharm": 115, "sphharm_list": 115, "sphinx": 183, "spike": 217, "spin_multipl": 182, "spinconv": [204, 209, 214, 216, 229], "split": [17, 19, 27, 135, 143, 145, 149, 150, 151, 197, 198, 199, 200, 201, 203, 204, 208, 209, 211, 217, 221, 224, 225], "split_siz": 197, "spookynet": [76, 89, 104], "spot": 173, "sq": 221, "sqlite": [31, 37, 133, 134], "sqlite3databas": [133, 134], "sqrt": [70, 83, 97, 221], "squar": [52, 221], "squareform": 224, "squeez": 217, "src": [14, 31, 37, 82, 106, 155, 156, 182, 196, 202, 203, 204, 208, 210, 211, 216, 217, 221, 227, 229], "src_id": [155, 156, 185, 186, 188, 212, 221], "sriram": [197, 200, 201, 209, 216, 217], "ssp": 119, "sswap": 229, "ssxm": 221, "ssxym": 221, "ssym": 221, "stabil": [92, 93, 104, 105, 202, 210], "stabl": [221, 223, 226], "stack": [66, 67, 79, 80, 92, 93, 133, 134], "stackoverflow": [78, 91, 106, 111], "stage": [217, 227], "stamp": [202, 211], "standalon": 211, "standard": [0, 1, 12, 21, 149, 150, 158, 168, 182, 211, 217, 223], "standardize_bulk": [158, 168], "standardized_struct": [158, 168], "standerd": 173, "start": [5, 13, 37, 39, 40, 78, 91, 94, 104, 106, 111, 116, 119, 166, 184, 185, 188, 190, 193, 202, 203, 204, 215, 217, 220, 222, 223, 225, 227, 228, 229], "start_idx": [78, 91, 106, 111], "start_it": 13, "start_iter": 13, "start_lmax": [56, 65, 117], "starting_node_idx": 5, "startup": [31, 37, 196], "stat": [121, 128, 129, 221], "state": [11, 12, 13, 29, 37, 39, 40, 57, 58, 68, 81, 94, 122, 150, 151, 199, 202, 211, 217, 219, 223, 229], "state_dict": [29, 122, 125, 128, 129], "statefuldistributedsampl": 13, "statement": [188, 193, 195], "static": [13, 16, 31, 37, 149, 150, 182, 188, 192, 193], "staticmethod": 16, "statist": 210, "statu": [185, 186, 188, 190, 193, 215], "std": [49, 125, 203, 217], "std_balance_degre": 52, "stderr": 227, "stdev": 217, "stdout": [204, 227], "steer": 217, "stem": 95, "step": [1, 2, 3, 5, 11, 17, 19, 23, 25, 60, 122, 131, 188, 190, 193, 197, 198, 199, 202, 208, 212, 214, 218, 219, 220, 221, 224, 227, 228], "stephan": 217, "still": [13, 188, 190, 193, 202, 204, 217, 223, 226, 227], "stitch": 197, "stochast": 46, "stoichiometri": 223, "stop": [104, 116, 197, 203, 217], "storag": [31, 37, 174, 197, 217, 227], "store": [16, 20, 29, 31, 32, 33, 37, 38, 39, 40, 122, 153, 156, 185, 186, 188, 190, 193, 197, 201, 202, 208, 211, 217, 223, 229], "str": [6, 7, 8, 11, 13, 14, 17, 19, 20, 21, 23, 25, 26, 28, 29, 30, 31, 37, 38, 44, 46, 48, 50, 52, 53, 56, 57, 58, 61, 63, 64, 66, 67, 69, 70, 73, 75, 76, 78, 79, 80, 82, 83, 86, 88, 89, 91, 92, 93, 96, 97, 100, 103, 104, 107, 108, 109, 110, 112, 113, 114, 115, 118, 119, 121, 124, 126, 127, 128, 129, 133, 134, 135, 136, 141, 146, 149, 150, 151, 153, 154, 155, 156, 157, 158, 166, 182, 184, 185, 186, 187, 188, 190, 192, 193, 195], "straighten": 173, "strang": [166, 217], "strategi": 195, "stream": [29, 204, 217], "streamlin": 202, "stress": [21, 133, 134, 202, 216], "strict": [29, 48, 50, 224], "stricter": [92, 93], "strictli": [13, 29], "string": [6, 7, 11, 20, 21, 27, 29, 31, 37, 45, 46, 49, 71, 84, 98, 110, 112, 133, 134, 153, 156, 173, 184, 185, 186, 188, 202, 229], "stringio": 203, "strip": [202, 204], "strongli": [204, 217], "struct": [158, 168], "structur": [0, 1, 2, 5, 13, 23, 29, 31, 37, 39, 40, 43, 44, 45, 46, 49, 52, 56, 57, 58, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 150, 151, 153, 154, 155, 156, 158, 166, 168, 169, 173, 184, 185, 186, 188, 190, 193, 202, 204, 209, 210, 216, 219, 221, 223, 226, 228, 229], "structure_gener": [152, 167, 183], "structure_xyz": [158, 168], "structuregener": 169, "strucutr": 217, "studi": [217, 219, 229], "stuff": [224, 228], "style": [37, 39, 217], "sub": [92, 93, 158, 211, 217, 219], "subclass": [13, 16, 21, 37, 39, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129], "subdir": [208, 217], "subdirectori": [29, 163, 199], "subject": [44, 110, 207, 217], "sublicens": [44, 110, 207, 217], "submiss": [141, 212], "submission_fil": 211, "submit": [184, 185, 186, 188, 190, 211, 212, 213, 227], "submit_adsorbate_slab_relax": [184, 185, 188], "submitit": [12, 211, 227], "submodul": [43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 129, 168, 173], "subplot": [214, 217, 219, 221, 223, 226], "subselect": [48, 50, 92, 93, 188, 190, 193], "subselect_edg": [92, 93], "subselect_graph": [92, 93], "subsequ": [69, 72, 73, 82, 85, 86, 96, 99, 100, 188, 190, 193, 221, 227], "subset": [55, 184, 185, 186, 188, 190, 193, 197, 204, 217], "subset_db": 204, "subsplit": [197, 200, 217], "substanti": [44, 110, 202, 207, 217, 229], "subsubdirectori": 29, "subsurfac": [185, 186, 188, 198, 208, 217, 218, 219], "subtl": 223, "subtract": [48, 50, 78, 91, 106, 203, 208, 217], "subtyp": 13, "succe": [184, 185, 188], "success": [0, 1, 11, 185, 186, 188, 211, 217, 229], "success_much_bett": 1, "success_par": [0, 1], "success_threshold": [0, 1], "successfulli": [1, 188, 190, 193], "sudden": 29, "suffici": [196, 202, 217, 226], "suffix": [149, 150], "suggest": [166, 204, 217, 223], "suit": [217, 227], "suitabl": 110, "sum": [1, 5, 29, 51, 110, 217, 224, 226], "sum_": 112, "sum_i": 217, "sum_j": 217, "summar": [209, 217], "summat": [72, 77, 85, 90, 99], "summit": 227, "super": [43, 44, 45, 46, 49, 52, 53, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 217], "superposit": [154, 156], "supplement": 229, "suppli": [211, 221, 224], "support": [37, 39, 95, 184, 185, 186, 188, 190, 193, 196, 198, 199, 202, 208, 211, 216, 217, 223], "supposedli": 204, "suppress": [203, 211, 223], "sure": [16, 68, 81, 94, 173, 197, 205, 210, 217, 221, 223, 224], "surf": 204, "surfac": [2, 5, 92, 93, 154, 156, 157, 158, 168, 169, 171, 172, 173, 184, 185, 186, 188, 190, 193, 197, 198, 199, 200, 208, 209, 210, 217, 218, 219, 222, 223, 224, 226, 228], "surface0": 169, "surface1": 169, "surface_atom": 158, "surface_change_cutoff_multipli": [2, 171, 172], "surface_index": 169, "surpris": [202, 204], "surrog": [217, 229], "surviv": 46, "svmem": 229, "swap": [103, 182, 229], "swap_output": 103, "sweep_fil": 29, "sweep_yml": 227, "swiglu": 45, "swish": [66, 67, 70, 79, 80, 83], "sxx": 202, "sxy": 202, "sxz": 202, "sy": 221, "syi": 202, "sym": 44, "symbol": [197, 202, 205, 221, 223, 226], "symlink": [197, 205], "symmetr": [66, 67, 79, 80, 92, 93, 103, 109, 110, 158, 168], "symmetri": [5, 158, 168, 229], "symmetric_edge_symmetr": [109, 110, 202, 203, 214, 227], "symmetric_mp": 103, "symmetrize_edg": [92, 93, 109, 110], "sympi": [71, 84, 98], "sync": [208, 217], "synchron": 14, "syntax": [37, 38, 226], "system": [0, 1, 2, 3, 5, 11, 23, 27, 136, 154, 156, 158, 171, 172, 180, 182, 184, 185, 186, 187, 188, 190, 193, 198, 202, 203, 205, 208, 211, 214, 217, 218, 219, 222, 224, 226, 227, 228, 229], "system1_coord": 5, "system2_coord": 5, "system_chang": [21, 203], "system_id": [0, 1, 184, 185, 186, 187, 188, 190, 193, 197, 198, 212], "system_path": [208, 217], "systemat": 223, "systems1": 5, "systems2": 5, "syz": 202, "szz": 202, "t": [13, 14, 16, 20, 21, 31, 37, 48, 50, 66, 67, 75, 78, 79, 80, 88, 91, 92, 93, 106, 154, 156, 169, 171, 172, 184, 185, 188, 202, 204, 210, 219, 221, 223, 224, 226, 227], "t0": [202, 204, 221, 223], "t4": [204, 209, 214, 229], "t8": 217, "t_co": [37, 39], "tabl": 209, "tag": [5, 31, 37, 92, 93, 133, 134, 156, 158, 185, 186, 188, 190, 198, 202, 204, 208, 210, 218, 221, 223, 226], "tag_surface_atom": 158, "tail": [202, 227], "take": [0, 31, 69, 71, 82, 84, 96, 98, 110, 133, 134, 188, 190, 193, 202, 204, 211, 212, 215, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "taken": [168, 173, 185, 186, 188, 197, 204, 227], "tap": [113, 115, 117], "tar": [197, 198, 199, 200, 201, 217], "tarbal": 197, "target": [0, 1, 48, 50, 66, 67, 69, 78, 79, 80, 82, 91, 92, 93, 106, 112, 121, 124, 220], "target_constant_shap": 41, "target_el": [63, 115], "target_extens": 41, "target_kei": 203, "target_mean": [211, 217], "target_metadata_guess": [37, 42, 183], "target_neighbor_idx": 103, "target_per_atom": 41, "target_s": 16, "target_sampl": 41, "target_std": [211, 217], "target_to_sourc": 110, "task": [20, 37, 39, 40, 42, 57, 58, 121, 133, 134, 135, 144, 145, 149, 150, 151, 183, 198, 199, 202, 204, 208, 210, 211, 216, 218, 220, 225], "task_metr": 121, "task_primary_metr": 121, "tate": 217, "tb": [37, 38], "techniqu": 217, "technologi": 217, "tell": [196, 203], "temp_download": 162, "temp_split_str": 176, "temperatur": 29, "temporarili": 122, "ten": 212, "tenac": 195, "tend": [202, 223], "tensor": [13, 14, 16, 21, 25, 29, 45, 46, 49, 55, 56, 61, 62, 63, 65, 66, 67, 68, 69, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 91, 92, 93, 94, 95, 96, 99, 100, 103, 104, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 124, 125, 128, 129, 133, 134, 203, 208, 217, 218, 227], "tensor_ord": [92, 93], "tensorboard": [19, 202, 204, 211, 217, 227], "tensorboardlogg": 19, "tensorflow": [46, 216], "tensori": [109, 110], "term": 202, "termin": [3, 5, 23, 188, 190, 193, 202, 204, 227], "test": [5, 17, 27, 31, 37, 152, 167, 171, 172, 183, 184, 185, 188, 193, 195, 196, 197, 200, 201, 204, 208, 210, 211, 219, 221, 225], "test_dataset": [202, 217, 227], "test_id": 197, "test_load": 217, "test_metr": 17, "test_neb": 199, "test_ood_ad": 197, "test_ood_both": 197, "test_ood_cat": 197, "text": [197, 217, 219], "th": [11, 199], "than": [1, 5, 23, 29, 37, 38, 46, 154, 156, 158, 166, 188, 192, 193, 196, 197, 210, 211, 217, 218, 223, 224, 226], "thei": [5, 13, 16, 21, 29, 95, 158, 168, 169, 185, 186, 188, 190, 192, 193, 196, 202, 203, 204, 208, 211, 212, 213, 217, 219, 221, 223, 224, 226, 229], "them": [11, 27, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 133, 134, 188, 190, 193, 197, 199, 201, 202, 203, 204, 205, 210, 213, 217, 219, 221, 224, 226, 228, 229], "themselv": [184, 185, 188], "theori": [197, 217, 221, 223, 229], "there_is_overlap": 154, "thermochem": 223, "thermodynam": 223, "theta": [71, 84, 98, 110, 112], "thi": [0, 1, 2, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 52, 56, 57, 58, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 128, 129, 131, 133, 134, 136, 137, 140, 141, 142, 143, 148, 149, 151, 153, 154, 155, 156, 157, 158, 167, 168, 173, 183, 184, 185, 186, 188, 190, 191, 193, 195, 196, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228], "thibaut": [197, 209, 216, 217], "thick": 223, "thing": [5, 31, 154, 156, 173, 202, 203, 204, 216, 221, 224, 229], "think": 221, "third": 202, "thoroughli": 202, "those": [48, 50, 188, 192, 193, 202, 208, 211, 217, 220, 221, 224, 229], "though": [16, 184, 185, 188, 202, 203, 204, 221, 223], "thought": 217, "thread": [36, 184, 185, 188], "three": [158, 199, 202, 211, 217, 226, 229], "threshold": [11, 41], "through": [0, 1, 31, 37, 39, 40, 163, 173, 202, 217, 223, 224], "throughout": [184, 185, 188, 212, 217], "throughput": [196, 208], "throw": [31, 217, 219], "throw_on_error": 13, "thu": [38, 217, 229], "ti": 202, "ti2o4": 202, "tian": 216, "tight": 180, "tight_layout": [221, 226], "tightli": 217, "tile": [5, 154, 156, 158], "tile_and_tag_atom": 158, "tile_atom": 158, "till": 29, "time": [1, 29, 31, 37, 63, 64, 113, 115, 122, 154, 184, 185, 188, 190, 193, 195, 202, 203, 204, 211, 214, 217, 219, 221, 223, 224, 227], "timedelta": [184, 185, 188], "timeout": 12, "timestamp": [202, 211], "timestamp_id": [57, 58, 149, 150, 151, 217, 227], "timm": 46, "tini": 221, "tinit": 221, "tio2": 202, "titl": [29, 166, 197, 200, 201, 202, 209, 212, 216, 217, 219, 228], "titles": [217, 219], "tmp": [202, 203, 204, 214, 217, 221, 223, 224, 226, 227, 228, 229], "to_ase_atom": [185, 186, 188, 212], "to_grid": [56, 65], "to_json": 212, "to_outedg": 95, "toatom": 204, "todai": [217, 229], "todo": 203, "tog02": 154, "togeth": [2, 202, 226], "togrid": 117, "toi": [219, 220], "toler": [29, 171, 172], "tolist": [13, 221, 224], "too": [43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 202, 204, 205, 217, 226, 227], "tool": [196, 226], "top": [1, 156, 158, 168, 185, 186, 188, 192, 193, 197, 198, 202, 212, 217, 223], "topic": 220, "topologi": 201, "torch": [13, 14, 16, 25, 29, 31, 37, 39, 40, 43, 44, 45, 46, 49, 51, 52, 53, 54, 55, 56, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 122, 124, 125, 126, 128, 129, 130, 131, 133, 134, 149, 150, 203, 208, 210, 217, 218, 226, 229], "torch_clust": 205, "torch_doctest_autograd": 16, "torch_geometr": [13, 25, 29, 30, 37, 39, 110, 112, 132, 133, 134, 205, 217, 218, 227], "torch_scatt": [82, 205, 217], "torch_spars": [106, 205], "torchcalc": 25, "torchrun": 211, "tort": [44, 110, 207, 217], "total": [1, 3, 5, 71, 84, 95, 98, 99, 154, 156, 197, 198, 203, 204, 208, 217, 223, 227, 229], "total_energi": 202, "total_fram": 217, "toward": 217, "toy_c3h8": 217, "toy_c3h8_relax": [217, 219], "tpu": 46, "tqdm": [31, 37, 188, 190, 193, 203, 204, 208, 217, 221, 223, 226], "tqdmwarn": 226, "traceback": 203, "track": [57, 58, 133, 134, 150, 151, 188, 190, 193], "trade": 202, "tradit": 217, "train": [6, 7, 13, 17, 20, 21, 27, 31, 37, 43, 44, 45, 46, 48, 49, 50, 52, 56, 57, 58, 60, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 149, 150, 151, 196, 197, 199, 200, 201, 203, 204, 208, 209, 216, 218, 220, 221, 223, 224, 225, 226, 229], "train_100": 217, "train_10k": 217, "train_dataset": 217, "train_metr": 17, "train_on_free_atom": [202, 217, 227], "train_on_oc20_total_energi": [210, 211], "train_set": 204, "train_src": 217, "train_test_val_split": [27, 202, 227], "trainabl": 104, "trainer": [20, 21, 42, 50, 107, 127, 148, 183, 202, 211, 218, 226, 227], "training_st": [149, 150], "traintask": [20, 147, 148], "traj": [31, 37, 136, 166, 196, 199, 204, 208, 217, 218, 219, 221, 224, 228], "traj_dir": [25, 29, 211, 217], "traj_id": 200, "traj_nam": 25, "traj_path": [136, 208, 217], "trajcetori": [208, 217], "trajectori": [5, 23, 37, 39, 40, 163, 166, 185, 186, 188, 198, 199, 201, 208, 211, 218, 222, 228], "trajectory_lmdb": 217, "trajectorylmdb": [208, 211], "trajectorylmdbdataset": [37, 39], "tran": [168, 173, 197, 200, 209, 216, 217], "transblockv2": 61, "transfer": [199, 217], "transfer_reaction_db_path": 9, "transferr": 229, "transform": [18, 23, 25, 31, 37, 39, 40, 42, 44, 48, 50, 52, 66, 67, 75, 79, 80, 88, 92, 93, 99, 103, 123, 183, 217], "transform_arg": [31, 37], "transform_funct": [31, 37], "transformer_block": [42, 50, 107, 183], "transit": [11, 199, 217, 223], "translat": [154, 156, 203, 229], "travel": 5, "travers": [5, 154, 156], "traversal_rxt": 5, "traversal_rxt1_fin": 5, "traverse_adsorbate_desorpt": 5, "traverse_adsorbate_dissoci": 5, "traverse_adsorbate_gener": 5, "traverse_adsorbate_transf": 5, "treat": [1, 31], "tree": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 39, 40, 42, 43, 44, 45, 46, 49, 52, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 124, 125, 128, 129, 133, 134, 137, 140, 141, 143, 148, 149, 151, 167, 188], "trend": 217, "tri": 203, "triangl": [154, 156, 157], "triangul": [154, 156, 157], "tricki": 221, "trim_tensor": 16, "trip_idx_a2": [92, 93, 103, 203], "trip_idx_e2": [92, 93, 103, 203], "trip_idx_e2a": [92, 93, 103, 203], "trip_in_to_quad": 95, "trip_interact": 217, "trip_out_to_quad": [95, 203], "tripinteraction_2_had_rbf": 217, "tripinteraction_2_sum_cbf": 217, "tripinteraction_3_had_rbf": 217, "tripinteraction_3_sum_cbf": 217, "tripinteraction_4_had_rbf": 217, "tripinteraction_4_sum_cbf": 217, "tripinteraction_5_had_rbf": 217, "tripinteraction_5_sum_cbf": 217, "triplet": [31, 44, 66, 67, 72, 75, 79, 80, 85, 88, 95, 99, 103, 229], "triplet_in": 95, "triplet_out": 95, "tripletinteract": [75, 88, 103], "tructur": 217, "true": [5, 6, 7, 11, 13, 16, 20, 21, 25, 29, 31, 37, 38, 44, 45, 48, 50, 51, 52, 55, 56, 61, 63, 64, 66, 67, 69, 70, 71, 78, 79, 80, 82, 83, 84, 91, 92, 93, 95, 96, 97, 98, 101, 103, 106, 109, 110, 111, 112, 113, 115, 128, 129, 133, 134, 149, 150, 151, 154, 158, 168, 171, 172, 180, 184, 185, 188, 190, 193, 196, 197, 199, 202, 203, 204, 205, 208, 210, 211, 217, 218, 219, 221, 223, 224, 226, 227, 228], "truth": [0, 1, 20], "try": [158, 190, 196, 203, 217, 223], "ttt": [202, 204, 227], "ttv": 27, "tu": 44, "tum": 29, "tune": [17, 204, 215, 217, 223, 225, 226, 229], "tune_report": 17, "tupl": [5, 11, 16, 26, 27, 29, 37, 38, 69, 78, 82, 85, 91, 99, 106, 110, 146, 153, 156, 158, 168, 173, 185, 186, 188, 190, 192, 193, 197, 198, 200, 217], "turn": [31, 197], "tutori": [110, 202, 204, 208, 211, 214, 215, 216, 219, 222, 223, 225, 227], "tutorial_data": 217, "tutorial_util": [18, 42, 183, 202, 204, 227, 229], "twice": [99, 204], "two": [5, 16, 29, 31, 37, 92, 93, 103, 129, 158, 196, 202, 211, 212, 217, 221, 226, 229], "txie": 36, "txn": [208, 217], "txt": [197, 202, 204, 221, 227], "type": [3, 5, 11, 13, 16, 18, 29, 31, 37, 39, 42, 48, 50, 52, 56, 57, 58, 61, 65, 69, 71, 72, 73, 75, 78, 82, 84, 85, 86, 88, 91, 92, 93, 95, 96, 98, 99, 100, 103, 106, 107, 108, 119, 133, 134, 149, 150, 151, 154, 156, 158, 168, 169, 171, 172, 183, 185, 186, 188, 190, 193, 197, 199, 203, 217, 219], "typeddict": 129, "typedstorag": [217, 227], "typic": [99, 122, 188, 190, 193, 217, 219, 223, 229], "typing_extens": [37, 38], "tzvpd": 180, "u": [5, 199, 217], "ui": [183, 185, 188], "ui_url": [188, 190, 193, 212], "ulissi": [168, 197, 200, 201, 209, 212, 216, 217], "ulissigroup": [168, 173], "ultim": [217, 227], "um": 226, "umap": 226, "umap_": 226, "umbrella": 229, "unavaial": 33, "unavail": [32, 219], "uncertainti": 217, "uncom": 217, "uncompress": [42, 140, 183, 197, 198, 199, 200, 201], "uncompress_data": 135, "uncompressed_dir": 135, "under": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 35, 36, 37, 38, 39, 40, 42, 43, 44, 56, 57, 58, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123, 125, 133, 134, 137, 140, 141, 143, 148, 149, 151, 158, 167, 188, 197, 198, 200, 201, 209, 212, 216, 217, 226], "undercoordin": 158, "undergon": 216, "underli": [110, 197], "understand": [218, 220], "underwai": 217, "undesir": 29, "unfamiliar": 212, "unfortun": 217, "unhash": [217, 219], "uniform": [48, 50], "uniform_atoms_length": 41, "uniformli": [154, 156, 157], "unintend": 217, "uninteract": 197, "uniqu": [5, 20, 66, 67, 79, 80, 133, 134, 158, 184, 185, 186, 188, 190, 193, 197, 198, 208, 210, 211, 212, 217, 218, 224], "unique_combinations_count": 176, "uniquekeyload": 29, "unit": [29, 63, 64, 69, 70, 71, 78, 82, 83, 84, 91, 95, 96, 97, 98, 106, 113, 115, 154, 156, 158, 168, 173, 185, 186, 188, 197, 212], "unit_norm": [154, 156], "unit_slab_struct": 158, "units_in": [69, 82, 96], "units_out": [72, 85], "univers": 217, "unk": [76, 89, 104], "unknown": [202, 204, 227], "unless": 227, "unlik": [156, 157, 217, 219], "unphys": 226, "unrecogn": [202, 214, 227], "unrefer": 210, "unregist": 20, "unrelaxed_fram": 199, "unscal": 101, "unseen": 197, "unspecifi": 203, "unstabl": 106, "unsupportedadsorbateexcept": [188, 190, 193], "unsupportedbulkexcept": [188, 190, 193], "unsupportedmodelexcept": [188, 190, 193], "unsur": 217, "until": [5, 154, 158, 188, 190, 193, 217], "untyped_storag": [217, 227], "untypedstorag": [217, 227], "unus": 112, "unwrap": 5, "unwrap_atom": 5, "up": [2, 16, 29, 71, 84, 92, 93, 98, 101, 154, 156, 205, 216, 217, 219, 221, 223, 224, 226], "updat": [5, 25, 27, 29, 69, 82, 96, 101, 103, 110, 121, 122, 152, 157, 159, 167, 183, 188, 190, 193, 197, 202, 203, 204, 211, 214, 217, 219, 221, 223, 224, 226, 227], "update_best": [149, 150], "update_config": 29, "update_db": 161, "update_dict": 19, "update_distance_map": 157, "update_graph": 25, "update_json": [78, 91], "update_mask": 25, "update_pkl": 161, "upload": 211, "upon": [48, 50, 182, 197], "upper": 221, "upsampl": [113, 115], "upsid": [158, 168], "upward": [158, 168, 211], "url": [44, 184, 185, 187, 188, 190, 193, 212], "us": [0, 1, 2, 3, 5, 13, 16, 20, 23, 27, 29, 31, 33, 37, 38, 39, 40, 44, 46, 48, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 69, 70, 73, 75, 77, 79, 80, 82, 83, 86, 88, 90, 92, 93, 95, 96, 97, 99, 100, 101, 103, 106, 109, 110, 112, 113, 115, 117, 122, 126, 133, 134, 141, 146, 149, 150, 151, 154, 156, 157, 158, 166, 168, 173, 180, 184, 185, 186, 188, 190, 193, 195, 197, 198, 200, 201, 202, 203, 204, 205, 207, 208, 209, 210, 211, 212, 213, 216, 218, 219, 220, 222, 224, 226, 227, 228, 229], "usabl": [31, 197, 216], "usag": [1, 16, 20, 110, 217, 229], "use_atom_edge_embed": [48, 50, 51, 61], "use_attn_renorm": [48, 50, 61], "use_cosin": 119, "use_deterministic_algorithm": 210, "use_energy_lin_ref": [48, 50], "use_gate_act": [48, 50, 61], "use_grid": [63, 64, 113, 115], "use_grid_mlp": [48, 50, 61], "use_lock_fil": [37, 38], "use_m_share_rad": [48, 50, 61], "use_num_upd": 122, "use_pbc": [43, 44, 48, 50, 63, 64, 66, 67, 79, 80, 92, 93, 109, 110, 112, 113, 115], "use_phi": [71, 84, 98], "use_s2_act_attn": [48, 50, 61], "use_sep_s2_act": [48, 50, 61], "use_theta": [71, 84, 98], "use_tqdm": [31, 37], "usecas": [31, 37], "user": [3, 31, 37, 188, 192, 193, 197, 202, 204, 205, 212, 217, 227], "user_instal": 226, "userwarn": [217, 219, 226, 227], "usetex": [217, 219], "usual": [122, 202, 210, 223, 229], "utexa": 197, "utf": 204, "util": [13, 18, 21, 31, 37, 39, 40, 42, 67, 80, 93, 107, 109, 123, 128, 131, 149, 150, 152, 167, 183, 196, 203, 204, 208, 217, 218, 221, 224, 227, 228, 229], "uuid": 212, "uyttendael": [201, 209, 212], "v": [110, 129, 133, 134, 180, 202, 217, 222], "v0": 166, "v0_check": 166, "v3": 161, "v_qint_st": [92, 93], "v_st": [78, 91, 92, 93, 106, 217], "vacuum": [203, 204, 208, 214, 217, 218, 219, 223], "val": [17, 27, 29, 149, 150, 151, 196, 197, 201, 209, 210, 211, 217, 224, 225], "val_20": 217, "val_2k": 217, "val_dataset": [202, 217, 227], "val_id": [197, 211], "val_loss": 17, "val_metr": [17, 149, 150], "val_ood_ad": 197, "val_ood_both": 197, "val_ood_cat": 197, "val_src": 217, "valenc": 33, "valid": [0, 1, 11, 16, 27, 48, 50, 122, 149, 150, 171, 172, 197, 198, 199, 200, 201, 202, 211, 220], "validatetask": [147, 148], "valu": [0, 1, 5, 11, 16, 19, 20, 27, 29, 33, 48, 50, 61, 76, 89, 92, 93, 94, 95, 99, 104, 105, 110, 126, 129, 133, 134, 155, 156, 158, 173, 185, 186, 188, 191, 192, 193, 195, 197, 199, 200, 202, 203, 210, 212, 217, 219, 222, 224, 226], "var": [68, 81, 94], "vari": [1, 136, 226], "variabl": [43, 44, 45, 46, 49, 52, 56, 70, 71, 83, 84, 97, 98, 104, 110, 115, 116, 118, 119, 124, 128, 129, 191, 202, 211, 224, 226], "varianc": [68, 81, 94, 164, 210], "variance_in": 129, "variance_out": 129, "variant": [66, 67, 79, 80], "varieti": [31, 37, 217, 226, 229], "variou": [19, 20, 197, 201, 209, 216, 217], "vasp": [3, 11, 152, 164, 167, 169, 172, 183, 202, 212], "vasp_command": 11, "vasp_dir": 11, "vasp_flag": [4, 11, 173, 224], "vdict": 226, "ve": [46, 208, 217, 219], "vec": 110, "vec_j": 110, "vector": [5, 48, 50, 52, 61, 78, 91, 106, 111, 133, 134, 154, 156, 158, 173, 185, 186, 188, 203, 217, 219, 224, 225, 229], "vector_reject": 106, "verbos": [37, 38, 223], "veri": [1, 13, 199, 202, 203, 204, 208, 217, 224, 226], "verify_count": 135, "versa": [158, 168], "version": [5, 173, 183, 188, 198, 199, 200, 201, 205, 217, 223, 229], "vertic": 154, "via": [95, 110, 129, 211, 227, 229], "vice": [158, 168], "video": 206, "videos_dir": 219, "view": 202, "view_x3d_n": [224, 228], "virtual": 229, "visal": 136, "visibl": 53, "visit": [202, 212], "visual": [136, 185, 187, 188, 190, 193, 212, 214, 220, 221, 223, 224, 226], "vjp": 16, "vo2": 202, "vol": 202, "volum": [33, 202, 204, 217, 219, 227], "voronoi": 158, "vstack": 224, "w": [16, 68, 81, 94, 106, 212, 217, 219, 223, 227], "w0": 119, "wa": [2, 31, 37, 39, 40, 110, 122, 158, 166, 168, 171, 172, 184, 185, 186, 187, 188, 190, 193, 195, 197, 198, 199, 202, 203, 208, 212, 216, 217, 223, 224, 226, 228, 229], "wai": [13, 16, 31, 37, 43, 44, 45, 46, 49, 52, 56, 68, 70, 81, 83, 94, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 136, 149, 150, 153, 155, 156, 158, 168, 196, 202, 203, 212, 220, 221, 224, 226, 227], "wait": [184, 185, 188, 190, 193, 195], "wait_bas": 195, "wait_for_adsorbate_slab_relax": [188, 190, 193], "waiter": 195, "walk": 217, "walkthrough": 217, "wandb": [19, 20, 57, 58, 149, 150, 151, 202, 204, 217, 227], "wandblogg": [19, 20], "wander": 212, "want": [12, 13, 21, 31, 37, 158, 168, 173, 180, 196, 199, 202, 213, 214, 217, 221, 223, 227, 229], "warmup_epoch": 60, "warmup_factor": 60, "warmup_lr_lambda": [29, 131], "warmup_step": [29, 217], "warn": [20, 31, 37, 130, 202, 204, 214, 217, 219, 221, 223, 224, 226, 227], "warranti": [44, 110, 207, 217], "wartim": 217, "wasnt": 224, "wast": 224, "watch": [19, 221], "water": 223, "wb": 204, "wb97m": 180, "we": [5, 13, 29, 37, 38, 45, 48, 50, 52, 56, 60, 66, 67, 79, 80, 92, 93, 109, 110, 136, 154, 156, 157, 158, 168, 173, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 208, 210, 211, 213, 214, 215, 216, 217, 219, 220, 221, 223, 224, 226, 227, 228, 229], "weaker": 223, "webpag": [217, 219], "weight": [43, 48, 50, 52, 61, 68, 72, 81, 85, 94, 99], "weight_decai": [202, 203, 214, 227], "weight_init": [48, 50], "weihua": [197, 209, 216, 217], "well": [156, 157, 209, 211, 217, 218, 221, 223, 224, 229], "were": [16, 168, 173, 185, 186, 188, 190, 193, 197, 199, 209, 217, 219, 229], "west": 204, "wget": [204, 205, 217], "what": [21, 202, 203, 214, 217, 219, 221, 223, 224, 226, 227, 228, 229], "when": [5, 13, 20, 23, 31, 37, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 61, 68, 70, 81, 83, 92, 93, 94, 97, 99, 104, 110, 115, 116, 118, 119, 122, 124, 128, 129, 133, 134, 154, 156, 157, 171, 172, 184, 185, 188, 190, 191, 193, 195, 197, 202, 203, 205, 212, 217, 221, 224, 229], "whenev": 212, "where": [0, 1, 5, 11, 31, 37, 48, 50, 57, 58, 71, 84, 98, 110, 133, 134, 150, 151, 154, 156, 157, 158, 169, 173, 185, 186, 188, 197, 198, 200, 203, 204, 210, 211, 217, 219, 223, 224, 226, 229], "whether": [0, 1, 2, 11, 16, 17, 23, 29, 43, 44, 45, 46, 48, 49, 50, 51, 52, 56, 61, 66, 67, 70, 77, 78, 79, 80, 83, 90, 91, 92, 93, 95, 97, 103, 104, 105, 106, 110, 111, 112, 115, 116, 118, 119, 122, 124, 128, 129, 156, 158, 165, 166, 168, 185, 186, 188, 190, 193, 195, 197, 198, 207, 211, 217, 219], "which": [0, 1, 5, 11, 20, 21, 26, 29, 31, 37, 39, 52, 71, 84, 92, 93, 95, 98, 106, 110, 122, 153, 154, 156, 157, 166, 171, 172, 184, 185, 186, 187, 188, 190, 192, 193, 196, 197, 198, 199, 202, 203, 204, 205, 209, 210, 211, 212, 217, 219, 221, 223, 224, 226, 227, 228, 229], "while": [154, 156, 157, 184, 185, 188, 190, 193, 202, 204, 210, 212, 217, 229], "white": 217, "who": [196, 208], "whole": [204, 223], "whom": [44, 110, 207, 217], "whose": [20, 29, 158, 188, 190, 193], "why": 226, "wide": [158, 217, 229], "widespread": 217, "width": [63, 64, 113, 115, 216], "wigner": [42, 50, 51, 56, 61, 65, 107, 117, 183], "wigner_d": [62, 65, 117], "wiki": [31, 37, 197, 217, 219], "wildcard": [31, 37, 196], "willing": 168, "wind": 217, "wire": 217, "wise": 5, "wish": [208, 211, 217], "within": [0, 1, 5, 11, 26, 48, 50, 61, 133, 134, 154, 156, 157, 158, 166, 168, 169, 171, 172, 185, 186, 188, 199, 217, 218, 219, 224, 228], "without": [31, 44, 57, 58, 69, 82, 96, 110, 122, 131, 150, 151, 154, 156, 196, 204, 206, 207, 212, 217], "wood": [197, 200, 209, 212, 216, 217], "work": [31, 37, 39, 106, 136, 158, 202, 203, 204, 216, 217, 218, 223, 225, 227, 229], "worker": [197, 211, 217], "workflow": [183, 188, 212, 217], "workshop": [220, 221, 229], "world": [6, 7, 14, 217], "world_siz": 227, "worri": 208, "wors": 217, "worth": [66, 67, 79, 80, 204, 210], "would": [106, 154, 156, 204, 211, 212, 217, 219, 221, 223, 224, 228], "wrap": [5, 154, 156, 203, 212], "wrapper": [5, 17, 112, 182, 188, 190, 193], "write": [25, 27, 133, 134, 154, 156, 157, 169, 173, 180, 196, 202, 204, 212, 217, 218, 219, 227, 228], "write_images_to_lmdb": [144, 145], "write_is2re_relax": [141, 143], "write_json": [78, 91], "write_orca_input": 180, "write_pickl": 177, "write_po": [211, 217], "write_predict": [141, 143], "write_surfac": 169, "write_top_k_vasp": 2, "write_vasp_input_fil": [173, 224], "write_xyz": [217, 219], "written": [11, 31, 37, 38, 133, 134, 198, 211, 212, 224, 228], "www": [110, 154], "x": [13, 14, 28, 43, 44, 45, 46, 49, 52, 53, 55, 56, 61, 63, 70, 71, 78, 83, 84, 91, 97, 98, 104, 106, 110, 112, 115, 116, 117, 118, 119, 124, 128, 129, 154, 156, 157, 158, 168, 204, 217, 219, 221, 223], "x1": [154, 156, 226], "x2": [154, 156, 226], "x3": 226, "x3d": 228, "x3dase": [224, 228], "x64": [203, 217, 219, 221, 226, 227, 229], "x86_64": 229, "x_e": [217, 226], "x_e_i": 217, "x_edg": [55, 63, 115], "x_f": [217, 226], "x_grid": [56, 65, 117], "x_i": 110, "x_j": 110, "x_m": [55, 63], "x_pt": 63, "xc": [182, 202, 204], "xdoctest": [13, 16], "xh_j": 110, "xiaohan": [201, 209], "xie": 216, "xlabel": [29, 202, 204, 208, 217, 219, 223, 226, 228], "xtick": [217, 219], "xu": 223, "xyz": [31, 37, 119, 154, 156, 157, 158, 168, 196, 197, 200], "xz": 197, "xzvf": 217, "y": [71, 78, 84, 91, 98, 106, 154, 156, 157, 158, 168, 208, 210, 217, 219, 221, 223, 226, 227], "y1": [154, 156], "y2": [154, 156], "y_init": [208, 217], "y_lm_real": [71, 84, 98], "y_relax": [196, 208, 217], "yaml": [29, 205, 210, 217], "yang": 226, "year": [197, 200, 201, 209, 212, 216, 229], "yet": [185, 186, 188, 205, 217, 226], "yield": [13, 37, 39, 185, 186, 188, 190, 191], "ylabel": [29, 202, 204, 217, 219, 223, 226, 228], "yml": [27, 60, 202, 203, 204, 205, 210, 211, 217, 227], "yoon": [197, 209, 216, 217], "you": [12, 13, 16, 27, 31, 37, 43, 44, 45, 46, 48, 49, 50, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 153, 156, 158, 168, 169, 173, 180, 196, 197, 199, 202, 204, 205, 208, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, 223, 224, 226, 227, 228, 229], "your": [0, 12, 16, 31, 37, 43, 44, 45, 46, 49, 52, 56, 70, 83, 97, 104, 110, 115, 116, 118, 119, 124, 128, 129, 158, 168, 196, 197, 200, 202, 205, 208, 210, 211, 212, 213, 214, 216, 220, 223, 224, 227], "your_checkpoint_path": 199, "yourself": 208, "yscale": [208, 217], "ytick": [217, 219], "yu": [201, 209], "z": [44, 71, 73, 84, 86, 98, 100, 112, 154, 156, 157, 158, 168, 217, 219, 223], "z_desorpt": 5, "zachari": [168, 197, 200, 201, 209, 212, 216, 217], "zero": [21, 31, 71, 84, 98, 217, 219], "zero_m_onli": [71, 84, 98, 203], "zhou": 221, "zipnam": [162, 163], "zitnick": [197, 200, 206, 209, 212, 216, 217], "zone": 217, "zsxldmrm3d8": 217, "zulissi": 217, "\u00e5": 209, "\u03b8": 203, "\u03b8_cabd": [105, 203], "\u03d1": 203}, "titles": ["adsorbml.2023_neurips_challenge.challenge_eval", "adsorbml.scripts.dense_eval", "adsorbml.scripts.process_mlrs", "adsorbml.scripts.utils", "adsorbml.scripts.write_top_k_vasp", "cattsunami.core.autoframe", "cattsunami.core", "cattsunami.core.ocpneb", "cattsunami.core.reaction", "cattsunami.databases", "cattsunami", "cattsunami.run_validation.run_validation", "core._cli", "core.common.data_parallel", "core.common.distutils", "core.common.flags", "core.common.gp_utils", "core.common.hpo_utils", "core.common", "core.common.logger", "core.common.registry", "core.common.relaxation.ase_utils", "core.common.relaxation", "core.common.relaxation.ml_relaxation", "core.common.relaxation.optimizers", "core.common.relaxation.optimizers.lbfgs_torch", "core.common.transforms", "core.common.tutorial_utils", "core.common.typing", "core.common.utils", "core.datasets._utils", "core.datasets.ase_datasets", "core.datasets.embeddings.atomic_radii", "core.datasets.embeddings.continuous_embeddings", "core.datasets.embeddings", "core.datasets.embeddings.khot_embeddings", "core.datasets.embeddings.qmof_khot_embeddings", "core.datasets", "core.datasets.lmdb_database", "core.datasets.lmdb_dataset", "core.datasets.oc22_lmdb_dataset", "core.datasets.target_metadata_guesser", "core", "core.models.base", "core.models.dimenet_plus_plus", "core.models.equiformer_v2.activation", "core.models.equiformer_v2.drop", "core.models.equiformer_v2.edge_rot_mat", "core.models.equiformer_v2.equiformer_v2_oc20", "core.models.equiformer_v2.gaussian_rbf", "core.models.equiformer_v2", "core.models.equiformer_v2.input_block", "core.models.equiformer_v2.layer_norm", "core.models.equiformer_v2.module_list", "core.models.equiformer_v2.radial_function", "core.models.equiformer_v2.so2_ops", "core.models.equiformer_v2.so3", "core.models.equiformer_v2.trainers.energy_trainer", "core.models.equiformer_v2.trainers.forces_trainer", "core.models.equiformer_v2.trainers", "core.models.equiformer_v2.trainers.lr_scheduler", "core.models.equiformer_v2.transformer_block", "core.models.equiformer_v2.wigner", "core.models.escn.escn", "core.models.escn", "core.models.escn.so3", "core.models.gemnet.gemnet", "core.models.gemnet", "core.models.gemnet.initializers", "core.models.gemnet.layers.atom_update_block", "core.models.gemnet.layers.base_layers", "core.models.gemnet.layers.basis_utils", "core.models.gemnet.layers.efficient", "core.models.gemnet.layers.embedding_block", "core.models.gemnet.layers", "core.models.gemnet.layers.interaction_block", "core.models.gemnet.layers.radial_basis", "core.models.gemnet.layers.spherical_basis", "core.models.gemnet.utils", "core.models.gemnet_gp.gemnet", "core.models.gemnet_gp", "core.models.gemnet_gp.initializers", "core.models.gemnet_gp.layers.atom_update_block", "core.models.gemnet_gp.layers.base_layers", "core.models.gemnet_gp.layers.basis_utils", "core.models.gemnet_gp.layers.efficient", "core.models.gemnet_gp.layers.embedding_block", "core.models.gemnet_gp.layers", "core.models.gemnet_gp.layers.interaction_block", "core.models.gemnet_gp.layers.radial_basis", "core.models.gemnet_gp.layers.spherical_basis", "core.models.gemnet_gp.utils", "core.models.gemnet_oc.gemnet_oc", "core.models.gemnet_oc", "core.models.gemnet_oc.initializers", "core.models.gemnet_oc.interaction_indices", "core.models.gemnet_oc.layers.atom_update_block", "core.models.gemnet_oc.layers.base_layers", "core.models.gemnet_oc.layers.basis_utils", "core.models.gemnet_oc.layers.efficient", "core.models.gemnet_oc.layers.embedding_block", "core.models.gemnet_oc.layers.force_scaler", "core.models.gemnet_oc.layers", "core.models.gemnet_oc.layers.interaction_block", "core.models.gemnet_oc.layers.radial_basis", "core.models.gemnet_oc.layers.spherical_basis", "core.models.gemnet_oc.utils", "core.models", "core.models.model_registry", "core.models.painn", "core.models.painn.painn", "core.models.painn.utils", "core.models.schnet", "core.models.scn", "core.models.scn.sampling", "core.models.scn.scn", "core.models.scn.smearing", "core.models.scn.spherical_harmonics", "core.models.utils.activations", "core.models.utils.basis", "core.models.utils", "core.modules.evaluator", "core.modules.exponential_moving_average", "core.modules", "core.modules.loss", "core.modules.normalizer", "core.modules.scaling.compat", "core.modules.scaling.fit", "core.modules.scaling", "core.modules.scaling.scale_factor", "core.modules.scaling.util", "core.modules.scheduler", "core.modules.transforms", "core.preprocessing.atoms_to_graphs", "core.preprocessing", "core.scripts.download_data", "core.scripts.gif_maker_parallelized", "core.scripts.hpo", "core.scripts.hpo.run_tune", "core.scripts.hpo.run_tune_pbt", "core.scripts", "core.scripts.make_challenge_submission_file", "core.scripts.make_lmdb_sizes", "core.scripts.make_submission_file", "core.scripts.preprocess_ef", "core.scripts.preprocess_relaxed", "core.scripts.uncompress", "core.tasks", "core.tasks.task", "core.trainers.base_trainer", "core.trainers", "core.trainers.ocp_trainer", "data", "data.oc.core.adsorbate", "data.oc.core.adsorbate_slab_config", "data.oc.core.bulk", "data.oc.core", "data.oc.core.multi_adsorbate_slab_config", "data.oc.core.slab", "data.oc.databases", "data.oc.databases.pkls", "data.oc.databases.update", "data.oc.experimental.get_energies", "data.oc.experimental.merge_traj", "data.oc.experimental.perturb_systems", "data.oc.experimental.rattle_test", "data.oc.experimental.utils", "data.oc", "data.oc.scripts.precompute_sample_structures", "data.oc.structure_generator", "data.oc.tests", "data.oc.utils.flag_anomaly", "data.oc.utils", "data.oc.utils.vasp", "data.odac.force_field.FF_analysis", "data.odac", "data.odac.promising_mof.promising_mof_energies.energy", "data.om.biomolecules.geom.sample_geom_drugs", "data.om.biomolecules.geom.write_geom_drugs_structures", "data.om", "data.om.omdata.orca.calc", "data.om.omdata.orca", "data.om.omdata.orca.recipes", "API Reference", "ocpapi.client.client", "ocpapi.client", "ocpapi.client.models", "ocpapi.client.ui", "ocpapi", "ocpapi.version", "ocpapi.workflows.adsorbates", "ocpapi.workflows.context", "ocpapi.workflows.filter", "ocpapi.workflows", "ocpapi.workflows.log", "ocpapi.workflows.retry", "Making and using ASE datasets", "Open Catalyst 2020 (OC20)", "Open Catalyst 2020 Dense (OC20Dense)", "Open Catalyst 2020 Nudged Elastic Band (OC20NEB)", "Open Catalyst 2022 (OC22)", "Open Direct Air Capture 2023 (ODAC23)", "Fine tuning a model", "Common gotchas with fairchem", "Fast batched inference", "Installation", "Why model atoms for climate?", "License", "Making LMDB Datasets (original format, deprecated for ASE LMDBs)", "Pretrained FAIRChem models", "Model FAQ", "Training and evaluating custom models on OCP datasets", "ocpapi", "Studies that have leveraged OCP models", "Using pre-trained models in ASE", "Notebook execution times", "FAIR-Chem overview", "Open Catalyst Project Tutorial Notebook", "OCP Data Preprocessing Tutorial", "OCP Data Visualization", "Legacy [deprecated] Tutorials", "Using OCP to enumerate adsorbates on alloy catalyst surfaces", "Screening catalysts with OCP", "Simple simulations using the OCP ASE calculator", "AdsorbML tutorial", "Advanced OCP usage", "Working with embeddings", "Fine-tuning with Python", "CatTSunami tutorial", "Intro and background on OCP and DFT", "Technical presentations"], "titleterms": {"001": 228, "1": 197, "1min": 217, "2": 197, "2020": [197, 198, 199, 209], "2021": 197, "2022": [200, 209], "2023": [201, 209], "2023_neurips_challeng": 0, "6b": 221, "A": 226, "ASE": [196, 204, 208, 214, 223], "The": [203, 204], "To": 203, "_cli": 12, "_util": 30, "about": [212, 229], "abstract": 229, "acknowledg": 216, "across": 223, "activ": [45, 118], "ad": 218, "addit": [205, 217, 218], "adsorb": [153, 190, 197, 212, 221, 224], "adsorbate_slab_config": 154, "adsorbml": [0, 1, 2, 3, 4, 224, 228], "adsorpt": [217, 223], "advanc": [208, 212, 225], "air": [201, 209], "all": [212, 221], "alloi": 221, "an": [196, 210, 217, 221, 228], "api": 183, "approv": 212, "ar": 210, "argument": 203, "ase": 212, "ase_dataset": 31, "ase_util": 21, "async": 212, "atom": [203, 206, 212, 217, 218, 219, 226], "atom_update_block": [69, 82, 96], "atomic_radii": 32, "atoms_to_graph": 133, "atomstograph": 208, "attribut": [1, 2, 11, 14, 15, 16, 20, 28, 38, 39, 44, 48, 62, 65, 107, 108, 117, 121, 126, 129, 133, 135, 136, 141, 142, 143, 144, 145, 146, 162, 168, 169, 173, 174, 180, 187, 188, 190, 193, 195], "audienc": 217, "autofram": 5, "background": [217, 229], "bader": 197, "band": 199, "base": 43, "base_lay": [70, 83, 97], "base_train": 149, "basi": 119, "basis_util": [71, 84, 98], "batch": 204, "best": 217, "biomolecul": [177, 178], "boundari": [217, 219], "built": 216, "bulk": [155, 212, 226], "calc": [180, 217], "calcul": [204, 217, 223], "can": 203, "captur": [201, 209], "catalyst": [197, 198, 199, 200, 209, 217, 221, 222], "cattsunami": [5, 6, 7, 8, 9, 10, 11, 228], "cell": [217, 219, 223], "ch": 228, "challenge_ev": 0, "chang": 212, "changelog": 197, "charg": [197, 201], "checkpoint": [202, 217, 229], "chem": 216, "cite": [197, 200, 201, 212, 216], "class": [5, 6, 7, 8, 12, 13, 15, 16, 19, 20, 21, 25, 26, 29, 31, 37, 38, 39, 40, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 69, 70, 72, 73, 75, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 96, 97, 99, 100, 101, 103, 104, 105, 109, 110, 112, 113, 115, 116, 117, 118, 119, 121, 122, 124, 125, 128, 129, 131, 132, 133, 134, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 169, 171, 172, 184, 185, 186, 188, 190, 192, 193, 195], "client": [184, 185, 186, 187], "climat": [206, 217], "clone": 205, "cluster": 226, "cmd": 217, "co": [208, 218], "code": 227, "command": [211, 217], "common": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 203], "compar": [204, 221], "compat": 126, "comput": 229, "conda": 205, "condit": [217, 219], "config": [211, 217], "configur": [202, 221, 224], "constraint": [217, 219], "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 176, 177, 178, 180, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 217, 219], "context": 191, "continuous_embed": 33, "converg": 223, "convert": [212, 218], "core": [5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 205], "correl": 223, "cos\u03c6_cab": 210, "creat": [211, 217], "cu": [208, 218, 226], "custom": 211, "data": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 197, 200, 208, 210, 217, 218, 219, 227], "data_parallel": 13, "databas": [9, 159, 160, 161, 196], "dataset": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 196, 197, 208, 211, 216, 217, 218, 229], "ddec": 201, "dedupl": 224, "defin": 217, "dens": 198, "dense_ev": 1, "deprec": [208, 220], "determinist": 210, "dev": 217, "develop": [205, 217], "dft": 229, "diagnost": 226, "differ": 203, "dimenet_plus_plu": 44, "direct": [201, 209], "discuss": 216, "dissoci": 228, "distutil": 14, "do": [210, 228], "don": 203, "download": [197, 198, 199, 200, 217], "download_data": 135, "driven": 217, "drop": 46, "dt": 210, "edg": 217, "edge_rot_mat": 47, "effect": 223, "effici": [72, 85, 99], "efwt": 209, "elast": 199, "embed": [32, 33, 34, 35, 36, 217, 226], "embedding_block": [73, 86, 100], "energi": [176, 197, 200, 201, 203, 208, 210, 211, 217, 219, 223], "energy_train": 57, "entiti": 203, "enumer": [221, 224, 228], "environ": [205, 229], "equat": 226, "equiformer_v2": [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "equiformer_v2_oc20": 48, "error": 210, "escn": [63, 64, 65], "evalai": 211, "evalu": [121, 211], "exampl": [221, 226], "execut": 215, "exercis": 223, "experiment": [162, 163, 164, 165, 166], "exponential_moving_averag": 122, "extractor": 208, "factor": 210, "fair": 216, "fairchem": [203, 205, 209, 210, 216], "faq": 210, "fast": 204, "featur": 208, "feb": 197, "ff_analysi": 174, "figur": 221, "file": [196, 198, 199, 202, 208, 211, 224], "filter": 192, "fine": [202, 227], "fit": [127, 210], "fix": [217, 219], "flag": 15, "flag_anomali": 171, "forc": [197, 200, 201, 203, 208, 209, 211, 217, 219], "force_field": 174, "force_scal": 101, "forces_train": 58, "format": [208, 212], "four": 203, "from": [203, 210, 211], "function": [0, 1, 2, 3, 5, 11, 12, 13, 14, 16, 17, 20, 21, 23, 27, 28, 29, 30, 31, 37, 39, 41, 46, 47, 49, 52, 60, 62, 68, 71, 78, 81, 82, 84, 91, 94, 95, 98, 106, 107, 108, 111, 114, 117, 121, 126, 127, 129, 130, 132, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 153, 154, 157, 158, 161, 162, 163, 164, 165, 166, 168, 169, 173, 174, 177, 178, 180, 182, 185, 187, 188, 190, 191, 193, 195], "ga": 203, "gaussian_rbf": 49, "gemnet": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 210, 217], "gemnet_gp": [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "gemnet_oc": [92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "gener": [208, 217, 218, 219], "geom": [177, 178], "get": [203, 211], "get_energi": 162, "gif_maker_parallel": 136, "git": 205, "goal": 229, "gotcha": 203, "gp_util": 16, "have": 213, "how": 210, "hpo": [137, 138, 139], "hpo_util": 17, "i": [203, 210], "identifi": 203, "impact": 217, "import": 217, "incorpor": 217, "individu": 226, "infer": 204, "info": 218, "inform": [197, 200], "initi": [68, 81, 94, 197, 200, 201, 208, 211, 217], "input": 224, "input_block": 51, "instal": [205, 212], "interact": [208, 217], "interaction_block": [75, 88, 103], "interaction_indic": 95, "intro": 229, "introduct": [221, 229], "is2r": [197, 200, 201, 208, 209, 211, 217], "job": 202, "joint": 211, "khot_embed": 35, "larg": 203, "layer": [69, 70, 71, 72, 73, 74, 75, 76, 77, 82, 83, 84, 85, 86, 87, 88, 89, 90, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 223], "layer_norm": 52, "lbfgs_torch": 25, "least": 203, "legaci": 220, "leverag": 213, "licens": [207, 212, 216], "limit": 217, "line": [211, 217], "literatur": 221, "lmdb": [208, 217], "lmdb_databas": 38, "lmdb_dataset": 39, "load": 217, "local": 228, "log": 194, "logger": 19, "loss": 124, "lr_schedul": 60, "m": 210, "main": 204, "make": [196, 202, 208, 217, 221], "make_challenge_submission_fil": 141, "make_lmdb_s": 142, "make_submission_fil": 143, "map": [197, 200], "march": 197, "merge_traj": 163, "messag": 217, "metal": 223, "method": 212, "miscellan": 203, "ml": [217, 221, 224, 228], "ml_relax": 23, "model": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 186, 202, 203, 206, 209, 210, 211, 212, 213, 214, 216, 217, 229], "model_registri": 108, "modul": [0, 1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 138, 139, 141, 142, 143, 144, 145, 146, 148, 149, 151, 153, 154, 155, 157, 158, 161, 162, 163, 164, 165, 166, 168, 169, 171, 173, 174, 176, 177, 178, 180, 182, 184, 186, 187, 189, 190, 191, 192, 194, 195], "module_list": 53, "molecul": 203, "multi": 196, "multi_adsorbate_slab_config": 157, "my": 210, "name": 217, "neb": 228, "need": 203, "next": [217, 223], "normal": [125, 217], "note": 212, "notebook": [203, 215, 217], "nudg": 199, "number": [217, 219, 223], "object": [212, 217, 218], "obtain": 221, "oc": [153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 210], "oc20": [197, 200, 209, 210, 211, 217], "oc20dens": 198, "oc20neb": 199, "oc22": [200, 209, 211], "oc22_lmdb_dataset": 40, "ocp": [203, 211, 213, 217, 218, 219, 221, 222, 223, 225, 229], "ocp_train": 151, "ocpapi": [184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 212], "ocpneb": 7, "oct": 197, "odac": [174, 175, 176], "odac23": [201, 209], "om": [177, 178, 179, 180, 181, 182], "omdata": [180, 181, 182], "onli": 209, "open": [197, 198, 199, 200, 201, 209, 217], "optim": [24, 25, 209], "option": [197, 200, 217, 224, 228], "orca": [180, 181, 182], "origin": 208, "other": 212, "out": [210, 221], "outofmemoryerror": 203, "over": 212, "overrid": 211, "overview": [198, 199, 216, 217], "own": 217, "packag": [6, 9, 10, 34, 37, 50, 64, 67, 80, 93, 107, 109, 113, 128, 134, 147, 150, 156, 160, 167, 172, 185, 188, 193, 205], "painn": [109, 110, 111], "paper": 221, "paramet": 211, "pariti": 221, "pars": [221, 224], "pass": 217, "pbc": [217, 219], "per": 197, "period": [217, 219], "persist": 212, "perturb_system": 164, "phase": 203, "pkl": 160, "plot": [217, 221], "post": [221, 224], "pre": 214, "precompute_sample_structur": 168, "predict": [210, 211, 217], "prefer": 217, "preprocess": [133, 134, 197, 218], "preprocess_ef": 144, "preprocess_relax": 145, "prerequisit": 217, "present": 230, "pretrain": [209, 217], "process": [221, 224], "process_mlr": 2, "profil": 217, "project": [216, 217], "promising_mof": 176, "promising_mof_energi": 176, "prompt": 212, "py": 204, "pypi": 205, "python": 227, "qmof_khot_embed": 36, "quickstart": 212, "radial_basi": [76, 89, 104], "radial_funct": 54, "rattle_test": 165, "reaction": 8, "read": [217, 219], "readabl": 196, "recip": 182, "refer": [183, 200, 217], "registri": 20, "relax": [21, 22, 23, 24, 25, 197, 200, 201, 208, 211, 212, 217, 218, 221, 223, 224, 228], "report": 221, "repositori": [205, 217], "request": 203, "requir": 217, "resourc": [217, 219], "result": [203, 212, 221, 228], "retri": 195, "ru": 228, "run": [202, 210, 217, 221, 224, 227, 228], "run_tun": 138, "run_tune_pbt": 139, "run_valid": 11, "s2ef": [197, 200, 201, 208, 209, 211, 217], "sampl": [114, 217, 219], "sample_geom_drug": 177, "save": [203, 219], "scale": [126, 127, 128, 129, 130, 210], "scale_factor": 129, "schedul": 131, "schnet": 112, "scn": [113, 114, 115, 116, 117], "screen": 222, "script": [1, 2, 3, 4, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 168], "search": [212, 226], "self": 210, "septemb": 197, "set": [202, 217, 227], "setup": 227, "should": 210, "simpl": [223, 226], "simul": [203, 223], "singl": [196, 221], "site": 223, "size": 223, "skip": 212, "slab": [158, 221, 224], "smear": 116, "so2_op": 55, "so3": [56, 65], "softwar": 217, "some": 203, "sph_basi": 210, "spherical_basi": [77, 90, 105, 210], "spherical_harmon": 117, "split": [202, 227], "start": 211, "state": 226, "step": [217, 223], "stochast": 203, "structur": [196, 197, 199, 200, 201, 208, 211, 212, 217, 224], "structure_gener": 169, "studi": [213, 223], "style": 228, "submiss": 211, "submodul": [6, 18, 22, 24, 34, 37, 42, 50, 59, 64, 67, 74, 80, 87, 93, 102, 107, 109, 113, 120, 123, 128, 134, 137, 140, 147, 150, 156, 159, 167, 172, 181, 185, 188, 193], "subpackag": [10, 18, 22, 37, 42, 50, 67, 80, 93, 107, 123, 140, 152, 159, 167, 188], "sum": 203, "summari": 223, "support": 212, "surfac": [212, 221], "symbol": [217, 219], "system": [197, 200, 221], "t": [203, 217], "tag": [203, 217, 219], "target": 217, "target_metadata_guess": 41, "task": [147, 148, 197, 200, 201, 217, 227, 229], "technic": 230, "test": [170, 202, 217, 227], "thi": 229, "throw": 210, "time": 215, "toi": [208, 217, 218], "too": 203, "total": [200, 209, 210, 211], "train": [202, 210, 211, 214, 217, 227], "trainer": [57, 58, 59, 60, 149, 150, 151, 203, 217], "trajectori": [197, 200, 217, 219, 221, 224], "transform": [26, 132], "transformer_block": 61, "trend": 223, "triplet": 217, "try": 210, "tune": [202, 227], "tutori": [217, 218, 220, 224, 228, 229], "tutorial_util": 27, "type": [28, 212], "ui": [187, 212], "unabl": 203, "uncompress": 146, "understand": [217, 219], "unit": [217, 219, 223], "unrecogn": 203, "up": 202, "updat": 161, "us": [196, 199, 214, 217, 221, 223], "usag": [208, 212, 225], "util": [3, 29, 78, 91, 106, 111, 118, 119, 120, 130, 166, 171, 172, 173], "v": 221, "val": [202, 227], "valid": 217, "valu": 221, "vasp": [173, 224], "vector": 226, "version": [189, 197], "video": [219, 229], "view": [212, 217, 219], "visual": [217, 219, 228], "wai": [204, 217], "walkthrough": 229, "want": 203, "warn": 203, "web": 212, "what": 210, "why": 206, "wigner": 62, "wildli": 203, "window": 205, "work": [221, 226], "workflow": [190, 191, 192, 193, 194, 195], "write": [208, 224], "write_geom_drugs_structur": 178, "write_top_k_vasp": 4, "yaml": [202, 211], "you": 203, "your": [203, 217, 218], "zero": 203, "\u03b8_cabd": 210}}) \ No newline at end of file diff --git a/tutorials/NRR/NRR_example.html b/tutorials/NRR/NRR_example.html index 8ccc80121..aa777d503 100644 --- a/tutorials/NRR/NRR_example.html +++ b/tutorials/NRR/NRR_example.html @@ -641,7 +641,7 @@

    Using OCP to enumerate adsorbates on alloy catalyst surfaces

    cH+wsgL&W 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 z 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 Bt@;1} literal 0 HcmV?d00001 diff --git a/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png b/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png new file mode 100644 index 0000000000000000000000000000000000000000..9eead9f4ec95a1991c7b78a3f3f0f9ae7af5a1f8 GIT binary patch literal 171189 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 z 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 literal 0 HcmV?d00001 diff --git a/_images/97bae66afd16160f960e71dabd2e5f1bf7353dec7684a664b9bf1567a66cb8f8.png b/_images/97bae66afd16160f960e71dabd2e5f1bf7353dec7684a664b9bf1567a66cb8f8.png new file mode 100644 index 0000000000000000000000000000000000000000..caec71c18c3ceed2cbc5fd46bc4864bacaa882f9 GIT binary patch literal 26519 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ΞUn}C$dlVgnO0t=mOKhDT~c~C8T))8}(U(iy2^$ z$`>e92!!N{2jks~@eJ-|Oj*W8Pzf(k>=00yk(>kNyS577PR#c3AE1^lq;=%jY!BnJ zx1TEa96=Kyo;iYT$AHix16~4)h-m49gXWuEq2*ofSg+Koa4yplw!6$(6tE_XqAbbc z2d8E$$U_Ry-AqV1DbVgrNJm0MxLQPgDOw3YR5_ER2^7{dyd7*H?}&c+*$w z49JW>kYUK86oZ7w(cuE5@`5Xn^^Omqc*#<7lW|-PQo;TC%1D-)llAN{U>(35xrkw# z(VO!yO3D$wFNHE$s9AC9G3Yfo5fj?<7!CFror9rtj`HKBsN+o7;!JdgC%F0&%Hhqb zjevrCC>zu%Bd78Thw2(7aAa8K;fgHge&3gJX{3>}Si-76lBUIM_vFk%=uI9{)u&KZ zC)wg%nn|t8lL0T8=IPWa?zk2R^3lJJOc%xZOgh~Eopj1vm#NFSX*Bx+oAB!vpClF5 z@}ocl_-7ej#Zlbr`1YEjO&cJ0MVc9@T(SE z=cm=EQ3C*ZI(5o#fAFnLtR_`D1mrC-o2bRQjL0GlYDQ!j@VmC?JG?{UEj0&z{;4E8 z$j&?R9!o+;G{43Dm;`c9)1fKHFB$H8^Jbf&|8`!)Mjn|^ng_Pe1_Igr{pZ!tPAfsv ziD)>Bo(9M-Q~@j2JsZQ_CO?UbJ@#av9id63dKvc!_G%mfQ%6tK4qlvwNi6x4veR#L zZUjz=$QZ#HL5J=5L*R=6qY|FHY2L5-wOlS#;i$+25#PZd8CAx+cFx^WAVwm0RT#d{ zM1G?O1tlZlpQAsHfwq=-POTwGpR}9-lxx&Nsxxtq>6C$f8VL`nq}?mtUlj?w1jP2R zucFi}1|JC8u;|s!573{AJ5Dm?teep4>K&!?yX3)(2DO6Tj>Hu^#n{=eZg}l{YQ($PwRi+;mZx8QJBoV=dx{q z`J!>}P@1s8_6{v~JpPWqV`2v7HTW==>;KuOd|-nhA2Q17F)&g24$sy~=tsyS1|iuo zsn1|?1^>%Q_lK_MM}8V!AFNbXj}S<=oonNS#&BrZjN0zOf_R?0JC=HX+<`il*z*jZ zi*S9B_GjGK0{y?ulDLR_vJ@Ywn6KqN8PNTN3c`bXAozP=wSoOkP07 zsCznc1x#y9P^eYYu#R)QR5V8}n5BVYVH3YZsTUd=l?O$9iJ*|}E}e}Q7@xGxXN~?i z3o;TZhnd}hocipy!+KeK7qfapAg*L>GeFDf?R!S-^>8ja!!{c&rSUi4fT!Vz|8bNV z|3UK8`shf$Qe;>>JRe28l)lTiJ>H`rwV$R!wC~F_J2ag;4$!P4s`gV&N}bWZ%h7ah zFbshHrL!k{K)(hl&h26+dvf3TPVJZLne`3#W;nC+!t>9PaxQ;XETQ1~OBK>cv@nM4 zg+Dl#Nnr$yWAy!6NB(g_r%dbETETU(SYw<7%*fw@gtW>}IMR8qaRt;d-(M8gvC>`# znN6TlqO&qaL}`HY{A!D=Tc^~?jSk6oL$F_jEu4547Zz4+M=n(9$!Dhj2amWGqyIeF z@lP+Aw>_AZ`SM`(LPTB+=CC_A+qs&$ZvTwz^xlX`>2iyqeKY0ZWE7g%lfM%EGZfSe z3P=s?kUy}=%Qqz-CXXI)#2y?Dtaz#{N~+7D;7d(x|0RHp4#QecX&&bTQ!_L5>dyTH zE`OgNPMM8<|KL60w%ZUnY1+*gc4%4lR5+jn`gF$hb_T=yfXn(l+-G>0yu8Di2SLv* z_w5(Ek4Q|SMXEYMWDb=mW%2DV)^K%XdcSB_sV_vcjdeM}9$_Ih4!lNay}w&;I=sljOt|C->oNR$QcgNpgl9O}28V z88y_A!6T|B8;3o~FO1svQ)S*r{2Xh{o%pA4+B&5J)*_dPdop%0Av|(cC*k{>ZvGo~ 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