{ "cells": [ { "cell_type": "markdown", "id": "4879c2ee-e89d-42db-974e-a9572851ef20", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# Analysing polarised neutron reflectometry data (mark2)\n", "`refnx` recently added the ability to perform polarised neutron reflectometry analysis in v0.1.51, both non-spin flip and spin flip. Here we analyse datasets that uses magnetic films and PNR as an extra contrast. The datasets of interest have the structure:\n", "\n", "`Si | SiO2 | Permalloy | Au | 2-mercaptoethanol | D2O`" ] }, { "cell_type": "code", "execution_count": 1, "id": "e30f7cbb-3f89-4c85-98eb-88a9d63af161", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# some necessary imports\n", "from importlib import resources\n", "\n", "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import refnx\n", "from refnx.analysis import Parameter, Objective, CurveFitter, GlobalObjective\n", "from refnx.reflect import (\n", " SLD,\n", " Slab,\n", " Structure,\n", " MagneticSlab,\n", " PolarisedReflectModel,\n", " SpinChannel,\n", " pnr_data_and_generative,\n", ")\n", "from refnx.dataset import Data1D, PolarisedReflectDatasets" ] }, { "cell_type": "code", "execution_count": 2, "id": "bbed1272-9a1b-4c3c-8b13-4af3cc79ad55", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# create datasets from the NSF PNR data\n", "pth = resources.files(refnx.reflect)\n", "dd = \"c_PLP0007882.dat\"\n", "uu = \"c_PLP0007885.dat\"\n", "\n", "file_path_uu = pth / f\"tests/{uu}\"\n", "file_path_dd = pth / f\"tests/{dd}\"\n", "\n", "data_uu = Data1D(file_path_uu)\n", "data_dd = Data1D(file_path_dd)\n", "\n", "combined = PolarisedReflectDatasets(up_up=data_uu, down_down=data_dd)" ] }, { "cell_type": "code", "execution_count": 3, "id": "42b8e1c0-fb82-4464-bc83-1361154085ac", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# create SLD (Scattering Length Density) objects for each of the materials\n", "si = SLD(2.07, name=\"Si\")\n", "sio2 = SLD(3.47, name=\"SiO2\")\n", "au = SLD(4.66, name=\"Au\")\n", "mercapto = SLD(3.49, name=\"2-mercaptoethanol\")\n", "d2o = SLD(6.35, name=\"d2o\")\n", "\n", "py = SLD(9.0, name=\"permalloy\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "0f72701b-509e-4cb0-a1a9-b72895a6ad5e", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Now make Slabs that describe each layer. These can either be made from SLD objects,\n", "# or by using the `Slab` constructor directly.\n", "\n", "# sio2 slab has a thickness of 20 and roughness of 4 with the Si fronting medium\n", "sio2_l = sio2(20, 4)\n", "\n", "au_l = au(215, 4)\n", "mercapto_l = mercapto(8, 4)\n", "d2o_l = d2o(0, 4)" ] }, { "cell_type": "markdown", "id": "41824d88-3b7c-469f-808d-f714f8fad19f", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "Now let's make the Permalloy layer. To do this we need to utilise a `MagneticSlab` Component. The value of 1.75 represents a magnetic SLD correction of $1.75\\times 10^{-6}\\\\A^{-2}$. The value of `thetaM=90` (degrees) represents the angle of the magnetic moment in the plane of the sample. For the applied magnetic field to be the plane of the sample `Aguide=270` or `90`. For the magnetic moment to be parallel or antiparallel to the applied field `thetaM=90` or `270` degrees respectively." ] }, { "cell_type": "code", "execution_count": 5, "id": "b3b7ac26-f168-463f-aa78-9ac41b8e54fd", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# now make the Py layer\n", "py_thickness = Parameter(50, name=\"Py thickness\")\n", "py_roughness = Parameter(5, name=\"Py roughness\")\n", "\n", "py_l = MagneticSlab(py_thickness, py, py_roughness, 1.75, 90.0, name=\"Py slab\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "e59f21af-9882-4477-bf22-dd2099ea5df8", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "s = si | sio2_l | py_l | au_l | mercapto_l | d2o_l" ] }, { "cell_type": "code", "execution_count": 7, "id": "2866af82-074d-4e97-be9b-0290597ad1eb", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Note that we're using the same structure to describe both spin channels.\n", "# If you want to specify a different scale factor and bkg for each SpinChannel\n", "# you must provide 4 numbers during the construction of PolarisedReflectModel\n", "# (even if you don't have all four spin channels).\n", "# Otherwise the same scale factor/bkg will be used for all.\n", "scale = [1.0] * 4\n", "bkg = [1e-7] * 4\n", "model = PolarisedReflectModel(\n", " s,\n", " scales=scale,\n", " bkgs=bkg,\n", " dq_type=\"pointwise\",\n", ")" ] }, { "cell_type": "code", "execution_count": 8, "id": "c9d39562-d2e2-4d85-ac8c-86d26047ca7c", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "objective = Objective(model, combined)" ] }, { "cell_type": "code", "execution_count": 9, "id": "a50782f1-4a2f-4db5-b059-d10002c159cc", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# select the parameters to be fitted and their bounds\n", "model.scale[0].setp(vary=True, bounds=(0.9, 1.1)) # UU\n", "model.scale[-1].setp(vary=True, bounds=(0.9, 1.1)) # DD\n", "\n", "model.bkg[0].setp(vary=True, bounds=(1e-7, 5e-6))\n", "model.bkg[-1].setp(vary=True, bounds=(1e-7, 5e-6))\n", "\n", "sio2_l.thick.setp(vary=True, bounds=(10, 25))\n", "sio2_l.rough.setp(vary=True, bounds=(1, 8))\n", "\n", "py_thickness.setp(vary=True, bounds=(38, 55))\n", "py_roughness.setp(vary=True, bounds=(1, 8))\n", "py.real.setp(vary=True, bounds=(9, 9.5))\n", "py_l.rhoM.setp(vary=True, bounds=(1.5, 3.0))\n", "\n", "au_l.thick.setp(vary=True, bounds=(200, 240))\n", "au_l.rough.setp(vary=True, bounds=(1, 8))\n", "au.real.setp(vary=True, bounds=(4.5, 4.66))\n", "\n", "mercapto_l.thick.setp(vary=True, bounds=(5, 15))\n", "mercapto_l.rough.setp(vary=True, bounds=(1, 8))\n", "mercapto.real.setp(vary=True, bounds=(3, 4))\n", "\n", "d2o_l.rough.setp(vary=True, bounds=(1, 8))\n", "d2o.real.setp(vary=True, bounds=(6.2, 6.36))" ] }, { "cell_type": "code", "execution_count": 10, "id": "30855431-e791-43a8-84ac-b68940b67587", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "-1265.3234388262526: : 84it [00:11, 7.26it/s]\n" ] } ], "source": [ "fitter = CurveFitter(objective)\n", "fitter.fit(\"differential_evolution\", seed=1, polish=False);" ] }, { "cell_type": "code", "execution_count": 11, "id": "f431c425-a965-4e21-b03d-d49ce60410c6", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pdg = pnr_data_and_generative(objective)\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "\n", "for dg in pdg:\n", " dta, generative = dg\n", " p = ax.plot(dta.x, generative)\n", " color = p[0].get_color()\n", " ax.errorbar(\n", " dta.x,\n", " dta.y,\n", " dta.y_err,\n", " ms=3,\n", " marker=\"o\",\n", " lw=0,\n", " label=dta.name,\n", " color=color,\n", " )\n", "\n", "plt.yscale(\"log\")\n", "plt.xlabel(\"q / $\\\\AA^{-1}$\")\n", "plt.ylabel(\"Reflectvity\")\n", "plt.legend();" ] }, { "cell_type": "code", "execution_count": 12, "id": "90e3ddc2-2c2e-4aed-9569-7711c3ab8704", "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ "Once deleted, variables cannot be recovered. Proceed (y/[n])? y\n" ] } ], "source": [ "%reset" ] }, { "cell_type": "code", "execution_count": null, "id": "9aee8cb7-531f-4fbd-8e75-4b1d98eca012", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.12.6" } }, "nbformat": 4, "nbformat_minor": 5 }