diff --git a/notebooks/first_steps.ipynb b/notebooks/first_steps.ipynb new file mode 100644 index 0000000..c3debc4 --- /dev/null +++ b/notebooks/first_steps.ipynb @@ -0,0 +1,349 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "43ca64ec", + "metadata": {}, + "source": [ + "# First steps into `mamonca`\n", + "\n", + "Table of contents\n", + "\n", + "- Calculation of Curie temperature\n", + "- Metadynamics for the free energy difference of ferro- and paramagnetic states\n", + "- Thermodynamic integration for the free energy difference of fictitious bcc and fcc phases.\n", + "\n", + "In this example, we are going to use the structure class from `pyiron`, which allows you for easy analysis of the crystal neighborhood" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "630a3d13", + "metadata": {}, + "outputs": [], + "source": [ + "from mamonca import MC\n", + "import numpy as np\n", + "import matplotlib.pylab as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a175712e", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e11d4810f88740d493d345138f54fad7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from pyiron_atomistics.atomistics.structure.factory import StructureFactory" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "8e508b81", + "metadata": {}, + "outputs": [], + "source": [ + "# Create bcc structure (which is the ground state of iron)\n", + "bcc = StructureFactory().bulk(\"Fe\", cubic=True).repeat(10)\n", + "\n", + "neigh = bcc.get_neighbors(num_neighbors=8)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b2540f68", + "metadata": {}, + "outputs": [], + "source": [ + "J = 0.05 * neigh.get_shell_matrix()[0]\n", + "\n", + "mc = MC(len(bcc))\n", + "mc.set_heisenberg_coeff(J)\n", + "m_lst = []\n", + "T_lst = np.arange(0, 1600, 100)\n", + "for T in T_lst:\n", + " mc.run(temperature=T, number_of_iterations=10000)\n", + " m_lst.append(mc.get_magnetization()[-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "96e733b9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.xlabel(\"Temperature K\")\n", + "plt.ylabel(\"Magnetization\")\n", + "plt.ylim([0, 1])\n", + "plt.plot(T_lst, m_lst)" + ] + }, + { + "cell_type": "markdown", + "id": "38c184fb", + "metadata": {}, + "source": [ + "Here, as we chose the parameter randomly, the Curie temperature is somewhat higher than what it is supposed to be. In addition, since the system is relatively small, the total magnetization after the transition does not completely vanish." + ] + }, + { + "cell_type": "markdown", + "id": "8b1fed03", + "metadata": {}, + "source": [ + "## Thermodynamic integration" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "110b315b", + "metadata": {}, + "outputs": [], + "source": [ + "fcc = StructureFactory().bulk(\"Fe\", crystalstructure=\"fcc\", a=3.5, cubic=True).repeat(10)\n", + "\n", + "# Let's make a fictitious bcc structure by applying a strain of -10% along z.\n", + "# This obviously does not create a real bcc structure, but it's good enough for our purpose to find the right neighbors\n", + "bcc = fcc.apply_strain([0, 0, -0.1], return_box=True)\n", + "\n", + "neigh_fcc = fcc.get_neighbors()\n", + "neigh_bcc = bcc.get_neighbors(num_neighbors=8)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7f61d836", + "metadata": {}, + "outputs": [], + "source": [ + "J_fcc = -0.1\n", + "J_bcc = 0.5" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "a04adf31", + "metadata": {}, + "outputs": [], + "source": [ + "mc = MC(len(fcc))\n", + "mc.set_heisenberg_coeff(J_bcc * neigh_bcc.get_shell_matrix()[0])\n", + "mc.set_heisenberg_coeff(J_fcc * neigh_fcc.get_shell_matrix()[0], index=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "55a4c4a7", + "metadata": {}, + "outputs": [], + "source": [ + "ti_lambda = np.linspace(0, 1, 11)\n", + "temperature = 300" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "12103d66", + "metadata": {}, + "outputs": [], + "source": [ + "E_lst = []\n", + "relaxation_steps = 5000\n", + "measurement_steps = 5000\n", + "for ll in ti_lambda:\n", + " mc.set_lambda(ll)\n", + " mc.run(temperature=temperature, number_of_iterations=relaxation_steps)\n", + " mc.run(temperature=temperature, number_of_iterations=measurement_steps)\n", + " E_lst.append(\n", + " [mc.get_mean_energy(index=ii) for ii in [0, 1]]\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "d8f7f333", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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99+PYNXRJ9jzvGHDBtNms5l/+tOfzD179pgbNmwwTzrpJPOCCy6IcOXRZe3atebSpUvNl156yZRkvvLKK0ftb9XnIGEojCZNmmTOnz+/RduIESPMm266qc3+v/nNb8wRI0a0aLvmmmvMyZMnh63GriDY89yWUaNGmbfffnuoS+tSjvc8z5kzx/zd735n3nrrrYShAAR7nv/xj3+YTqfTPHToUCTK6zKCPc/33XefOXTo0BZtDz74oDlw4MCw1djVBBKGrPocZJosTOrr67V582bl5ua2aM/NzW33Dtgffvhhq/7nnHOONm3apIaGhrDVGs2O5zwfyev1qrKyUj169AhHiV3C8Z7np59+Wrt379att94a7hK7hOM5z6+99pomTpyo3//+9xowYICys7P161//WocPH45EyVHpeM7z1KlTtX//fq1du1amaergwYNas2aNzj///EiUHDOs+hyMmjtQR5uysjJ5PB5lZGS0aM/IyFBJSUmbx5SUlLTZ3+12q6ysTP369QtbvdHqeM7zke6//35VV1dr9uzZ4SixSzie87xr1y7ddNNN2rBhgxwO/lcTiOM5z3v27NF7772nxMREvfLKKyorK9MvfvELffvtt6wbasfxnOepU6dqxYoVmjNnjmpra+V2uzVr1iw99NBDkSg5Zlj1OcjIUJgZhtHiuWmardqO1b+tdrQU7Hn2WblypW677TatWrVKffr0CVd5XUag59nj8Wju3Lm6/fbblZ2dHanyuoxg/jx7vV4ZhqEVK1Zo0qRJmjFjhpYtW6ZnnnmG0aFjCOY8b9u2TQsWLNAtt9yizZs36/XXX9fevXs1f/78SJQaU6z4HOSfa2HSq1cv2e32Vv/KKC0tbZV6ffr27dtmf4fDoZ49e4at1mh2POfZZ9WqVbryyiu1evVqnX322eEsM+oFe54rKyu1adMmFRQU6LrrrpPU+KFtmqYcDofefPNNnXnmmRGpPZocz5/nfv36acCAAXI6nf62kSNHyjRN7d+/X8OGDQtrzdHoeM5zXl6eTj31VN1www2SpLFjxyolJUXTpk3TXXfdxch9iFj1OcjIUJjEx8crJydH+fn5Ldrz8/M1derUNo+ZMmVKq/5vvvmmJk6cqLi4uLDVGs2O5zxLjSNCl19+uZ5//nnm/AMQ7HlOS0vTv/71L23ZssX/mD9/voYPH64tW7bo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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "E_diff = np.diff(E_lst, axis=-1).flatten() / len(fcc)\n", + "plt.xlabel(\"lambda\")\n", + "plt.ylabel(\"E_bcc - E_fcc\")\n", + "plt.plot(ti_lambda, E_diff);" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "b70a0bb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The free energy difference between bcc and fcc at 300 K is 0.956543594612767\n" + ] + } + ], + "source": [ + "print(\"The free energy difference between bcc and fcc at 300 K is\", E_diff.sum() * np.diff(ti_lambda).mean())" + ] + }, + { + "cell_type": "markdown", + "id": "35a34b81", + "metadata": {}, + "source": [ + "## Metadynamics" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "0dee5e1a", + "metadata": {}, + "outputs": [], + "source": [ + "# Create bcc structure (which is the ground state of iron)\n", + "bcc = StructureFactory().bulk(\"Fe\", cubic=True).repeat(10)\n", + "\n", + "neigh = bcc.get_neighbors(num_neighbors=8)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "aa94c95b", + "metadata": {}, + "outputs": [], + "source": [ + "J = 0.05 * neigh.get_shell_matrix()[0]\n", + "\n", + "mc = MC(len(bcc))\n", + "mc.set_heisenberg_coeff(J)\n", + "temperature = 1000\n", + "mc.set_metadynamics(max_range=1)\n", + "mc.run(temperature=temperature, number_of_iterations=100000)\n", + "\n", + "meta = mc.get_metadynamics_free_energy()" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "7abfdf91", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.xlabel(\"Magnetization\")\n", + "plt.ylabel(\"Free energy eV\")\n", + "plt.plot(meta[\"magnetization\"], meta[\"free_energy\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55339279", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pyiron", + "language": "python", + "name": "pyiron" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}