Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ddae395
SOF-8043: add Gr/Ni(111) registry and separation simulation notebook
VsevolodX Sep 1, 2026
00bbfe6
SOF-8043: fix review findings in the Gr/Ni(111) simulation notebook
VsevolodX Sep 1, 2026
38a8e82
SOF-8043: correct the bridge registry and the reference-job settings
VsevolodX Sep 1, 2026
173996c
SOF-8043: ground every calculation parameter in physics, the paper, o…
VsevolodX Sep 1, 2026
1e9aed7
SOF-8043: reproduce the published protocol — relaxation, work of adhe…
VsevolodX Sep 2, 2026
5010c45
SOF-8043: break up the walls of code
VsevolodX Sep 3, 2026
463ef44
SOF-8043: film shifts as site steps, per VB
VsevolodX Sep 3, 2026
875ac30
SOF-8043: state decisions, drop the explanations
VsevolodX Sep 3, 2026
09b9e37
Add reusable surface, relaxation, energetics, interface and compute h…
VsevolodX Sep 6, 2026
9bcb67f
Revert the material helpers out of notebooks_utils; keep get_compute
VsevolodX Sep 11, 2026
793dcf5
Run the paper's calculation and read the result back; say what MACE g…
VsevolodX Sep 11, 2026
80ecfff
Judge a relaxed registry by the sites its carbons occupy
VsevolodX Sep 11, 2026
ad997bc
Shared helpers under notebooks_utils.material and .mlff; the notebook…
VsevolodX Sep 11, 2026
0db910a
Placement by pointing at atoms: atomic operations plus one helper
VsevolodX Sep 11, 2026
6b1edbc
Point at atoms by coordinate and radius, on made's periodic distance
VsevolodX Sep 11, 2026
1ce2aa2
Registry machinery from mat3ra.made; relaxation stays in notebooks_ut…
VsevolodX Sep 11, 2026
082a43f
Unpin made, relax references under the interface's own constraint, na…
VsevolodX Sep 11, 2026
45964a5
Rewrite the relaxation test in the repo's own style: parametrized, da…
VsevolodX Sep 11, 2026
a64ae29
Distinguish z-only from free relaxation in the test, drop dead import…
VsevolodX Sep 11, 2026
cda3117
Match the repo's test style: plain module constants, no typing.Final
VsevolodX Sep 11, 2026
04f8b16
Follow made#298's surface-net minimum: update the notebook and test t…
VsevolodX Sep 11, 2026
44745e9
Fix the CI-flaky fixture, tighten the printed verdicts, split cell 32…
VsevolodX Sep 11, 2026
768f1f9
Drop the fixture's made#298 dependency: unit tests must run against r…
VsevolodX Sep 11, 2026
910e5ce
Apply re-review of 768f1f90: two comment trims, one buckling-verdict …
VsevolodX Sep 12, 2026
bf0f5c1
Extract notebook-defined helpers into notebooks_utils
VsevolodX Sep 12, 2026
a91f239
Fix review of bf0f5c11: IPython-free label_interface_parts, relaxed-N…
VsevolodX Sep 12, 2026
a11f213
Lazy-import label_interface_parts in notebooks_utils.material
VsevolodX Sep 12, 2026
870a918
Drop the material.py facade for label_interface_parts
VsevolodX Sep 12, 2026
e8f82cb
Rename test_material.py to test_material_interface.py
VsevolodX Sep 12, 2026
41950ff
Give the DFT-tier relaxation a full node and a longer time limit
VsevolodX Sep 12, 2026
7161a20
Replace pass/fail verdicts with a plain comparison table
VsevolodX Sep 12, 2026
d2904bc
Fix the structure notebook's dead plotting import
VsevolodX Sep 12, 2026
36205e2
Match made#298's SurfaceSiteAnalyzer API change (crystal by default)
VsevolodX Sep 13, 2026
0b5c105
Use branch-local neighbors when accepting a bracketed minimum
VsevolodX Sep 13, 2026
3772d41
Fix review of 0b5c1055: relaxation out of mlff, faster test, interfac…
VsevolodX Sep 14, 2026
df3245d
Drop the ZSL search from test_relaxation.py: CI's match isn't the loc…
VsevolodX Sep 14, 2026
8bc2696
Drop get_atom_indices_by_layer: unit tests must run against released …
VsevolodX Sep 14, 2026
b0e6fd6
Re-review of 8bc2696c: mark drifted DFT rows, harden case 0, collapse…
VsevolodX Sep 14, 2026
92486dd
Re-review of b0e6fd69: fix TypeError on None sites, append not replac…
VsevolodX Sep 14, 2026
eb80485
Derive the registry column width from the rendered cells, not a guess
VsevolodX Sep 14, 2026
0bae402
Move the SE's helper functions out of the notebook, add section headings
VsevolodX Sep 14, 2026
62fee5f
Keep film_sites_and_buckling in the notebook: released made lacks it
VsevolodX Sep 14, 2026
71c544e
Zero def in the notebook: inline the table formatting, call made's bu…
VsevolodX Sep 14, 2026
80c4f15
Structure NB: name the base interface explicitly, not by concatenation
VsevolodX Sep 14, 2026
a9332bd
Move mlff/relaxation into notebooks_utils/calculate/, keep old import…
VsevolodX Sep 15, 2026
e3ef693
Import mlff/relaxation through the top-level facade everywhere
VsevolodX Sep 15, 2026
72331b2
Split calculate/ by abstraction level: calculators/mlff, workflows/re…
VsevolodX Sep 15, 2026
9323762
Drop tests/py/unit/calculators/: no test module in it yet
VsevolodX Sep 15, 2026
a78e88f
Merge remote-tracking branch 'origin/main' into feature/SOF-8043
VsevolodX Sep 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions other/experiments/jupyterlite/relax_structure_with_mlff.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
"source": [
"from mat3ra.notebooks_utils.packages import install_packages\n",
"from mat3ra.notebooks_utils.primitive.environment import is_pyodide_environment\n",
"from mat3ra.notebooks_utils.mlff import get_mlff_install_profiles\n",
"from mat3ra.notebooks_utils.calculators.mlff import get_mlff_install_profiles\n",
"\n",
"profiles = get_mlff_install_profiles(MLFF_NAME)\n",
"await install_packages(profiles)\n",
Expand Down Expand Up @@ -157,7 +157,7 @@
"from mat3ra.made.tools.convert import to_ase\n",
"from ase.optimize import BFGS\n",
"\n",
"from mat3ra.notebooks_utils.mlff import create_mlff_calculator\n",
"from mat3ra.notebooks_utils.calculators.mlff import create_mlff_calculator\n",
"from mat3ra.notebooks_utils.ipython.plot._plotly import progress_callback\n",
"\n",
"calculator = create_mlff_calculator(MLFF_NAME, MLFF_SETTINGS[MLFF_NAME])\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"| `C-2D-INT-Z` | Interface ZSL | [BN/Graphene 2D–2D Interface](interface_2d_2d_boron_nitride_graphene.ipynb) | *To be added* | [[4]](#ref4) |\n",
"| `C-2D-INT-Z` | Interface ZSL | [Graphene/SiO₂ 2D–3D Interface](interface_2d_3d_graphene_silicon_dioxide.ipynb) | *To be added* | [[5]](#ref5) |\n",
"| `C-2D-INT-Z` | Interface ZSL | [Cu/Cristobalite 3D–3D Interface](interface_3d_3d_copper_cristobalite.ipynb) | *To be added* | [[6]](#ref6) |\n",
"| `C-2D-INT-Z` | Interface ZSL | [Graphene/Ni Interface Film XY Position Optimization](optimization_interface_film_xy_position_graphene_nickel.ipynb) | *To be added* | [[7]](#ref7) |\n",
"| `C-2D-INT-Z` | Interface ZSL | [Graphene/Ni Interface Film XY Position Optimization](optimization_interface_film_xy_position_graphene_nickel.ipynb) | [Gr/Ni(111) Registry and Work of Adhesion](optimization_interface_film_xy_position_graphene_nickel_SIMULATION.ipynb) | [[7]](#ref7) |\n",
"| `C-2D-INT-T` | Interface Twisted | *To be added* | — | — |\n",
"| `C-2D-INT-C` | Interface Commensurate Lattice | [Twisted Commensurate MoS₂ Bilayer](interface_bilayer_twisted_commensurate_lattices_molybdenum_disulfide.ipynb) | [Twisted MoS₂ Bilayer Band Structure](interface_bilayer_twisted_commensurate_lattices_molybdenum_disulfide_SIMULATION.ipynb) | [[8]](#ref8) |\n",
"| `C-2D-MLT` | Multi-Layer | *To be added* | — | — |\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
"# Material selection\n",
"SUBSTRATE_NAME = \"Nickel\"\n",
"FILM_NAME = \"Graphene\"\n",
"# canonical name the companion SIMULATION notebook loads by\n",
"BASE_MATERIAL_NAME = \"Graphene_Nickel_interface\"\n",
"\n",
"# Slab parameters\n",
"FILM_MILLER_INDICES = (0, 0, 1)\n",
Expand Down Expand Up @@ -196,7 +198,7 @@
" reduce_result_cell_to_primitive=REDUCE_RESULT_CELL_TO_PRIMITIVE,\n",
")\n",
"\n",
"interface_material.name = f\"{FILM_NAME}_{SUBSTRATE_NAME}_interface\"\n",
"interface_material.name = BASE_MATERIAL_NAME\n",
"\n",
"# Visualize interface\n",
"visualize_materials([interface_material], repetitions=STRUCTURE_REPETITIONS)\n",
Expand Down Expand Up @@ -264,7 +266,7 @@
"metadata": {},
"outputs": [],
"source": [
"from mat3ra.utils.jupyterlite.plot import plot_2d_heatmap, plot_3d_surface\n",
"from mat3ra.notebooks_utils.ipython.plot._plotly import plot_2d_heatmap, plot_3d_surface\n",
"\n",
"x_values, y_values = xy_matrix\n",
"# Plot energy landscape\n",
Expand Down Expand Up @@ -317,7 +319,7 @@
"id": "16",
"metadata": {},
"source": [
"# 4. Save optimized material"
"# 4. Save the base and optimized materials"
]
},
{
Expand All @@ -330,6 +332,9 @@
"from mat3ra.notebooks_utils.io import download_content_to_file\n",
"from mat3ra.notebooks_utils.material import set_materials\n",
"\n",
"set_materials(interface_material)\n",
"download_content_to_file(interface_material.to_json(), f\"{interface_material.name}.json\")\n",
"\n",
"optimized_material.name = f\"{interface_material.name}_optimized_xy\"\n",
"set_materials(optimized_material)\n",
"download_content_to_file(optimized_material.to_json(), f\"{interface_material.name}_optimized_xy.json\")"
Expand Down
Loading
Loading