Running without AiiDA
In [1]:
Copied!
import json
from xtalpaint.inpainting.config_schema import XtalPaintConfig
from xtalpaint.utils.relaxation_utils import relax_structures
from ase.io import read
from pymatgen.io.ase import AseAtomsAdaptor
from IPython.display import clear_output
import json
from xtalpaint.inpainting.config_schema import XtalPaintConfig
from xtalpaint.utils.relaxation_utils import relax_structures
from ase.io import read
from pymatgen.io.ase import AseAtomsAdaptor
from IPython.display import clear_output
In [2]:
Copied!
input_structures = read("test-structures.extxyz", index=':')
input_structures = {
a.info['uuid'].replace("-", "_"): AseAtomsAdaptor.get_structure(a) for a in input_structures
}
input_structures = read("test-structures.extxyz", index=':')
input_structures = {
a.info['uuid'].replace("-", "_"): AseAtomsAdaptor.get_structure(a) for a in input_structures
}
In [3]:
Copied!
len(input_structures)
len(input_structures)
Out[3]:
5
In [4]:
Copied!
param_grid = {
"N_steps": 5,
"coordinates_snr": 0.2,
"n_corrector_steps": 1,
"batch_size": 1000,
}
param_grid = {
"N_steps": 5,
"coordinates_snr": 0.2,
"n_corrector_steps": 1,
"batch_size": 1000,
}
Note on the model. This example uses our recommended
TD-pos-onlymodel — the core model of XtalPaint — with the time-dependent (TD) predictor-corrector. The XtalPaint models are downloaded automatically from Hugging Face the first time they are selected (you can also fetch one explicitly viaxtalpaint.models.download_pretrained_model). See the configuration guide for the available model and predictor-corrector combinations.
In [5]:
Copied!
inputs = XtalPaintConfig(
candidate_generation={
"n_inp": {
k.replace("-", "_"): int(s.composition["H"])
for k, s in input_structures.items()
},
"element": "H",
"num_samples": 1,
},
inpainting={
"record_trajectories": False,
"predictor_corrector": "TD",
**param_grid,
"pretrained_name": "TD-pos-only",
"sampling_config_path": "../mattergen-configs/sampling_conf",
},
relaxation={
"constrained": True,
"full": True,
"relax_config": {
"params": {
"mlip": "mattersim",
"optimizer": "BFGS",
"load_path": "MatterSim-v1.0.0-5M.pth",
"fmax": 0.01,
"max_n_steps": 50,
"max_natoms_per_batch": 5000,
"device": "cpu",
"elements_to_relax": ["H"],
"return_initial_energies": False,
"return_initial_forces": False,
"return_final_forces": False,
},
"aiida": None,
},
},
)
inputs = XtalPaintConfig(
candidate_generation={
"n_inp": {
k.replace("-", "_"): int(s.composition["H"])
for k, s in input_structures.items()
},
"element": "H",
"num_samples": 1,
},
inpainting={
"record_trajectories": False,
"predictor_corrector": "TD",
**param_grid,
"pretrained_name": "TD-pos-only",
"sampling_config_path": "../mattergen-configs/sampling_conf",
},
relaxation={
"constrained": True,
"full": True,
"relax_config": {
"params": {
"mlip": "mattersim",
"optimizer": "BFGS",
"load_path": "MatterSim-v1.0.0-5M.pth",
"fmax": 0.01,
"max_n_steps": 50,
"max_natoms_per_batch": 5000,
"device": "cpu",
"elements_to_relax": ["H"],
"return_initial_energies": False,
"return_initial_forces": False,
"return_final_forces": False,
},
"aiida": None,
},
},
)
MODELS_PROJECT_ROOT: /home/reents_t/project/test-xtalpaint/mattergen-clean/mattergen
Running the inpainting workflow without AiiDA¶
In [6]:
Copied!
print(f"Processing {len(input_structures)} structures")
print(f"Processing {len(input_structures)} structures")
Processing 5 structures
Generate inpainting candidates¶
In [7]:
Copied!
from xtalpaint.inpainting.generate_candidates import (
generate_inpainting_candidates,
)
from xtalpaint.inpainting.generate_candidates import (
generate_inpainting_candidates,
)
In [8]:
Copied!
# Step 1: Generate inpainting candidates
print("Running inpainting pipeline...")
n_inp_dict = inputs.candidate_generation.n_inp
element = inputs.candidate_generation.element
num_samples = inputs.candidate_generation.num_samples
inpainting_candidates = generate_inpainting_candidates(
structures=input_structures,
n_inp=n_inp_dict,
element=element,
num_samples=num_samples,
)
print(f"Generated {len(inpainting_candidates)} inpainted structures")
# Step 1: Generate inpainting candidates
print("Running inpainting pipeline...")
n_inp_dict = inputs.candidate_generation.n_inp
element = inputs.candidate_generation.element
num_samples = inputs.candidate_generation.num_samples
inpainting_candidates = generate_inpainting_candidates(
structures=input_structures,
n_inp=n_inp_dict,
element=element,
num_samples=num_samples,
)
print(f"Generated {len(inpainting_candidates)} inpainted structures")
Running inpainting pipeline... Generated 5 inpainted structures
In [9]:
Copied!
inpainting_candidates
inpainting_candidates
Out[9]:
{'20acc66e_8e38_4e5e_9e7a_c2400262cdc8': Structure Summary
Lattice
abc : 5.169783747 5.169783747 5.169783747
angles : 90.0 90.0 90.0
volume : 138.17107311088554
A : 5.169783747 0.0 0.0
B : 0.0 5.169783747 0.0
C : 0.0 0.0 5.169783747
pbc : True True True
PeriodicSite: N (2.309, 4.894, 2.86) [0.4467, 0.9467, 0.5533]
PeriodicSite: N (4.894, 2.86, 2.309) [0.9467, 0.5533, 0.4467]
PeriodicSite: N (2.86, 2.309, 4.894) [0.5533, 0.4467, 0.9467]
PeriodicSite: N (0.2756, 0.2756, 0.2756) [0.0533, 0.0533, 0.0533]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan],
'47b9a869_9b1e_438b_8c93_f5ac654bfdd8': Structure Summary
Lattice
abc : 4.401448665821795 4.401448665821795 7.1759779644947
angles : 90.0 90.0 120.19000916247398
volume : 120.16231769034825
A : 2.1944008576909 -3.8154102313683 0.0
B : 2.1944008576909 3.8154102313683 0.0
C : 0.0 0.0 7.1759779644947
pbc : True True True
PeriodicSite: O (2.194, 2.549, 3.886) [0.1659, 0.8341, 0.5415]
PeriodicSite: O (7.744e-18, 1.266, 0.2978) [-0.1659, 0.1659, 0.0415]
PeriodicSite: O (2.194, 2.544, 6.579) [0.1666, 0.8334, 0.9168]
PeriodicSite: O (1.254e-17, 1.272, 2.991) [-0.1666, 0.1666, 0.4168]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan],
'662c7351_ee76_48ea_bab7_b733e1fdf607': Structure Summary
Lattice
abc : 8.414296245395509 8.414296245395509 8.414296245395509
angles : 93.51670444494472 93.51670444494472 151.3208570539183
volume : 276.98877799736266
A : -5.7644391936362 5.7644391936362 2.0839536633569
B : 5.7644391936362 -5.7644391936362 2.0839536633569
C : 5.7644391936362 5.7644391936362 -2.0839536633569
pbc : True True True
PeriodicSite: O (4.413e-16, 8.82, -0.1928) [0.7188, -0.04627, 0.7651]
PeriodicSite: O (7.129e-17, 3.056, 1.235) [0.5613, 0.2963, 0.2651]
PeriodicSite: O (7.664e-17, 2.709, -0.1928) [0.1887, -0.04627, 0.2349]
PeriodicSite: O (7.102e-16, 8.473, 1.235) [1.031, 0.2963, 0.7349]
PeriodicSite: O (3.056, 5.764, 2.277) [1.046, 0.8113, 0.7651]
PeriodicSite: O (8.82, 5.764, 0.8491) [0.7037, 0.9688, 1.265]
PeriodicSite: O (8.473, 5.764, 2.277) [1.046, 1.281, 1.235]
PeriodicSite: O (2.709, 5.764, 0.8491) [0.7037, 0.4387, 0.7349]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan],
'7fa282c5_4971_46f4_8b3b_776595a0fa06': Structure Summary
Lattice
abc : 6.3321144796 6.332114479595774 6.603633127
angles : 90.0 90.0 120.00000000002208
volume : 229.3037119499634
A : 6.3321144796 0.0 0.0
B : -3.1660572398 5.483771999 0.0
C : 0.0 0.0 6.603633127
pbc : True True True
PeriodicSite: Y (2.099, 3.636, 1.651) [0.6631, 0.6631, 0.25]
PeriodicSite: Y (4.199, 0.0, 4.953) [0.6631, 0.0, 0.75]
PeriodicSite: Y (-2.099, 3.636, 4.953) [-6.806e-10, 0.6631, 0.75]
PeriodicSite: Y (-1.067, 1.848, 1.651) [7.402e-10, 0.3369, 0.25]
PeriodicSite: Y (1.067, 1.848, 4.953) [0.3369, 0.3369, 0.75]
PeriodicSite: Y (2.134, 0.0, 1.651) [0.3369, 0.0, 0.25]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan],
'c436bbf4_9aef_44a8_8960_00227f79a32f': Structure Summary
Lattice
abc : 4.9620535714985 5.689428317103 4.4034011624103
angles : 90.0 90.0 90.0
volume : 124.31351070276466
A : 4.9620535714985 0.0 0.0
B : 0.0 5.689428317103 0.0
C : 0.0 0.0 4.4034011624103
pbc : True True True
PeriodicSite: V (2.481, 1.451, 2.02) [0.5, 0.2551, 0.4587]
PeriodicSite: V (-2.13e-06, 4.238, 2.02) [-4.293e-07, 0.7449, 0.4587]
PeriodicSite: V (2.481, 4.238, 2.02) [0.5, 0.7449, 0.4587]
PeriodicSite: V (2.13e-06, 1.451, 2.02) [4.293e-07, 0.2551, 0.4587]
PeriodicSite: V (2.481, 2.845, -0.1521) [0.5, 0.5, -0.03455]
PeriodicSite: V (0.0, 2.845, -0.1521) [0.0, 0.5, -0.03455]
PeriodicSite: V (2.481, 0.0, -0.1605) [0.5, 0.0, -0.03644]
PeriodicSite: V (0.0, 0.0, -0.1605) [0.0, 0.0, -0.03644]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]
PeriodicSite: H (nan, nan, nan) [nan, nan, nan]}
Run inpainting¶
In [10]:
Copied!
from xtalpaint.inpainting.inpainting_process import (
run_inpainting_pipeline,
run_mpi_parallel_inpainting_pipeline,
)
from xtalpaint.inpainting.inpainting_process import (
run_inpainting_pipeline,
run_mpi_parallel_inpainting_pipeline,
)
In [11]:
Copied!
USE_MPI_FOR_PARALLEL_INPAINTING = False
inpainting_method = (
run_mpi_parallel_inpainting_pipeline
if USE_MPI_FOR_PARALLEL_INPAINTING
else run_inpainting_pipeline
)
USE_MPI_FOR_PARALLEL_INPAINTING = False
inpainting_method = (
run_mpi_parallel_inpainting_pipeline
if USE_MPI_FOR_PARALLEL_INPAINTING
else run_inpainting_pipeline
)
In [12]:
Copied!
config = inputs.inpainting.model_dump(exclude_none=True)
inpainting_outputs = run_inpainting_pipeline(
structures=inpainting_candidates, config=config
)
clear_output()
config = inputs.inpainting.model_dump(exclude_none=True)
inpainting_outputs = run_inpainting_pipeline(
structures=inpainting_candidates, config=config
)
clear_output()
In [13]:
Copied!
inpainting_outputs['structures'].get_structures(strct_type='pymatgen')
inpainting_outputs['structures'].get_structures(strct_type='pymatgen')
Out[13]:
{'20acc66e_8e38_4e5e_9e7a_c2400262cdc8': Structure Summary
Lattice
abc : 5.1697835922241255 5.1697835922241255 5.169783592224121
angles : 90.00000250447799 90.00000250447799 90.00000250447816
volume : 138.171060700957
A : 5.169783592224121 0.0 -2.2597841109472938e-07
B : -2.2597843664143413e-07 5.169783592224116 -2.2597841109472938e-07
C : 0.0 0.0 5.169783592224121
pbc : True True True
PeriodicSite: N (2.309, 4.894, 2.86) [0.4467, 0.9467, 0.5533]
PeriodicSite: N (4.894, 2.86, 2.309) [0.9467, 0.5533, 0.4467]
PeriodicSite: N (2.86, 2.309, 4.894) [0.5533, 0.4467, 0.9467]
PeriodicSite: N (0.2756, 0.2756, 0.2756) [0.0533, 0.0533, 0.0533]
PeriodicSite: H (4.658, 5.029, 1.039) [0.9011, 0.9727, 0.2009]
PeriodicSite: H (4.013, 2.973, 1.974) [0.7762, 0.5751, 0.3819]
PeriodicSite: H (1.729, 4.65, 2.002) [0.3345, 0.8995, 0.3873]
PeriodicSite: H (2.914, 3.283, 0.1321) [0.5636, 0.635, 0.02556]
PeriodicSite: H (0.4254, 1.122, 0.5066) [0.08228, 0.217, 0.098]
PeriodicSite: H (0.5707, 2.943, 2.357) [0.1104, 0.5693, 0.4559]
PeriodicSite: H (3.371, 1.632, 0.07947) [0.6522, 0.3157, 0.01537]
PeriodicSite: H (2.711, 4.801, 3.502) [0.5245, 0.9286, 0.6774]
PeriodicSite: H (1.961, 2.167, 4.502) [0.3794, 0.4192, 0.8708]
PeriodicSite: H (4.554, 2.437, 3.395) [0.881, 0.4715, 0.6567]
PeriodicSite: H (0.263, 4.842, 4.726) [0.05087, 0.9365, 0.9142]
PeriodicSite: H (2.051, 0.9003, 2.706) [0.3967, 0.1741, 0.5234],
'47b9a869_9b1e_438b_8c93_f5ac654bfdd8': Structure Summary
Lattice
abc : 4.38880300521851 4.401448726654057 7.175978183746338
angles : 90.000002504478 90.00000250447802 119.90499541135148
volume : 120.16235834626013
A : 4.388803005218506 0.0 -1.9184066957222967e-07
B : -2.1944008875261014 3.8154102843847926 -1.9239342918808688e-07
C : 0.0 0.0 7.175978183746338
pbc : True True True
PeriodicSite: O (2.194, 2.549, 3.886) [0.8341, 0.6681, 0.5415]
PeriodicSite: O (2.041e-07, 1.266, 0.2978) [0.1659, 0.3319, 0.0415]
PeriodicSite: O (2.194, 2.544, 6.579) [0.8334, 0.6667, 0.9168]
PeriodicSite: O (2.05e-07, 1.272, 2.991) [0.1666, 0.3333, 0.4168]
PeriodicSite: H (-0.00404, 1.27, 1.633) [0.1655, 0.3328, 0.2275]
PeriodicSite: H (2.18, 2.575, 5.204) [0.8343, 0.6749, 0.7252]
PeriodicSite: H (1.241, 2.012, 3.439) [0.5466, 0.5274, 0.4792]
PeriodicSite: H (2.154, 3.561, 3.503) [0.9575, 0.9332, 0.4882]
PeriodicSite: H (2.998, 2.102, 6.862) [0.9585, 0.5509, 0.9562]
PeriodicSite: H (0.8265, 1.755, 7.096) [0.4183, 0.46, 0.9888]
PeriodicSite: H (0.01103, 0.1311, 7.014) [0.01969, 0.03436, 0.9775]
PeriodicSite: H (-0.7893, 1.721, 3.241) [0.04569, 0.4511, 0.4516],
'662c7351_ee76_48ea_bab7_b733e1fdf607': Structure Summary
Lattice
abc : 4.167909392982183 8.414297301182946 8.41429615020752
angles : 86.48328861312336 75.66042875469425 75.66042198607414
volume : 276.98893913632514
A : 4.038057804107666 0.0 1.0322586297988892
B : 2.0190288528503957 8.152148872105393 0.5161301493644714
C : 0.0 0.0 8.41429615020752
pbc : True True True
PeriodicSite: O (0.6612, 1.915, 6.606) [0.04627, 0.2349, 0.7651]
PeriodicSite: O (4.326, 5.991, 3.336) [0.7037, 0.7349, 0.2651]
PeriodicSite: O (1.732, 6.237, 2.419) [0.04627, 0.7651, 0.2349]
PeriodicSite: O (3.377, 2.161, 7.047) [0.7037, 0.2651, 0.7349]
PeriodicSite: O (3.377, 1.915, 2.84) [0.7188, 0.2349, 0.2349]
PeriodicSite: O (3.751, 5.991, 7.143) [0.5613, 0.7349, 0.7349]
PeriodicSite: O (2.307, 6.237, 7.027) [0.1887, 0.7651, 0.7651]
PeriodicSite: O (0.6612, 2.161, 2.399) [0.03121, 0.2651, 0.2651]
PeriodicSite: H (3.678, 2.716, 7.429) [0.7442, 0.3332, 0.7712]
PeriodicSite: H (0.1682, 0.5427, 6.398) [0.008369, 0.06657, 0.7552]
PeriodicSite: H (3.914, 6.039, 6.108) [0.5988, 0.7408, 0.607]
PeriodicSite: H (5.223, 6.384, 3.671) [0.9019, 0.7831, 0.2776]
PeriodicSite: H (4.78, 3.176, 3.444) [0.9889, 0.3895, 0.264]
PeriodicSite: H (2.005, 2.087, 6.873) [0.3685, 0.256, 0.756]
PeriodicSite: H (2.442, 6.189, 7.609) [0.2252, 0.7592, 0.8301]
PeriodicSite: H (2.547, 1.818, 2.858) [0.5193, 0.223, 0.2622],
'7fa282c5_4971_46f4_8b3b_776595a0fa06': Structure Summary
Lattice
abc : 6.332112789154059 6.332114696502691 6.603632926940918
angles : 90.00000250447809 90.00000250447808 119.99999014147143
volume : 229.303674421453
A : 6.332112789154053 0.0 -2.767854425655969e-07
B : -3.1660564046927258 5.483772731611829 -2.767855278307252e-07
C : 0.0 0.0 6.603632926940918
pbc : True True True
PeriodicSite: Y (2.134, 0.0, 4.953) [0.3369, 0.0, 0.75]
PeriodicSite: Y (1.067, 1.848, 1.651) [0.3369, 0.3369, 0.25]
PeriodicSite: Y (-2.099, 3.636, 1.651) [6.806e-10, 0.6631, 0.25]
PeriodicSite: Y (-1.067, 1.848, 4.953) [0.0, 0.3369, 0.75]
PeriodicSite: Y (4.199, 4.059e-09, 1.651) [0.6631, 7.402e-10, 0.25]
PeriodicSite: Y (2.099, 3.636, 4.953) [0.6631, 0.6631, 0.75]
PeriodicSite: H (2.617, 4.687, 0.3188) [0.8406, 0.8547, 0.04828]
PeriodicSite: H (3.336, 5.011, 4.241) [0.9836, 0.9138, 0.6422]
PeriodicSite: H (1.738, 3.59, 0.5792) [0.6018, 0.6547, 0.0877]
PeriodicSite: H (4.316, 0.07872, 5.541) [0.6888, 0.01435, 0.8391]
PeriodicSite: H (-0.1905, 4.877, 0.4051) [0.4146, 0.8894, 0.06134]
PeriodicSite: H (0.8336, 3.08, 3.427) [0.4125, 0.5617, 0.519]
PeriodicSite: H (4.981, 1.859, 2.67) [0.9562, 0.339, 0.4044]
PeriodicSite: H (2.164, 0.2364, 2.583) [0.3634, 0.04311, 0.3912]
PeriodicSite: H (-1.189, 3.809, 3.433) [0.1596, 0.6946, 0.5199]
PeriodicSite: H (3.06, 1.971, 1.342) [0.663, 0.3594, 0.2032]
PeriodicSite: H (6.034, 0.05884, 3.022) [0.9583, 0.01073, 0.4576]
PeriodicSite: H (3.116, 1.799, 4.557) [0.6561, 0.328, 0.69]
PeriodicSite: H (1.331, 0.2379, 0.3926) [0.2319, 0.04337, 0.05945]
PeriodicSite: H (0.2431, 3.149, 5.876) [0.3255, 0.5743, 0.8898]
PeriodicSite: H (-1.052, 1.826, 0.5455) [0.0003599, 0.333, 0.08261]
PeriodicSite: H (2.353, 4.268, 1.745) [0.7608, 0.7782, 0.2643]
PeriodicSite: H (4.193, 3.567, 5.83) [0.9874, 0.6505, 0.8829]
PeriodicSite: H (0.9715, 1.36, 4.971) [0.2774, 0.248, 0.7527],
'c436bbf4_9aef_44a8_8960_00227f79a32f': Structure Summary
Lattice
abc : 4.403401374816899 4.962053775787357 5.689428329467773
angles : 90.00000250447805 90.00000250447815 90.00000250447816
volume : 124.31352208745227
A : 4.4034013748168945 0.0 -1.924787937923611e-07
B : -2.1689827722570944e-07 4.962053775787348 -2.1689825757675862e-07
C : 0.0 0.0 5.689428329467773
pbc : True True True
PeriodicSite: V (2.02, 2.481, 1.451) [0.4587, 0.5, 0.2551]
PeriodicSite: V (2.02, 4.962, 4.238) [0.4587, 1.0, 0.7449]
PeriodicSite: V (2.02, 2.481, 4.238) [0.4587, 0.5, 0.7449]
PeriodicSite: V (2.02, 2.13e-06, 1.451) [0.4587, 4.293e-07, 0.2551]
PeriodicSite: V (4.251, 2.481, 2.845) [0.9654, 0.5, 0.5]
PeriodicSite: V (4.251, 0.0, 2.845) [0.9654, 0.0, 0.5]
PeriodicSite: V (4.243, 2.481, -2.939e-07) [0.9636, 0.5, 0.0]
PeriodicSite: V (4.243, 0.0, -1.855e-07) [0.9636, 0.0, 0.0]
PeriodicSite: H (2.721, 1.204, 5.614) [0.6179, 0.2427, 0.9868]
PeriodicSite: H (2.758, 3.671, 2.776) [0.6263, 0.7399, 0.4878]
PeriodicSite: H (0.8412, 3.666, 0.8015) [0.191, 0.7389, 0.1409]
PeriodicSite: H (0.5002, 0.9219, 1.349) [0.1136, 0.1858, 0.2371]
PeriodicSite: H (0.5522, 1.211, 4.23) [0.1254, 0.244, 0.7434]
PeriodicSite: H (2.739, 1.2, 2.812) [0.6219, 0.2419, 0.4942]}
Relax structures¶
In [14]:
Copied!
from xtalpaint.utils.relaxation_utils import relax_structures
from xtalpaint.utils.relaxation_utils import relax_structures
In [15]:
Copied!
relax_kwargs = inputs.relaxation.relax_config.params.model_dump()
print(json.dumps(relax_kwargs, indent=4))
structure_labels, inpainted_structures = map(
list,
zip(
*inpainting_outputs["structures"].get_structures(strct_type="pymatgen").items()
),
)
if inputs.relaxation.constrained:
constrained_relaxation_outputs = relax_structures(
structures=inpainted_structures,
**relax_kwargs,
)
if inputs.relaxation.full:
relax_kwargs.pop("elements_to_relax", None)
full_relaxation_outputs = relax_structures(
structures=inpainted_structures,
**relax_kwargs,
)
constrained_relaxation_structures = dict(
zip(structure_labels, constrained_relaxation_outputs[0])
)
full_relaxation_structures = dict(
zip(structure_labels, full_relaxation_outputs[0])
)
relax_kwargs = inputs.relaxation.relax_config.params.model_dump()
print(json.dumps(relax_kwargs, indent=4))
structure_labels, inpainted_structures = map(
list,
zip(
*inpainting_outputs["structures"].get_structures(strct_type="pymatgen").items()
),
)
if inputs.relaxation.constrained:
constrained_relaxation_outputs = relax_structures(
structures=inpainted_structures,
**relax_kwargs,
)
if inputs.relaxation.full:
relax_kwargs.pop("elements_to_relax", None)
full_relaxation_outputs = relax_structures(
structures=inpainted_structures,
**relax_kwargs,
)
constrained_relaxation_structures = dict(
zip(structure_labels, constrained_relaxation_outputs[0])
)
full_relaxation_structures = dict(
zip(structure_labels, full_relaxation_outputs[0])
)
{
"mlip": "mattersim",
"optimizer": "BFGS",
"load_path": "MatterSim-v1.0.0-5M.pth",
"fmax": 0.01,
"max_n_steps": 50,
"max_natoms_per_batch": 5000,
"device": "cpu",
"filter": "none",
"elements_to_relax": [
"H"
],
"return_initial_energies": false,
"return_initial_forces": false,
"return_final_forces": false
}
2026-06-17 11:16:50.461 | INFO | mattersim.forcefield.potential:from_checkpoint:891 - Loading the pre-trained mattersim-v1.0.0-5M.pth model
0%| | 0/5 [00:00<?, ?it/s]
Step Time Energy fmax
BFGS: 0 11:16:50 -70.270988 27.396616
BFGS: 1 11:16:50 -74.499962 4.188519
BFGS: 2 11:16:51 -75.840904 2.985003
BFGS: 3 11:16:51 -76.635338 1.931414
BFGS: 4 11:16:51 -76.870506 1.655417
BFGS: 5 11:16:51 -77.599380 1.408866
BFGS: 6 11:16:51 -77.653534 0.954376
BFGS: 7 11:16:51 -77.693161 0.381834
BFGS: 8 11:16:52 -77.709312 0.459464
BFGS: 9 11:16:52 -77.753868 0.869609
BFGS: 10 11:16:52 -77.798302 1.220131
BFGS: 11 11:16:52 -77.849113 1.042157
BFGS: 12 11:16:52 -77.889221 0.804927
BFGS: 13 11:16:52 -77.960747 0.820123
BFGS: 14 11:16:52 -78.038101 1.401052
BFGS: 15 11:16:53 -78.114716 1.699412
BFGS: 16 11:16:53 -78.171371 1.321294
BFGS: 17 11:16:53 -78.213470 0.462264
BFGS: 18 11:16:53 -78.229034 0.596580
BFGS: 19 11:16:53 -78.248756 0.837303
BFGS: 20 11:16:53 -78.280769 0.750089
BFGS: 21 11:16:54 -78.315704 0.691908
BFGS: 22 11:16:54 -78.347260 0.572743
BFGS: 23 11:16:54 -78.378227 0.337961
BFGS: 24 11:16:54 -78.396248 0.349899
BFGS: 25 11:16:54 -78.417648 0.423497
BFGS: 26 11:16:54 -78.449387 0.516103
BFGS: 27 11:16:54 -78.484428 0.567460
BFGS: 28 11:16:55 -78.516083 0.535963
BFGS: 29 11:16:55 -78.528946 0.318997
BFGS: 30 11:16:55 -78.533272 0.226902
BFGS: 31 11:16:55 -78.538933 0.234223
BFGS: 32 11:16:55 -78.546989 0.250673
BFGS: 33 11:16:55 -78.557121 0.288306
BFGS: 34 11:16:55 -78.567680 0.260278
BFGS: 35 11:16:56 -78.579567 0.330458
BFGS: 36 11:16:56 -78.594017 0.360993
BFGS: 37 11:16:56 -78.615273 0.415380
BFGS: 38 11:16:56 -78.643738 0.486412
BFGS: 39 11:16:56 -78.675133 0.531067
BFGS: 40 11:16:56 -78.703560 0.507445
BFGS: 41 11:16:56 -78.704399 0.421231
BFGS: 42 11:16:57 -78.719551 0.339080
BFGS: 43 11:16:57 -78.724434 0.232848
BFGS: 44 11:16:57 -78.730240 0.170094
BFGS: 45 11:16:57 -78.743835 0.230980
BFGS: 46 11:16:57 -78.752136 0.275767
BFGS: 47 11:16:57 -78.758987 0.288545
BFGS: 48 11:16:58 -78.765289 0.271114
BFGS: 49 11:16:58 -78.774597 0.327832
BFGS: 50 11:16:58 -78.780411 0.241466
Step Time Energy fmax
BFGS: 0 11:16:58 -57.849968 2.499280
BFGS: 1 11:16:58 -57.997936 1.307911
BFGS: 2 11:16:58 -58.148010 1.143816
BFGS: 3 11:16:58 -58.335903 1.972952
BFGS: 4 11:16:58 -58.500576 2.992411
BFGS: 5 11:16:58 -58.890488 3.494797
BFGS: 6 11:16:58 -59.086906 4.293419
BFGS: 7 11:16:58 -59.298473 1.538319
BFGS: 8 11:16:58 -59.477882 1.084809
BFGS: 9 11:16:59 -59.517067 0.510377
BFGS: 10 11:16:59 -59.523624 0.256406
BFGS: 11 11:16:59 -59.528667 0.163155
BFGS: 12 11:16:59 -59.530540 0.199203
BFGS: 13 11:16:59 -59.532524 0.208748
BFGS: 14 11:16:59 -59.534428 0.149822
BFGS: 15 11:16:59 -59.535419 0.073244
BFGS: 16 11:16:59 -59.535828 0.063380
BFGS: 17 11:16:59 -59.536110 0.067042
BFGS: 18 11:16:59 -59.536373 0.053239
BFGS: 19 11:16:59 -59.536549 0.041333
BFGS: 20 11:16:59 -59.536636 0.032360
BFGS: 21 11:16:59 -59.536671 0.017327
BFGS: 22 11:16:59 -59.536694 0.012405
BFGS: 23 11:16:59 -59.536716 0.013821
BFGS: 24 11:17:00 -59.536736 0.016185
BFGS: 25 11:17:00 -59.536751 0.014503
BFGS: 26 11:17:00 -59.536766 0.012080
BFGS: 27 11:17:00 -59.536770 0.005163
Step Time Energy fmax
BFGS: 0 11:17:00 -35.723461 95.972805
BFGS: 1 11:17:00 -55.176739 22.468366
BFGS: 2 11:17:00 -60.281860 17.695452
BFGS: 3 11:17:00 -63.774815 6.509674
BFGS: 4 11:17:00 -65.524773 4.368346
BFGS: 5 11:17:00 -66.417969 3.489198
BFGS: 6 11:17:01 -66.898483 4.090190
BFGS: 7 11:17:01 -67.389977 3.553324
BFGS: 8 11:17:01 -68.222862 3.223622
BFGS: 9 11:17:01 -68.555466 3.023922
BFGS: 10 11:17:01 -68.784729 2.423833
BFGS: 11 11:17:01 -68.898743 1.852934
BFGS: 12 11:17:01 -69.085716 2.123425
BFGS: 13 11:17:01 -69.184860 2.098709
BFGS: 14 11:17:01 -69.431259 1.602771
BFGS: 15 11:17:02 -69.522766 1.166140
BFGS: 16 11:17:02 -69.602898 0.919815
BFGS: 17 11:17:02 -69.648590 1.200670
BFGS: 18 11:17:02 -69.710640 1.250082
BFGS: 19 11:17:02 -69.745186 0.905962
BFGS: 20 11:17:02 -69.778282 0.654941
BFGS: 21 11:17:02 -69.797661 0.394177
BFGS: 22 11:17:03 -69.808640 0.371837
0%| | 0/5 [00:12<?, ?it/s]
BFGS: 23 11:17:03 -69.813553 0.249655 BFGS: 24 11:17:03 -69.816299 0.253110 BFGS: 25 11:17:03 -69.818542 0.236869 BFGS: 26 11:17:03 -69.821152 0.202713 BFGS: 27 11:17:03 -69.824837 0.292975 BFGS: 28 11:17:03 -69.829674 0.332777 BFGS: 29 11:17:03 -69.834763 0.241037 BFGS: 30 11:17:03 -69.838509 0.167128 BFGS: 31 11:17:04 -69.840378 0.141676 BFGS: 32 11:17:04 -69.842255 0.155725 BFGS: 33 11:17:04 -69.845612 0.193301 BFGS: 34 11:17:04 -69.849098 0.154564 BFGS: 35 11:17:04 -69.851143 0.162770 BFGS: 36 11:17:04 -69.852547 0.175918 BFGS: 37 11:17:04 -69.853889 0.162832 BFGS: 38 11:17:04 -69.855293 0.172993 BFGS: 39 11:17:05 -69.857559 0.207092 BFGS: 40 11:17:05 -69.860382 0.299088 BFGS: 41 11:17:05 -69.862892 0.170201 BFGS: 42 11:17:05 -69.865059 0.199738 BFGS: 43 11:17:05 -69.867210 0.094614 BFGS: 44 11:17:05 -69.868217 0.115140 BFGS: 45 11:17:05 -69.869194 0.079481 BFGS: 46 11:17:05 -69.870552 0.115800 BFGS: 47 11:17:06 -69.872780 0.115226 BFGS: 48 11:17:06 -69.874634 0.241280 BFGS: 49 11:17:06 -69.874756 0.106068 BFGS: 50 11:17:06 -69.876114 0.116408
60%|██████ | 3/5 [00:15<00:10, 5.26s/it]
Step Time Energy fmax BFGS: 0 11:17:06 -105.523079 2.831747 BFGS: 1 11:17:06 -105.844795 2.502550 BFGS: 2 11:17:06 -106.931923 1.939379 BFGS: 3 11:17:06 -107.505806 2.209608 BFGS: 4 11:17:07 -107.877724 2.079734 BFGS: 5 11:17:07 -108.166786 1.732246 BFGS: 6 11:17:07 -108.438942 1.521069 BFGS: 7 11:17:07 -108.800812 1.320607 BFGS: 8 11:17:07 -109.387474 0.891212 BFGS: 9 11:17:07 -109.559525 1.089477 BFGS: 10 11:17:08 -109.638229 1.135089 BFGS: 11 11:17:08 -110.190552 0.786671 BFGS: 12 11:17:08 -110.328934 0.822952 BFGS: 13 11:17:08 -110.364540 0.737386 BFGS: 14 11:17:08 -110.422577 0.605793 BFGS: 15 11:17:08 -110.489090 0.514453 BFGS: 16 11:17:09 -110.579300 0.605557 BFGS: 17 11:17:09 -110.645714 0.529491 BFGS: 18 11:17:09 -110.683823 0.453183 BFGS: 19 11:17:09 -110.711540 0.427243 BFGS: 20 11:17:09 -110.768837 0.577145 BFGS: 21 11:17:09 -110.872879 0.814453 BFGS: 22 11:17:09 -110.968910 0.763779 BFGS: 23 11:17:09 -111.044731 0.652293 BFGS: 24 11:17:10 -111.124855 0.589010 BFGS: 25 11:17:10 -111.173698 0.555503 BFGS: 26 11:17:10 -111.272293 0.528761 BFGS: 27 11:17:10 -111.383286 0.581668 BFGS: 28 11:17:10 -111.495361 0.675660 BFGS: 29 11:17:10 -111.554718 0.673314 BFGS: 30 11:17:11 -111.611916 0.720092 BFGS: 31 11:17:11 -111.649765 0.715665 BFGS: 32 11:17:11 -111.802414 0.689973 BFGS: 33 11:17:11 -111.959396 0.664390 BFGS: 34 11:17:11 -112.081741 0.672248 BFGS: 35 11:17:11 -112.174049 0.722953 BFGS: 36 11:17:12 -112.226456 0.726625 BFGS: 37 11:17:12 -112.276077 0.671088 BFGS: 38 11:17:12 -112.345863 0.529722 BFGS: 39 11:17:12 -112.438988 0.370384 BFGS: 40 11:17:12 -112.523056 0.317759 BFGS: 41 11:17:12 -112.562469 0.260313 BFGS: 42 11:17:12 -112.575676 0.251621 BFGS: 43 11:17:12 -112.589264 0.250523 BFGS: 44 11:17:13 -112.612564 0.241452 BFGS: 45 11:17:13 -112.640236 0.205214 BFGS: 46 11:17:13 -112.658691 0.166591 BFGS: 47 11:17:13 -112.665771 0.164321 BFGS: 48 11:17:13 -112.669815 0.161421 BFGS: 49 11:17:13 -112.676201 0.144267 BFGS: 50 11:17:13 -112.686127 0.127883
80%|████████ | 4/5 [00:23<00:05, 5.94s/it]
Step Time Energy fmax BFGS: 0 11:17:13 -89.740555 1.018145 BFGS: 1 11:17:13 -89.759506 0.961740 BFGS: 2 11:17:13 -89.908768 0.339078 BFGS: 3 11:17:14 -89.921295 0.432801 BFGS: 4 11:17:14 -89.926529 0.429793 BFGS: 5 11:17:14 -89.934753 0.320503 BFGS: 6 11:17:14 -89.940468 0.196779 BFGS: 7 11:17:14 -89.943199 0.211108 BFGS: 8 11:17:14 -89.944702 0.250088 BFGS: 9 11:17:14 -89.947868 0.314953 BFGS: 10 11:17:14 -89.956642 0.451185 BFGS: 11 11:17:14 -89.982475 0.724945 BFGS: 12 11:17:14 -90.004456 0.726012 BFGS: 13 11:17:15 -90.037994 0.699782 BFGS: 14 11:17:15 -90.088318 0.579491 BFGS: 15 11:17:15 -90.114799 0.459431 BFGS: 16 11:17:15 -90.135254 0.387353 BFGS: 17 11:17:15 -90.152138 0.458728 BFGS: 18 11:17:15 -90.170982 0.392503 BFGS: 19 11:17:15 -90.191521 0.286286 BFGS: 20 11:17:15 -90.202827 0.184861 BFGS: 21 11:17:15 -90.206558 0.157829 BFGS: 22 11:17:16 -90.207909 0.138924 BFGS: 23 11:17:16 -90.210129 0.114042 BFGS: 24 11:17:16 -90.214005 0.088605 BFGS: 25 11:17:16 -90.217720 0.062381 BFGS: 26 11:17:16 -90.219215 0.041981 BFGS: 27 11:17:16 -90.219536 0.041047 BFGS: 28 11:17:16 -90.219627 0.036217 BFGS: 29 11:17:16 -90.219742 0.028476 BFGS: 30 11:17:16 -90.219917 0.021621 BFGS: 31 11:17:16 -90.220070 0.014947 BFGS: 32 11:17:17 -90.220123 0.010757 BFGS: 33 11:17:17 -90.220116 0.008424
100%|██████████| 5/5 [00:26<00:00, 5.31s/it]
2026-06-17 11:17:17.117 | INFO | mattersim.forcefield.potential:from_checkpoint:891 - Loading the pre-trained mattersim-v1.0.0-5M.pth model
0%| | 0/5 [00:00<?, ?it/s]
Step Time Energy fmax
BFGS: 0 11:17:17 -70.270988 33.654266
BFGS: 1 11:17:17 -75.354149 13.886686
BFGS: 2 11:17:17 -76.499237 6.433766
BFGS: 3 11:17:17 -77.296906 2.663641
BFGS: 4 11:17:18 -77.546814 1.823530
BFGS: 5 11:17:18 -77.882584 1.747173
BFGS: 6 11:17:18 -78.001740 1.108277
BFGS: 7 11:17:18 -78.119026 1.345996
BFGS: 8 11:17:18 -78.193146 1.190743
BFGS: 9 11:17:18 -78.316040 1.618791
BFGS: 10 11:17:18 -78.394241 1.413521
BFGS: 11 11:17:19 -78.483047 0.935703
BFGS: 12 11:17:19 -78.509010 0.702104
BFGS: 13 11:17:19 -78.527298 0.460736
BFGS: 14 11:17:19 -78.544472 0.587034
BFGS: 15 11:17:19 -78.559311 0.512003
BFGS: 16 11:17:19 -78.569069 0.280085
BFGS: 17 11:17:20 -78.578842 0.360425
BFGS: 18 11:17:20 -78.595238 0.764597
BFGS: 19 11:17:20 -78.627815 1.252886
BFGS: 20 11:17:20 -78.676651 1.341499
BFGS: 21 11:17:20 -78.720268 0.821468
BFGS: 22 11:17:20 -78.754311 0.290948
BFGS: 23 11:17:20 -78.762856 0.336341
BFGS: 24 11:17:21 -78.769707 0.403450
BFGS: 25 11:17:21 -78.776413 0.322271
BFGS: 26 11:17:21 -78.782425 0.192575
BFGS: 27 11:17:21 -78.786301 0.161942
BFGS: 28 11:17:21 -78.792465 0.237191
BFGS: 29 11:17:21 -78.804428 0.424805
BFGS: 30 11:17:21 -78.828331 0.546115
BFGS: 31 11:17:22 -78.858238 0.519679
BFGS: 32 11:17:22 -78.880241 0.425775
BFGS: 33 11:17:22 -78.875114 0.961343
BFGS: 34 11:17:22 -78.895538 0.212346
BFGS: 35 11:17:22 -78.897873 0.261533
BFGS: 36 11:17:22 -78.900139 0.198327
BFGS: 37 11:17:22 -78.905205 0.086386
BFGS: 38 11:17:23 -78.906136 0.092917
BFGS: 39 11:17:23 -78.908852 0.136596
BFGS: 40 11:17:23 -78.912582 0.209937
BFGS: 41 11:17:23 -78.919617 0.353707
BFGS: 42 11:17:23 -78.927254 0.420725
BFGS: 43 11:17:23 -78.934235 0.366803
BFGS: 44 11:17:24 -78.940483 0.221704
BFGS: 45 11:17:24 -78.945702 0.223064
BFGS: 46 11:17:24 -78.951195 0.128149
BFGS: 47 11:17:24 -78.954468 0.174074
BFGS: 48 11:17:24 -78.955948 0.125883
BFGS: 49 11:17:24 -78.957184 0.094297
BFGS: 50 11:17:24 -78.959076 0.119806
Step Time Energy fmax
BFGS: 0 11:17:25 -57.849968 4.278671
BFGS: 1 11:17:25 -58.266541 1.680875
BFGS: 2 11:17:25 -58.547195 1.658323
BFGS: 3 11:17:25 -58.028492 7.881478
BFGS: 4 11:17:25 -58.954895 1.489440
BFGS: 5 11:17:25 -59.120483 1.370929
BFGS: 6 11:17:25 -59.139610 2.557338
BFGS: 7 11:17:25 -59.271072 0.894278
BFGS: 8 11:17:25 -59.310143 0.698286
BFGS: 9 11:17:25 -59.414368 1.141939
BFGS: 10 11:17:25 -59.449505 0.422270
BFGS: 11 11:17:25 -59.469799 0.391759
BFGS: 12 11:17:25 -59.489799 0.513454
BFGS: 13 11:17:25 -59.510513 0.468838
BFGS: 14 11:17:26 -59.521011 0.184787
BFGS: 15 11:17:26 -59.523968 0.149171
BFGS: 16 11:17:26 -59.526215 0.164407
BFGS: 17 11:17:26 -59.529274 0.187168
BFGS: 18 11:17:26 -59.531857 0.139145
BFGS: 19 11:17:26 -59.533260 0.076764
BFGS: 20 11:17:26 -59.533928 0.065385
BFGS: 21 11:17:26 -59.534607 0.102295
BFGS: 22 11:17:26 -59.535534 0.119213
BFGS: 23 11:17:26 -59.536312 0.079531
BFGS: 24 11:17:26 -59.536629 0.031283
BFGS: 25 11:17:26 -59.536709 0.022459
BFGS: 26 11:17:26 -59.536758 0.023241
BFGS: 27 11:17:26 -59.536804 0.020650
BFGS: 28 11:17:26 -59.536842 0.015053
BFGS: 29 11:17:27 -59.536858 0.013903
BFGS: 30 11:17:27 -59.536884 0.012969
BFGS: 31 11:17:27 -59.536907 0.015479
BFGS: 32 11:17:27 -59.536926 0.010014
BFGS: 33 11:17:27 -59.536930 0.005493
Step Time Energy fmax
BFGS: 0 11:17:27 -35.723461 95.972805
BFGS: 1 11:17:27 -60.766048 12.583023
BFGS: 2 11:17:27 -64.706650 7.043029
BFGS: 3 11:17:27 -67.242165 4.795914
BFGS: 4 11:17:27 -68.549805 11.357987
BFGS: 5 11:17:28 -69.515533 3.183407
BFGS: 6 11:17:28 -69.973190 2.700315
BFGS: 7 11:17:28 -70.319916 2.287087
BFGS: 8 11:17:28 -70.546478 2.377600
BFGS: 9 11:17:28 -70.966782 2.552471
BFGS: 10 11:17:28 -71.163010 2.462399
BFGS: 11 11:17:28 -71.646339 2.546768
BFGS: 12 11:17:28 -71.832649 1.627594
BFGS: 13 11:17:28 -71.992928 1.188777
BFGS: 14 11:17:28 -72.042931 0.623719
BFGS: 15 11:17:29 -72.059586 0.356909
BFGS: 16 11:17:29 -72.069191 0.343234
BFGS: 17 11:17:29 -72.084793 0.266054
BFGS: 18 11:17:29 -72.092445 0.299569
BFGS: 19 11:17:29 -72.102554 0.365456
BFGS: 20 11:17:29 -72.116829 0.483358
BFGS: 21 11:17:29 -72.139442 0.526568
BFGS: 22 11:17:29 -72.165253 0.617671
BFGS: 23 11:17:30 -72.192085 0.503062
BFGS: 24 11:17:30 -72.212265 0.374284
BFGS: 25 11:17:30 -72.228050 0.357620
BFGS: 26 11:17:30 -72.243034 0.376609
BFGS: 27 11:17:30 -72.256653 0.368446
BFGS: 28 11:17:30 -72.266129 0.329704
BFGS: 29 11:17:30 -72.273567 0.330749
BFGS: 30 11:17:30 -72.281830 0.359018
BFGS: 31 11:17:30 -72.291809 0.379213
BFGS: 32 11:17:31 -72.299629 0.395540
BFGS: 33 11:17:31 -72.308983 0.412334
BFGS: 34 11:17:31 -72.319000 0.358986
BFGS: 35 11:17:31 -72.335571 0.397576
BFGS: 36 11:17:31 -72.353416 0.383761
BFGS: 37 11:17:31 -72.361153 0.227649
BFGS: 38 11:17:31 -72.358215 0.644601
BFGS: 39 11:17:31 -72.370918 0.198993
BFGS: 40 11:17:32 -72.373840 0.168167
BFGS: 41 11:17:32 -72.385735 0.227893
BFGS: 42 11:17:32 -72.390152 0.236584
BFGS: 43 11:17:32 -72.395760 0.175714
BFGS: 44 11:17:32 -72.401344 0.162447
BFGS: 45 11:17:32 -72.410851 0.213107
BFGS: 46 11:17:32 -72.423592 0.269272
BFGS: 47 11:17:32 -72.434692 0.256062
BFGS: 48 11:17:33 -72.443947 0.260208
0%| | 0/5 [00:15<?, ?it/s]
BFGS: 49 11:17:33 -72.450127 0.264281 BFGS: 50 11:17:33 -72.456390 0.266553
60%|██████ | 3/5 [00:15<00:10, 5.33s/it]
Step Time Energy fmax BFGS: 0 11:17:33 -105.523079 3.432754 BFGS: 1 11:17:33 -106.166115 2.408582 BFGS: 2 11:17:33 -107.573738 1.823864 BFGS: 3 11:17:33 -107.956886 1.714533 BFGS: 4 11:17:33 -108.349243 1.795668 BFGS: 5 11:17:34 -108.756203 1.767675 BFGS: 6 11:17:34 -109.334709 2.232100 BFGS: 7 11:17:34 -109.814568 1.443421 BFGS: 8 11:17:34 -110.009705 1.346202 BFGS: 9 11:17:34 -110.223221 1.469743 BFGS: 10 11:17:34 -110.475517 0.836307 BFGS: 11 11:17:35 -110.599747 0.775197 BFGS: 12 11:17:35 -110.694786 0.813894 BFGS: 13 11:17:35 -110.804352 1.206672 BFGS: 14 11:17:35 -110.940735 1.256352 BFGS: 15 11:17:35 -111.056351 0.849995 BFGS: 16 11:17:35 -111.138298 0.625066 BFGS: 17 11:17:36 -111.199532 0.622593 BFGS: 18 11:17:36 -111.265633 0.695929 BFGS: 19 11:17:36 -111.349724 0.664430 BFGS: 20 11:17:36 -111.416824 0.559725 BFGS: 21 11:17:36 -111.476120 0.710503 BFGS: 22 11:17:36 -111.549065 0.740083 BFGS: 23 11:17:36 -111.649788 1.021406 BFGS: 24 11:17:36 -111.769569 1.106260 BFGS: 25 11:17:37 -111.885094 0.803114 BFGS: 26 11:17:37 -112.016747 1.062398 BFGS: 27 11:17:37 -112.145874 1.125907 BFGS: 28 11:17:37 -112.303963 1.146251 BFGS: 29 11:17:37 -112.448265 1.150485 BFGS: 30 11:17:37 -112.547012 0.790716 BFGS: 31 11:17:38 -112.630737 0.601625 BFGS: 32 11:17:38 -112.686310 0.437320 BFGS: 33 11:17:38 -112.777634 0.626547 BFGS: 34 11:17:38 -112.859543 0.697186 BFGS: 35 11:17:38 -112.917702 0.644482 BFGS: 36 11:17:38 -112.951393 0.500299 BFGS: 37 11:17:38 -112.991165 0.376208 BFGS: 38 11:17:39 -113.028358 0.420415 BFGS: 39 11:17:39 -113.051514 0.374849 BFGS: 40 11:17:39 -113.065041 0.366807 BFGS: 41 11:17:39 -113.079735 0.322226 BFGS: 42 11:17:39 -113.096695 0.242652 BFGS: 43 11:17:39 -113.110191 0.205401 BFGS: 44 11:17:40 -113.117828 0.168209 BFGS: 45 11:17:40 -113.123161 0.150407 BFGS: 46 11:17:40 -113.129982 0.169855 BFGS: 47 11:17:40 -113.138496 0.192494 BFGS: 48 11:17:40 -113.145462 0.165020 BFGS: 49 11:17:40 -113.149811 0.165275 BFGS: 50 11:17:40 -113.153854 0.134489
80%|████████ | 4/5 [00:23<00:06, 6.12s/it]
Step Time Energy fmax BFGS: 0 11:17:41 -89.740555 1.018145 BFGS: 1 11:17:41 -89.785698 0.899092 BFGS: 2 11:17:41 -89.925972 0.393973 BFGS: 3 11:17:41 -89.937485 0.318037 BFGS: 4 11:17:41 -89.954010 0.364299 BFGS: 5 11:17:41 -89.980286 0.383805 BFGS: 6 11:17:41 -90.009544 0.476963 BFGS: 7 11:17:41 -90.035263 0.532700 BFGS: 8 11:17:41 -90.097565 0.765820 BFGS: 9 11:17:42 -90.188324 1.297597 BFGS: 10 11:17:42 -90.335335 2.784432 BFGS: 11 11:17:42 -90.618477 2.115944 BFGS: 12 11:17:42 -91.453384 1.925646 BFGS: 13 11:17:42 -91.810699 1.941381 BFGS: 14 11:17:42 -92.049194 1.593175 BFGS: 15 11:17:42 -92.276848 1.111158 BFGS: 16 11:17:42 -92.597099 0.975584 BFGS: 17 11:17:42 -92.908279 1.590694 BFGS: 18 11:17:42 -93.054123 1.488075 BFGS: 19 11:17:42 -93.473404 1.012016 BFGS: 20 11:17:43 -93.574165 0.724807 BFGS: 21 11:17:43 -93.624832 0.511725 BFGS: 22 11:17:43 -93.678215 0.425377 BFGS: 23 11:17:43 -93.704514 0.259703 BFGS: 24 11:17:43 -93.716309 0.301754 BFGS: 25 11:17:43 -93.728935 0.310537 BFGS: 26 11:17:43 -93.741478 0.237774 BFGS: 27 11:17:43 -93.750328 0.197206 BFGS: 28 11:17:43 -93.755913 0.160661 BFGS: 29 11:17:44 -93.760590 0.177235 BFGS: 30 11:17:44 -93.765442 0.160820 BFGS: 31 11:17:44 -93.769608 0.145272 BFGS: 32 11:17:44 -93.772491 0.146689 BFGS: 33 11:17:44 -93.774712 0.113315 BFGS: 34 11:17:44 -93.776611 0.114134 BFGS: 35 11:17:44 -93.777985 0.090253 BFGS: 36 11:17:44 -93.778915 0.087169 BFGS: 37 11:17:44 -93.779701 0.069063 BFGS: 38 11:17:44 -93.780403 0.055734 BFGS: 39 11:17:44 -93.780998 0.056928 BFGS: 40 11:17:45 -93.781555 0.068079 BFGS: 41 11:17:45 -93.782249 0.088218 BFGS: 42 11:17:45 -93.783279 0.101505 BFGS: 43 11:17:45 -93.784630 0.097131 BFGS: 44 11:17:45 -93.786171 0.097765 BFGS: 45 11:17:45 -93.787872 0.109577 BFGS: 46 11:17:45 -93.789917 0.112443 BFGS: 47 11:17:45 -93.792587 0.129934 BFGS: 48 11:17:45 -93.796371 0.168810 BFGS: 49 11:17:45 -93.801910 0.206906 BFGS: 50 11:17:46 -93.808403 0.266281
100%|██████████| 5/5 [00:28<00:00, 5.76s/it]
Evaluate the inpainted structures with repspect to the initial reference¶
In [16]:
Copied!
from xtalpaint.eval import evaluate_inpainting
import pandas as pd
from xtalpaint.eval import evaluate_inpainting
import pandas as pd
In [17]:
Copied!
rmsd_inpainted_structures = evaluate_inpainting(
inpainted_structures=inpainting_outputs["structures"],
reference_structures=input_structures,
metric="rmsd",
max_workers=3,
normalization_element='H',
)
matches_inpainted_structures = evaluate_inpainting(
inpainted_structures=inpainting_outputs["structures"],
reference_structures=input_structures,
metric="match",
max_workers=3,
)
inpainted_evaluation = pd.merge(
rmsd_inpainted_structures, matches_inpainted_structures, left_index=True, right_index=True
)
rmsd_constrained_relaxation = evaluate_inpainting(
inpainted_structures=constrained_relaxation_structures,
reference_structures=input_structures,
metric="rmsd",
max_workers=3,
normalization_element='H',
)
matches_constrained_relaxation = evaluate_inpainting(
inpainted_structures=constrained_relaxation_structures,
reference_structures=input_structures,
metric="match",
max_workers=3,
)
constrained_relaxation_evaluation = pd.merge(
rmsd_constrained_relaxation, matches_constrained_relaxation, left_index=True, right_index=True
)
rmsd_inpainted_structures = evaluate_inpainting(
inpainted_structures=inpainting_outputs["structures"],
reference_structures=input_structures,
metric="rmsd",
max_workers=3,
normalization_element='H',
)
matches_inpainted_structures = evaluate_inpainting(
inpainted_structures=inpainting_outputs["structures"],
reference_structures=input_structures,
metric="match",
max_workers=3,
)
inpainted_evaluation = pd.merge(
rmsd_inpainted_structures, matches_inpainted_structures, left_index=True, right_index=True
)
rmsd_constrained_relaxation = evaluate_inpainting(
inpainted_structures=constrained_relaxation_structures,
reference_structures=input_structures,
metric="rmsd",
max_workers=3,
normalization_element='H',
)
matches_constrained_relaxation = evaluate_inpainting(
inpainted_structures=constrained_relaxation_structures,
reference_structures=input_structures,
metric="match",
max_workers=3,
)
constrained_relaxation_evaluation = pd.merge(
rmsd_constrained_relaxation, matches_constrained_relaxation, left_index=True, right_index=True
)
80%|████████ | 4/5 [00:00<00:00, 14.41it/s] 80%|████████ | 4/5 [00:00<00:00, 30.12it/s] 80%|████████ | 4/5 [00:00<00:00, 15.30it/s] 80%|████████ | 4/5 [00:00<00:00, 31.03it/s]
In [18]:
Copied!
inpainted_evaluation
inpainted_evaluation
Out[18]:
| rmsd | match | |
|---|---|---|
| keys | ||
| 20acc66e_8e38_4e5e_9e7a_c2400262cdc8 | 0.823770 | False |
| 47b9a869_9b1e_438b_8c93_f5ac654bfdd8 | 0.182364 | True |
| 662c7351_ee76_48ea_bab7_b733e1fdf607 | 1.808948 | False |
| 7fa282c5_4971_46f4_8b3b_776595a0fa06 | 0.922381 | False |
| c436bbf4_9aef_44a8_8960_00227f79a32f | 1.243808 | False |
In [19]:
Copied!
constrained_relaxation_evaluation
constrained_relaxation_evaluation
Out[19]:
| rmsd | match | |
|---|---|---|
| keys | ||
| 20acc66e_8e38_4e5e_9e7a_c2400262cdc8 | 0.778736 | False |
| 47b9a869_9b1e_438b_8c93_f5ac654bfdd8 | 0.009466 | True |
| 662c7351_ee76_48ea_bab7_b733e1fdf607 | 1.777973 | False |
| 7fa282c5_4971_46f4_8b3b_776595a0fa06 | 0.575861 | False |
| c436bbf4_9aef_44a8_8960_00227f79a32f | 1.408238 | False |