{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "0",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:54.064320Z",
"iopub.status.busy": "2026-09-22T20:57:54.064079Z",
"iopub.status.idle": "2026-09-22T20:57:54.068766Z",
"shell.execute_reply": "2026-09-22T20:57:54.068043Z"
},
"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.21.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-09-22T20:57:54.070698Z",
"iopub.status.busy": "2026-09-22T20:57:54.070487Z",
"iopub.status.idle": "2026-09-22T20:57:56.922623Z",
"shell.execute_reply": "2026-09-22T20:57:56.921696Z"
}
},
"outputs": [],
"source": [
"import easydiffraction as edi"
]
},
{
"cell_type": "markdown",
"id": "4",
"metadata": {},
"source": [
"## 📦 Define Project"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "5",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:56.924818Z",
"iopub.status.busy": "2026-09-22T20:57:56.924397Z",
"iopub.status.idle": "2026-09-22T20:57:57.139814Z",
"shell.execute_reply": "2026-09-22T20:57:57.138852Z"
}
},
"outputs": [],
"source": [
"# Create a minimal project with a short name\n",
"project = edi.Project(name='taurine_senju')"
]
},
{
"cell_type": "markdown",
"id": "6",
"metadata": {},
"source": [
"## 🧩 Define Structure"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "7",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.141696Z",
"iopub.status.busy": "2026-09-22T20:57:57.141497Z",
"iopub.status.idle": "2026-09-22T20:57:57.329407Z",
"shell.execute_reply": "2026-09-22T20:57:57.328427Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mGetting data\u001b[0m\u001b[1;36m...\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data \u001b[32m'struct-taurine'\u001b[0m: Taurine \u001b[1m(\u001b[0mcrystal structure\u001b[1m)\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"✅ Data \u001b[32m'struct-taurine'\u001b[0m downloaded to \u001b[32m'../../../data/struct-taurine.cif'\u001b[0m\n"
]
}
],
"source": [
"# Download CIF file from repository\n",
"structure_path = edi.download_data('struct-taurine', destination='data')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.332131Z",
"iopub.status.busy": "2026-09-22T20:57:57.331596Z",
"iopub.status.idle": "2026-09-22T20:57:57.392143Z",
"shell.execute_reply": "2026-09-22T20:57:57.391227Z"
}
},
"outputs": [],
"source": [
"project.structures.add_from_cif_path(structure_path)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "9",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.394401Z",
"iopub.status.busy": "2026-09-22T20:57:57.394119Z",
"iopub.status.idle": "2026-09-22T20:57:57.399962Z",
"shell.execute_reply": "2026-09-22T20:57:57.399261Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mDefined 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-09-22T20:57:57.401865Z",
"iopub.status.busy": "2026-09-22T20:57:57.401645Z",
"iopub.status.idle": "2026-09-22T20:57:57.404686Z",
"shell.execute_reply": "2026-09-22T20:57:57.403898Z"
}
},
"outputs": [],
"source": [
"structure = project.structures['taurine']"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "11",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.406451Z",
"iopub.status.busy": "2026-09-22T20:57:57.406283Z",
"iopub.status.idle": "2026-09-22T20:57:57.445527Z",
"shell.execute_reply": "2026-09-22T20:57:57.444529Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;36m as text\u001b[0m\n"
]
},
{
"data": {
"text/html": [
"
| Edi |
|---|
| 1 | data_taurine |
|---|
| 2 | |
|---|
| 3 | _cell.length_a 5.2729 |
|---|
| 4 | _cell.length_b 11.6565 |
|---|
| 5 | _cell.length_c 7.8383 |
|---|
| 6 | _cell.angle_alpha 90. |
|---|
| 7 | _cell.angle_beta 94.011 |
|---|
| 8 | _cell.angle_gamma 90. |
|---|
| 9 | |
|---|
| 10 | _space_group.name_h_m "P 21/c" |
|---|
| 11 | _space_group.coord_system_code b1 |
|---|
| 12 | |
|---|
| 13 | _geom.min_bond_distance_cutoff 0. |
|---|
| 14 | _geom.bond_distance_inc 0.25 |
|---|
| 15 | |
|---|
| 16 | loop_ |
|---|
| 17 | _atom_site.id |
|---|
| 18 | _atom_site.type_symbol |
|---|
| 19 | _atom_site.fract_x |
|---|
| 20 | _atom_site.fract_y |
|---|
| 21 | _atom_site.fract_z |
|---|
| 22 | _atom_site.wyckoff_letter |
|---|
| 23 | _atom_site.multiplicity |
|---|
| 24 | _atom_site.occupancy |
|---|
| 25 | _atom_site.adp_iso |
|---|
| 26 | _atom_site.adp_type |
|---|
| 27 | S1 S 0.2000(10) 0.3500(10) 0.3500(10) e 4 1. 1.57910(10) Biso |
|---|
| 28 | O1 O 0.3130(10) 0.2400(10) 0.3510(10) e 4 1. 2.76350(10) Biso |
|---|
| 29 | O2 O 0.9380(10) 0.3370(10) 0.2940(10) e 4 1. 3.63200(10) Biso |
|---|
| 30 | O3 O 0.2220(10) 0.4120(10) 0.5070(10) e 4 1. 1.89500(10) Biso |
|---|
| 31 | N1 N 0.2640(10) 0.6280(10) 0.3310(10) e 4 1. 2.13180(10) Biso |
|---|
| 32 | H1 H 0.1330(10) 0.5880(10) 0.4210(10) e 4 1. 3.39510(10) Biso |
|---|
| 33 | H2 H 0.1910(10) 0.7150(10) 0.3120(10) e 4 1. 4.57950(10) Biso |
|---|
| 34 | H3 H 0.4400(10) 0.6240(10) 0.3490(10) e 4 1. 4.65850(10) Biso |
|---|
| 35 | C1 C 0.3440(10) 0.4400(10) 0.2020(10) e 4 1. 1.73710(10) Biso |
|---|
| 36 | H11 H 0.5520(10) 0.4330(10) 0.2430(10) e 4 1. 3.39510(10) Biso |
|---|
| 37 | H12 H 0.3200(10) 0.3880(10) 0.0810(10) e 4 1. 3.31620(10) Biso |
|---|
| 38 | C2 C 0.2000(10) 0.5570(10) 0.1820(10) e 4 1. 1.73710(10) Biso |
|---|
| 39 | H21 H 0.2760(10) 0.6000(10) 0.0770(10) e 4 1. 2.13180(10) Biso |
|---|
| 40 | H22 H 0.9990(10) 0.5490(10) 0.1610(10) e 4 1. 4.97430(10) Biso |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"structure.show_as_text()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "12",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.447639Z",
"iopub.status.busy": "2026-09-22T20:57:57.447435Z",
"iopub.status.idle": "2026-09-22T20:57:57.478700Z",
"shell.execute_reply": "2026-09-22T20:57:57.477987Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;36m \u001b[0m\u001b[1;36m(\u001b[0m\u001b[1;36mAtom view type: \u001b[0m\u001b[32m'covalent'\u001b[0m\u001b[1;36m)\u001b[0m\n"
]
},
{
"data": {
"text/html": [
"\n",
"
\n",
"
Loading plot…
\n",
"
\n",
"
\n",
"
\n",
"
drag = rotate
wheel = zoom
right-drag = pan
\n",
"
\n",
"
\n",
"\n",
"\n",
"\n",
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.display.structure(struct_name='taurine')"
]
},
{
"cell_type": "markdown",
"id": "13",
"metadata": {},
"source": [
"## 🔬 Define Experiment"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "14",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.481130Z",
"iopub.status.busy": "2026-09-22T20:57:57.480791Z",
"iopub.status.idle": "2026-09-22T20:57:57.596760Z",
"shell.execute_reply": "2026-09-22T20:57:57.595671Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mGetting data\u001b[0m\u001b[1;36m...\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data \u001b[32m'meas-taurine-senju'\u001b[0m: Taurine, SENJU \u001b[1m(\u001b[0mJ-PARC\u001b[1m)\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"✅ Data \u001b[32m'meas-taurine-senju'\u001b[0m downloaded to \u001b[32m'../../../data/meas-taurine-senju.xye'\u001b[0m\n"
]
}
],
"source": [
"# Download data file from repository\n",
"data_path = edi.download_data('meas-taurine-senju', destination='data')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "15",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.598716Z",
"iopub.status.busy": "2026-09-22T20:57:57.598472Z",
"iopub.status.idle": "2026-09-22T20:57:57.740900Z",
"shell.execute_reply": "2026-09-22T20:57:57.739695Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mData 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": 12,
"id": "16",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.742515Z",
"iopub.status.busy": "2026-09-22T20:57:57.742314Z",
"iopub.status.idle": "2026-09-22T20:57:57.745387Z",
"shell.execute_reply": "2026-09-22T20:57:57.744411Z"
}
},
"outputs": [],
"source": [
"experiment = project.experiments['senju']"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "17",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.747028Z",
"iopub.status.busy": "2026-09-22T20:57:57.746728Z",
"iopub.status.idle": "2026-09-22T20:57:57.750357Z",
"shell.execute_reply": "2026-09-22T20:57:57.749350Z"
}
},
"outputs": [],
"source": [
"experiment.linked_structure.structure_id = 'taurine'\n",
"experiment.linked_structure.scale = 1.0"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "18",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.751839Z",
"iopub.status.busy": "2026-09-22T20:57:57.751670Z",
"iopub.status.idle": "2026-09-22T20:57:57.754858Z",
"shell.execute_reply": "2026-09-22T20:57:57.754023Z"
}
},
"outputs": [],
"source": [
"experiment.extinction.mosaicity = 1000.0\n",
"experiment.extinction.radius = 100.0"
]
},
{
"cell_type": "markdown",
"id": "19",
"metadata": {},
"source": [
"## 🚀 Perform Analysis"
]
},
{
"cell_type": "markdown",
"id": "20",
"metadata": {},
"source": [
"### ADP iso"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "21",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.756730Z",
"iopub.status.busy": "2026-09-22T20:57:57.756569Z",
"iopub.status.idle": "2026-09-22T20:57:57.989966Z",
"shell.execute_reply": "2026-09-22T20:57:57.988675Z"
}
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.display.pattern(expt_name='senju')"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "22",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.991628Z",
"iopub.status.busy": "2026-09-22T20:57:57.991439Z",
"iopub.status.idle": "2026-09-22T20:57:57.994495Z",
"shell.execute_reply": "2026-09-22T20:57:57.993643Z"
}
},
"outputs": [],
"source": [
"experiment.linked_structure.scale.free = True\n",
"experiment.extinction.radius.free = True"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "23",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:57.996358Z",
"iopub.status.busy": "2026-09-22T20:57:57.996106Z",
"iopub.status.idle": "2026-09-22T20:57:58.003621Z",
"shell.execute_reply": "2026-09-22T20:57:58.002923Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mMinimizer types\u001b[0m\n"
]
},
{
"data": {
"text/html": [
" | | Type | Description |
|---|
| 1 | | bumps | BUMPS library using the default Levenberg-Marquardt method |
|---|
| 2 | | bumps (amoeba) | BUMPS library with Nelder-Mead simplex method |
|---|
| 3 | | bumps (de) | BUMPS library with differential evolution method |
|---|
| 4 | | bumps (dream) | BUMPS library with DREAM Bayesian sampling |
|---|
| 5 | | bumps (lm) | BUMPS library with Levenberg-Marquardt method |
|---|
| 6 | | dfols | DFO-LS library for derivative-free least-squares optimization |
|---|
| 7 | | emcee | emcee affine-invariant ensemble Bayesian sampling |
|---|
| 8 | | lmfit | LMFIT library using the default Levenberg-Marquardt method |
|---|
| 9 | | lmfit (least_squares) | LMFIT library with SciPy's trust region reflective algorithm |
|---|
| 10 | * | lmfit (leastsq) | LMFIT library with Levenberg-Marquardt least squares method |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.analysis.minimizer.show_supported()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "24",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:58.005642Z",
"iopub.status.busy": "2026-09-22T20:57:58.005408Z",
"iopub.status.idle": "2026-09-22T20:57:58.014596Z",
"shell.execute_reply": "2026-09-22T20:57:58.013422Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"⚠️ Switching minimizer type removes these settings:\n",
"• gradient_tolerance\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mCurrent minimizer changed to\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"bumps\n"
]
}
],
"source": [
"project.analysis.minimizer.type = 'bumps'"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "25",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:58.016242Z",
"iopub.status.busy": "2026-09-22T20:57:58.016043Z",
"iopub.status.idle": "2026-09-22T20:57:58.019266Z",
"shell.execute_reply": "2026-09-22T20:57:58.018568Z"
}
},
"outputs": [],
"source": [
"# Limit number of iterations to prevent long calculation time in this tutorial.\n",
"project.analysis.minimizer.max_iterations = 500"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "26",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:58.020958Z",
"iopub.status.busy": "2026-09-22T20:57:58.020787Z",
"iopub.status.idle": "2026-09-22T20:57:58.023897Z",
"shell.execute_reply": "2026-09-22T20:57:58.023064Z"
}
},
"outputs": [],
"source": [
"project.analysis.minimizer.chi_square_change_tolerance = 1e-2"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "27",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:57:58.025367Z",
"iopub.status.busy": "2026-09-22T20:57:58.025187Z",
"iopub.status.idle": "2026-09-22T20:58:07.086702Z",
"shell.execute_reply": "2026-09-22T20:58:07.085801Z"
}
},
"outputs": [
{
"data": {
"text/html": [],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function() {\n",
" const button = document.getElementById('ed-fit-stop-c6d6b8f3615f484fa1aabb7bb415cdd6-button');\n",
" const status = document.getElementById('ed-fit-stop-c6d6b8f3615f484fa1aabb7bb415cdd6-status');\n",
" const kernelId = '';\n",
" if (!button) {\n",
" return;\n",
" }\n",
"\n",
" function setStatus(text) {\n",
" if (status) {\n",
" status.textContent = text;\n",
" }\n",
" }\n",
"\n",
" function pageConfig() {\n",
" const element = document.getElementById('jupyter-config-data');\n",
" if (!element || !element.textContent) {\n",
" return {};\n",
" }\n",
" try {\n",
" return JSON.parse(element.textContent);\n",
" } catch (error) {\n",
" return {};\n",
" }\n",
" }\n",
"\n",
" function baseUrl(config) {\n",
" const configured = config.baseUrl || config.base_url ||\n",
" (window.Jupyter && Jupyter.notebook && Jupyter.notebook.base_url);\n",
" if (configured) {\n",
" return configured.endsWith('/') ? configured : configured + '/';\n",
" }\n",
" const markers = ['/lab/', '/notebooks/', '/tree/'];\n",
" for (const marker of markers) {\n",
" const index = window.location.pathname.indexOf(marker);\n",
" if (index >= 0) {\n",
" return window.location.pathname.slice(0, index + 1);\n",
" }\n",
" }\n",
" return '/';\n",
" }\n",
"\n",
" function token(config) {\n",
" return config.token || new URLSearchParams(window.location.search).get('token') || '';\n",
" }\n",
"\n",
" function cookie(name) {\n",
" const prefix = name + '=';\n",
" for (const part of document.cookie.split(';')) {\n",
" const trimmed = part.trim();\n",
" if (trimmed.startsWith(prefix)) {\n",
" return decodeURIComponent(trimmed.slice(prefix.length));\n",
" }\n",
" }\n",
" return '';\n",
" }\n",
"\n",
" function notebookPath() {\n",
" const decoded = decodeURIComponent(window.location.pathname);\n",
" const markers = ['/lab/tree/', '/notebooks/', '/tree/'];\n",
" for (const marker of markers) {\n",
" const index = decoded.indexOf(marker);\n",
" if (index >= 0) {\n",
" return decoded.slice(index + marker.length);\n",
" }\n",
" }\n",
" return '';\n",
" }\n",
"\n",
" async function kernelFromSessions(config) {\n",
" const url = new URL(baseUrl(config) + 'api/sessions', window.location.origin);\n",
" const authToken = token(config);\n",
" if (authToken) {\n",
" url.searchParams.set('token', authToken);\n",
" }\n",
" const response = await fetch(url, {credentials: 'same-origin'});\n",
" if (!response.ok) {\n",
" return '';\n",
" }\n",
" const sessions = await response.json();\n",
" const path = notebookPath();\n",
" const session = sessions.find((item) => item.path === path) || sessions[0];\n",
" return session && session.kernel ? session.kernel.id : '';\n",
" }\n",
"\n",
" async function interruptKernel(config, resolvedKernelId) {\n",
" const url = new URL(\n",
" baseUrl(config) + 'api/kernels/' + resolvedKernelId + '/interrupt',\n",
" window.location.origin\n",
" );\n",
" const authToken = token(config);\n",
" if (authToken) {\n",
" url.searchParams.set('token', authToken);\n",
" }\n",
" const xsrfToken = cookie('_xsrf');\n",
" const headers = {};\n",
" if (xsrfToken) {\n",
" headers['X-XSRFToken'] = xsrfToken;\n",
" }\n",
" const response = await fetch(url, {\n",
" method: 'POST',\n",
" credentials: 'same-origin',\n",
" headers: headers\n",
" });\n",
" return response.ok;\n",
" }\n",
"\n",
" button.addEventListener('click', async function() {\n",
" button.disabled = true;\n",
" setStatus('Stopping...');\n",
" const config = pageConfig();\n",
" try {\n",
" const resolvedKernelId = kernelId || await kernelFromSessions(config);\n",
" if (!resolvedKernelId) {\n",
" throw new Error('Could not resolve the current kernel id.');\n",
" }\n",
" const interrupted = await interruptKernel(config, resolvedKernelId);\n",
" if (!interrupted) {\n",
" throw new Error('Jupyter Server rejected the interrupt request.');\n",
" }\n",
" setStatus('Interrupt sent...');\n",
" } catch (error) {\n",
" button.disabled = false;\n",
" setStatus('Use Kernel > Interrupt to stop this fit.');\n",
" }\n",
" });\n",
"})();\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStandard 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'bumps \u001b[0m\u001b[32m(\u001b[0m\u001b[32mlm\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m\u001b[33m...\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"📈 Goodness-of-fit progress:\n"
]
},
{
"data": {
"text/html": [
" | iteration | time (s) | χ² | change / status |
|---|
| 1 | 1 | 0.01 | 748.12 | |
|---|
| 2 | 62 | 0.62 | 465.67 | 37.8% ↓ |
|---|
| 3 | 121 | 1.19 | 93.43 | 79.9% ↓ |
|---|
| 4 | 180 | 1.77 | 34.99 | 62.5% ↓ |
|---|
| 5 | 239 | 2.33 | 24.65 | 29.6% ↓ |
|---|
| 6 | 298 | 2.88 | 24.22 | 1.8% ↓ |
|---|
| 7 | 357 | 3.43 | 23.78 | 1.8% ↓ |
|---|
| 8 | 419 | 8.97 | 23.71 | |
|---|
"
],
"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.71\u001b[0m at iteration \u001b[1;36m419\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": 22,
"id": "28",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.088598Z",
"iopub.status.busy": "2026-09-22T20:58:07.088414Z",
"iopub.status.idle": "2026-09-22T20:58:07.391648Z",
"shell.execute_reply": "2026-09-22T20:58:07.390499Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"⚙️ Settings used:\n"
]
},
{
"data": {
"text/html": [
" | Name | Value | Description |
|---|
| 1 | max_iterations | 500 | Maximum solver iterations. |
|---|
| 2 | chi_square_change_tolerance | 0.01 | Relative change in the objective (chi-square) used to stop fitting. |
|---|
| 3 | parameter_change_tolerance | 1e-08 | Relative change in fitted parameters used to stop fitting. |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"📋 Least-squares fit results:\n"
]
},
{
"data": {
"text/html": [
" | Metric | Value |
|---|
| 1 | 🧪 Minimizer | bumps |
|---|
| 2 | ✅ Overall status | success |
|---|
| 3 | ⏱️ Fitting time (seconds) | 8.97 |
|---|
| 4 | 📏 Goodness-of-fit (reduced χ²) | 23.71 |
|---|
| 5 | 📏 R-factor (Rf, %) | 21.33 |
|---|
| 6 | 📏 R-factor squared (Rf², %) | 16.83 |
|---|
| 7 | 📏 Weighted R-factor (wR, %) | 14.22 |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"📈 Refined parameters:\n"
]
},
{
"data": {
"text/html": [
" | datablock | category | entry | parameter | units | start | value | s.u. | change |
|---|
| 1 | taurine | atom_site | S1 | fract_x | | 0.2000 | 0.2013 | 0.0044 | 0.66 % ↑ |
|---|
| 2 | taurine | atom_site | S1 | fract_y | | 0.3500 | 0.3483 | 0.0022 | 0.48 % ↓ |
|---|
| 3 | taurine | atom_site | S1 | fract_z | | 0.3500 | 0.3484 | 0.0019 | 0.44 % ↓ |
|---|
| 4 | taurine | atom_site | S1 | adp_iso | Ų | 1.5791 | 1.2727 | 0.2785 | 19.40 % ↓ |
|---|
| 5 | taurine | atom_site | O1 | fract_x | | 0.3130 | 0.3178 | 0.0032 | 1.54 % ↑ |
|---|
| 6 | taurine | atom_site | O1 | fract_y | | 0.2400 | 0.2406 | 0.0012 | 0.27 % ↑ |
|---|
| 7 | taurine | atom_site | O1 | fract_z | | 0.3510 | 0.3516 | 0.0013 | 0.17 % ↑ |
|---|
| 8 | taurine | atom_site | O1 | adp_iso | Ų | 2.7635 | 2.7794 | 0.2019 | 0.58 % ↑ |
|---|
| 9 | taurine | atom_site | O2 | fract_x | | 0.9380 | 0.9392 | 0.0027 | 0.13 % ↑ |
|---|
| 10 | taurine | atom_site | O2 | fract_y | | 0.3370 | 0.3372 | 0.0021 | 0.06 % ↑ |
|---|
| 11 | taurine | atom_site | O2 | fract_z | | 0.2940 | 0.2939 | 0.0014 | 0.03 % ↓ |
|---|
| 12 | taurine | atom_site | O2 | adp_iso | Ų | 3.6320 | 3.5463 | 0.2769 | 2.36 % ↓ |
|---|
| 13 | taurine | atom_site | O3 | fract_x | | 0.2220 | 0.2249 | 0.0024 | 1.31 % ↑ |
|---|
| 14 | taurine | atom_site | O3 | fract_y | | 0.4120 | 0.4099 | 0.0015 | 0.52 % ↓ |
|---|
| 15 | taurine | atom_site | O3 | fract_z | | 0.5070 | 0.5076 | 0.0011 | 0.11 % ↑ |
|---|
| 16 | taurine | atom_site | O3 | adp_iso | Ų | 1.8950 | 2.0671 | 0.1976 | 9.08 % ↑ |
|---|
| 17 | taurine | atom_site | N1 | fract_x | | 0.2640 | 0.2634 | 0.0019 | 0.22 % ↓ |
|---|
| 18 | taurine | atom_site | N1 | fract_y | | 0.6280 | 0.6280 | 0.0008 | 0.01 % ↑ |
|---|
| 19 | taurine | atom_site | N1 | fract_z | | 0.3310 | 0.3321 | 0.0007 | 0.33 % ↑ |
|---|
| 20 | taurine | atom_site | N1 | adp_iso | Ų | 2.1318 | 2.1030 | 0.1448 | 1.35 % ↓ |
|---|
| 21 | taurine | atom_site | H1 | fract_x | | 0.1330 | 0.1365 | 0.0046 | 2.60 % ↑ |
|---|
| 22 | taurine | atom_site | H1 | fract_y | | 0.5880 | 0.5858 | 0.0020 | 0.37 % ↓ |
|---|
| 23 | taurine | atom_site | H1 | fract_z | | 0.4210 | 0.4170 | 0.0021 | 0.95 % ↓ |
|---|
| 24 | taurine | atom_site | H1 | adp_iso | Ų | 3.3951 | 2.8313 | 0.3425 | 16.61 % ↓ |
|---|
| 25 | taurine | atom_site | H2 | fract_x | | 0.1910 | 0.1886 | 0.0048 | 1.28 % ↓ |
|---|
| 26 | taurine | atom_site | H2 | fract_y | | 0.7150 | 0.7132 | 0.0026 | 0.25 % ↓ |
|---|
| 27 | taurine | atom_site | H2 | fract_z | | 0.3120 | 0.3077 | 0.0024 | 1.37 % ↓ |
|---|
| 28 | taurine | atom_site | H2 | adp_iso | Ų | 4.5795 | 4.1615 | 0.4489 | 9.13 % ↓ |
|---|
| 29 | taurine | atom_site | H3 | fract_x | | 0.4400 | 0.4338 | 0.0082 | 1.40 % ↓ |
|---|
| 30 | taurine | atom_site | H3 | fract_y | | 0.6240 | 0.6261 | 0.0031 | 0.33 % ↑ |
|---|
| 31 | taurine | atom_site | H3 | fract_z | | 0.3490 | 0.3485 | 0.0033 | 0.14 % ↓ |
|---|
| 32 | taurine | atom_site | H3 | adp_iso | Ų | 4.6585 | 4.9040 | 0.5305 | 5.27 % ↑ |
|---|
| 33 | taurine | atom_site | C1 | fract_x | | 0.3440 | 0.3470 | 0.0020 | 0.88 % ↑ |
|---|
| 34 | taurine | atom_site | C1 | fract_y | | 0.4400 | 0.4398 | 0.0010 | 0.05 % ↓ |
|---|
| 35 | taurine | atom_site | C1 | fract_z | | 0.2020 | 0.2021 | 0.0009 | 0.06 % ↑ |
|---|
| 36 | taurine | atom_site | C1 | adp_iso | Ų | 1.7371 | 1.6823 | 0.1586 | 3.15 % ↓ |
|---|
| 37 | taurine | atom_site | H11 | fract_x | | 0.5520 | 0.5478 | 0.0053 | 0.76 % ↓ |
|---|
| 38 | taurine | atom_site | H11 | fract_y | | 0.4330 | 0.4337 | 0.0028 | 0.17 % ↑ |
|---|
| 39 | taurine | atom_site | H11 | fract_z | | 0.2430 | 0.2404 | 0.0024 | 1.05 % ↓ |
|---|
| 40 | taurine | atom_site | H11 | adp_iso | Ų | 3.3951 | 3.5150 | 0.3890 | 3.53 % ↑ |
|---|
| 41 | taurine | atom_site | H12 | fract_x | | 0.3200 | 0.3271 | 0.0050 | 2.23 % ↑ |
|---|
| 42 | taurine | atom_site | H12 | fract_y | | 0.3880 | 0.3809 | 0.0027 | 1.83 % ↓ |
|---|
| 43 | taurine | atom_site | H12 | fract_z | | 0.0810 | 0.0852 | 0.0025 | 5.24 % ↑ |
|---|
| 44 | taurine | atom_site | H12 | adp_iso | Ų | 3.3162 | 3.3508 | 0.3764 | 1.04 % ↑ |
|---|
| 45 | taurine | atom_site | C2 | fract_x | | 0.2000 | 0.1966 | 0.0025 | 1.72 % ↓ |
|---|
| 46 | taurine | atom_site | C2 | fract_y | | 0.5570 | 0.5556 | 0.0011 | 0.25 % ↓ |
|---|
| 47 | taurine | atom_site | C2 | fract_z | | 0.1820 | 0.1797 | 0.0011 | 1.24 % ↓ |
|---|
| 48 | taurine | atom_site | C2 | adp_iso | Ų | 1.7371 | 1.8327 | 0.1622 | 5.51 % ↑ |
|---|
| 49 | taurine | atom_site | H21 | fract_x | | 0.2760 | 0.2735 | 0.0048 | 0.91 % ↓ |
|---|
| 50 | taurine | atom_site | H21 | fract_y | | 0.6000 | 0.5982 | 0.0020 | 0.30 % ↓ |
|---|
| 51 | taurine | atom_site | H21 | fract_z | | 0.0770 | 0.0737 | 0.0021 | 4.24 % ↓ |
|---|
| 52 | taurine | atom_site | H21 | adp_iso | Ų | 2.1318 | 2.3761 | 0.2807 | 11.46 % ↑ |
|---|
| 53 | taurine | atom_site | H22 | fract_x | | 0.9990 | 0.9968 | 0.0058 | 0.22 % ↓ |
|---|
| 54 | taurine | atom_site | H22 | fract_y | | 0.5490 | 0.5509 | 0.0029 | 0.35 % ↑ |
|---|
| 55 | taurine | atom_site | H22 | fract_z | | 0.1610 | 0.1644 | 0.0032 | 2.10 % ↑ |
|---|
| 56 | taurine | atom_site | H22 | adp_iso | Ų | 4.9743 | 4.6849 | 0.5078 | 5.82 % ↓ |
|---|
| 57 | senju | extinction | | radius | μm | 100.0000 | 0.2304 | 56.7093 | 99.77 % ↓ |
|---|
| 58 | senju | linked_structure | | scale | | 1.0000 | 1.3466 | 0.0780 | 34.66 % ↑ |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" • start = parameter value before refinement
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"⚠️ Red s.u.: exceeds the refined value (consider adding constraints)
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Show fit results summary\n",
"project.display.fit.results()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "29",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.393617Z",
"iopub.status.busy": "2026-09-22T20:58:07.393415Z",
"iopub.status.idle": "2026-09-22T20:58:07.402976Z",
"shell.execute_reply": "2026-09-22T20:58:07.402072Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;36m as text\u001b[0m\n"
]
},
{
"data": {
"text/html": [
" | Edi |
|---|
| 1 | data_taurine |
|---|
| 2 | |
|---|
| 3 | _cell.length_a 5.2729 |
|---|
| 4 | _cell.length_b 11.6565 |
|---|
| 5 | _cell.length_c 7.8383 |
|---|
| 6 | _cell.angle_alpha 90. |
|---|
| 7 | _cell.angle_beta 94.011 |
|---|
| 8 | _cell.angle_gamma 90. |
|---|
| 9 | |
|---|
| 10 | _space_group.name_h_m "P 21/c" |
|---|
| 11 | _space_group.coord_system_code b1 |
|---|
| 12 | |
|---|
| 13 | _geom.min_bond_distance_cutoff 0. |
|---|
| 14 | _geom.bond_distance_inc 0.25 |
|---|
| 15 | |
|---|
| 16 | loop_ |
|---|
| 17 | _atom_site.id |
|---|
| 18 | _atom_site.type_symbol |
|---|
| 19 | _atom_site.fract_x |
|---|
| 20 | _atom_site.fract_y |
|---|
| 21 | _atom_site.fract_z |
|---|
| 22 | _atom_site.wyckoff_letter |
|---|
| 23 | _atom_site.multiplicity |
|---|
| 24 | _atom_site.occupancy |
|---|
| 25 | _atom_site.adp_iso |
|---|
| 26 | _atom_site.adp_type |
|---|
| 27 | S1 S 0.2013(44) 0.3483(22) 0.3484(19) e 4 1. 1.27(28) Biso |
|---|
| 28 | O1 O 0.3178(32) 0.2406(12) 0.3516(13) e 4 1. 2.78(20) Biso |
|---|
| 29 | O2 O 0.9392(27) 0.3372(21) 0.2939(14) e 4 1. 3.55(28) Biso |
|---|
| 30 | O3 O 0.2249(24) 0.4099(15) 0.5076(11) e 4 1. 2.07(20) Biso |
|---|
| 31 | N1 N 0.2634(19) 0.62805(78) 0.33211(73) e 4 1. 2.10(14) Biso |
|---|
| 32 | H1 H 0.1365(46) 0.5858(20) 0.4170(21) e 4 1. 2.83(34) Biso |
|---|
| 33 | H2 H 0.1886(48) 0.7132(26) 0.3077(24) e 4 1. 4.16(45) Biso |
|---|
| 34 | H3 H 0.4338(82) 0.6261(31) 0.3485(33) e 4 1. 4.90(53) Biso |
|---|
| 35 | C1 C 0.3470(20) 0.43980(96) 0.20212(86) e 4 1. 1.68(16) Biso |
|---|
| 36 | H11 H 0.5478(53) 0.4337(28) 0.2404(24) e 4 1. 3.52(39) Biso |
|---|
| 37 | H12 H 0.3271(50) 0.3809(27) 0.0852(25) e 4 1. 3.35(38) Biso |
|---|
| 38 | C2 C 0.1966(25) 0.5556(11) 0.1797(11) e 4 1. 1.83(16) Biso |
|---|
| 39 | H21 H 0.2735(48) 0.5982(20) 0.0737(21) e 4 1. 2.38(28) Biso |
|---|
| 40 | H22 H 0.9968(58) 0.5509(29) 0.1644(32) e 4 1. 4.68(51) Biso |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"structure.show_as_text()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "30",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.404681Z",
"iopub.status.busy": "2026-09-22T20:58:07.404510Z",
"iopub.status.idle": "2026-09-22T20:58:07.410160Z",
"shell.execute_reply": "2026-09-22T20:58:07.409379Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mDefined 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": 25,
"id": "31",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.411797Z",
"iopub.status.busy": "2026-09-22T20:58:07.411575Z",
"iopub.status.idle": "2026-09-22T20:58:07.436252Z",
"shell.execute_reply": "2026-09-22T20:58:07.435220Z"
}
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.display.pattern(expt_name='senju')"
]
},
{
"cell_type": "markdown",
"id": "32",
"metadata": {},
"source": [
"### ADP aniso"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "33",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.437910Z",
"iopub.status.busy": "2026-09-22T20:58:07.437715Z",
"iopub.status.idle": "2026-09-22T20:58:07.452820Z",
"shell.execute_reply": "2026-09-22T20:58:07.451851Z"
}
},
"outputs": [],
"source": [
"for atom_site in structure.atom_sites:\n",
" atom_site.adp_type = 'Uani'"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "34",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.454540Z",
"iopub.status.busy": "2026-09-22T20:58:07.454347Z",
"iopub.status.idle": "2026-09-22T20:58:07.460058Z",
"shell.execute_reply": "2026-09-22T20:58:07.459303Z"
}
},
"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": 28,
"id": "35",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.462056Z",
"iopub.status.busy": "2026-09-22T20:58:07.461723Z",
"iopub.status.idle": "2026-09-22T20:58:07.534471Z",
"shell.execute_reply": "2026-09-22T20:58:07.533862Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;36m as text\u001b[0m\n"
]
},
{
"data": {
"text/html": [
" | Edi |
|---|
| 1 | data_taurine |
|---|
| 2 | |
|---|
| 3 | _cell.length_a 5.2729 |
|---|
| 4 | _cell.length_b 11.6565 |
|---|
| 5 | _cell.length_c 7.8383 |
|---|
| 6 | _cell.angle_alpha 90. |
|---|
| 7 | _cell.angle_beta 94.011 |
|---|
| 8 | _cell.angle_gamma 90. |
|---|
| 9 | |
|---|
| 10 | _space_group.name_h_m "P 21/c" |
|---|
| 11 | _space_group.coord_system_code b1 |
|---|
| 12 | |
|---|
| 13 | _geom.min_bond_distance_cutoff 0. |
|---|
| 14 | _geom.bond_distance_inc 0.25 |
|---|
| 15 | |
|---|
| 16 | loop_ |
|---|
| 17 | _atom_site.id |
|---|
| 18 | _atom_site.type_symbol |
|---|
| 19 | _atom_site.fract_x |
|---|
| 20 | _atom_site.fract_y |
|---|
| 21 | _atom_site.fract_z |
|---|
| 22 | _atom_site.wyckoff_letter |
|---|
| 23 | _atom_site.multiplicity |
|---|
| 24 | _atom_site.occupancy |
|---|
| 25 | _atom_site.adp_iso |
|---|
| 26 | _atom_site.adp_type |
|---|
| 27 | S1 S 0.2013(44) 0.3483(22) 0.3484(19) e 4 1. 0.01611943 Uani |
|---|
| 28 | O1 O 0.3178(32) 0.2406(12) 0.3516(13) e 4 1. 0.03520173 Uani |
|---|
| 29 | O2 O 0.9392(27) 0.3372(21) 0.2939(14) e 4 1. 0.04491399 Uani |
|---|
| 30 | O3 O 0.2249(24) 0.4099(15) 0.5076(11) e 4 1. 0.02618024 Uani |
|---|
| 31 | N1 N 0.2634(19) 0.62805(78) 0.33211(73) e 4 1. 0.02663485 Uani |
|---|
| 32 | H1 H 0.1365(46) 0.5858(20) 0.4170(21) e 4 1. 0.0358593 Uani |
|---|
| 33 | H2 H 0.1886(48) 0.7132(26) 0.3077(24) e 4 1. 0.05270599 Uani |
|---|
| 34 | H3 H 0.4338(82) 0.6261(31) 0.3485(33) e 4 1. 0.06210953 Uani |
|---|
| 35 | C1 C 0.3470(20) 0.43980(96) 0.20212(86) e 4 1. 0.02130661 Uani |
|---|
| 36 | H11 H 0.5478(53) 0.4337(28) 0.2404(24) e 4 1. 0.0445182 Uani |
|---|
| 37 | H12 H 0.3271(50) 0.3809(27) 0.0852(25) e 4 1. 0.04243794 Uani |
|---|
| 38 | C2 C 0.1966(25) 0.5556(11) 0.1797(11) e 4 1. 0.02321194 Uani |
|---|
| 39 | H21 H 0.2735(48) 0.5982(20) 0.0737(21) e 4 1. 0.03009422 Uani |
|---|
| 40 | H22 H 0.9968(58) 0.5509(29) 0.1644(32) e 4 1. 0.05933481 Uani |
|---|
| 41 | |
|---|
| 42 | loop_ |
|---|
| 43 | _atom_site_aniso.id |
|---|
| 44 | _atom_site_aniso.adp_11 |
|---|
| 45 | _atom_site_aniso.adp_22 |
|---|
| 46 | _atom_site_aniso.adp_33 |
|---|
| 47 | _atom_site_aniso.adp_12 |
|---|
| 48 | _atom_site_aniso.adp_13 |
|---|
| 49 | _atom_site_aniso.adp_23 |
|---|
| 50 | S1 0.01611943() 0.01611943() 0.01611943() 0.() 0.() 0.() |
|---|
| 51 | O1 0.03520173() 0.03520173() 0.03520173() 0.() 0.() 0.() |
|---|
| 52 | O2 0.04491399() 0.04491399() 0.04491399() 0.() 0.() 0.() |
|---|
| 53 | O3 0.02618024() 0.02618024() 0.02618024() 0.() 0.() 0.() |
|---|
| 54 | N1 0.02663485() 0.02663485() 0.02663485() 0.() 0.() 0.() |
|---|
| 55 | H1 0.0358593() 0.0358593() 0.0358593() 0.() 0.() 0.() |
|---|
| 56 | H2 0.05270599() 0.05270599() 0.05270599() 0.() 0.() 0.() |
|---|
| 57 | H3 0.06210953() 0.06210953() 0.06210953() 0.() 0.() 0.() |
|---|
| 58 | C1 0.02130661() 0.02130661() 0.02130661() 0.() 0.() 0.() |
|---|
| 59 | H11 0.0445182() 0.0445182() 0.0445182() 0.() 0.() 0.() |
|---|
| 60 | H12 0.04243794() 0.04243794() 0.04243794() 0.() 0.() 0.() |
|---|
| 61 | C2 0.02321194() 0.02321194() 0.02321194() 0.() 0.() 0.() |
|---|
| 62 | H21 0.03009422() 0.03009422() 0.03009422() 0.() 0.() 0.() |
|---|
| 63 | H22 0.05933481() 0.05933481() 0.05933481() 0.() 0.() 0.() |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"structure.show_as_text()"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "36",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.536673Z",
"iopub.status.busy": "2026-09-22T20:58:07.536472Z",
"iopub.status.idle": "2026-09-22T20:58:07.736183Z",
"shell.execute_reply": "2026-09-22T20:58:07.735146Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mFree parameters for both structures \u001b[0m\u001b[1;36m(\u001b[0m\u001b[1;36m🧩 data blocks\u001b[0m\u001b[1;36m)\u001b[0m\u001b[1;36m and experiments \u001b[0m\u001b[1;36m(\u001b[0m\u001b[1;36m🔬 data blocks\u001b[0m\u001b[1;36m)\u001b[0m\n"
]
},
{
"data": {
"text/html": [
" | datablock | category | entry | parameter | value | uncertainty | min | max | units |
|---|
| 1 | taurine | atom_site | S1 | fract_x | 0.20131 | 0.00437 | -inf | inf | |
|---|
| 2 | taurine | atom_site | S1 | fract_y | 0.34831 | 0.00216 | -inf | inf | |
|---|
| 3 | taurine | atom_site | S1 | fract_z | 0.34845 | 0.00188 | -inf | inf | |
|---|
| 4 | taurine | atom_site | O1 | fract_x | 0.31782 | 0.00320 | -inf | inf | |
|---|
| 5 | taurine | atom_site | O1 | fract_y | 0.24064 | 0.00118 | -inf | inf | |
|---|
| 6 | taurine | atom_site | O1 | fract_z | 0.35161 | 0.00132 | -inf | inf | |
|---|
| 7 | taurine | atom_site | O2 | fract_x | 0.93922 | 0.00274 | -inf | inf | |
|---|
| 8 | taurine | atom_site | O2 | fract_y | 0.33720 | 0.00208 | -inf | inf | |
|---|
| 9 | taurine | atom_site | O2 | fract_z | 0.29393 | 0.00140 | -inf | inf | |
|---|
| 10 | taurine | atom_site | O3 | fract_x | 0.22490 | 0.00241 | -inf | inf | |
|---|
| 11 | taurine | atom_site | O3 | fract_y | 0.40986 | 0.00153 | -inf | inf | |
|---|
| 12 | taurine | atom_site | O3 | fract_z | 0.50756 | 0.00106 | -inf | inf | |
|---|
| 13 | taurine | atom_site | N1 | fract_x | 0.26341 | 0.00193 | -inf | inf | |
|---|
| 14 | taurine | atom_site | N1 | fract_y | 0.62805 | 0.00078 | -inf | inf | |
|---|
| 15 | taurine | atom_site | N1 | fract_z | 0.33211 | 0.00073 | -inf | inf | |
|---|
| 16 | taurine | atom_site | H1 | fract_x | 0.13646 | 0.00462 | -inf | inf | |
|---|
| 17 | taurine | atom_site | H1 | fract_y | 0.58580 | 0.00200 | -inf | inf | |
|---|
| 18 | taurine | atom_site | H1 | fract_z | 0.41701 | 0.00211 | -inf | inf | |
|---|
| 19 | taurine | atom_site | H2 | fract_x | 0.18855 | 0.00476 | -inf | inf | |
|---|
| 20 | taurine | atom_site | H2 | fract_y | 0.71324 | 0.00265 | -inf | inf | |
|---|
| 21 | taurine | atom_site | H2 | fract_z | 0.30773 | 0.00245 | -inf | inf | |
|---|
| 22 | taurine | atom_site | H3 | fract_x | 0.43384 | 0.00819 | -inf | inf | |
|---|
| 23 | taurine | atom_site | H3 | fract_y | 0.62608 | 0.00315 | -inf | inf | |
|---|
| 24 | taurine | atom_site | H3 | fract_z | 0.34853 | 0.00334 | -inf | inf | |
|---|
| 25 | taurine | atom_site | C1 | fract_x | 0.34703 | 0.00205 | -inf | inf | |
|---|
| 26 | taurine | atom_site | C1 | fract_y | 0.43980 | 0.00096 | -inf | inf | |
|---|
| 27 | taurine | atom_site | C1 | fract_z | 0.20212 | 0.00086 | -inf | inf | |
|---|
| 28 | taurine | atom_site | H11 | fract_x | 0.54783 | 0.00527 | -inf | inf | |
|---|
| 29 | taurine | atom_site | H11 | fract_y | 0.43372 | 0.00278 | -inf | inf | |
|---|
| 30 | taurine | atom_site | H11 | fract_z | 0.24044 | 0.00244 | -inf | inf | |
|---|
| 31 | taurine | atom_site | H12 | fract_x | 0.32715 | 0.00500 | -inf | inf | |
|---|
| 32 | taurine | atom_site | H12 | fract_y | 0.38089 | 0.00269 | -inf | inf | |
|---|
| 33 | taurine | atom_site | H12 | fract_z | 0.08525 | 0.00247 | -inf | inf | |
|---|
| 34 | taurine | atom_site | C2 | fract_x | 0.19657 | 0.00246 | -inf | inf | |
|---|
| 35 | taurine | atom_site | C2 | fract_y | 0.55559 | 0.00108 | -inf | inf | |
|---|
| 36 | taurine | atom_site | C2 | fract_z | 0.17975 | 0.00112 | -inf | inf | |
|---|
| 37 | taurine | atom_site | H21 | fract_x | 0.27350 | 0.00477 | -inf | inf | |
|---|
| 38 | taurine | atom_site | H21 | fract_y | 0.59817 | 0.00201 | -inf | inf | |
|---|
| 39 | taurine | atom_site | H21 | fract_z | 0.07373 | 0.00206 | -inf | inf | |
|---|
| 40 | taurine | atom_site | H22 | fract_x | 0.99678 | 0.00575 | -inf | inf | |
|---|
| 41 | taurine | atom_site | H22 | fract_y | 0.55090 | 0.00288 | -inf | inf | |
|---|
| 42 | taurine | atom_site | H22 | fract_z | 0.16438 | 0.00317 | -inf | inf | |
|---|
| 43 | taurine | atom_site_aniso | S1 | adp_11 | 0.01612 | | -inf | inf | Ų |
|---|
| 44 | taurine | atom_site_aniso | S1 | adp_22 | 0.01612 | | -inf | inf | Ų |
|---|
| 45 | taurine | atom_site_aniso | S1 | adp_33 | 0.01612 | | -inf | inf | Ų |
|---|
| 46 | taurine | atom_site_aniso | S1 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 47 | taurine | atom_site_aniso | S1 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 48 | taurine | atom_site_aniso | S1 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 49 | taurine | atom_site_aniso | O1 | adp_11 | 0.03520 | | -inf | inf | Ų |
|---|
| 50 | taurine | atom_site_aniso | O1 | adp_22 | 0.03520 | | -inf | inf | Ų |
|---|
| 51 | taurine | atom_site_aniso | O1 | adp_33 | 0.03520 | | -inf | inf | Ų |
|---|
| 52 | taurine | atom_site_aniso | O1 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 53 | taurine | atom_site_aniso | O1 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 54 | taurine | atom_site_aniso | O1 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 55 | taurine | atom_site_aniso | O2 | adp_11 | 0.04491 | | -inf | inf | Ų |
|---|
| 56 | taurine | atom_site_aniso | O2 | adp_22 | 0.04491 | | -inf | inf | Ų |
|---|
| 57 | taurine | atom_site_aniso | O2 | adp_33 | 0.04491 | | -inf | inf | Ų |
|---|
| 58 | taurine | atom_site_aniso | O2 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 59 | taurine | atom_site_aniso | O2 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 60 | taurine | atom_site_aniso | O2 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 61 | taurine | atom_site_aniso | O3 | adp_11 | 0.02618 | | -inf | inf | Ų |
|---|
| 62 | taurine | atom_site_aniso | O3 | adp_22 | 0.02618 | | -inf | inf | Ų |
|---|
| 63 | taurine | atom_site_aniso | O3 | adp_33 | 0.02618 | | -inf | inf | Ų |
|---|
| 64 | taurine | atom_site_aniso | O3 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 65 | taurine | atom_site_aniso | O3 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 66 | taurine | atom_site_aniso | O3 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 67 | taurine | atom_site_aniso | N1 | adp_11 | 0.02663 | | -inf | inf | Ų |
|---|
| 68 | taurine | atom_site_aniso | N1 | adp_22 | 0.02663 | | -inf | inf | Ų |
|---|
| 69 | taurine | atom_site_aniso | N1 | adp_33 | 0.02663 | | -inf | inf | Ų |
|---|
| 70 | taurine | atom_site_aniso | N1 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 71 | taurine | atom_site_aniso | N1 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 72 | taurine | atom_site_aniso | N1 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 73 | taurine | atom_site_aniso | H1 | adp_11 | 0.03586 | | -inf | inf | Ų |
|---|
| 74 | taurine | atom_site_aniso | H1 | adp_22 | 0.03586 | | -inf | inf | Ų |
|---|
| 75 | taurine | atom_site_aniso | H1 | adp_33 | 0.03586 | | -inf | inf | Ų |
|---|
| 76 | taurine | atom_site_aniso | H1 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 77 | taurine | atom_site_aniso | H1 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 78 | taurine | atom_site_aniso | H1 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 79 | taurine | atom_site_aniso | H2 | adp_11 | 0.05271 | | -inf | inf | Ų |
|---|
| 80 | taurine | atom_site_aniso | H2 | adp_22 | 0.05271 | | -inf | inf | Ų |
|---|
| 81 | taurine | atom_site_aniso | H2 | adp_33 | 0.05271 | | -inf | inf | Ų |
|---|
| 82 | taurine | atom_site_aniso | H2 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 83 | taurine | atom_site_aniso | H2 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 84 | taurine | atom_site_aniso | H2 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 85 | taurine | atom_site_aniso | H3 | adp_11 | 0.06211 | | -inf | inf | Ų |
|---|
| 86 | taurine | atom_site_aniso | H3 | adp_22 | 0.06211 | | -inf | inf | Ų |
|---|
| 87 | taurine | atom_site_aniso | H3 | adp_33 | 0.06211 | | -inf | inf | Ų |
|---|
| 88 | taurine | atom_site_aniso | H3 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 89 | taurine | atom_site_aniso | H3 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 90 | taurine | atom_site_aniso | H3 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 91 | taurine | atom_site_aniso | C1 | adp_11 | 0.02131 | | -inf | inf | Ų |
|---|
| 92 | taurine | atom_site_aniso | C1 | adp_22 | 0.02131 | | -inf | inf | Ų |
|---|
| 93 | taurine | atom_site_aniso | C1 | adp_33 | 0.02131 | | -inf | inf | Ų |
|---|
| 94 | taurine | atom_site_aniso | C1 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 95 | taurine | atom_site_aniso | C1 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 96 | taurine | atom_site_aniso | C1 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 97 | taurine | atom_site_aniso | H11 | adp_11 | 0.04452 | | -inf | inf | Ų |
|---|
| 98 | taurine | atom_site_aniso | H11 | adp_22 | 0.04452 | | -inf | inf | Ų |
|---|
| 99 | taurine | atom_site_aniso | H11 | adp_33 | 0.04452 | | -inf | inf | Ų |
|---|
| 100 | taurine | atom_site_aniso | H11 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 101 | taurine | atom_site_aniso | H11 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 102 | taurine | atom_site_aniso | H11 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 103 | taurine | atom_site_aniso | H12 | adp_11 | 0.04244 | | -inf | inf | Ų |
|---|
| 104 | taurine | atom_site_aniso | H12 | adp_22 | 0.04244 | | -inf | inf | Ų |
|---|
| 105 | taurine | atom_site_aniso | H12 | adp_33 | 0.04244 | | -inf | inf | Ų |
|---|
| 106 | taurine | atom_site_aniso | H12 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 107 | taurine | atom_site_aniso | H12 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 108 | taurine | atom_site_aniso | H12 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 109 | taurine | atom_site_aniso | C2 | adp_11 | 0.02321 | | -inf | inf | Ų |
|---|
| 110 | taurine | atom_site_aniso | C2 | adp_22 | 0.02321 | | -inf | inf | Ų |
|---|
| 111 | taurine | atom_site_aniso | C2 | adp_33 | 0.02321 | | -inf | inf | Ų |
|---|
| 112 | taurine | atom_site_aniso | C2 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 113 | taurine | atom_site_aniso | C2 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 114 | taurine | atom_site_aniso | C2 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 115 | taurine | atom_site_aniso | H21 | adp_11 | 0.03009 | | -inf | inf | Ų |
|---|
| 116 | taurine | atom_site_aniso | H21 | adp_22 | 0.03009 | | -inf | inf | Ų |
|---|
| 117 | taurine | atom_site_aniso | H21 | adp_33 | 0.03009 | | -inf | inf | Ų |
|---|
| 118 | taurine | atom_site_aniso | H21 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 119 | taurine | atom_site_aniso | H21 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 120 | taurine | atom_site_aniso | H21 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 121 | taurine | atom_site_aniso | H22 | adp_11 | 0.05933 | | -inf | inf | Ų |
|---|
| 122 | taurine | atom_site_aniso | H22 | adp_22 | 0.05933 | | -inf | inf | Ų |
|---|
| 123 | taurine | atom_site_aniso | H22 | adp_33 | 0.05933 | | -inf | inf | Ų |
|---|
| 124 | taurine | atom_site_aniso | H22 | adp_12 | 0.00000 | | -inf | inf | Ų |
|---|
| 125 | taurine | atom_site_aniso | H22 | adp_13 | 0.00000 | | -inf | inf | Ų |
|---|
| 126 | taurine | atom_site_aniso | H22 | adp_23 | 0.00000 | | -inf | inf | Ų |
|---|
| 127 | senju | extinction | | radius | 0.23044 | 56.70926 | -inf | inf | μm |
|---|
| 128 | senju | linked_structure | | scale | 1.34662 | 0.07803 | -inf | inf | |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.display.parameters.free()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "37",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:07.738257Z",
"iopub.status.busy": "2026-09-22T20:58:07.738036Z",
"iopub.status.idle": "2026-09-22T20:58:16.989464Z",
"shell.execute_reply": "2026-09-22T20:58:16.988243Z"
}
},
"outputs": [
{
"data": {
"text/html": [],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function() {\n",
" const button = document.getElementById('ed-fit-stop-91988a9ad875440a9204659b3973faa6-button');\n",
" const status = document.getElementById('ed-fit-stop-91988a9ad875440a9204659b3973faa6-status');\n",
" const kernelId = '';\n",
" if (!button) {\n",
" return;\n",
" }\n",
"\n",
" function setStatus(text) {\n",
" if (status) {\n",
" status.textContent = text;\n",
" }\n",
" }\n",
"\n",
" function pageConfig() {\n",
" const element = document.getElementById('jupyter-config-data');\n",
" if (!element || !element.textContent) {\n",
" return {};\n",
" }\n",
" try {\n",
" return JSON.parse(element.textContent);\n",
" } catch (error) {\n",
" return {};\n",
" }\n",
" }\n",
"\n",
" function baseUrl(config) {\n",
" const configured = config.baseUrl || config.base_url ||\n",
" (window.Jupyter && Jupyter.notebook && Jupyter.notebook.base_url);\n",
" if (configured) {\n",
" return configured.endsWith('/') ? configured : configured + '/';\n",
" }\n",
" const markers = ['/lab/', '/notebooks/', '/tree/'];\n",
" for (const marker of markers) {\n",
" const index = window.location.pathname.indexOf(marker);\n",
" if (index >= 0) {\n",
" return window.location.pathname.slice(0, index + 1);\n",
" }\n",
" }\n",
" return '/';\n",
" }\n",
"\n",
" function token(config) {\n",
" return config.token || new URLSearchParams(window.location.search).get('token') || '';\n",
" }\n",
"\n",
" function cookie(name) {\n",
" const prefix = name + '=';\n",
" for (const part of document.cookie.split(';')) {\n",
" const trimmed = part.trim();\n",
" if (trimmed.startsWith(prefix)) {\n",
" return decodeURIComponent(trimmed.slice(prefix.length));\n",
" }\n",
" }\n",
" return '';\n",
" }\n",
"\n",
" function notebookPath() {\n",
" const decoded = decodeURIComponent(window.location.pathname);\n",
" const markers = ['/lab/tree/', '/notebooks/', '/tree/'];\n",
" for (const marker of markers) {\n",
" const index = decoded.indexOf(marker);\n",
" if (index >= 0) {\n",
" return decoded.slice(index + marker.length);\n",
" }\n",
" }\n",
" return '';\n",
" }\n",
"\n",
" async function kernelFromSessions(config) {\n",
" const url = new URL(baseUrl(config) + 'api/sessions', window.location.origin);\n",
" const authToken = token(config);\n",
" if (authToken) {\n",
" url.searchParams.set('token', authToken);\n",
" }\n",
" const response = await fetch(url, {credentials: 'same-origin'});\n",
" if (!response.ok) {\n",
" return '';\n",
" }\n",
" const sessions = await response.json();\n",
" const path = notebookPath();\n",
" const session = sessions.find((item) => item.path === path) || sessions[0];\n",
" return session && session.kernel ? session.kernel.id : '';\n",
" }\n",
"\n",
" async function interruptKernel(config, resolvedKernelId) {\n",
" const url = new URL(\n",
" baseUrl(config) + 'api/kernels/' + resolvedKernelId + '/interrupt',\n",
" window.location.origin\n",
" );\n",
" const authToken = token(config);\n",
" if (authToken) {\n",
" url.searchParams.set('token', authToken);\n",
" }\n",
" const xsrfToken = cookie('_xsrf');\n",
" const headers = {};\n",
" if (xsrfToken) {\n",
" headers['X-XSRFToken'] = xsrfToken;\n",
" }\n",
" const response = await fetch(url, {\n",
" method: 'POST',\n",
" credentials: 'same-origin',\n",
" headers: headers\n",
" });\n",
" return response.ok;\n",
" }\n",
"\n",
" button.addEventListener('click', async function() {\n",
" button.disabled = true;\n",
" setStatus('Stopping...');\n",
" const config = pageConfig();\n",
" try {\n",
" const resolvedKernelId = kernelId || await kernelFromSessions(config);\n",
" if (!resolvedKernelId) {\n",
" throw new Error('Could not resolve the current kernel id.');\n",
" }\n",
" const interrupted = await interruptKernel(config, resolvedKernelId);\n",
" if (!interrupted) {\n",
" throw new Error('Jupyter Server rejected the interrupt request.');\n",
" }\n",
" setStatus('Interrupt sent...');\n",
" } catch (error) {\n",
" button.disabled = false;\n",
" setStatus('Use Kernel > Interrupt to stop this fit.');\n",
" }\n",
" });\n",
"})();\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStandard 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'bumps \u001b[0m\u001b[32m(\u001b[0m\u001b[32mlm\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m\u001b[33m...\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"📈 Goodness-of-fit progress:\n"
]
},
{
"data": {
"text/html": [
" | iteration | time (s) | χ² | change / status |
|---|
| 1 | 1 | 0.02 | 38.65 | |
|---|
| 2 | 131 | 2.38 | 27.51 | 28.8% ↓ |
|---|
| 3 | 260 | 4.71 | 17.73 | 35.5% ↓ |
|---|
| 4 | 389 | 7.06 | 11.89 | 33.0% ↓ |
|---|
| 5 | 500 | 9.12 | 11.89 | |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"⚠️ Parameter 'taurine.atom_site_aniso.S1.adp_11' (-0.02049645) is below its physical lower limit (0.0).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"⚠️ Parameter 'taurine.atom_site_aniso.C2.adp_11' (-0.00438188) is below its physical lower limit (0.0).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"🏆 Best goodness-of-fit \u001b[1m(\u001b[0mreduced χ²\u001b[1m)\u001b[0m is \u001b[1;36m11.89\u001b[0m at iteration \u001b[1;36m500\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"✅ Fitting complete.\n"
]
}
],
"source": [
"project.analysis.fit()"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "38",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:16.991226Z",
"iopub.status.busy": "2026-09-22T20:58:16.990970Z",
"iopub.status.idle": "2026-09-22T20:58:17.409528Z",
"shell.execute_reply": "2026-09-22T20:58:17.408494Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"⚙️ Settings used:\n"
]
},
{
"data": {
"text/html": [
" | Name | Value | Description |
|---|
| 1 | max_iterations | 500 | Maximum solver iterations. |
|---|
| 2 | chi_square_change_tolerance | 0.01 | Relative change in the objective (chi-square) used to stop fitting. |
|---|
| 3 | parameter_change_tolerance | 1e-08 | Relative change in fitted parameters used to stop fitting. |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"📋 Least-squares fit results:\n"
]
},
{
"data": {
"text/html": [
" | Metric | Value |
|---|
| 1 | 🧪 Minimizer | bumps |
|---|
| 2 | ❌ Overall status | failed |
|---|
| 3 | ⏱️ Fitting time (seconds) | 9.12 |
|---|
| 4 | 📏 Goodness-of-fit (reduced χ²) | 11.89 |
|---|
| 5 | 📏 R-factor (Rf, %) | 13.26 |
|---|
| 6 | 📏 R-factor squared (Rf², %) | 9.10 |
|---|
| 7 | 📏 Weighted R-factor (wR, %) | 8.38 |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"📈 Refined parameters:\n"
]
},
{
"data": {
"text/html": [
" | datablock | category | entry | parameter | units | start | value | s.u. | change |
|---|
| 1 | taurine | atom_site | S1 | fract_x | | 0.2013 | 0.2032 | N/A | 0.93 % ↑ |
|---|
| 2 | taurine | atom_site | S1 | fract_y | | 0.3483 | 0.3506 | N/A | 0.65 % ↑ |
|---|
| 3 | taurine | atom_site | S1 | fract_z | | 0.3484 | 0.3491 | N/A | 0.18 % ↑ |
|---|
| 4 | taurine | atom_site | O1 | fract_x | | 0.3178 | 0.3209 | N/A | 0.96 % ↑ |
|---|
| 5 | taurine | atom_site | O1 | fract_y | | 0.2406 | 0.2407 | N/A | 0.01 % ↑ |
|---|
| 6 | taurine | atom_site | O1 | fract_z | | 0.3516 | 0.3503 | N/A | 0.37 % ↓ |
|---|
| 7 | taurine | atom_site | O2 | fract_x | | 0.9392 | 0.9422 | N/A | 0.32 % ↑ |
|---|
| 8 | taurine | atom_site | O2 | fract_y | | 0.3372 | 0.3355 | N/A | 0.49 % ↓ |
|---|
| 9 | taurine | atom_site | O2 | fract_z | | 0.2939 | 0.2943 | N/A | 0.14 % ↑ |
|---|
| 10 | taurine | atom_site | O3 | fract_x | | 0.2249 | 0.2260 | N/A | 0.51 % ↑ |
|---|
| 11 | taurine | atom_site | O3 | fract_y | | 0.4099 | 0.4125 | N/A | 0.64 % ↑ |
|---|
| 12 | taurine | atom_site | O3 | fract_z | | 0.5076 | 0.5089 | N/A | 0.26 % ↑ |
|---|
| 13 | taurine | atom_site | N1 | fract_x | | 0.2634 | 0.2610 | N/A | 0.91 % ↓ |
|---|
| 14 | taurine | atom_site | N1 | fract_y | | 0.6280 | 0.6276 | N/A | 0.07 % ↓ |
|---|
| 15 | taurine | atom_site | N1 | fract_z | | 0.3321 | 0.3325 | N/A | 0.10 % ↑ |
|---|
| 16 | taurine | atom_site | H1 | fract_x | | 0.1365 | 0.1356 | N/A | 0.66 % ↓ |
|---|
| 17 | taurine | atom_site | H1 | fract_y | | 0.5858 | 0.5940 | N/A | 1.39 % ↑ |
|---|
| 18 | taurine | atom_site | H1 | fract_z | | 0.4170 | 0.4213 | N/A | 1.03 % ↑ |
|---|
| 19 | taurine | atom_site | H2 | fract_x | | 0.1886 | 0.1843 | N/A | 2.24 % ↓ |
|---|
| 20 | taurine | atom_site | H2 | fract_y | | 0.7132 | 0.7053 | N/A | 1.12 % ↓ |
|---|
| 21 | taurine | atom_site | H2 | fract_z | | 0.3077 | 0.3042 | N/A | 1.16 % ↓ |
|---|
| 22 | taurine | atom_site | H3 | fract_x | | 0.4338 | 0.4418 | N/A | 1.83 % ↑ |
|---|
| 23 | taurine | atom_site | H3 | fract_y | | 0.6261 | 0.6340 | N/A | 1.27 % ↑ |
|---|
| 24 | taurine | atom_site | H3 | fract_z | | 0.3485 | 0.3555 | N/A | 2.01 % ↑ |
|---|
| 25 | taurine | atom_site | C1 | fract_x | | 0.3470 | 0.3505 | N/A | 0.99 % ↑ |
|---|
| 26 | taurine | atom_site | C1 | fract_y | | 0.4398 | 0.4393 | N/A | 0.11 % ↓ |
|---|
| 27 | taurine | atom_site | C1 | fract_z | | 0.2021 | 0.2037 | N/A | 0.79 % ↑ |
|---|
| 28 | taurine | atom_site | H11 | fract_x | | 0.5478 | 0.5403 | N/A | 1.37 % ↓ |
|---|
| 29 | taurine | atom_site | H11 | fract_y | | 0.4337 | 0.4416 | N/A | 1.82 % ↑ |
|---|
| 30 | taurine | atom_site | H11 | fract_z | | 0.2404 | 0.2405 | N/A | 0.04 % ↑ |
|---|
| 31 | taurine | atom_site | H12 | fract_x | | 0.3271 | 0.3314 | N/A | 1.30 % ↑ |
|---|
| 32 | taurine | atom_site | H12 | fract_y | | 0.3809 | 0.3861 | N/A | 1.37 % ↑ |
|---|
| 33 | taurine | atom_site | H12 | fract_z | | 0.0852 | 0.0861 | N/A | 0.95 % ↑ |
|---|
| 34 | taurine | atom_site | C2 | fract_x | | 0.1966 | 0.2063 | N/A | 4.93 % ↑ |
|---|
| 35 | taurine | atom_site | C2 | fract_y | | 0.5556 | 0.5556 | N/A | 0.01 % ↑ |
|---|
| 36 | taurine | atom_site | C2 | fract_z | | 0.1797 | 0.1806 | N/A | 0.49 % ↑ |
|---|
| 37 | taurine | atom_site | H21 | fract_x | | 0.2735 | 0.2738 | N/A | 0.11 % ↑ |
|---|
| 38 | taurine | atom_site | H21 | fract_y | | 0.5982 | 0.6016 | N/A | 0.57 % ↑ |
|---|
| 39 | taurine | atom_site | H21 | fract_z | | 0.0737 | 0.0772 | N/A | 4.65 % ↑ |
|---|
| 40 | taurine | atom_site | H22 | fract_x | | 0.9968 | 0.9948 | N/A | 0.20 % ↓ |
|---|
| 41 | taurine | atom_site | H22 | fract_y | | 0.5509 | 0.5558 | N/A | 0.89 % ↑ |
|---|
| 42 | taurine | atom_site | H22 | fract_z | | 0.1644 | 0.1643 | N/A | 0.04 % ↓ |
|---|
| 43 | taurine | atom_site_aniso | S1 | adp_11 | Ų | 0.0161 | -0.0205 | N/A | 227.15 % ↓ |
|---|
| 44 | taurine | atom_site_aniso | S1 | adp_22 | Ų | 0.0161 | 0.0028 | N/A | 82.62 % ↓ |
|---|
| 45 | taurine | atom_site_aniso | S1 | adp_33 | Ų | 0.0161 | 0.0297 | N/A | 84.50 % ↑ |
|---|
| 46 | taurine | atom_site_aniso | S1 | adp_12 | Ų | 0.0000 | -0.0193 | N/A | N/A |
|---|
| 47 | taurine | atom_site_aniso | S1 | adp_13 | Ų | 0.0000 | 0.0016 | N/A | N/A |
|---|
| 48 | taurine | atom_site_aniso | S1 | adp_23 | Ų | 0.0000 | -0.0000 | N/A | N/A |
|---|
| 49 | taurine | atom_site_aniso | O1 | adp_11 | Ų | 0.0352 | 0.0375 | N/A | 6.62 % ↑ |
|---|
| 50 | taurine | atom_site_aniso | O1 | adp_22 | Ų | 0.0352 | 0.0263 | N/A | 25.37 % ↓ |
|---|
| 51 | taurine | atom_site_aniso | O1 | adp_33 | Ų | 0.0352 | 0.0430 | N/A | 22.02 % ↑ |
|---|
| 52 | taurine | atom_site_aniso | O1 | adp_12 | Ų | 0.0000 | -0.0027 | N/A | N/A |
|---|
| 53 | taurine | atom_site_aniso | O1 | adp_13 | Ų | 0.0000 | 0.0120 | N/A | N/A |
|---|
| 54 | taurine | atom_site_aniso | O1 | adp_23 | Ų | 0.0000 | -0.0117 | N/A | N/A |
|---|
| 55 | taurine | atom_site_aniso | O2 | adp_11 | Ų | 0.0449 | 0.0317 | N/A | 29.50 % ↓ |
|---|
| 56 | taurine | atom_site_aniso | O2 | adp_22 | Ų | 0.0449 | 0.0022 | N/A | 95.11 % ↓ |
|---|
| 57 | taurine | atom_site_aniso | O2 | adp_33 | Ų | 0.0449 | 0.0544 | N/A | 21.09 % ↑ |
|---|
| 58 | taurine | atom_site_aniso | O2 | adp_12 | Ų | 0.0000 | -0.0019 | N/A | N/A |
|---|
| 59 | taurine | atom_site_aniso | O2 | adp_13 | Ų | 0.0000 | 0.0187 | N/A | N/A |
|---|
| 60 | taurine | atom_site_aniso | O2 | adp_23 | Ų | 0.0000 | -0.0079 | N/A | N/A |
|---|
| 61 | taurine | atom_site_aniso | O3 | adp_11 | Ų | 0.0262 | 0.0409 | N/A | 56.07 % ↑ |
|---|
| 62 | taurine | atom_site_aniso | O3 | adp_22 | Ų | 0.0262 | 0.0305 | N/A | 16.63 % ↑ |
|---|
| 63 | taurine | atom_site_aniso | O3 | adp_33 | Ų | 0.0262 | 0.0172 | N/A | 34.42 % ↓ |
|---|
| 64 | taurine | atom_site_aniso | O3 | adp_12 | Ų | 0.0000 | 0.0104 | N/A | N/A |
|---|
| 65 | taurine | atom_site_aniso | O3 | adp_13 | Ų | 0.0000 | 0.0002 | N/A | N/A |
|---|
| 66 | taurine | atom_site_aniso | O3 | adp_23 | Ų | 0.0000 | 0.0009 | N/A | N/A |
|---|
| 67 | taurine | atom_site_aniso | N1 | adp_11 | Ų | 0.0266 | 0.0144 | N/A | 45.98 % ↓ |
|---|
| 68 | taurine | atom_site_aniso | N1 | adp_22 | Ų | 0.0266 | 0.0348 | N/A | 30.78 % ↑ |
|---|
| 69 | taurine | atom_site_aniso | N1 | adp_33 | Ų | 0.0266 | 0.0263 | N/A | 1.15 % ↓ |
|---|
| 70 | taurine | atom_site_aniso | N1 | adp_12 | Ų | 0.0000 | -0.0052 | N/A | N/A |
|---|
| 71 | taurine | atom_site_aniso | N1 | adp_13 | Ų | 0.0000 | 0.0032 | N/A | N/A |
|---|
| 72 | taurine | atom_site_aniso | N1 | adp_23 | Ų | 0.0000 | -0.0018 | N/A | N/A |
|---|
| 73 | taurine | atom_site_aniso | H1 | adp_11 | Ų | 0.0359 | 0.0450 | N/A | 25.44 % ↑ |
|---|
| 74 | taurine | atom_site_aniso | H1 | adp_22 | Ų | 0.0359 | 0.0275 | N/A | 23.22 % ↓ |
|---|
| 75 | taurine | atom_site_aniso | H1 | adp_33 | Ų | 0.0359 | 0.0389 | N/A | 8.62 % ↑ |
|---|
| 76 | taurine | atom_site_aniso | H1 | adp_12 | Ų | 0.0000 | -0.0047 | N/A | N/A |
|---|
| 77 | taurine | atom_site_aniso | H1 | adp_13 | Ų | 0.0000 | 0.0128 | N/A | N/A |
|---|
| 78 | taurine | atom_site_aniso | H1 | adp_23 | Ų | 0.0000 | -0.0110 | N/A | N/A |
|---|
| 79 | taurine | atom_site_aniso | H2 | adp_11 | Ų | 0.0527 | 0.0645 | N/A | 22.38 % ↑ |
|---|
| 80 | taurine | atom_site_aniso | H2 | adp_22 | Ų | 0.0527 | 0.0959 | N/A | 81.87 % ↑ |
|---|
| 81 | taurine | atom_site_aniso | H2 | adp_33 | Ų | 0.0527 | 0.0293 | N/A | 44.44 % ↓ |
|---|
| 82 | taurine | atom_site_aniso | H2 | adp_12 | Ų | 0.0000 | 0.0441 | N/A | N/A |
|---|
| 83 | taurine | atom_site_aniso | H2 | adp_13 | Ų | 0.0000 | -0.0087 | N/A | N/A |
|---|
| 84 | taurine | atom_site_aniso | H2 | adp_23 | Ų | 0.0000 | 0.0103 | N/A | N/A |
|---|
| 85 | taurine | atom_site_aniso | H3 | adp_11 | Ų | 0.0621 | 0.0191 | N/A | 69.27 % ↓ |
|---|
| 86 | taurine | atom_site_aniso | H3 | adp_22 | Ų | 0.0621 | 0.0773 | N/A | 24.39 % ↑ |
|---|
| 87 | taurine | atom_site_aniso | H3 | adp_33 | Ų | 0.0621 | 0.0764 | N/A | 22.94 % ↑ |
|---|
| 88 | taurine | atom_site_aniso | H3 | adp_12 | Ų | 0.0000 | 0.0055 | N/A | N/A |
|---|
| 89 | taurine | atom_site_aniso | H3 | adp_13 | Ų | 0.0000 | -0.0066 | N/A | N/A |
|---|
| 90 | taurine | atom_site_aniso | H3 | adp_23 | Ų | 0.0000 | -0.0177 | N/A | N/A |
|---|
| 91 | taurine | atom_site_aniso | C1 | adp_11 | Ų | 0.0213 | 0.0352 | N/A | 65.30 % ↑ |
|---|
| 92 | taurine | atom_site_aniso | C1 | adp_22 | Ų | 0.0213 | 0.0093 | N/A | 56.26 % ↓ |
|---|
| 93 | taurine | atom_site_aniso | C1 | adp_33 | Ų | 0.0213 | 0.0187 | N/A | 12.26 % ↓ |
|---|
| 94 | taurine | atom_site_aniso | C1 | adp_12 | Ų | 0.0000 | 0.0147 | N/A | N/A |
|---|
| 95 | taurine | atom_site_aniso | C1 | adp_13 | Ų | 0.0000 | 0.0056 | N/A | N/A |
|---|
| 96 | taurine | atom_site_aniso | C1 | adp_23 | Ų | 0.0000 | -0.0053 | N/A | N/A |
|---|
| 97 | taurine | atom_site_aniso | H11 | adp_11 | Ų | 0.0445 | 0.0662 | N/A | 48.72 % ↑ |
|---|
| 98 | taurine | atom_site_aniso | H11 | adp_22 | Ų | 0.0445 | 0.0056 | N/A | 87.50 % ↓ |
|---|
| 99 | taurine | atom_site_aniso | H11 | adp_33 | Ų | 0.0445 | 0.0543 | N/A | 21.87 % ↑ |
|---|
| 100 | taurine | atom_site_aniso | H11 | adp_12 | Ų | 0.0000 | 0.0009 | N/A | N/A |
|---|
| 101 | taurine | atom_site_aniso | H11 | adp_13 | Ų | 0.0000 | 0.0233 | N/A | N/A |
|---|
| 102 | taurine | atom_site_aniso | H11 | adp_23 | Ų | 0.0000 | 0.0024 | N/A | N/A |
|---|
| 103 | taurine | atom_site_aniso | H12 | adp_11 | Ų | 0.0424 | 0.0818 | N/A | 92.75 % ↑ |
|---|
| 104 | taurine | atom_site_aniso | H12 | adp_22 | Ų | 0.0424 | 0.0451 | N/A | 6.25 % ↑ |
|---|
| 105 | taurine | atom_site_aniso | H12 | adp_33 | Ų | 0.0424 | 0.0397 | N/A | 6.35 % ↓ |
|---|
| 106 | taurine | atom_site_aniso | H12 | adp_12 | Ų | 0.0000 | 0.0346 | N/A | N/A |
|---|
| 107 | taurine | atom_site_aniso | H12 | adp_13 | Ų | 0.0000 | 0.0236 | N/A | N/A |
|---|
| 108 | taurine | atom_site_aniso | H12 | adp_23 | Ų | 0.0000 | 0.0030 | N/A | N/A |
|---|
| 109 | taurine | atom_site_aniso | C2 | adp_11 | Ų | 0.0232 | -0.0044 | N/A | 118.88 % ↓ |
|---|
| 110 | taurine | atom_site_aniso | C2 | adp_22 | Ų | 0.0232 | 0.0453 | N/A | 95.35 % ↑ |
|---|
| 111 | taurine | atom_site_aniso | C2 | adp_33 | Ų | 0.0232 | 0.0259 | N/A | 11.45 % ↑ |
|---|
| 112 | taurine | atom_site_aniso | C2 | adp_12 | Ų | 0.0000 | -0.0039 | N/A | N/A |
|---|
| 113 | taurine | atom_site_aniso | C2 | adp_13 | Ų | 0.0000 | -0.0015 | N/A | N/A |
|---|
| 114 | taurine | atom_site_aniso | C2 | adp_23 | Ų | 0.0000 | 0.0040 | N/A | N/A |
|---|
| 115 | taurine | atom_site_aniso | H21 | adp_11 | Ų | 0.0301 | 0.0450 | N/A | 49.48 % ↑ |
|---|
| 116 | taurine | atom_site_aniso | H21 | adp_22 | Ų | 0.0301 | 0.0480 | N/A | 59.54 % ↑ |
|---|
| 117 | taurine | atom_site_aniso | H21 | adp_33 | Ų | 0.0301 | 0.0327 | N/A | 8.82 % ↑ |
|---|
| 118 | taurine | atom_site_aniso | H21 | adp_12 | Ų | 0.0000 | -0.0258 | N/A | N/A |
|---|
| 119 | taurine | atom_site_aniso | H21 | adp_13 | Ų | 0.0000 | 0.0064 | N/A | N/A |
|---|
| 120 | taurine | atom_site_aniso | H21 | adp_23 | Ų | 0.0000 | -0.0015 | N/A | N/A |
|---|
| 121 | taurine | atom_site_aniso | H22 | adp_11 | Ų | 0.0593 | 0.0047 | N/A | 92.02 % ↓ |
|---|
| 122 | taurine | atom_site_aniso | H22 | adp_22 | Ų | 0.0593 | 0.0377 | N/A | 36.52 % ↓ |
|---|
| 123 | taurine | atom_site_aniso | H22 | adp_33 | Ų | 0.0593 | 0.0655 | N/A | 10.41 % ↑ |
|---|
| 124 | taurine | atom_site_aniso | H22 | adp_12 | Ų | 0.0000 | 0.0085 | N/A | N/A |
|---|
| 125 | taurine | atom_site_aniso | H22 | adp_13 | Ų | 0.0000 | -0.0214 | N/A | N/A |
|---|
| 126 | taurine | atom_site_aniso | H22 | adp_23 | Ų | 0.0000 | 0.0079 | N/A | N/A |
|---|
| 127 | senju | extinction | | radius | μm | 0.2304 | 3.6178 | N/A | 1469.91 % ↑ |
|---|
| 128 | senju | linked_structure | | scale | | 1.3466 | 1.3597 | N/A | 0.97 % ↑ |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" • start = parameter value before refinement
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"⚠️ Red value: outside expected physical limits (consider adding constraints)
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.display.fit.results()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "39",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:17.411322Z",
"iopub.status.busy": "2026-09-22T20:58:17.411098Z",
"iopub.status.idle": "2026-09-22T20:58:17.415638Z",
"shell.execute_reply": "2026-09-22T20:58:17.414830Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"⚠️ Correlation matrix is unavailable for this fit. This can happen if the minimization failed, if some parameters are too strongly correlated or poorly determined, or if the selected minimizer does not return covariance information.\n"
]
}
],
"source": [
"project.display.fit.correlations()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "40",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:17.417543Z",
"iopub.status.busy": "2026-09-22T20:58:17.417352Z",
"iopub.status.idle": "2026-09-22T20:58:17.434673Z",
"shell.execute_reply": "2026-09-22T20:58:17.433615Z"
}
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"project.display.pattern(expt_name='senju')"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "41",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:17.436327Z",
"iopub.status.busy": "2026-09-22T20:58:17.436127Z",
"iopub.status.idle": "2026-09-22T20:58:17.447513Z",
"shell.execute_reply": "2026-09-22T20:58:17.446548Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mStructure 🧩 \u001b[0m\u001b[32m'taurine'\u001b[0m\u001b[1;36m as text\u001b[0m\n"
]
},
{
"data": {
"text/html": [
" | Edi |
|---|
| 1 | data_taurine |
|---|
| 2 | |
|---|
| 3 | _cell.length_a 5.2729 |
|---|
| 4 | _cell.length_b 11.6565 |
|---|
| 5 | _cell.length_c 7.8383 |
|---|
| 6 | _cell.angle_alpha 90. |
|---|
| 7 | _cell.angle_beta 94.011 |
|---|
| 8 | _cell.angle_gamma 90. |
|---|
| 9 | |
|---|
| 10 | _space_group.name_h_m "P 21/c" |
|---|
| 11 | _space_group.coord_system_code b1 |
|---|
| 12 | |
|---|
| 13 | _geom.min_bond_distance_cutoff 0. |
|---|
| 14 | _geom.bond_distance_inc 0.25 |
|---|
| 15 | |
|---|
| 16 | loop_ |
|---|
| 17 | _atom_site.id |
|---|
| 18 | _atom_site.type_symbol |
|---|
| 19 | _atom_site.fract_x |
|---|
| 20 | _atom_site.fract_y |
|---|
| 21 | _atom_site.fract_z |
|---|
| 22 | _atom_site.wyckoff_letter |
|---|
| 23 | _atom_site.multiplicity |
|---|
| 24 | _atom_site.occupancy |
|---|
| 25 | _atom_site.adp_iso |
|---|
| 26 | _atom_site.adp_type |
|---|
| 27 | S1 S 0.2031755() 0.35057473() 0.34906359() e 4 1. 0.00401494 Uani |
|---|
| 28 | O1 O 0.32086822() 0.24065466() 0.35030831() e 4 1. 0.03558451 Uani |
|---|
| 29 | O2 O 0.9422186() 0.33553543() 0.2943315() e 4 1. 0.02941716 Uani |
|---|
| 30 | O3 O 0.22604795() 0.41246962() 0.50887095() e 4 1. 0.02952104 Uani |
|---|
| 31 | N1 N 0.26100544() 0.62759294() 0.33245102() e 4 1. 0.02518271 Uani |
|---|
| 32 | H1 H 0.13555896() 0.59395698() 0.42130547() e 4 1. 0.03715471 Uani |
|---|
| 33 | H2 H 0.18433696() 0.70527363() 0.30417188() e 4 1. 0.06321393 Uani |
|---|
| 34 | H3 H 0.44176081() 0.63400275() 0.35554231() e 4 1. 0.05756825 Uani |
|---|
| 35 | C1 C 0.3504733() 0.43932984() 0.20371258() e 4 1. 0.02107854 Uani |
|---|
| 36 | H11 H 0.54033064() 0.44159352() 0.24052714() e 4 1. 0.04200888 Uani |
|---|
| 37 | H12 H 0.33140208() 0.38609867() 0.08605386() e 4 1. 0.05554352 Uani |
|---|
| 38 | C2 C 0.20626418() 0.55564967() 0.18063121() e 4 1. 0.02227774 Uani |
|---|
| 39 | H21 H 0.27378775() 0.60158819() 0.07716259() e 4 1. 0.04191537 Uani |
|---|
| 40 | H22 H 0.99481548() 0.55579558() 0.16430428() e 4 1. 0.0359701 Uani |
|---|
| 41 | |
|---|
| 42 | loop_ |
|---|
| 43 | _atom_site_aniso.id |
|---|
| 44 | _atom_site_aniso.adp_11 |
|---|
| 45 | _atom_site_aniso.adp_22 |
|---|
| 46 | _atom_site_aniso.adp_33 |
|---|
| 47 | _atom_site_aniso.adp_12 |
|---|
| 48 | _atom_site_aniso.adp_13 |
|---|
| 49 | _atom_site_aniso.adp_23 |
|---|
| 50 | S1 -0.02049645() 0.00280086() 0.0297404() -0.01928384() 0.00158068() -0.00002913() |
|---|
| 51 | O1 0.03753137() 0.02626999() 0.04295216() -0.00265574() 0.01197014() -0.01170016() |
|---|
| 52 | O2 0.03166587() 0.00219754() 0.05438807() -0.00188539() 0.01870859() -0.00793643() |
|---|
| 53 | O3 0.0408599() 0.03053501() 0.01716822() 0.01038486() 0.00019991() 0.00086291() |
|---|
| 54 | N1 0.01438727() 0.03483324() 0.02632762() -0.00516777() 0.00324174() -0.00181414() |
|---|
| 55 | H1 0.04498022() 0.02753397() 0.03894993() -0.00465784() 0.01276985() -0.01104185() |
|---|
| 56 | H2 0.06450102() 0.09585856() 0.0292822() 0.04411927() -0.00869109() 0.01028107() |
|---|
| 57 | H3 0.01908915() 0.07725996() 0.07635565() 0.00551452() -0.0065522() -0.017712() |
|---|
| 58 | C1 0.03521991() 0.0093205() 0.0186952() 0.01472301() 0.00555376() -0.00533095() |
|---|
| 59 | H11 0.06620726() 0.00556669() 0.05425269() 0.00091732() 0.02329037() 0.0023716() |
|---|
| 60 | H12 0.08179805() 0.04508835() 0.03974417() 0.03464255() 0.02361103() 0.00299542() |
|---|
| 61 | C2 -0.00438188() 0.04534467() 0.02587042() -0.00390863() -0.00150789() 0.00399456() |
|---|
| 62 | H21 0.04498601() 0.04801285() 0.03274724() -0.02581675() 0.00636336() -0.00151917() |
|---|
| 63 | H22 0.00473233() 0.03766364() 0.06551433() 0.00848636() -0.02136492() 0.00789778() |
|---|
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"structure.show_as_text()"
]
},
{
"cell_type": "markdown",
"id": "42",
"metadata": {},
"source": [
"## 💾 Save Project"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "43",
"metadata": {
"execution": {
"iopub.execute_input": "2026-09-22T20:58:17.449379Z",
"iopub.status.busy": "2026-09-22T20:58:17.449208Z",
"iopub.status.idle": "2026-09-22T20:58:17.617282Z",
"shell.execute_reply": "2026-09-22T20:58:17.616062Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1;36mSaving project 📦 \u001b[0m\u001b[32m'taurine_senju'\u001b[0m\u001b[1;36m to \u001b[0m\u001b[32m'../../../projects/refine-taurine-senju'\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"├── 📄 project.edi\n",
"├── 📁 structures/\n",
"│ └── 📄 taurine.edi\n",
"├── 📁 experiments/\n",
"│ └── 📄 senju.edi\n",
"├── 📁 analysis/\n",
"│ └── 📄 analysis.edi\n",
"└── 📁 reports/\n",
" └── 📄 taurine_senju.html\n"
]
}
],
"source": [
"project.save_as(dir_path='projects/refine-taurine-senju')"
]
}
],
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}