{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "0", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:09.733237Z", "iopub.status.busy": "2026-04-14T14:56:09.732936Z", "iopub.status.idle": "2026-04-14T14:56:09.737459Z", "shell.execute_reply": "2026-04-14T14:56:09.736562Z" }, "tags": [ "hide-in-docs" ] }, "outputs": [], "source": [ "# Check whether easydiffraction is installed; install it if needed.\n", "# Required for remote environments such as Google Colab.\n", "import importlib.util\n", "\n", "if importlib.util.find_spec('easydiffraction') is None:\n", " %pip install easydiffraction==0.13.1" ] }, { "cell_type": "markdown", "id": "1", "metadata": {}, "source": [ "# Structure Refinement: Taurine, SENJU\n", "\n", "Crystal structure refinement of Taurine using time-of-flight single\n", "crystal neutron diffraction data from SENJU at J-PARC." ] }, { "cell_type": "markdown", "id": "2", "metadata": {}, "source": [ "## Import Library" ] }, { "cell_type": "code", "execution_count": 2, "id": "3", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:09.739043Z", "iopub.status.busy": "2026-04-14T14:56:09.738836Z", "iopub.status.idle": "2026-04-14T14:56:12.307203Z", "shell.execute_reply": "2026-04-14T14:56:12.306256Z" } }, "outputs": [], "source": [ "import easydiffraction as ed" ] }, { "cell_type": "markdown", "id": "4", "metadata": {}, "source": [ "## Step 1: Define Project" ] }, { "cell_type": "code", "execution_count": 3, "id": "5", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:12.309043Z", "iopub.status.busy": "2026-04-14T14:56:12.308683Z", "iopub.status.idle": "2026-04-14T14:56:12.802694Z", "shell.execute_reply": "2026-04-14T14:56:12.801776Z" } }, "outputs": [ { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create minimal project without name and description\n", "project = ed.Project()" ] }, { "cell_type": "markdown", "id": "6", "metadata": {}, "source": [ "## Step 2: Define Structure" ] }, { "cell_type": "code", "execution_count": 4, "id": "7", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:12.804874Z", "iopub.status.busy": "2026-04-14T14:56:12.804689Z", "iopub.status.idle": "2026-04-14T14:56:13.062374Z", "shell.execute_reply": "2026-04-14T14:56:13.061321Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mGetting data\u001b[0m\u001b[1;34m...\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Data #\u001b[1;36m21\u001b[0m: Taurine \u001b[1m(\u001b[0mcrystal structure\u001b[1m)\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Data #\u001b[1;36m21\u001b[0m downloaded to \u001b[32m'data/ed-21.cif'\u001b[0m\n" ] } ], "source": [ "# Download CIF file from repository\n", "structure_path = ed.download_data(id=21, destination='data')" ] }, { "cell_type": "code", "execution_count": 5, "id": "8", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.064669Z", "iopub.status.busy": "2026-04-14T14:56:13.064444Z", "iopub.status.idle": "2026-04-14T14:56:13.083558Z", "shell.execute_reply": "2026-04-14T14:56:13.082579Z" } }, "outputs": [], "source": [ "project.structures.add_from_cif_path(structure_path)" ] }, { "cell_type": "code", "execution_count": 6, "id": "9", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.085510Z", "iopub.status.busy": "2026-04-14T14:56:13.085328Z", "iopub.status.idle": "2026-04-14T14:56:13.090165Z", "shell.execute_reply": "2026-04-14T14:56:13.089352Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mDefined structures 🧩\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m[\u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1m]\u001b[0m\n" ] } ], "source": [ "project.structures.show_names()" ] }, { "cell_type": "code", "execution_count": 7, "id": "10", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.092234Z", "iopub.status.busy": "2026-04-14T14:56:13.091976Z", "iopub.status.idle": "2026-04-14T14:56:13.095243Z", "shell.execute_reply": "2026-04-14T14:56:13.094323Z" } }, "outputs": [], "source": [ "structure = project.structures['taurine']" ] }, { "cell_type": "code", "execution_count": 8, "id": "11", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.096924Z", "iopub.status.busy": "2026-04-14T14:56:13.096686Z", "iopub.status.idle": "2026-04-14T14:56:13.371986Z", "shell.execute_reply": "2026-04-14T14:56:13.370950Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;34m as cif\u001b[0m\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 CIF
1data_taurine
2
3_cell.length_a 5.27290000
4_cell.length_b 11.65650000
5_cell.length_c 7.83830000
6_cell.angle_alpha 90.00000000
7_cell.angle_beta 94.01100000
8_cell.angle_gamma 90.00000000
9
10_space_group.name_H-M_alt \"P 21/c\"
11_space_group.IT_coordinate_system_code b1
12
13loop_
14_atom_site.label
15_atom_site.type_symbol
16_atom_site.fract_x
17_atom_site.fract_y
18_atom_site.fract_z
19_atom_site.Wyckoff_letter
20_atom_site.occupancy
21_atom_site.B_iso_or_equiv
22_atom_site.adp_type
23S1 S 0.20000000(100000) 0.35000000(100000) 0.35000000(100000) e 1.00000000 1.57910000(10000) Biso
24O1 O 0.31300000(100000) 0.24000000(100000) 0.35100000(100000) e 1.00000000 2.76350000(10000) Biso
25O2 O 0.93800000(100000) 0.33700000(100000) 0.29400000(100000) e 1.00000000 3.63200000(10000) Biso
26O3 O 0.22200000(100000) 0.41200000(100000) 0.50700000(100000) e 1.00000000 1.89500000(10000) Biso
27N1 N 0.26400000(100000) 0.62800000(100000) 0.33100000(100000) e 1.00000000 2.13180000(10000) Biso
28H1 H 0.13300000(100000) 0.58800000(100000) 0.42100000(100000) e 1.00000000 3.39510000(10000) Biso
29H2 H 0.19100000(100000) 0.71500000(100000) 0.31200000(100000) e 1.00000000 4.57950000(10000) Biso
30H3 H 0.44000000(100000) 0.62400000(100000) 0.34900000(100000) e 1.00000000 4.65850000(10000) Biso
31C1 C 0.34400000(100000) 0.44000000(100000) 0.20200000(100000) e 1.00000000 1.73710000(10000) Biso
32H11 H 0.55200000(100000) 0.43300000(100000) 0.24300000(100000) e 1.00000000 3.39510000(10000) Biso
33H12 H 0.32000000(100000) 0.38800000(100000) 0.08100000(100000) e 1.00000000 3.31620000(10000) Biso
34C2 C 0.20000000(100000) 0.55700000(100000) 0.18200000(100000) e 1.00000000 1.73710000(10000) Biso
35H21 H 0.27600000(100000) 0.60000000(100000) 0.07700000(100000) e 1.00000000 2.13180000(10000) Biso
36H22 H 0.99900000(100000) 0.54900000(100000) 0.16100000(100000) e 1.00000000 4.97430000(10000) Biso
37
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "structure.show_as_cif()" ] }, { "cell_type": "markdown", "id": "12", "metadata": {}, "source": [ "## Step 3: Define Experiment" ] }, { "cell_type": "code", "execution_count": 9, "id": "13", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.373777Z", "iopub.status.busy": "2026-04-14T14:56:13.373566Z", "iopub.status.idle": "2026-04-14T14:56:13.549022Z", "shell.execute_reply": "2026-04-14T14:56:13.548164Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mGetting data\u001b[0m\u001b[1;34m...\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Data #\u001b[1;36m22\u001b[0m: Taurine, SENJU \u001b[1m(\u001b[0mJ-PARC\u001b[1m)\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Data #\u001b[1;36m22\u001b[0m downloaded to \u001b[32m'data/ed-22.xye'\u001b[0m\n" ] } ], "source": [ "# Download data file from repository\n", "data_path = ed.download_data(id=22, destination='data')" ] }, { "cell_type": "code", "execution_count": 10, "id": "14", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.550816Z", "iopub.status.busy": "2026-04-14T14:56:13.550626Z", "iopub.status.idle": "2026-04-14T14:56:13.581600Z", "shell.execute_reply": "2026-04-14T14:56:13.580776Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mData loaded successfully\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Experiment 🔬 \u001b[32m'senju'\u001b[0m. Number of data points: \u001b[1;36m286\u001b[0m.\n" ] } ], "source": [ "project.experiments.add_from_data_path(\n", " name='senju',\n", " data_path=data_path,\n", " sample_form='single crystal',\n", " beam_mode='time-of-flight',\n", " radiation_probe='neutron',\n", ")" ] }, { "cell_type": "code", "execution_count": 11, "id": "15", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.583466Z", "iopub.status.busy": "2026-04-14T14:56:13.583225Z", "iopub.status.idle": "2026-04-14T14:56:13.586124Z", "shell.execute_reply": "2026-04-14T14:56:13.585401Z" } }, "outputs": [], "source": [ "experiment = project.experiments['senju']" ] }, { "cell_type": "code", "execution_count": 12, "id": "16", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.587877Z", "iopub.status.busy": "2026-04-14T14:56:13.587698Z", "iopub.status.idle": "2026-04-14T14:56:13.591002Z", "shell.execute_reply": "2026-04-14T14:56:13.590188Z" } }, "outputs": [], "source": [ "experiment.linked_crystal.id = 'taurine'\n", "experiment.linked_crystal.scale = 1.0" ] }, { "cell_type": "code", "execution_count": 13, "id": "17", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.592862Z", "iopub.status.busy": "2026-04-14T14:56:13.592687Z", "iopub.status.idle": "2026-04-14T14:56:13.595946Z", "shell.execute_reply": "2026-04-14T14:56:13.595051Z" } }, "outputs": [], "source": [ "experiment.extinction.mosaicity = 1000.0\n", "experiment.extinction.radius = 100.0" ] }, { "cell_type": "markdown", "id": "18", "metadata": {}, "source": [ "## Step 4: Perform Analysis I (ADP iso)" ] }, { "cell_type": "code", "execution_count": 14, "id": "19", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:13.597614Z", "iopub.status.busy": "2026-04-14T14:56:13.597426Z", "iopub.status.idle": "2026-04-14T14:56:14.079339Z", "shell.execute_reply": "2026-04-14T14:56:14.078375Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "project.plotter.plot_meas_vs_calc(expt_name='senju')" ] }, { "cell_type": "code", "execution_count": 15, "id": "20", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:14.081344Z", "iopub.status.busy": "2026-04-14T14:56:14.081162Z", "iopub.status.idle": "2026-04-14T14:56:14.084144Z", "shell.execute_reply": "2026-04-14T14:56:14.083448Z" } }, "outputs": [], "source": [ "experiment.linked_crystal.scale.free = True\n", "experiment.extinction.radius.free = True" ] }, { "cell_type": "code", "execution_count": 16, "id": "21", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:14.085868Z", "iopub.status.busy": "2026-04-14T14:56:14.085713Z", "iopub.status.idle": "2026-04-14T14:56:14.303379Z", "shell.execute_reply": "2026-04-14T14:56:14.302517Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mSupported types\u001b[0m\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 TypeDescription
1bumpsBumps library using the default Levenberg-Marquardt method
2bumps (amoeba)Bumps library with Nelder-Mead simplex method
3bumps (de)Bumps library with differential evolution method
4bumps (lm)Bumps library with Levenberg-Marquardt method
5dfolsDFO-LS library for derivative-free least-squares optimization
6lmfitLMFIT library using the default Levenberg-Marquardt least squares method
7lmfit (least_squares)LMFIT library with SciPy's trust region reflective algorithm
8lmfit (leastsq)LMFIT library with Levenberg-Marquardt least squares method
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mCurrent minimizer\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "lmfit \u001b[1m(\u001b[0mleastsq\u001b[1m)\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mCurrent minimizer changed to\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "lmfit\n" ] } ], "source": [ "project.analysis.show_available_minimizers()\n", "project.analysis.show_current_minimizer()\n", "project.analysis.current_minimizer = 'lmfit'" ] }, { "cell_type": "code", "execution_count": 17, "id": "22", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:14.304999Z", "iopub.status.busy": "2026-04-14T14:56:14.304820Z", "iopub.status.idle": "2026-04-14T14:56:55.888875Z", "shell.execute_reply": "2026-04-14T14:56:55.887175Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mStandard fitting\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📋 Using experiment 🔬 \u001b[32m'senju'\u001b[0m for \u001b[32m'single'\u001b[0m fitting\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "🚀 Starting fit process with \u001b[32m'lmfit \u001b[0m\u001b[32m(\u001b[0m\u001b[32mleastsq\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m\u001b[33m...\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📈 Goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m change:\n" ] }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 iterationχ²improvement [%]
11748.12
264465.2037.8% ↓
312393.0780.0% ↓
418234.9662.4% ↓
524124.6529.5% ↓
630024.211.8% ↓
735923.781.8% ↓
8100323.56
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "🏆 Best goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m is \u001b[1;36m23.56\u001b[0m at iteration \u001b[1;36m958\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Fitting complete.\n" ] } ], "source": [ "# Start refinement. All parameters, which have standard uncertainties\n", "# in the input CIF files, are refined by default.\n", "project.analysis.fit()" ] }, { "cell_type": "code", "execution_count": 18, "id": "23", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:55.891679Z", "iopub.status.busy": "2026-04-14T14:56:55.891460Z", "iopub.status.idle": "2026-04-14T14:56:57.331663Z", "shell.execute_reply": "2026-04-14T14:56:57.330849Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mFit results\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "❌ Success: \u001b[3;91mFalse\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⏱️ Fitting time: \u001b[1;36m41.10\u001b[0m seconds\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 Goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m: \u001b[1;36m23.56\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 R-factor \u001b[1m(\u001b[0mRf\u001b[1m)\u001b[0m: \u001b[1;36m21.59\u001b[0m%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 R-factor squared \u001b[1m(\u001b[0mRf²\u001b[1m)\u001b[0m: \u001b[1;36m16.98\u001b[0m%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 Weighted R-factor \u001b[1m(\u001b[0mwR\u001b[1m)\u001b[0m: \u001b[1;36m17.74\u001b[0m%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📈 Fitted parameters:\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 datablockcategoryentryparameterstartfitteduncertaintyunitschange
1taurineatom_siteS1fract_x0.20000.2044N/A2.18 % ↑
2taurineatom_siteS1fract_y0.35000.3469N/A0.90 % ↓
3taurineatom_siteS1fract_z0.35000.3482N/A0.52 % ↓
4taurineatom_siteS1adp_iso1.57911.1417N/AŲ27.70 % ↓
5taurineatom_siteO1fract_x0.31300.3181N/A1.62 % ↑
6taurineatom_siteO1fract_y0.24000.2414N/A0.57 % ↑
7taurineatom_siteO1fract_z0.35100.3521N/A0.31 % ↑
8taurineatom_siteO1adp_iso2.76352.7912N/AŲ1.00 % ↑
9taurineatom_siteO2fract_x0.93800.9396N/A0.17 % ↑
10taurineatom_siteO2fract_y0.33700.3381N/A0.32 % ↑
11taurineatom_siteO2fract_z0.29400.2928N/A0.41 % ↓
12taurineatom_siteO2adp_iso3.63203.7348N/AŲ2.83 % ↑
13taurineatom_siteO3fract_x0.22200.2248N/A1.25 % ↑
14taurineatom_siteO3fract_y0.41200.4093N/A0.66 % ↓
15taurineatom_siteO3fract_z0.50700.5071N/A0.02 % ↑
16taurineatom_siteO3adp_iso1.89502.1451N/AŲ13.20 % ↑
17taurineatom_siteN1fract_x0.26400.2637N/A0.10 % ↓
18taurineatom_siteN1fract_y0.62800.6273N/A0.12 % ↓
19taurineatom_siteN1fract_z0.33100.3326N/A0.48 % ↑
20taurineatom_siteN1adp_iso2.13182.1431N/AŲ0.53 % ↑
21taurineatom_siteH1fract_x0.13300.1364N/A2.53 % ↑
22taurineatom_siteH1fract_y0.58800.5844N/A0.61 % ↓
23taurineatom_siteH1fract_z0.42100.4159N/A1.20 % ↓
24taurineatom_siteH1adp_iso3.39512.4978N/AŲ26.43 % ↓
25taurineatom_siteH2fract_x0.19100.1874N/A1.89 % ↓
26taurineatom_siteH2fract_y0.71500.7140N/A0.14 % ↓
27taurineatom_siteH2fract_z0.31200.3078N/A1.33 % ↓
28taurineatom_siteH2adp_iso4.57954.2614N/AŲ6.95 % ↓
29taurineatom_siteH3fract_x0.44000.4321N/A1.80 % ↓
30taurineatom_siteH3fract_y0.62400.6255N/A0.24 % ↑
31taurineatom_siteH3fract_z0.34900.3482N/A0.22 % ↓
32taurineatom_siteH3adp_iso4.65854.9394N/AŲ6.03 % ↑
33taurineatom_siteC1fract_x0.34400.3479N/A1.12 % ↑
34taurineatom_siteC1fract_y0.44000.4402N/A0.04 % ↑
35taurineatom_siteC1fract_z0.20200.2025N/A0.22 % ↑
36taurineatom_siteC1adp_iso1.73711.6820N/AŲ3.17 % ↓
37taurineatom_siteH11fract_x0.55200.5466N/A0.98 % ↓
38taurineatom_siteH11fract_y0.43300.4341N/A0.26 % ↑
39taurineatom_siteH11fract_z0.24300.2403N/A1.09 % ↓
40taurineatom_siteH11adp_iso3.39513.4650N/AŲ2.06 % ↑
41taurineatom_siteH12fract_x0.32000.3264N/A2.00 % ↑
42taurineatom_siteH12fract_y0.38800.3774N/A2.74 % ↓
43taurineatom_siteH12fract_z0.08100.0851N/A5.02 % ↑
44taurineatom_siteH12adp_iso3.31623.2415N/AŲ2.25 % ↓
45taurineatom_siteC2fract_x0.20000.1949N/A2.56 % ↓
46taurineatom_siteC2fract_y0.55700.5548N/A0.40 % ↓
47taurineatom_siteC2fract_z0.18200.1786N/A1.88 % ↓
48taurineatom_siteC2adp_iso1.73711.8770N/AŲ8.06 % ↑
49taurineatom_siteH21fract_x0.27600.2722N/A1.39 % ↓
50taurineatom_siteH21fract_y0.60000.5975N/A0.42 % ↓
51taurineatom_siteH21fract_z0.07700.0737N/A4.27 % ↓
52taurineatom_siteH21adp_iso2.13182.3711N/AŲ11.23 % ↑
53taurineatom_siteH22fract_x0.99900.9998N/A0.08 % ↑
54taurineatom_siteH22fract_y0.54900.5544N/A0.99 % ↑
55taurineatom_siteH22fract_z0.16100.1667N/A3.57 % ↑
56taurineatom_siteH22adp_iso4.97434.4547N/AŲ10.45 % ↓
57senjuextinctionradius100.00002.0159N/Aμm97.98 % ↓
58senjulinked_crystalscale1.00001.3517N/A35.17 % ↑
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show fit results summary\n", "project.analysis.display.fit_results()" ] }, { "cell_type": "code", "execution_count": 19, "id": "24", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:57.339921Z", "iopub.status.busy": "2026-04-14T14:56:57.339625Z", "iopub.status.idle": "2026-04-14T14:56:57.565707Z", "shell.execute_reply": "2026-04-14T14:56:57.565176Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;34m as cif\u001b[0m\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 CIF
1data_taurine
2
3_cell.length_a 5.27290000
4_cell.length_b 11.65650000
5_cell.length_c 7.83830000
6_cell.angle_alpha 90.00000000
7_cell.angle_beta 94.01100000
8_cell.angle_gamma 90.00000000
9
10_space_group.name_H-M_alt \"P 21/c\"
11_space_group.IT_coordinate_system_code b1
12
13loop_
14_atom_site.label
15_atom_site.type_symbol
16_atom_site.fract_x
17_atom_site.fract_y
18_atom_site.fract_z
19_atom_site.Wyckoff_letter
20_atom_site.occupancy
21_atom_site.B_iso_or_equiv
22_atom_site.adp_type
23S1 S 0.20435979() 0.34685242() 0.34816970() e 1.00000000 1.14166360() Biso
24O1 O 0.31805588() 0.24135919() 0.35208540() e 1.00000000 2.79115415() Biso
25O2 O 0.93957875() 0.33808583() 0.29278770() e 1.00000000 3.73482054() Biso
26O3 O 0.22477713() 0.40926796() 0.50709041() e 1.00000000 2.14512573() Biso
27N1 N 0.26374550() 0.62725769() 0.33258896() e 1.00000000 2.14309871() Biso
28H1 H 0.13636025() 0.58442260() 0.41593630() e 1.00000000 2.49781372() Biso
29H2 H 0.18739816() 0.71402443() 0.30783660() e 1.00000000 4.26140213() Biso
30H3 H 0.43206541() 0.62552851() 0.34823640() e 1.00000000 4.93944331() Biso
31C1 C 0.34786949() 0.44016053() 0.20245102() e 1.00000000 1.68200205() Biso
32H11 H 0.54660773() 0.43410601() 0.24034897() e 1.00000000 3.46500912() Biso
33H12 H 0.32640481() 0.37737050() 0.08506812() e 1.00000000 3.24146277() Biso
34C2 C 0.19487548() 0.55477396() 0.17857700() e 1.00000000 1.87704907() Biso
35H21 H 0.27216932() 0.59750565() 0.07371442() e 1.00000000 2.37110767() Biso
36H22 H 0.99978138() 0.55443440() 0.16674121() e 1.00000000 4.45472335() Biso
37
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "structure.show_as_cif()" ] }, { "cell_type": "code", "execution_count": 20, "id": "25", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:57.569400Z", "iopub.status.busy": "2026-04-14T14:56:57.569144Z", "iopub.status.idle": "2026-04-14T14:56:57.580077Z", "shell.execute_reply": "2026-04-14T14:56:57.579118Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mDefined experiments 🔬\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m[\u001b[0m\u001b[32m'senju'\u001b[0m\u001b[1m]\u001b[0m\n" ] } ], "source": [ "project.experiments.show_names()" ] }, { "cell_type": "code", "execution_count": 21, "id": "26", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:57.582502Z", "iopub.status.busy": "2026-04-14T14:56:57.582263Z", "iopub.status.idle": "2026-04-14T14:56:57.665505Z", "shell.execute_reply": "2026-04-14T14:56:57.662542Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "project.plotter.plot_meas_vs_calc(expt_name='senju')" ] }, { "cell_type": "markdown", "id": "27", "metadata": {}, "source": [ "## Step 5: Perform Analysis (ADP aniso)" ] }, { "cell_type": "code", "execution_count": 22, "id": "28", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:57.668991Z", "iopub.status.busy": "2026-04-14T14:56:57.668620Z", "iopub.status.idle": "2026-04-14T14:56:57.694364Z", "shell.execute_reply": "2026-04-14T14:56:57.693157Z" } }, "outputs": [], "source": [ "for atom_site in structure.atom_sites:\n", " atom_site.adp_type = 'Uani'" ] }, { "cell_type": "code", "execution_count": 23, "id": "29", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:57.699963Z", "iopub.status.busy": "2026-04-14T14:56:57.699582Z", "iopub.status.idle": "2026-04-14T14:56:57.716152Z", "shell.execute_reply": "2026-04-14T14:56:57.715307Z" } }, "outputs": [], "source": [ "adp_components = ('adp_11', 'adp_22', 'adp_33', 'adp_12', 'adp_13', 'adp_23')\n", "for atom_site in structure.atom_site_aniso:\n", " for component in adp_components:\n", " getattr(atom_site, component).free = True" ] }, { "cell_type": "code", "execution_count": 24, "id": "30", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:57.720345Z", "iopub.status.busy": "2026-04-14T14:56:57.720059Z", "iopub.status.idle": "2026-04-14T14:56:58.022972Z", "shell.execute_reply": "2026-04-14T14:56:58.022171Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;34m as cif\u001b[0m\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 CIF
1data_taurine
2
3_cell.length_a 5.27290000
4_cell.length_b 11.65650000
5_cell.length_c 7.83830000
6_cell.angle_alpha 90.00000000
7_cell.angle_beta 94.01100000
8_cell.angle_gamma 90.00000000
9
10_space_group.name_H-M_alt \"P 21/c\"
11_space_group.IT_coordinate_system_code b1
12
13loop_
14_atom_site.label
15_atom_site.type_symbol
16_atom_site.fract_x
17_atom_site.fract_y
18_atom_site.fract_z
19_atom_site.Wyckoff_letter
20_atom_site.occupancy
21_atom_site.U_iso_or_equiv
22_atom_site.adp_type
23S1 S 0.20435979() 0.34685242() 0.34816970() e 1.00000000 0.01445934 Uani
24O1 O 0.31805588() 0.24135919() 0.35208540() e 1.00000000 0.03535038 Uani
25O2 O 0.93957875() 0.33808583() 0.29278770() e 1.00000000 0.04730205 Uani
26O3 O 0.22477713() 0.40926796() 0.50709041() e 1.00000000 0.02716833 Uani
27N1 N 0.26374550() 0.62725769() 0.33258896() e 1.00000000 0.02714266 Uani
28H1 H 0.13636025() 0.58442260() 0.41593630() e 1.00000000 0.03163518 Uani
29H2 H 0.18739816() 0.71402443() 0.30783660() e 1.00000000 0.05397129 Uani
30H3 H 0.43206541() 0.62552851() 0.34823640() e 1.00000000 0.06255878 Uani
31C1 C 0.34786949() 0.44016053() 0.20245102() e 1.00000000 0.02130280 Uani
32H11 H 0.54660773() 0.43410601() 0.24034897() e 1.00000000 0.04388485 Uani
33H12 H 0.32640481() 0.37737050() 0.08506812() e 1.00000000 0.04105361 Uani
34C2 C 0.19487548() 0.55477396() 0.17857700() e 1.00000000 0.02377310 Uani
35H21 H 0.27216932() 0.59750565() 0.07371442() e 1.00000000 0.03003043 Uani
36H22 H 0.99978138() 0.55443440() 0.16674121() e 1.00000000 0.05641973 Uani
37
38loop_
39_atom_site_aniso.label
40_atom_site_aniso.U_11
41_atom_site_aniso.U_22
42_atom_site_aniso.U_33
43_atom_site_aniso.U_12
44_atom_site_aniso.U_13
45_atom_site_aniso.U_23
46S1 0.01445934() 0.01445934() 0.01445934() 0.00000000() 0.00000000() 0.00000000()
47O1 0.03535038() 0.03535038() 0.03535038() 0.00000000() 0.00000000() 0.00000000()
48O2 0.04730205() 0.04730205() 0.04730205() 0.00000000() 0.00000000() 0.00000000()
49O3 0.02716833() 0.02716833() 0.02716833() 0.00000000() 0.00000000() 0.00000000()
50N1 0.02714266() 0.02714266() 0.02714266() 0.00000000() 0.00000000() 0.00000000()
51H1 0.03163518() 0.03163518() 0.03163518() 0.00000000() 0.00000000() 0.00000000()
52H2 0.05397129() 0.05397129() 0.05397129() 0.00000000() 0.00000000() 0.00000000()
53H3 0.06255878() 0.06255878() 0.06255878() 0.00000000() 0.00000000() 0.00000000()
54C1 0.02130280() 0.02130280() 0.02130280() 0.00000000() 0.00000000() 0.00000000()
55H11 0.04388485() 0.04388485() 0.04388485() 0.00000000() 0.00000000() 0.00000000()
56H12 0.04105361() 0.04105361() 0.04105361() 0.00000000() 0.00000000() 0.00000000()
57C2 0.02377310() 0.02377310() 0.02377310() 0.00000000() 0.00000000() 0.00000000()
58H21 0.03003043() 0.03003043() 0.03003043() 0.00000000() 0.00000000() 0.00000000()
59H22 0.05641973() 0.05641973() 0.05641973() 0.00000000() 0.00000000() 0.00000000()
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "structure.show_as_cif()" ] }, { "cell_type": "code", "execution_count": 25, "id": "31", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:58.027044Z", "iopub.status.busy": "2026-04-14T14:56:58.026822Z", "iopub.status.idle": "2026-04-14T14:56:58.395090Z", "shell.execute_reply": "2026-04-14T14:56:58.394183Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mFree parameters for both structures \u001b[0m\u001b[1;34m(\u001b[0m\u001b[1;34m🧩 data blocks\u001b[0m\u001b[1;34m)\u001b[0m\u001b[1;34m and experiments \u001b[0m\u001b[1;34m(\u001b[0m\u001b[1;34m🔬 data blocks\u001b[0m\u001b[1;34m)\u001b[0m\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 datablockcategoryentryparametervalueuncertaintyminmaxunits
1taurineatom_siteS1fract_x0.20436-infinf
2taurineatom_siteS1fract_y0.34685-infinf
3taurineatom_siteS1fract_z0.34817-infinf
4taurineatom_siteO1fract_x0.31806-infinf
5taurineatom_siteO1fract_y0.24136-infinf
6taurineatom_siteO1fract_z0.35209-infinf
7taurineatom_siteO2fract_x0.93958-infinf
8taurineatom_siteO2fract_y0.33809-infinf
9taurineatom_siteO2fract_z0.29279-infinf
10taurineatom_siteO3fract_x0.22478-infinf
11taurineatom_siteO3fract_y0.40927-infinf
12taurineatom_siteO3fract_z0.50709-infinf
13taurineatom_siteN1fract_x0.26375-infinf
14taurineatom_siteN1fract_y0.62726-infinf
15taurineatom_siteN1fract_z0.33259-infinf
16taurineatom_siteH1fract_x0.13636-infinf
17taurineatom_siteH1fract_y0.58442-infinf
18taurineatom_siteH1fract_z0.41594-infinf
19taurineatom_siteH2fract_x0.18740-infinf
20taurineatom_siteH2fract_y0.71402-infinf
21taurineatom_siteH2fract_z0.30784-infinf
22taurineatom_siteH3fract_x0.43207-infinf
23taurineatom_siteH3fract_y0.62553-infinf
24taurineatom_siteH3fract_z0.34824-infinf
25taurineatom_siteC1fract_x0.34787-infinf
26taurineatom_siteC1fract_y0.44016-infinf
27taurineatom_siteC1fract_z0.20245-infinf
28taurineatom_siteH11fract_x0.54661-infinf
29taurineatom_siteH11fract_y0.43411-infinf
30taurineatom_siteH11fract_z0.24035-infinf
31taurineatom_siteH12fract_x0.32640-infinf
32taurineatom_siteH12fract_y0.37737-infinf
33taurineatom_siteH12fract_z0.08507-infinf
34taurineatom_siteC2fract_x0.19488-infinf
35taurineatom_siteC2fract_y0.55477-infinf
36taurineatom_siteC2fract_z0.17858-infinf
37taurineatom_siteH21fract_x0.27217-infinf
38taurineatom_siteH21fract_y0.59751-infinf
39taurineatom_siteH21fract_z0.07371-infinf
40taurineatom_siteH22fract_x0.99978-infinf
41taurineatom_siteH22fract_y0.55443-infinf
42taurineatom_siteH22fract_z0.16674-infinf
43taurineatom_site_anisoS1adp_110.01446-infinfŲ
44taurineatom_site_anisoS1adp_220.01446-infinfŲ
45taurineatom_site_anisoS1adp_330.01446-infinfŲ
46taurineatom_site_anisoS1adp_120.00000-infinfŲ
47taurineatom_site_anisoS1adp_130.00000-infinfŲ
48taurineatom_site_anisoS1adp_230.00000-infinfŲ
49taurineatom_site_anisoO1adp_110.03535-infinfŲ
50taurineatom_site_anisoO1adp_220.03535-infinfŲ
51taurineatom_site_anisoO1adp_330.03535-infinfŲ
52taurineatom_site_anisoO1adp_120.00000-infinfŲ
53taurineatom_site_anisoO1adp_130.00000-infinfŲ
54taurineatom_site_anisoO1adp_230.00000-infinfŲ
55taurineatom_site_anisoO2adp_110.04730-infinfŲ
56taurineatom_site_anisoO2adp_220.04730-infinfŲ
57taurineatom_site_anisoO2adp_330.04730-infinfŲ
58taurineatom_site_anisoO2adp_120.00000-infinfŲ
59taurineatom_site_anisoO2adp_130.00000-infinfŲ
60taurineatom_site_anisoO2adp_230.00000-infinfŲ
61taurineatom_site_anisoO3adp_110.02717-infinfŲ
62taurineatom_site_anisoO3adp_220.02717-infinfŲ
63taurineatom_site_anisoO3adp_330.02717-infinfŲ
64taurineatom_site_anisoO3adp_120.00000-infinfŲ
65taurineatom_site_anisoO3adp_130.00000-infinfŲ
66taurineatom_site_anisoO3adp_230.00000-infinfŲ
67taurineatom_site_anisoN1adp_110.02714-infinfŲ
68taurineatom_site_anisoN1adp_220.02714-infinfŲ
69taurineatom_site_anisoN1adp_330.02714-infinfŲ
70taurineatom_site_anisoN1adp_120.00000-infinfŲ
71taurineatom_site_anisoN1adp_130.00000-infinfŲ
72taurineatom_site_anisoN1adp_230.00000-infinfŲ
73taurineatom_site_anisoH1adp_110.03164-infinfŲ
74taurineatom_site_anisoH1adp_220.03164-infinfŲ
75taurineatom_site_anisoH1adp_330.03164-infinfŲ
76taurineatom_site_anisoH1adp_120.00000-infinfŲ
77taurineatom_site_anisoH1adp_130.00000-infinfŲ
78taurineatom_site_anisoH1adp_230.00000-infinfŲ
79taurineatom_site_anisoH2adp_110.05397-infinfŲ
80taurineatom_site_anisoH2adp_220.05397-infinfŲ
81taurineatom_site_anisoH2adp_330.05397-infinfŲ
82taurineatom_site_anisoH2adp_120.00000-infinfŲ
83taurineatom_site_anisoH2adp_130.00000-infinfŲ
84taurineatom_site_anisoH2adp_230.00000-infinfŲ
85taurineatom_site_anisoH3adp_110.06256-infinfŲ
86taurineatom_site_anisoH3adp_220.06256-infinfŲ
87taurineatom_site_anisoH3adp_330.06256-infinfŲ
88taurineatom_site_anisoH3adp_120.00000-infinfŲ
89taurineatom_site_anisoH3adp_130.00000-infinfŲ
90taurineatom_site_anisoH3adp_230.00000-infinfŲ
91taurineatom_site_anisoC1adp_110.02130-infinfŲ
92taurineatom_site_anisoC1adp_220.02130-infinfŲ
93taurineatom_site_anisoC1adp_330.02130-infinfŲ
94taurineatom_site_anisoC1adp_120.00000-infinfŲ
95taurineatom_site_anisoC1adp_130.00000-infinfŲ
96taurineatom_site_anisoC1adp_230.00000-infinfŲ
97taurineatom_site_anisoH11adp_110.04388-infinfŲ
98taurineatom_site_anisoH11adp_220.04388-infinfŲ
99taurineatom_site_anisoH11adp_330.04388-infinfŲ
100taurineatom_site_anisoH11adp_120.00000-infinfŲ
101taurineatom_site_anisoH11adp_130.00000-infinfŲ
102taurineatom_site_anisoH11adp_230.00000-infinfŲ
103taurineatom_site_anisoH12adp_110.04105-infinfŲ
104taurineatom_site_anisoH12adp_220.04105-infinfŲ
105taurineatom_site_anisoH12adp_330.04105-infinfŲ
106taurineatom_site_anisoH12adp_120.00000-infinfŲ
107taurineatom_site_anisoH12adp_130.00000-infinfŲ
108taurineatom_site_anisoH12adp_230.00000-infinfŲ
109taurineatom_site_anisoC2adp_110.02377-infinfŲ
110taurineatom_site_anisoC2adp_220.02377-infinfŲ
111taurineatom_site_anisoC2adp_330.02377-infinfŲ
112taurineatom_site_anisoC2adp_120.00000-infinfŲ
113taurineatom_site_anisoC2adp_130.00000-infinfŲ
114taurineatom_site_anisoC2adp_230.00000-infinfŲ
115taurineatom_site_anisoH21adp_110.03003-infinfŲ
116taurineatom_site_anisoH21adp_220.03003-infinfŲ
117taurineatom_site_anisoH21adp_330.03003-infinfŲ
118taurineatom_site_anisoH21adp_120.00000-infinfŲ
119taurineatom_site_anisoH21adp_130.00000-infinfŲ
120taurineatom_site_anisoH21adp_230.00000-infinfŲ
121taurineatom_site_anisoH22adp_110.05642-infinfŲ
122taurineatom_site_anisoH22adp_220.05642-infinfŲ
123taurineatom_site_anisoH22adp_330.05642-infinfŲ
124taurineatom_site_anisoH22adp_120.00000-infinfŲ
125taurineatom_site_anisoH22adp_130.00000-infinfŲ
126taurineatom_site_anisoH22adp_230.00000-infinfŲ
127senjuextinctionradius2.01590-infinfμm
128senjulinked_crystalscale1.35168-infinf
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "project.analysis.display.free_params()" ] }, { "cell_type": "code", "execution_count": 26, "id": "32", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:56:58.401972Z", "iopub.status.busy": "2026-04-14T14:56:58.401736Z", "iopub.status.idle": "2026-04-14T14:57:56.027750Z", "shell.execute_reply": "2026-04-14T14:57:56.027003Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mStandard fitting\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📋 Using experiment 🔬 \u001b[32m'senju'\u001b[0m for \u001b[32m'single'\u001b[0m fitting\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "🚀 Starting fit process with \u001b[32m'lmfit \u001b[0m\u001b[32m(\u001b[0m\u001b[32mleastsq\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m\u001b[33m...\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📈 Goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m change:\n" ] }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 iterationχ²improvement [%]
1138.39
213324.6035.9% ↓
326216.0035.0% ↓
439114.3110.6% ↓
55209.5833.0% ↓
66499.105.0% ↓
77788.971.5% ↓
810035649.85
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "🏆 Best goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m is \u001b[1;36m8.88\u001b[0m at iteration \u001b[1;36m921\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Fitting complete.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Parameter 'taurine.atom_site_aniso.S1.adp_11' (-0.02223835) is below its physical lower limit (0.0). \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Parameter 'taurine.atom_site_aniso.H1.adp_22' (-0.00095525) is below its physical lower limit (0.0). \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Parameter 'taurine.atom_site_aniso.H3.adp_11' (-0.00904052) is below its physical lower limit (0.0). \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Parameter 'taurine.atom_site_aniso.H11.adp_22' (-0.00322706) is below its physical lower limit (0.0). \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Parameter 'taurine.atom_site_aniso.C2.adp_11' (-0.00153803) is below its physical lower limit (0.0). \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Parameter 'taurine.atom_site_aniso.H22.adp_11' (-0.01611127) is below its physical lower limit (0.0). \n" ] } ], "source": [ "project.analysis.fit()" ] }, { "cell_type": "code", "execution_count": 27, "id": "33", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:57:56.031379Z", "iopub.status.busy": "2026-04-14T14:57:56.031067Z", "iopub.status.idle": "2026-04-14T14:57:57.387592Z", "shell.execute_reply": "2026-04-14T14:57:57.385623Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mFit results\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "❌ Success: \u001b[3;91mFalse\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "⏱️ Fitting time: \u001b[1;36m57.03\u001b[0m seconds\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 Goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m: \u001b[1;36m8.88\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 R-factor \u001b[1m(\u001b[0mRf\u001b[1m)\u001b[0m: \u001b[1;36m49.96\u001b[0m%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 R-factor squared \u001b[1m(\u001b[0mRf²\u001b[1m)\u001b[0m: \u001b[1;36m37.97\u001b[0m%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📏 Weighted R-factor \u001b[1m(\u001b[0mwR\u001b[1m)\u001b[0m: \u001b[1;36m29.09\u001b[0m%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📈 Fitted parameters:\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 datablockcategoryentryparameterstartfitteduncertaintyunitschange
1taurineatom_siteS1fract_x0.20440.0000N/A100.00 % ↓
2taurineatom_siteS1fract_y0.34690.0000N/A100.00 % ↓
3taurineatom_siteS1fract_z0.34820.0000N/AN/A
4taurineatom_siteO1fract_x0.31810.0000N/AN/A
5taurineatom_siteO1fract_y0.24140.2409N/A0.20 % ↓
6taurineatom_siteO1fract_z0.35210.3525N/A0.11 % ↑
7taurineatom_siteO2fract_x0.93960.9459N/A0.68 % ↑
8taurineatom_siteO2fract_y0.33810.3395N/A0.42 % ↑
9taurineatom_siteO2fract_z0.29280.2957N/A1.01 % ↑
10taurineatom_siteO3fract_x0.22480.2324N/A3.39 % ↑
11taurineatom_siteO3fract_y0.40930.4142N/A1.19 % ↑
12taurineatom_siteO3fract_z0.50710.5107N/A0.70 % ↑
13taurineatom_siteN1fract_x0.26370.2570N/A2.57 % ↓
14taurineatom_siteN1fract_y0.62730.6269N/A0.06 % ↓
15taurineatom_siteN1fract_z0.33260.3308N/A0.54 % ↓
16taurineatom_siteH1fract_x0.13640.1433N/A5.11 % ↑
17taurineatom_siteH1fract_y0.58440.5898N/A0.92 % ↑
18taurineatom_siteH1fract_z0.41590.4229N/A1.66 % ↑
19taurineatom_siteH2fract_x0.18740.1686N/A10.01 % ↓
20taurineatom_siteH2fract_y0.71400.6970N/A2.38 % ↓
21taurineatom_siteH2fract_z0.30780.2982N/A3.13 % ↓
22taurineatom_siteH3fract_x0.43210.4358N/A0.87 % ↑
23taurineatom_siteH3fract_y0.62550.6329N/A1.18 % ↑
24taurineatom_siteH3fract_z0.34820.3629N/A4.21 % ↑
25taurineatom_siteC1fract_x0.34790.3551N/A2.09 % ↑
26taurineatom_siteC1fract_y0.44020.4412N/A0.23 % ↑
27taurineatom_siteC1fract_z0.20250.2024N/A0.03 % ↓
28taurineatom_siteH11fract_x0.54660.5203N/A4.81 % ↓
29taurineatom_siteH11fract_y0.43410.4450N/A2.51 % ↑
30taurineatom_siteH11fract_z0.24030.2338N/A2.73 % ↓
31taurineatom_siteH12fract_x0.32640.3238N/A0.79 % ↓
32taurineatom_siteH12fract_y0.37740.3776N/A0.06 % ↑
33taurineatom_siteH12fract_z0.08510.0849N/A0.24 % ↓
34taurineatom_siteC2fract_x0.19490.2058N/A5.59 % ↑
35taurineatom_siteC2fract_y0.55480.5582N/A0.62 % ↑
36taurineatom_siteC2fract_z0.17860.1780N/A0.31 % ↓
37taurineatom_siteH21fract_x0.27220.2717N/A0.19 % ↓
38taurineatom_siteH21fract_y0.59750.6027N/A0.87 % ↑
39taurineatom_siteH21fract_z0.07370.0717N/A2.77 % ↓
40taurineatom_siteH22fract_x0.99981.0040N/A0.42 % ↑
41taurineatom_siteH22fract_y0.55440.5597N/A0.96 % ↑
42taurineatom_siteH22fract_z0.16670.1650N/A1.03 % ↓
43taurineatom_site_anisoS1adp_110.0145-0.0222N/AŲ253.80 % ↓
44taurineatom_site_anisoS1adp_220.01450.0122N/AŲ15.68 % ↓
45taurineatom_site_anisoS1adp_330.01450.0351N/AŲ143.03 % ↑
46taurineatom_site_anisoS1adp_120.0000-0.0155N/AŲN/A
47taurineatom_site_anisoS1adp_130.00000.0054N/AŲN/A
48taurineatom_site_anisoS1adp_230.0000-0.0017N/AŲN/A
49taurineatom_site_anisoO1adp_110.03540.0539N/AŲ52.58 % ↑
50taurineatom_site_anisoO1adp_220.03540.0511N/AŲ44.46 % ↑
51taurineatom_site_anisoO1adp_330.03540.0470N/AŲ32.83 % ↑
52taurineatom_site_anisoO1adp_120.0000-0.0195N/AŲN/A
53taurineatom_site_anisoO1adp_130.00000.0144N/AŲN/A
54taurineatom_site_anisoO1adp_230.0000-0.0018N/AŲN/A
55taurineatom_site_anisoO2adp_110.04730.0205N/AŲ56.74 % ↓
56taurineatom_site_anisoO2adp_220.04730.0095N/AŲ80.01 % ↓
57taurineatom_site_anisoO2adp_330.04730.0612N/AŲ29.31 % ↑
58taurineatom_site_anisoO2adp_120.00000.0027N/AŲN/A
59taurineatom_site_anisoO2adp_130.00000.0132N/AŲN/A
60taurineatom_site_anisoO2adp_230.00000.0006N/AŲN/A
61taurineatom_site_anisoO3adp_110.02720.0379N/AŲ39.38 % ↑
62taurineatom_site_anisoO3adp_220.02720.0540N/AŲ98.68 % ↑
63taurineatom_site_anisoO3adp_330.02720.0165N/AŲ39.38 % ↓
64taurineatom_site_anisoO3adp_120.00000.0107N/AŲN/A
65taurineatom_site_anisoO3adp_130.0000-0.0047N/AŲN/A
66taurineatom_site_anisoO3adp_230.0000-0.0059N/AŲN/A
67taurineatom_site_anisoN1adp_110.02710.0086N/AŲ68.15 % ↓
68taurineatom_site_anisoN1adp_220.02710.0380N/AŲ39.98 % ↑
69taurineatom_site_anisoN1adp_330.02710.0332N/AŲ22.46 % ↑
70taurineatom_site_anisoN1adp_120.00000.0039N/AŲN/A
71taurineatom_site_anisoN1adp_130.00000.0045N/AŲN/A
72taurineatom_site_anisoN1adp_230.0000-0.0010N/AŲN/A
73taurineatom_site_anisoH1adp_110.03160.0623N/AŲ96.98 % ↑
74taurineatom_site_anisoH1adp_220.0316-0.0010N/AŲ103.02 % ↓
75taurineatom_site_anisoH1adp_330.03160.0638N/AŲ101.54 % ↑
76taurineatom_site_anisoH1adp_120.0000-0.0275N/AŲN/A
77taurineatom_site_anisoH1adp_130.00000.0415N/AŲN/A
78taurineatom_site_anisoH1adp_230.0000-0.0082N/AŲN/A
79taurineatom_site_anisoH2adp_110.05400.0835N/AŲ54.70 % ↑
80taurineatom_site_anisoH2adp_220.05400.1015N/AŲ87.97 % ↑
81taurineatom_site_anisoH2adp_330.05400.0337N/AŲ37.64 % ↓
82taurineatom_site_anisoH2adp_120.00000.0506N/AŲN/A
83taurineatom_site_anisoH2adp_130.0000-0.0045N/AŲN/A
84taurineatom_site_anisoH2adp_230.00000.0196N/AŲN/A
85taurineatom_site_anisoH3adp_110.0626-0.0090N/AŲ114.45 % ↓
86taurineatom_site_anisoH3adp_220.06260.1494N/AŲ138.81 % ↑
87taurineatom_site_anisoH3adp_330.06260.1066N/AŲ70.41 % ↑
88taurineatom_site_anisoH3adp_120.0000-0.0680N/AŲN/A
89taurineatom_site_anisoH3adp_130.0000-0.0162N/AŲN/A
90taurineatom_site_anisoH3adp_230.0000-0.0108N/AŲN/A
91taurineatom_site_anisoC1adp_110.02130.0407N/AŲ91.23 % ↑
92taurineatom_site_anisoC1adp_220.02130.0120N/AŲ43.62 % ↓
93taurineatom_site_anisoC1adp_330.02130.0176N/AŲ17.18 % ↓
94taurineatom_site_anisoC1adp_120.00000.0044N/AŲN/A
95taurineatom_site_anisoC1adp_130.00000.0004N/AŲN/A
96taurineatom_site_anisoC1adp_230.0000-0.0040N/AŲN/A
97taurineatom_site_anisoH11adp_110.04390.1750N/AŲ298.75 % ↑
98taurineatom_site_anisoH11adp_220.0439-0.0032N/AŲ107.35 % ↓
99taurineatom_site_anisoH11adp_330.04390.0861N/AŲ96.29 % ↑
100taurineatom_site_anisoH11adp_120.00000.0669N/AŲN/A
101taurineatom_site_anisoH11adp_130.00000.0994N/AŲN/A
102taurineatom_site_anisoH11adp_230.00000.0272N/AŲN/A
103taurineatom_site_anisoH12adp_110.04110.0595N/AŲ44.83 % ↑
104taurineatom_site_anisoH12adp_220.04110.1421N/AŲ246.18 % ↑
105taurineatom_site_anisoH12adp_330.04110.0225N/AŲ45.09 % ↓
106taurineatom_site_anisoH12adp_120.00000.0332N/AŲN/A
107taurineatom_site_anisoH12adp_130.00000.0048N/AŲN/A
108taurineatom_site_anisoH12adp_230.00000.0092N/AŲN/A
109taurineatom_site_anisoC2adp_110.0238-0.0015N/AŲ106.47 % ↓
110taurineatom_site_anisoC2adp_220.02380.0577N/AŲ142.73 % ↑
111taurineatom_site_anisoC2adp_330.02380.0229N/AŲ3.69 % ↓
112taurineatom_site_anisoC2adp_120.0000-0.0044N/AŲN/A
113taurineatom_site_anisoC2adp_130.0000-0.0057N/AŲN/A
114taurineatom_site_anisoC2adp_230.00000.0032N/AŲN/A
115taurineatom_site_anisoH21adp_110.03000.1000N/AŲ232.95 % ↑
116taurineatom_site_anisoH21adp_220.03000.0355N/AŲ18.36 % ↑
117taurineatom_site_anisoH21adp_330.03000.0406N/AŲ35.32 % ↑
118taurineatom_site_anisoH21adp_120.0000-0.0565N/AŲN/A
119taurineatom_site_anisoH21adp_130.00000.0197N/AŲN/A
120taurineatom_site_anisoH21adp_230.00000.0041N/AŲN/A
121taurineatom_site_anisoH22adp_110.0564-0.0161N/AŲ128.56 % ↓
122taurineatom_site_anisoH22adp_220.05640.0427N/AŲ24.34 % ↓
123taurineatom_site_anisoH22adp_330.05640.0786N/AŲ39.37 % ↑
124taurineatom_site_anisoH22adp_120.00000.0173N/AŲN/A
125taurineatom_site_anisoH22adp_130.0000-0.0255N/AŲN/A
126taurineatom_site_anisoH22adp_230.0000-0.0229N/AŲN/A
127senjuextinctionradius2.01598.7731N/Aμm335.19 % ↑
128senjulinked_crystalscale1.35171.6222N/A20.01 % ↑
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "⚠️ \u001b[31mRed fitted value:\u001b[0m outside expected physical limits (consider adding constraints) \n" ] } ], "source": [ "project.analysis.display.fit_results()" ] }, { "cell_type": "code", "execution_count": 28, "id": "34", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:57:57.392320Z", "iopub.status.busy": "2026-04-14T14:57:57.389420Z", "iopub.status.idle": "2026-04-14T14:57:57.399060Z", "shell.execute_reply": "2026-04-14T14:57:57.398173Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "⚠️ Correlation matrix is unavailable for this fit. Use the lmfit minimizer and ensure covariance estimation succeeds. \n" ] } ], "source": [ "project.plotter.plot_param_correlations()" ] }, { "cell_type": "code", "execution_count": 29, "id": "35", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:57:57.401597Z", "iopub.status.busy": "2026-04-14T14:57:57.401390Z", "iopub.status.idle": "2026-04-14T14:57:57.470517Z", "shell.execute_reply": "2026-04-14T14:57:57.468977Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "project.plotter.plot_meas_vs_calc(expt_name='senju')" ] }, { "cell_type": "code", "execution_count": 30, "id": "36", "metadata": { "execution": { "iopub.execute_input": "2026-04-14T14:57:57.473218Z", "iopub.status.busy": "2026-04-14T14:57:57.472576Z", "iopub.status.idle": "2026-04-14T14:57:57.721042Z", "shell.execute_reply": "2026-04-14T14:57:57.720021Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1;34mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;34m as cif\u001b[0m\n" ] }, { "data": { "application/javascript": [ "\n", " (function() {\n", " var isDark = false;\n", "\n", " // Check JupyterLab theme\n", " if (document.body.classList.contains('jp-mod-dark') || \n", " document.body.classList.contains('theme-dark') ||\n", " document.body.classList.contains('vscode-dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check theme attribute\n", " var themeAttr = document.body.getAttribute('data-jp-theme-name');\n", " if (themeAttr && themeAttr.includes('dark')) {\n", " isDark = true;\n", " }\n", "\n", " // Check computed background color\n", " var notebookEl = document.querySelector('.jp-Notebook') || \n", " document.querySelector('.notebook_app') ||\n", " document.body;\n", " if (notebookEl) {\n", " var bgColor = window.getComputedStyle(notebookEl).backgroundColor;\n", " var rgb = bgColor.match(/\\d+/g);\n", " if (rgb && rgb.length >= 3) {\n", " var brightness = (parseInt(rgb[0]) + parseInt(rgb[1]) + parseInt(rgb[2])) / 3;\n", " if (brightness < 128) {\n", " isDark = true;\n", " }\n", " }\n", " }\n", "\n", " // Store result\n", " if (typeof IPython !== 'undefined' && IPython.notebook && IPython.notebook.kernel) {\n", " IPython.notebook.kernel.execute('_jupyter_dark_detect_result = ' + isDark);\n", " }\n", " })();\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", " if (typeof IPython !== 'undefined' && IPython.notebook) {\n", " IPython.notebook.kernel.execute(\"_jupyter_dark_detect_result = \" + \n", " (document.body.classList.contains('theme-dark') || \n", " document.body.classList.contains('jp-mod-dark') ||\n", " (document.body.getAttribute('data-jp-theme-name') && \n", " document.body.getAttribute('data-jp-theme-name').includes('dark'))));\n", " }\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 CIF
1data_taurine
2
3_cell.length_a 5.27290000
4_cell.length_b 11.65650000
5_cell.length_c 7.83830000
6_cell.angle_alpha 90.00000000
7_cell.angle_beta 94.01100000
8_cell.angle_gamma 90.00000000
9
10_space_group.name_H-M_alt \"P 21/c\"
11_space_group.IT_coordinate_system_code b1
12
13loop_
14_atom_site.label
15_atom_site.type_symbol
16_atom_site.fract_x
17_atom_site.fract_y
18_atom_site.fract_z
19_atom_site.Wyckoff_letter
20_atom_site.occupancy
21_atom_site.U_iso_or_equiv
22_atom_site.adp_type
23S1 S 0.00000000() 0.00000000() 0.00000000() e 1.00000000 0.00836465 Uani
24O1 O 0.00000000() 0.24088523() 0.35245565() e 1.00000000 0.05065337 Uani
25O2 O 0.94594091() 0.33951940() 0.29573061() e 1.00000000 0.03036067 Uani
26O3 O 0.23240086() 0.41415861() 0.51065687() e 1.00000000 0.03610452 Uani
27N1 N 0.25696713() 0.62690168() 0.33077980() e 1.00000000 0.02662629 Uani
28H1 H 0.14332385() 0.58980607() 0.42285223() e 1.00000000 0.04170629 Uani
29H2 H 0.16863281() 0.69702174() 0.29820159() e 1.00000000 0.07286808 Uani
30H3 H 0.43583115() 0.63292140() 0.36289286() e 1.00000000 0.08231988 Uani
31C1 C 0.35513102() 0.44116656() 0.20238221() e 1.00000000 0.02346404 Uani
32H11 H 0.52032055() 0.44500014() 0.23379243() e 1.00000000 0.08596784 Uani
33H12 H 0.32383074() 0.37759397() 0.08486623() e 1.00000000 0.07470661 Uani
34C2 C 0.20576669() 0.55819824() 0.17803219() e 1.00000000 0.02635411 Uani
35H21 H 0.27166013() 0.60268895() 0.07167063() e 1.00000000 0.05872228 Uani
36H22 H 1.00396601() 0.55973251() 0.16502313() e 1.00000000 0.03507002 Uani
37
38loop_
39_atom_site_aniso.label
40_atom_site_aniso.U_11
41_atom_site_aniso.U_22
42_atom_site_aniso.U_33
43_atom_site_aniso.U_12
44_atom_site_aniso.U_13
45_atom_site_aniso.U_23
46S1 -0.02223835() 0.01219193() 0.03514036() -0.01546471() 0.00539581() -0.00166425()
47O1 0.05393696() 0.05106816() 0.04695498() -0.01946728() 0.01438754() -0.00180620()
48O2 0.02046202() 0.00945439() 0.06116561() 0.00266856() 0.01315696() 0.00061963()
49O3 0.03786699() 0.05397759() 0.01646899() 0.01069631() -0.00470385() -0.00587536()
50N1 0.00864554() 0.03799397() 0.03323936() 0.00392830() 0.00452819() -0.00103891()
51H1 0.06231647() -0.00095525() 0.06375764() -0.02752084() 0.04152511() -0.00821223()
52H2 0.08349522() 0.10145135() 0.03365765() 0.05060330() -0.00445044() 0.01960713()
53H3 -0.00904052() 0.14939536() 0.10660481() -0.06798367() -0.01619589() -0.01082730()
54C1 0.04073814() 0.01201079() 0.01764318() 0.00435764() 0.00035072() -0.00400308()
55H11 0.17498888() -0.00322706() 0.08614171() 0.06693726() 0.09939752() 0.02717756()
56H12 0.05945894() 0.14211880() 0.02254210() 0.03315763() 0.00483620() 0.00918154()
57C2 -0.00153803() 0.05770478() 0.02289560() -0.00443173() -0.00570371() 0.00318423()
58H21 0.09998496() 0.03554367() 0.04063820() -0.05652886() 0.01973595() 0.00409792()
59H22 -0.01611127() 0.04268867() 0.07863266() 0.01728118() -0.02552980() -0.02294091()
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "structure.show_as_cif()" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", "main_language": "python", "notebook_metadata_filter": "-all" }, "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.14.4" } }, "nbformat": 4, "nbformat_minor": 5 }