From 15220f2f07258e6d64acd8744c1a1047f205943c Mon Sep 17 00:00:00 2001 From: thomas-rocke Date: Tue, 28 May 2024 12:15:03 +0100 Subject: [PATCH] WIP: Start of disloc mobility docs --- docs/applications/disloc_mobility.ipynb | 55 +++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/applications/disloc_mobility.ipynb diff --git a/docs/applications/disloc_mobility.ipynb b/docs/applications/disloc_mobility.ipynb new file mode 100644 index 000000000..84fba5adb --- /dev/null +++ b/docs/applications/disloc_mobility.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Modelling the Mobility of Dislocations with `matscipy`\n", + "\n", + "The dislocation modelling toolkit provided in `matscipy.dislocation` includes functions to assist in characterising the mobility of dislocations in various systems. The two supported mechanisms are glide and kink, which both allow the dislocation to move in the glide direction.\n", + "\n", + "## Dislocation Glide\n", + "Dislocation Glide is where the entire dislocation line migrates across a glide barrier to advance the dislocation. These kinds of structures are easy to generate both in cylindrical and in quadrupolar structures.\n", + "\n", + "\n", + "### Glide in Dislocation Cylinders\n", + "As an example of modelling dislocation glide in cylindrical cells, let's look at the BCC screw dislocation:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from matscipy.dislocation import get_elastic_constants, BCCScrew111Dislocation\n", + "# the calculator to provide forces and energies from the potential\n", + "from matscipy.calculators.eam import EAM\n", + "eam_calc = EAM(\"../../tests/w_eam4.fs\")\n", + "\n", + "# the function accepts any ASE type of calculator\n", + "alat, C11, C12, C44 = get_elastic_constants(calculator=eam_calc, symbol=\"W\", verbose=False)\n", + "\n", + "W_screw = BCCScrew111Dislocation(alat, C11, C12, C44, symbol=\"W\")\n", + "\n", + "bulk, screw = W_screw.build_dislocation_cylinder(radius=30)\n", + "W_screw_bulk, W_screw_dislo = W_screw.build_cylinder(radius=20)\n", + "W_screw.view_cyl(W_screw_dislo)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}