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 +}