Skip to content

Commit ddfdc52

Browse files
authored
Merge pull request #185 from Exabyte-io/feature/SOF-7530
feature/SOF 7530
2 parents 2fad8ff + 7d4befc commit ddfdc52

3 files changed

Lines changed: 524 additions & 10 deletions

File tree

other/materials_designer/create_interface_with_min_strain_zsl.ipynb

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,25 @@
5252
"IS_TERMINATIONS_SELECTION_INTERACTIVE = False \n",
5353
"\n",
5454
"FILM_INDEX = 1 # Index in the list of materials, to access as materials[FILM_INDEX]\n",
55-
"FILM_MILLER_INDICES = (0, 0, 1)\n",
55+
"FILM_MILLER_INDICES = (0,0,1)\n",
5656
"FILM_THICKNESS = 1 # in atomic layers\n",
5757
"FILM_VACUUM = 0.0 # in angstroms\n",
5858
"FILM_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]\n",
5959
"FILM_USE_ORTHOGONAL_Z = True\n",
6060
"\n",
6161
"SUBSTRATE_INDEX = 0\n",
62-
"SUBSTRATE_MILLER_INDICES = (1, 1, 1)\n",
62+
"SUBSTRATE_MILLER_INDICES = (0,0,1)\n",
6363
"SUBSTRATE_THICKNESS = 3 # in atomic layers\n",
64-
"SUBSTRATE_VACUUM = 3.0 # in angstroms\n",
64+
"SUBSTRATE_VACUUM = 0.0 # in angstroms\n",
6565
"SUBSTRATE_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]\n",
6666
"SUBSTRATE_USE_ORTHOGONAL_Z = True\n",
6767
"\n",
6868
"# Maximum area for the superlattice search algorithm\n",
6969
"MAX_AREA = 50 # in Angstrom^2\n",
70+
"# Additional fine-tuning parameters (increase values to get more strained matches):\n",
71+
"MAX_AREA_TOLERANCE = 0.09 # in Angstrom^2\n",
72+
"MAX_ANGLE_TOLERANCE = 0.03\n",
73+
"MAX_LENGTH_TOLERANCE = 0.03\n",
7074
"# Set the termination pair indices\n",
7175
"TERMINATION_PAIR_INDEX = 0 # Will be overridden in interactive selection is used\n",
7276
"INTERFACE_DISTANCE = 3.0 # in Angstrom\n",
@@ -338,7 +342,10 @@
338342
"source": [
339343
"from mat3ra.made.tools.build.interface import ZSLStrainMatchingParameters\n",
340344
"zsl_strain_matching_parameters = ZSLStrainMatchingParameters(\n",
341-
" max_area=MAX_AREA\n",
345+
" max_area=MAX_AREA,\n",
346+
" max_area_tol=MAX_AREA_TOLERANCE,\n",
347+
" max_angle_tol=MAX_ANGLE_TOLERANCE,\n",
348+
" max_length_tol=MAX_LENGTH_TOLERANCE,\n",
342349
")"
343350
],
344351
"metadata": {

other/materials_designer/create_interface_with_no_strain_matching.ipynb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
"IS_TERMINATIONS_SELECTION_INTERACTIVE = False \n",
4545
"# Enable scaling of the film slab atomic coordinates to match the substrate lattice (preserve coordinates in crystal units).\n",
4646
"ENABLE_FILM_SCALING = True\n",
47+
"# Create slabs for the film and substrate when creating the interface, otherwise use provided materials directly.\n",
48+
"CREATE_SLABS = True \n",
4749
"\n",
4850
"FILM_INDEX = 1\n",
4951
"FILM_MILLER_INDICES = (0, 0, 1)\n",
@@ -314,9 +316,7 @@
314316
" substrate_termination=substrate_termination,\n",
315317
" interface_distance=INTERFACE_DISTANCE, # in Angstrom\n",
316318
" interface_vacuum=INTERFACE_VACUUM # in Angstrom\n",
317-
")\n",
318-
"\n",
319-
"interface = create_interface(interface_configuration)"
319+
")"
320320
]
321321
},
322322
{
@@ -333,9 +333,9 @@
333333
"outputs": [],
334334
"source": [
335335
"from mat3ra.made.tools.build.interface import SimpleInterfaceBuilder, SimpleInterfaceBuilderParameters\n",
336-
"if ENABLE_FILM_SCALING:\n",
337-
" builder = SimpleInterfaceBuilder(build_parameters=SimpleInterfaceBuilderParameters(scale_film=True))\n",
338-
" interface = builder.get_material(configuration=interface_configuration)"
336+
"\n",
337+
"builder = SimpleInterfaceBuilder(build_parameters=SimpleInterfaceBuilderParameters(scale_film=ENABLE_FILM_SCALING, create_slabs=CREATE_SLABS))\n",
338+
"interface = builder.get_material(configuration=interface_configuration)"
339339
],
340340
"metadata": {
341341
"collapsed": false

0 commit comments

Comments
 (0)