{ "cells": [ { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. _SectionMaterial:\n", "\n", "Material\n", "========\n", "\n", "The core of the saenopy package is its unique material model for fibered hydrogels, which is explained in the following section.\n", "\n", "Semi-Affine Fibers\n", "------------------\n", "\n", ".. figure:: images/theory/material/fiber.png\n", " :width: 70%\n", "\n", " The stiffness :math:`\\omega''(\\lambda)` as a function of the strain. It is the second derivative of the energy function\n", " :math:`\\omega(\\lambda)` of the material, which is used for the calculation as explained below.\n", "\n", "The default material model is a semi-affine fiber material which is approximated by a mean field description.\n", "Semi-affine because the model material is not an affine material, but nevertheless shows some affine properties.\n", "The mean field description means that not individual fibers are simulated but the mean effect of them, as described below.\n", "\n", "The fibers are modeled to show different behavior in three strain regimes:\n", "\n", " - under compression (:math:`-1 < \\lambda < 0`) fibers buckle showing an exponential decay of the stiffness\n", " - for small strains (:math:`0<\\lambda<\\lambda_s`) fibers show a linear stiffness\n", " - for larger strains (:math:`\\lambda_s<\\lambda`) fibers show strain stiffening with an exponential increase of the stiffness\n", "\n", ".. math::\n", " w''(\\lambda) = \\begin{cases}\n", " k \\exp\\left(\\frac{\\lambda}{d_0}\\right) &\\mbox{if } -1 \\le \\lambda < 0 & \\mbox{buckling} \\\\\n", " k & \\mbox{if } 0 \\le \\lambda < \\lambda_s & \\mbox{linear} \\\\\n", " k \\exp\\left(\\frac{\\lambda-\\lambda_s}{d_s}\\right) &\\mbox{if } \\lambda_s \\le \\lambda & \\mbox{stiffening} \\\\\n", " \\end{cases}\n", " \n", "With the stiffness :math:`k`, the buckling exponent :math:`d_0`, the stiffening threshold :math:`\\lambda_s` and the stiffening exponent :math:`d_s`.\n", "\n", "The energy function :math:`w(\\lambda)` is then used to calculate the energy stored in a tetrahedron with a deformation gradient\n", ":math:`\\mathbf{F}`, by applying the deformation gradient to a finite set of homogeneously distributed unit vectors :math:`\\vec{e_r}(\\Omega)`.\n", "The strain :math:`\\lambda` of these vectors is used to calculate the energy :math:`w` stored in this deformation.\n", "The energy density :math:`W` is the average of the contributions of all these unit vectors :math:`\\vec{e_r}(\\Omega)`;\n", "resulting in an average (mean field approach) of the energy over the full solid angle, assuming that possible fibers are distributed isotropically.\n", "\n", ".. math::\n", " W = \\langle\\omega(|\\mathbf{F} \\cdot \\vec{e_r}(\\Omega)|-1)\\rangle_\\Omega\n", "\n", "With :math:`\\mathbf{F}` being the deformation gradient, :math:`\\vec{e_r}` a unit vector in a finite set of directions\n", "that approximate :math:`\\Omega` the solid angle,\n", ":math:`\\omega(\\lambda)` the material's energy function, :math:`W` the energy density and\n", ":math:`\\langle \\cdot \\rangle_\\Omega` denotes an average over the solid angle.\n", "\n", ".. math::\n", " E(\\vec{U}) = \\sum_T W(\\mathbf{F}(\\vec{U})_T) \\cdot V_T \n", "\n", ".. math::\n", " \\mathbf{K}_{ij}(\\vec{U}) = \\frac{\\partial E(\\vec{U})}{\\partial \\vec{U}_i\\partial \\vec{U}_j}\n", "\n", ".. math::\n", " \\vec{f}_i(\\vec{U}) = \\frac{\\partial E(\\vec{U})}{\\partial \\vec{U}_i} \n", "\n", "Materials\n", "---------\n", "\n", "This section documents the class that represents this material.\n", "\n", ".. currentmodule:: saenopy.materials\n", "\n", ".. autoclass:: Material\n", " :members:\n", "\n", ".. autoclass:: SemiAffineFiberMaterial\n", " :members:\n", "\n", "\n", "Defining custom materials\n", "-------------------------\n", "\n", "To define a custom material, define a new class that is a subclass of :py:class:`saenopy.materials.Material`. The class needs to define a function called `stiffness` to define the material model. Saenopy will call this function with an array of stretch values and the function has to an array of the corresponding stiffness values.\n", "\n", "This procedure is demonstrated in the following code example where a new material `QuadracticMaterial` is defined with a `stiffness` function that is linearly dependent on the stretch, i.e. resulting in a quadratic force response.\n", "\n", ".. code-block:: python\n", " :linenos:\n", "\n", " from saenopy.materials import Material\n", "\n", " class QuadracticMaterial(Material):\n", " \"\"\"\n", " A custom material that has a quadratic force response.\n", "\n", " Parameters\n", " ----------\n", " k : float\n", " The stiffness of the material.\n", " \"\"\"\n", " def __init__(self, k):\n", " # parameters\n", " self.k = k\n", " self.parameters = dict(k=k)\n", "\n", " def stiffness(self, s):\n", " # the stiffness increases linearly, resulting in a quadratic force\n", " stiff = self.k * s\n", "\n", " return stiff\n", " \n", "\n", "The newly defined material can be used with :py:meth:`~.Solver.setMaterialModel`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Macrorheology" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the material model is based on microscopic parameters and not on macroscopic parameters (as e.g. the bulk stiffness), the material parameters cannot directly be measured using a rheometer. Instead the rheological experiments are \"simulated\" on the material model and the resulting curves can be used to fit the material parameters so that the the \"simulated\" rheological experiments on the material model fit the measured rheological response of the material.\n", "\n", "Here, we describe three different rheological experiments that can be simulated on the material model.\n", "\n", "- Shear Rheometer\n", "- Stretch Thinning\n", "- Extensional Rheometer\n", " \n", "The stretch experiment is needed to reliably fit later on the buckling of the material and either the Shear Rheometer or the Extensional Rheometer experiment can be used to fit the fiber stiffness and the strain stiffening.\n", "\n", "This section first describes the functions that simulate these experiments on the material model and the next section explains how these functions can be used to fit the material parameters from experimental data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Shear Rheometer" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "\n", ".. autofunction:: saenopy.macro.get_shear_rheometer_stress\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SemiAffineFiberMaterial(k=900, d0=0.0004, lambda_s=0.0075, ds=0.033)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from saenopy import macro\n", "from saenopy.materials import SemiAffineFiberMaterial\n", "\n", "material = SemiAffineFiberMaterial(900, 0.0004, 0.0075, 0.033)\n", "print(material)\n", "\n", "gamma = np.arange(0.005, 0.3, 0.0001)\n", "x, y = macro.get_shear_rheometer_stress(gamma, material)\n", "plt.loglog(x, y, \"-\", lw=3, label=\"model\")\n", "\n", "plt.xlabel(\"strain\")\n", "plt.ylabel(\"shear stress [Pa]\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stretcher" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "\n", ".. autofunction:: saenopy.macro.get_stretch_thinning\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SemiAffineFiberMaterial(k=900, d0=0.0004, lambda_s=0.0075, ds=0.033)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from saenopy import macro\n", "from saenopy.materials import SemiAffineFiberMaterial\n", "\n", "material = SemiAffineFiberMaterial(900, 0.0004, 0.0075, 0.033)\n", "print(material)\n", "\n", "lambda_h = np.arange(1-0.05, 1+0.07, 0.01)\n", "lambda_v = np.arange(0, 1.1, 0.001)\n", "\n", "x, y = macro.get_stretch_thinning(lambda_h, lambda_v, material)\n", "plt.plot(x, y, lw=3, label=\"model\")\n", "plt.xlabel(\"horizontal stretch\")\n", "plt.ylabel(\"vertical contraction\")\n", "\n", "plt.ylim(0, 1.2)\n", "plt.xlim(0.9, 1.2)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "### Extensional Rheometer" ] }, { "cell_type": "raw", "metadata": { "pycharm": { "name": "#%% raw\n" }, "raw_mimetype": "text/restructuredtext" }, "source": [ "\n", ".. autofunction:: saenopy.macro.get_extensional_rheometer_stress\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SemiAffineFiberMaterial(k=900, d0=0.0004, lambda_s=0.0075, ds=0.033)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from saenopy import macro\n", "from saenopy.materials import SemiAffineFiberMaterial, LinearMaterial\n", "\n", "material = SemiAffineFiberMaterial(900, 0.0004, 0.0075, 0.033)\n", "print(material)\n", "\n", "epsilon = np.arange(1, 1.17, 0.0001)\n", "x, y = macro.get_extensional_rheometer_stress(epsilon, material)\n", "plt.plot(x, y, lw=3, label=\"model\")\n", "\n", "plt.xlabel(\"strain\")\n", "plt.ylabel(\"stress [Pa]\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fitting material parameters" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "To fit the parameters of the material model for the use withe saenopy four parameters are needed, as explained above." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "u:\\dropbox\\software-github\\saenopy\\real\\saenopy\\macro.py:469: RuntimeWarning: invalid value encountered in log\n", " cost = np.nansum((np.log(stretchy2) - np.log(sheary)) ** 2 * weights)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[6.81340555e+02 2.92017024e+03 1.10147721e+04 2.93635523e-02\n", " 8.06826765e-02]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEKCAYAAAD9xUlFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAvfElEQVR4nO3de5zWY/7H8denacZM0URFdBBb2OQQ4SciotJByaFyWEs/OWsRaZ1iUbEOJZacj5E2KVMbwuLn1ImlbZ2yqVSEjjPVNF2/P6657+8908w0M933/b3vmffz8fDovq77O9/789Wj+zPX2ZxziIiIANQJOwAREUkdSgoiIhKlpCAiIlFKCiIiEqWkICIiUUoKIiISVTfsAHZE48aNXatWrcIOQ0QkrcydO3eVc65JWe+lZVIws95A79atWzNnzpywwxERSStmtri899Ky+8g5N805Nzg3NzfsUEREapS0TAoiIpIYSgoiIhKlpCAiIlFKCiIiSZa3KI+uk7py8DMH03VSV/IW5YUdUlRazj4SEUlXeYvyGPHhCDYWbQRg+YbljPhwBAA99+0ZYmSeWgoiIkk0Zt6YaEKI2Fi0kTHzxoQUUUlKCiIiSbRiw4oq1SebkoKISBI1rd+0SvXJpqQgIpIEkcHl5RuWb/NedkY2Qw4bEkJU29JAs4hIgpUeXI61Z/09GXLYkJQYZIY0TQqxex+JiKS6sgaXwSeEN854I4SIypeW3Ufa+0hE0kmqDy7HSsukICKSTuI2uLxqFeTlQUFBHKIqm5KCiEgC5S3KI78wv0TdzvlF1RtcnjIFevWCxo3hllviF2QMJQURkQSJDDCv2bwmWnfgonzevvorXn67GT2zDqnaDadN83/m50PDhvELNEZaDjSLiKSDsgaY/zdvFTmbtrLvU69B4S7w3HOVu1lBAbz5ZlDu3TuOkQbUUhARSZDSA8m/W7aRk+auDSqGDav8zWbNCsYSDjgA2rSJQ4TbUlIQEUmQ0gPJg17/OSj06QPt2lX+ZlOnBq8T1EoAJQURkYQZctgQsjOyAWj+0yZO+SQYW2D48MrfaOtWeP31oHzqqXGKcFsaUxARibO8RXmMmTeGFRtW0CCrAdl1s7lo2gLqbi2+oEsXOOqoyt9w9mxYXrw9RsNd4JOL4a1lkNscutwCB58Vt9iVFERE4qj0lhZrNq9h31+Mvh/FjCVUdTrp5MnB630LYd1S/3rNEph2lX8dp8Sg7iMRkTgqa8bRea8tpc6WIl/o3BmOO67yN3SuZFLYz0q+X1gAs26vXrBlUFIQEYmj0jOOWqzcRN8Pfgsqbr21ajdcsAC+/da/zgR+V0YHz5qlVbtnBZQURETiqPSMo0te+zkYSzjxRN9SqIpXXw1et6kLdW3ba3KbV+2eFVBSEBGJo9gZR/su20ivj1YHb/7lL1W/4SuvBK8PyNz2/cwcP9gcJxpoFhGJo8i5CGPmjWHIpE+o44rfOOUU6NixajdbuBC++MK/rgvsV8ZXdu+xmn0kIpJqYqehNq3flBGuKx3nx2xLcdddVb9pbCuhTV3YqVTXUW6LuCYESLGkYGZ9gZ5AA+AJ51xqnT4hIlKG0tNQl6//kZyRtwUXnH02HHpo1W88cWLw+sDSXUcW126jiISPKZjZk2b2k5l9Waq+u5l9ZWbfmtkNAM65Kc65i4BLgP6Jjk1EJB5KT0M9cd462n+93hcyM6s3lrBggf8P/K/vbUr/Du/i3kqA5Aw0Pw10j60wswzgIeAUoC0w0MzaxlxyU/H7IiIpL3Yaat0tW7lmYsy01EsvhX33rfpNX3gheL1fXcgqo+soARKeFJxz7wG/lqo+EvjWObfIObcZeAnoY95oYIZzbl5Z9zOzwWY2x8zm/Pzzz2VdIiKSVLHTUAfM+pW9V24GYF39ulVflwB+r6MXXwzKByWn6wjCm5LaDFgSU15aXHclcBJwhpldUtYPOufGO+c6OOc6NGnSJPGRiohsR2Qa6q5rt3Dpaz9F65f86Y+w225Vv+GHH8Lixf51NtA6OV1HkGIDzc65scDYsOMQEamKyDRULr6YBvl+pdqGvfek7S3V7AWP7Tpqm7ntgrUEdR1BeElhGRD7VM2L60RE0kLpKag3Z/Wk06wfo+/XHzcesrKqfuPNm+GlmKRQuusozovVSgur+2g20MbM9jGzLGAAMHU7PxNlZr3NbPyaNWu2f7GISJxFpqAu37Ach2PFuh9pMPRGv3kd+IVqPXtW7+avvw6r1/nXDQz2zgjes4y4L1YrLRlTUicAHwH7m9lSMxvknNsCXAHMBBYCE51zCyp7T+fcNOfc4Nzc3MQELSJSgdJTUPu+/xuHfLPBFzIz4YEHwMrYo6gynn46eH1IZsn7uK0JTQiQhO4j59zAcuqnA9MT/fkiIvEWOwW14botXDNxZfDmtdfCfvtV78YrV8L0vKB8aKnupzhufFeetNwQT91HIhKm2Cmo10xcQcMN/qyEFU2y4eabq3/ju4dCUfGWqi0zYLeYr+gEjyVEpGVSUPeRiIQpMgX1iIXrOe391dH6JSOHQb161bupc/BizF5Hh8YMMCdhLCEipaakioikg5779qROwUYOHnpetG55t44cMWhE9W/68cewYpN/nYmfihqRhLGECCUFEZFqOOWZT2BlgS/k5rLnk69U/APb8+ijwet2mSV3RE3CWEJEWnYfaUxBREI1Zw7ce29Qvvde2Guv6t/vt9/g5ZeD8uExA8xJGkuISMukoDEFEUm2vEV5dJ3UlQ6PteO/p3X2+xOBP2Lzwgt37OYvvAAbi6e4Nq0De0W+mg0OOTtpXUeg7iMRke2KPS/hmskrabXUr0nYUi+buo89Vv01CeAHmGO7jg7Lirmfg2+Se6xMWrYURESSKbJYrf3XGzh/5qpo/UPntKrettix3nsPviw+biaTbbe1WLN0x+5fRWmZFDSmICLJtGLDCnI2FnHnY0ujZy5/eGB9nugYh86WceOC1wdnQnbpze+SN8gMaZoUNKYgIsnUtH5T/vz8clr8XAjA2pw63DKoOU133nPHbrxkCbz6alA+stQK5iQPMkOaJgURkWQatexQ+n6wOloeed5erGmyC0MOG7JjN37kESjyq6FplQG7x2x+l7Nb0hasxdJAs4hIRf77Xw67JRgIfv3ohsw9+feMOGxIcI5CdWzcCI89FpRLtxKy6ic9IYCSgohI+bZsgXPOgbVrfXmffej1j8/o1aDBjt/7hRcgcqRwA4P9S30dJ3mAOULdRyIi5bnxRn80JkBGhj83OR4JYevWkovfjsqCOuEOMEekZVLQ7CMRSaS8RXncOuxQuPvuoPL22+F//ic+HzBjBixc6F/vZH5tQqwQBpgj0jIpaPaRiCRK3qI8HpsynGsf/CJa98EhueSddVD8PiS2ldC+1DTUkAaYI9IyKYiIJMrDH9/HXWO/oUGB38ZiWaNMhl20J2M+ezA+HzB3Lrzzjn9twP+kxgBzhAaaRUQinGPww/Nou9jvQ1SYYQy9vAVrd67LupjT1nbI6NHB63Z1IbfU7+YhDTBHqKUgIhLxwAP0+b/V0eLdA5vy5b7+0JzY09aq7T//gUmTgvLRO217TUgDzBFKCiIiAG+8AUOHRotTjm3IS112AyA7I3vHF6oBjBzpN8AD6NQeWu5c8v0QB5gj0jIpaPaRiMTVN99A//7R7bB/a38Aj112OGZ12LP+nozoOGLHFqoBfP+9X5sQ0X41FBb4ozYBcluEOsAckZZjCs65acC0Dh06XBR2LCKS5lavhj59/J8AzZqx6/R3yGsah+6iWKNHB1ta7JsFu/7iX7uioIUQckKANG0piIjExebNcPrpwZqB7GyYMgXinRCWLoWnngrKx5b6fbywAGbdHt/PrCYlBRGpnZxjaf/u8Pbb0ar5I6+ADh3i/1l33OETEEDzDL/5XWkhzzqKUFIQkVrp6yHn0HzKO9HymNN3Z3Djd8lblBffD1q0CJ54Iij3bF72SW0hzzqKUFIQkdrnySfZ78EJ0eKk43bl8V5N2Fi0kTHzxsT3s267zW+sB3D88XDpaD+GECsFZh1FKCmISO3yxhtw8cXR4gcH7cydf9gr+tv7ingtUgM/VvH880H5oMXw6sVQN8dvZ4GlzKyjiLScfSQiUi0ffQSnnRb9zX1hy2yuvawFW+oG3TlxWaQWMWJEdJorbbKg0a/+dcGvvnXQb3zKJIMItRREpHb48kvo2RPy8wEo2LMJ1wzdj/ycYNA3bovUAObMgYkTg3LnzJLvp9CMo1hp2VIws95A79atW4cdioikg0WLoGtX+O03X27ShJx33ueKzG8ZM28MKzasoGn9pgzZ0dPUIpyDa68NygfUhb3Kn3E0Zf4y7pn5FT+uLmCvhjlc121/+rZvtuNxVIO5yJLrNNShQwc3Z86csMMQkVS2fDkce6xPDAC77ALvvguHHZa4z5wyxXdTAdStC0NbwU4/bXtdbgumdJ7J8MlfUFBYFK3OycxgZL+DEpYYzGyuc67MubfqPhKRmuu336BbtyAhZGfDtGmJTQiFhXD99UH5sstg4J3lzji6Z+ZXJRICQEFhEffM/CpxMVZASUFEaqZ16/itS0f4wh+WU1THmD32Oj8tNJEeecTvpQSQmwv9DvJjB+Xsc/Tj6oIyb1NefaIpKYhIzZOfzy8nd2TX+f+JVt30v824LGdG/BenxVq92q9LiBjUGz64CdYs8eUy9jnaq2HOtvepoD7RlBREpGbZuBH69KHRJ19Gq+46d09e79gwMYvTYt16K/xSvNFdq1bQdK5vIcSKmXU0Zf4yNmzass1tcjIzuK7b/omLswJKCiJSc2za5De4e+utaNU9/Zsy4aRG0XJcF6fF+uwzGDcuKI8eDRt+LPvaNUuZMn8Zwyd/weqCwhJv7VovM6GDzNujpCAiNUNhIQwYANOnR6vG9tudZ09pXOKyuC5Oi9i61Q8oRxaqnXQSnHlm+fsZ5TYvc4AZoF5W3dASAigpiEhNsGULnHuunwpa7JsrBvDcaS1LXBbXxWmxnn7ar5YGyMz0LQYzP3ZQzqyjVBtgjlBSEJH0VlQEF1xQcvXwddfRZuyLjOg4gj3r74lh8TtBrbRff4Vhw4Ly0KGw6XO4vx1MHlzuPkepNsAckZYrmkVEAJ8QBg0quencVVf5/nwzeu7bM/5JoLQ//xlWrfKvW7aEUw+AaVcFA8zl7HN0Xbf9y1y0FtYAc4RaCiKSnrZsgfPPh2eeCeouvhgeeKDs8woS4cMPYfz4oDxmDHx0d4UzjiDY1qKgsIiM4libNcwJdYA5Ii2Tgpn1NrPxa9asCTsUEQlDYaEfQ3jhhaBu0CB4+OHkJYSCArjwQr/PEUCPHv6s5/JOUIvZ52j45C9YVjx2UORctIUQdkKANE0KzrlpzrnBubm5YYciIsm2eTMMHAgvvxzUXXKJ/429ThK/0m69Fb4q3opil13gb3/zCamCGUdAym1rUVpaJgURqZ1mLJzCh8c2h7//Pai84grfQkhmQvjkE7j33qD817/68QSocMYRlD+7KOxZRxEaaBaRtDBj4avsfPYFdPws6DZ+ofseNPxTN3omq8sI/IrpCy4I1iR06QIXXQT/mujHDdYshZxd/ayjgt98C6HUthbLykgAYc86ilBLQURSX0EBjQdeRKeYhPBkj8aM6t+YMfPHJjeW22/3x2wC1K8Pjz8OX7ziZxytWQI4P+NoS4GfcXT1l9vMOsrJLHm2QirMOopQS0FEUlt+PvTpwxGf/xKtGt+7CQ/22x3MErdtRVnmzIG77w7Kd9/t9zi6v1f5M46KE0LsQTq5OZlkZ9ZhdX5h6IfqlKakICKpa/166N3bH4pT7KHTdueRPrtHywnZtqK8WM45x6+NAOjc2Q9wQ6VnHEUGmFcXFJKTmcH9/Q9NmWQQoe4jEUlNv/4KJ59cMiGc2axEQkjYthVlufJK+Ppr/zrSbRQZ3N7RGUeFhaV/MjRKCiKSepYv94fhfPxxUDd6NK1GPZr4bSvK8uKLfn+jiIcfhg1z/VYWIxrC5g2QkVXyZyo746ioCA45xK+7+OSTYN1DSNR9JCKp5fvv/S6jkSM0wW8wd/nl9ITkJIFY330XdBOB//I+NHvbrSzqZPo9jqo642jGDD9wvXCh3+F12TLICW8mkpKCiKSOBQt8l9Hy5b6ckeG3sTjnnHDiiSyUW7fOl1u39q2Ex4/edmB5ayFk1Ydh329zmwr3ORo+KLhw0KBQEwIoKYhIqvj0UzjlFD+WALDTTvDKK36gOSw33wyzZ/vXmZkwYYJfvbydgeXSIoPJkdlH0RlH9dbDzJn+IjN/JkPIlBREJHxvv+33DVq/3pd32QWmTvUzfMLyxhslp5+OHAkdOvjXuc2Dc5djlTfgjE8M28w0uuqq4HXv3rDPPjsQcHwoKYhIuKZMgf79fVcNQKNG8I9/BF/AYfjhBz92ENGtG3Rp5geWIyuWM7KgaHNwTczAcqzY9Qkl1iSsWQNPPRVceMUVCXygylNSEJHwPPus32k0Mve/WTN48034/e/Diyk/H/r2hZ9/9uU99oBh/SDvT5UeWI4ovT5h2eoChk/+AoC+b78UtIzatvWD6ymgyknBzOoAOzvn1iYgHhGpLcaOhSExawxat/YJoVWr0ELCOZ+k5s/35cxMmDQJZl9SpYHliPLWJ9w3/d/0HR+zPcfVVydvy+/tqNQ6BTN70cwamFl94Evg32Z2XWJDE5EayTm47baSCeHgg+H998NNCACjRpXcknvcODj22CoPLEeUtz7h4E/f8l1UAI0bhze7qgyVXbzWtrhl0BeYAewDnBfPQMxsXzN7wswmxfO+IpJCtm71vxWPGBHUdewI//wnNE3SdhXlef11uPHGoHzZZTB4sH+9nRXL5Slz51PnuGLOq0H50ktDn4Yaq7JJIdPMMvFJYapzrhDY7rI7M3vSzH4ysy9L1Xc3s6/M7FszuwHAObfIOTeo7DuJSNrbssV3zYwZE9R16+Zn+TRsGFpYgF84dvbZwWri447zx3pGbOeMhPKUtSPqCcu+4IAfv/GF7Gy/fUYKqWxSeBT4L1AfeM/M9gYqM6bwNNA9tsLMMoCHgFOAtsBAM2tbyThEJB1t2gRnnVXyPOUzz/TTTuvXDy8ugN9+89NhIwvU9t4bbjsPxrX3W1jc387X9x4LuS0A83/2HrvNwHJpfds3Y2S/g2jWMAfDn8M8+rt/BBdceCE0aZKIp6o2c9XcZ8PM6jrntlTiulbA6865dsXlo4ERzrluxeXhAM65kcXlSc65Myq432BgMEDLli0PX7x4cbXiF5Ekyc+Hfv2CRVoA//u/8MgjfsVymIqKoGfPILZ69eCpW+Gb+0oOLGfmVCoJbNfs2XDkkf51nTrwzTew7747ds9qMLO5zrky5/xWdqB5SPFAsxX3+88DTqxmPM2A2FUfS4FmZtbIzB4B2kcSRVmcc+Odcx2ccx2apFiGFZFS1q3zB9rHJoShQ/15ymEnBOf8YHdsbE8/DcueLf9shEqaMn8Zx4x6m31uyOOYUW8zZf4y/8ZddwUXnXVWKAlheyrbfXRh8UBzV2BX/CDzqHgG4pz7xTl3iXPud5FWg4ikp7xFefR7+gT+degefhA5YsQIv0o4FaZf3nEHPPRQUL7xRt+lVc2ZRhGRtQnLVhfgCNYmzHplll+oF/t5KaiySSHyN9gDeM45tyCmrqqWAS1iys2L6yrNzHqb2fg1a9Zs/2IRSaq8RXk88I8bufPWjzl4UfAb98IbLoRbb02NhPDoo3BLzCBx//7+mE2o9kyjiPLWJmy9486gok8faNeuKhEnTWWTwlwzewOfFGaa2S7A1mp+5mygjZntY2ZZwABgalVu4Jyb5pwbnJubW80QRCRRnntrNI/c+R9+/8PGaN0d5+3JkMPL2CsoDJMnl9x4br/60HoGjDkY/jWx2jONIspam9Dm58V0+de7QUWKthKg8klhEHADcIRzLh/IAi7Y3g+Z2QTgI2B/M1tqZoOKB6evAGYCC4GJxS0PEUl3ixdz982f8LsfNwFQZHDToGa83KVRcs9SLs+77/qtsLcW/07brC70q+P3dlizxJ+RANWaaRRR1tqEIR++RJ3ILP6ePeGII3b4URKlsttcOPz00V7A7fipqdnb/SHnBpZTPx2YXsnPFpF08M030KULLX/ym8QVZsDwwS2YeZRv0SftLOXyfPaZ77aJbLzXJAsGZsFOMd1ZkQHlq7+s9kyj0mcn7P/zf+n1n/eDC2IX7qWgyrYUHgaOBiJf8uvwaw1CoTEFkRSzYIFf8LXEdxFtrmtcfUXLaEJI6lnKZfnuO+jeHdYWL6/aay84eyeoX8ZXYCUHlMtTem3Cnz+eELzZu3e4u79WQmWTwlHOucuBjQDOud/wXUih0JiCSAqZN8+fp7yiuHsoJ4f5T9zO18fun/yzlMuycqVfOb1ypS83bOi35t67ZdnXV3JAuSJ92zfj/244ke9Pa8zx//6/4I3bbtvheydaZbuPCotXIjsAM2tC9QeaRaSm+Ogjf1papNW+yy6Ql8dRnTrxRriReWvX+vi++86Xs7Nh2jQ46CBwt5Q8ZxmqNKBc2jbnJnTdj77DY5Zc9e8P7dvvwMMkR2VbCmOBV4HdzexO4APgrop/RERqtHfe8ecpRxLCrrvCW29Bp07hxhWxcaM/FyGyDXZGBkyc6Hc9BT9msAMDyrHKWpsw7d5n/f+jyGf/5S/xeKqE225Lofj8hO+B64Eu+PUJfZ1zCxMcW0Ux9QZ6t27dOqwQRGq3GTP81hUbi6edNmniE8LBB4cbV8SmTXD66cGXMsCZe8DepaaLHnzWjm9dwbZrE+psLeKat54ILhg0CNq02eHPSYbtJgXn3FYze8g51x74TxJi2i7n3DRgWocOHS4KOxaRWmfyZBgwAAoLfXmvvWDWLDjggHDjiogkhOkxExy77AT7rw+mnMYhEcQqvTah34J3OPCnRb6Qk1NyoVyKq2z30SwzO90sFZYiikhoXnjB79kTSQitWvnDcVIpIZxxBuTlBXXHZcExxfNiqriHUWXFrk3ILtzI0PeeDd4cOtQfM5omKpsULgZeATaZ2VozW2dmOo5TpDZ57DE477zgPOX99oP33kudTd02b/Z7F73+elDXKQs671Rya40dnHJalthzEy769FWarv8VgI2Nd4frr4/75yVSpWYfOed2SXQgVaExBZEkGzMG/vSnoNyunR9D2GOP0EIqIZIQpk0L6k5qDB03bbvXUhymnJbWt71vCTzz8vtc+klweGT2yDth553j/nmJVNmts2dVpi5ZtE5BJInuuqtkQjj8cL9dRColhLPO8gf2RAwfDn8dB1n1Sl67A1NOt6dv+2a8uvg16hX6LT44+GC4YLu7AaWcClsKZpYN1AMam9muBDujNsCfiyAiNZVzcNNNJc8AOOYY31+fKr+QFRb6Qe/XXgvqhg2DO+/0LQQzP4awZqlvIXS5JW6DzKXXJYxq/CudXnopuODBB8M/M6Iattd9dDHwJ2AvYC4+KTj8NhcPJjQyEQmPc3D11SXPU+7SxX/5hn18ZkQkIbz6alB3/fUwcmTQZRSnKaelRdYlRKahrvh1PU3ujxk7GDDAb/uRhirsPnLOjXHO7QPcCRxa/PopYBF+91MRqWmKiuDii0smhJ49/QBuKiWEgQP99NiIoUNh1KiknNdQel3C+XNf54CfvveFevXgnnsSHkOiVHb20RnOubVmdiz+GM7Hgb8lLiwRCcWWLXD++X6mUcQZZ/gv3+ztboycHHNfhCMaw9//HtRde21ST3SLXZew59qfueaD54M3b7oJmsd/MDtZKpsUIimxJ/CYcy6PEDfE0y6pIgmwebPfn+eFF4K6886DCRMgK7R/7iXNmwB/vBA+j5kR37EenHdEUk90i12XMOKtR9l5s08S3+++t09QaayySWGZmT0K9Aemm9lOVfjZuNPsI5E4Kyjw+wTFdsdccok/yL5uZffNTLAtW2DQJfDlpqDuqCw4KQPeTu6+QpF1CSd/8zHdvvk4Wr9k5P2pk0CrqbJ/22cB3YG/OudWm9mewHWJC0tEkmb9ejj11JL7BF1zDfz1r6lxnjL4hHDeefBZTAvhyCzoVrwwLQEL0irSt30z6q5byxEP/iFa99/TBnLchaclNY5EqOzitXxgckx5ObA8UUGJSJKsXg09evgtsCNuvtnv+58qCaGwEP7wB4id7nlkFnSPWamcgAVp29Pruftgzc++0KQJrR4fl/QYEiFF2oUiknSrVkHXrsHW0uBn7wwbFl5MpW3a5Kd3TpkS1B2VA93qBgkhgQvSYsWuS+jz8wIeePLx4M2HHoLddkt4DMkQ2riAiIRo+XLo3LlkQhg7NrUSQn6+H+eITQiXXw6PPgUNW7KjZyBURex5CfU25TN00l+DN08/3W+xUUOkZUtBex+J7IAffvAL0b791pfN4PHH4cILw40r1rp1fpzj3XeDuqFDg2mnh/RPajix6xKGv/sUzdf6bqPV9RrQ8KHQjqtPiLRsKWj2kcgO+PDDICFkZPgpqKmUEFav9t1asQlhxIikrkMoLbIu4YTvZnPuZzOi9bd0uTh19oCKk7RMCiKyAwYMgHHj/NTJv//drwxOFatWwYknwsfBNE/uvhtuvTXUge+9GubQaMNq7p4erPKesV9H5h7dLbSYEiUtu49EZAddfjn06gV77x12JIHly+Gkk+Df/w7qxo3zsYbsuq770WDAn2mSvxqAlTvvxu29rmJY9xQ5XCiOlBREaqtUSggpPs7Rd3YefPNJtDzqzGEMO/fY6DkKNYmSgoiE67vvfJfRDz/4ckYGPPdc6nRr/fvffjFfxJAh3P9Aep2mVhVKCiISnoULfQthefFa2KwsePllPxU1FWzY4Keb5uf7ctu2fmvuGkwDzSISjs8/h+OPDxJCdrY/PS0FEsKU+cs4ZtTbTPqfPsEYR06OT1g5ORX/cJpTUhCR5Pv0U7947ufibSLq14cZM6Bb+LN5IgvVOr43lTO+DE4dnnf9Hf5s6houLZOCts4WSWPvvednGa1e7cu5ufDWWz5JpIB7Zn5Fix+/4/Y3H4nWTWrXhSuzDw0vqCRKyzEF59w0YFqHDh0uCjsWEanAvyaWPCM5pw9cc7/fqhugUSN44w047LBw44yxbuUqnp0ykpwtfovurxu15OaTL2VjzME6NVlaJgURSQP/mgjTroLC4i/TTxfBK3cFR3Y1bepbCAceGFqI2ygq4pEZ9/G7X5cBkJ+5E5f1vYGCrGyaNazZYwkRSgoikhizbg8SwpeF8GoBbC1+r0ULmDUL2rQJLbwy3XQTHb8K1iPc0P0qvm3ckpzMDK7rtn+IgSWPkoKIJEbk4JvPNsPUjeCK63etA++/n1qL58AfOzpqVLT43PEDmdb2eJo1zOG6bvvXyIVqZVFSEJHEyG0Ob30H0zcGdY3rwOWtUy8hzJsHgwYF5R49OG/qc5yXkRFeTCFJy9lHIpIGlrYvmRD2qAMXNYJ+yT1PebtWrPBrIyKD3/vvDy++6FdW10JKCiISX87BX/4C9z0f1DXLgCv3gwHjEn4gTlVM+7+v+c/hx8GSJQAU7twAXnvNT5OtpdR9JCLx4xwMHw6jRwd1nTrB669DgwbhxVWG12YvpuEfz+WAH78BoMjqcHmvofTI35m+4YYWKrUURCQ+tm6Fq64qmRBOPhn+8Y+USwg4B5dfzvHfzo5W3dT1Mt7Y+zDumflViIGFTy0FEdlxRUUweDA8+WRQ17s3TJzo9zRKNXfdRZ/ZedHig0f3Z8Kh3YHglLXaSklBRHZMYSGcf76f0hlx1lnw/POQmRleXOV57jm46aZo8e8HnsC9nc6NlveqJYvUypOW3Ufa+0gkRWza5BNAbEI4/3w/eycVE8Jbb5U4uOejVodywylXRY/6rE2L1MqTlknBOTfNOTc4txbPEBAJXX6+n8o5ZUpQd+mlvgspFadzfvQR9OkDW7b48kEH8cszL7J7owYY0KxhDiP7HVRrFqmVR91HIlJ169bBqafCu+8GdddeC/fcE/2tO6V8/jn06BEcltO8OUyfTq/mzel13O/DjS3FpGVLQURCtHo1dO1aMiHcckvqJoSvv/bxRrbqbtLEdyM1bx5qWKlKSUFEKm/VKn+e8scfB3WjR8Ntt6VmQvjhB/KPPwF++gmAddn1eWfs837VspRJSUFEKi8vD+bPD8oPPgjXp+gh9itXsu64E6i34kfAb4N9/ukjuGzBVqbMXxZycKlLSUFEKu/88+GOO3yr4Ikn4Iorwo6obL/9Bt26scviRQBsyqjL4NNuYl7z31NQWFTrF6hVRAPNIlI1N94IvXrBIYeEHUnZ1q+Hnj394DKwxepw1anX88E+7aOX1PYFahVRS0FEqi6VE0KPHn76abHrewxh5n4dS1xW2xeoVUQtBRGpGTZs8C2E99+PVn1+/V+YkdUBCouidVqgVjG1FEQk/W3Y4Lu03nsvqLvvPg4ZfRMj+x1Es4Y5WqBWSWopiEh6y8/3m+/Frpu49164+moA+rZvpiRQBWopiEj6iiSEd94J6u65B665JryY0pySgoikp4ICv9XG228HdaNHw9Ch4cVUAygpiEj6KSjwm9vNmhXUjRyZugvp0oiSgoikl40bWXniKfDmm9Gqf18+DG64IcSgag4lBRFJHwUFrDyxO3t8/M9o1V87ncvpu3bW1hVxkjJJwczqm9kzZvaYmZ0TdjwikmLWrYNTTmGPj4KEcN+x5zCu4wBtXRFHCU0KZvakmf1kZl+Wqu9uZl+Z2bdmFmnz9QMmOecuAk5NZFwikmZ+/RVOOgn+GSSEB44ZyNhjBkbL2roiPhLdUnga6B5bYWYZwEPAKUBbYKCZtQWaA0uKLytCRARg5Uo44QT49NNo1cjOf+SBY0t2KGjrivhI6OI159x7ZtaqVPWRwLfOuUUAZvYS0AdYik8Mn1FBsjKzwcBggJYtW8Y/aBFJHUuW+BbC119Hqz4bfhfPZrTX1hUJEsaYQjOCFgH4ZNAMmAycbmZ/A6aV98POufHOuQ7OuQ5NmjRJbKQiEp5vv4VOnYKEUKcOPPMMh941XFtXJFDKbHPhnNsAXBB2HCKSAhYs8C2EFSt8OTMTJkyA008HtHVFIoXRUlgGtIgpNy+uqzQz621m49esWRPXwEQkBcydC8cfHySE7GyYOjWaECSxwkgKs4E2ZraPmWUBA4CpVbmBc26ac25wbm5uQgIUkZB88IE/A/qXX3x5l11g5kzo3r3in5O4SfSU1AnAR8D+ZrbUzAY557YAVwAzgYXAROfcgkTGISJp4M03oWtXWLvWl3fd1W9jcdxx4cZVyyR69tHAcuqnA9MT+dkikkamTIH+/WHzZl/eYw+fJA46KNSwaqOUWdFcFRpTEKlBXnwRzjgjSAgtWvjT05QQQpGWSUFjCiI1xPjxcO65UFS85qB1az+u0KZNuHHVYmmZFESkBrjvPrj4YnDOl9u18y0ELUoNVVomBXUfiaQx5+D22+Haa4O6Dh38cZpNm4YWlnhpmRTUfSSSppyDYcPg1luDuk6d/CyjRo3Ci0uiUmZFs4jUcFu3wpVXwsMPB3Vdu8Krr0K9euHFJSWkZUtBRNLLa7MXM/2IU0omhL59/UplJYSUopaCiCTUa59+T9Yfz+eUhe9H66Yd2Jmtw++nz047hRiZlCUtWwoaaBZJEwUFNP7DwBIJYcLBXRnS42rufntRiIFJedIyKWigWSQNrF8PvXpxzFefRKuePPxUhne/kq11MnRSWopS95GIxN/q1dCjB3z0UbRq7NH9ua/TuWAG6KS0VKWkICLx9fPP0K0bzJ8frbr3hAt48Mhg62udlJa60rL7SERS1I8/QufOJRICDz7I7+79i05KSxNp2VIws95A79atW4cdiohELF4MXbrAd9/5cp068PjjcMEF9AUlgTSRli0FDTSLpJivv/YrkyMJoW5dv/vpBTphN92kZUtBRFLIF1/AySfDypW+nJUFkyZB797hxiXVoqQgItU3Z44fVP71V1+uVw9eew1OOincuKTalBREpHo++MBPO123zpcbNIC8PDj22HDjkh2SlmMKIhKyyHnKkYSw227w9ttKCDWAkoKIVM3UqdCrFxQUr0jeYw/45z/h8MPDjUviIi2TgvY+EgnJSy9Bv37bnqfcrl24cUncpGVS0JRUkRA8+SScfXZwnvLvfucTgs5TrlHSMimISJI9+CAMGhScp9y2rU8Ie+8dblwSd0oKIlKxkSPhqquCcvv2fgxhzz3Di0kSRklBRMrmHNx4I/z5z0Fdx45+llHjxuHFJQmldQoisi3n4OqrYcyYoO7EE/3CtJ13Di8uSTglBREpqagILr4YnngiqOvZ029dkZ0dXlySFOo+EpFAYSGcd17JhHDmmTB5shJCLZGWSUHrFEQSYONGnwAmTAjqzj/f73aalRVeXJJUaZkUtE5BJM7y8+HUU/2YQcRll/m1CXXVy1ybpGVSEJE4WrsWunf3+xlFXH89jBvnD8qRWkV/4yK13Zo1/tS0iNtvh1GjwCy8mCQ0SgoitV2LFjBrll+Mdu+9cPPNSgi1mDoLRQRat4aFC0HjdLWeWgoi4ikhCEoKIiISQ0lBRESilBRERCRKSUFERKKUFEREJCotk4L2PhIRSQxzkeP10pCZ/QwsLuOtXKCijFHW+5Wpq6gc+7oxsKqCz6+s7T1HZa8t7z09c9l1euaynzlez1teTNW5Ll7PXN57NfWZ93bONSnz7s65GvcfML6q71emrqJyqddzkvEclb22vPf0zHrmqjxzvJ63Ks9cnX/L1Xnm8t6ryc9c3n9p2X1UCdOq8X5l6ioqb+8zq6Mq96zo2vLe0zOXXadnTp1nrs6/5fLqq/KMteGZy5TW3UepyszmOOc6hB1HMumZa77a9rxQO5+5prYUwjY+7ABCoGeu+Wrb80ItfGa1FEREJEotBRERiVJSEBGRKCUFERGJUlJIMjPrbGbvm9kjZtY57HiSwczqm9kcM+sVdizJYGa/L/77nWRml4YdTzKYWV8ze8zMXjazrmHHkwxmtq+ZPWFmk8KOJZ6UFKrAzJ40s5/M7MtS9d3N7Csz+9bMbtjObRywHsgGliYq1niI0/MCDAMmJibK+IrHMzvnFjrnLgHOAo5JZLzxEKdnnuKcuwi4BOifyHjjIU7PvMg5NyixkSafZh9VgZkdh/9Cf9Y51664LgP4GjgZ/yU/GxgIZAAjS93iQmCVc26rme0B3OecOydZ8VdVnJ73EKARPgmucs69npzoqycez+yc+8nMTgUuBZ5zzr2YrPirI17PXPxz9wIvOOfmJSn8aonzM09yzp2RrNgTTWc0V4Fz7j0za1Wq+kjgW+fcIgAzewno45wbCVTUXfIbsFNCAo2TeDxvcRdZfaAtUGBm051zWxMZ946I19+xc24qMNXM8oCUTgpx+ns2YBQwI9UTAsT933KNoqSw45oBS2LKS4GjyrvYzPoB3YCGwLiERpYYVXpe59yNAGb2R4pbSQmNLjGq+nfcGeiHT/rTExlYAlXpmYErgZOAXDNr7Zx7JJHBJUhV/54bAXcC7c1seHHySHtKCknmnJsMTA47jmRzzj0ddgzJ4px7F3g35DCSyjk3FhgbdhzJ5Jz7BT+GUqNooHnHLQNaxJSbF9fVVLXteUHPDHrmWkNJYcfNBtqY2T5mlgUMAKaGHFMi1bbnBT2znrkWUVKoAjObAHwE7G9mS81skHNuC3AFMBNYCEx0zi0IM854qW3PC3pmPXPNfebK0pRUERGJUktBRESilBRERCRKSUFERKKUFEREJEpJQUREopQUREQkSklBpBrM7E9mVq8aP3e7mZ2UiJhE4kHrFESqwcz+C3Rwzq0q470M51xR8qMS2XFqKYhsR/HJcXlm9rmZfWlmtwJ7Ae+Y2TvF16w3s3vN7HPgaDO7xcxmF18/vnhraczsaTM7o/j1f83sNjObZ2ZfmNkBoT2kSDElBZHt6w786Jw7pPhAlgeAH4ETnHMnFF9TH/ik+JoPgHHOuSOKr8+h/P34VznnDgP+BgxN6FOIVIKSgsj2fQGcbGajzayTc25NGdcUAX+PKZ9gZp+Y2RfAicCB5dw7so36XKBVvAIWqS6dpyCyHc65r83sMKAHcIeZzSrjso2RcQQzywYexo85LDGzEfjjSMuyqfjPIvTvUVKAWgoi22FmewH5zrnngXuAw4B1wC7l/EgkAawys52BGnN+r9R8+s1EZPsOAu4xs61AIXApcDTwDzP7MWZcAQDn3Gozewz4EliB36dfJC1oSqqIiESp+0hERKKUFEREJEpJQUREopQUREQkSklBRESilBRERCRKSUFERKKUFEREJOr/AbtEZLNT6HURAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from saenopy import macro\n", "import numpy as np\n", "\n", "# example data, stress-strain curves for collagen of three different concentrations \n", "data0_6 = np.array([[4.27e-06,-2.26e-03],[1.89e-02,5.90e-01],[3.93e-02,1.08e+00],[5.97e-02,1.57e+00],[8.01e-02,2.14e+00],[1.00e-01,2.89e+00],[1.21e-01,3.83e+00],[1.41e-01,5.09e+00],[1.62e-01,6.77e+00],[1.82e-01,8.94e+00],[2.02e-01,1.17e+01],[2.23e-01,1.49e+01],[2.43e-01,1.86e+01],[2.63e-01,2.28e+01],[2.84e-01,2.71e+01]])\n", "data1_2 = np.array([[1.22e-05,-1.61e-01],[1.71e-02,2.57e+00],[3.81e-02,4.69e+00],[5.87e-02,6.34e+00],[7.92e-02,7.93e+00],[9.96e-02,9.56e+00],[1.20e-01,1.14e+01],[1.40e-01,1.35e+01],[1.61e-01,1.62e+01],[1.81e-01,1.97e+01],[2.02e-01,2.41e+01],[2.22e-01,2.95e+01],[2.42e-01,3.63e+01],[2.63e-01,4.43e+01],[2.83e-01,5.36e+01],[3.04e-01,6.37e+01],[3.24e-01,7.47e+01],[3.44e-01,8.61e+01],[3.65e-01,9.75e+01],[3.85e-01,1.10e+02],[4.06e-01,1.22e+02],[4.26e-01,1.33e+02]])\n", "data2_4 = np.array([[2.02e-05,-6.50e-02],[1.59e-02,8.46e+00],[3.76e-02,1.68e+01],[5.82e-02,2.43e+01],[7.86e-02,3.34e+01],[9.90e-02,4.54e+01],[1.19e-01,6.11e+01],[1.40e-01,8.16e+01],[1.60e-01,1.06e+02],[1.80e-01,1.34e+02],[2.01e-01,1.65e+02],[2.21e-01,1.96e+02],[2.41e-01,2.26e+02]])\n", "\n", "# hold the buckling parameter constant, as it cannot be determined well with shear experiments\n", "d_s0 = 0.003\n", "# minimize 3 shear rheometer experiments with different collagen concentration and, therefore, different k1 parameters\n", "# but keep the other parameters the same\n", "parameters, plot = macro.minimize([\n", " [macro.get_shear_rheometer_stress, data0_6, lambda p: (p[0], d_s0, p[3], p[4])],\n", " [macro.get_shear_rheometer_stress, data1_2, lambda p: (p[1], d_s0, p[3], p[4])],\n", " [macro.get_shear_rheometer_stress, data2_4, lambda p: (p[2], d_s0, p[3], p[4])],\n", " ],\n", " [900, 1800, 12000, 0.03, 0.08],\n", ")\n", "\n", "\n", "\n", "# print the resulting parameters\n", "print(parameters)\n", "# and plot the results\n", "plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To fit all parameters, experiments of different types should be combined, e.g. a shear rheological experiment and a stretching experiment." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[9.01527313e+02 9.67595545e-04 6.00863532e-03 3.28366376e-02]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from saenopy import macro\n", "import numpy as np\n", "\n", "# example data, stress-strain curves and a stretch experiment\n", "shear = np.array([[7.50e-03,2.78e-01],[1.25e-02,4.35e-01],[1.75e-02,6.44e-01],[2.25e-02,7.86e-01],[2.75e-02,9.98e-01],[3.25e-02,1.13e+00],[3.75e-02,1.52e+00],[4.25e-02,1.57e+00],[4.75e-02,1.89e+00],[5.25e-02,2.10e+00],[5.75e-02,2.46e+00],[6.25e-02,2.67e+00],[6.75e-02,3.15e+00],[7.25e-02,3.13e+00],[7.75e-02,3.83e+00],[8.25e-02,4.32e+00],[8.75e-02,4.35e+00],[9.25e-02,4.78e+00],[9.75e-02,5.45e+00],[1.02e-01,5.87e+00],[1.07e-01,6.16e+00],[1.13e-01,6.89e+00],[1.17e-01,7.89e+00],[1.22e-01,8.28e+00],[1.28e-01,9.13e+00],[1.33e-01,1.06e+01],[1.38e-01,1.10e+01],[1.42e-01,1.27e+01],[1.47e-01,1.39e+01],[1.52e-01,1.53e+01],[1.58e-01,1.62e+01],[1.63e-01,1.78e+01],[1.68e-01,1.89e+01],[1.72e-01,2.03e+01],[1.77e-01,2.13e+01],[1.82e-01,2.23e+01],[1.88e-01,2.38e+01],[1.93e-01,2.56e+01],[1.98e-01,2.78e+01],[2.03e-01,3.02e+01],[2.07e-01,3.28e+01],[2.12e-01,3.55e+01],[2.17e-01,3.83e+01],[2.23e-01,4.13e+01],[2.28e-01,4.48e+01],[2.33e-01,4.86e+01],[2.37e-01,5.27e+01],[2.42e-01,5.64e+01],[2.47e-01,6.08e+01],[2.53e-01,6.48e+01],[2.58e-01,6.93e+01],[2.63e-01,7.44e+01],[2.68e-01,7.89e+01],[2.73e-01,8.40e+01],[2.78e-01,8.91e+01],[2.82e-01,9.41e+01],[2.87e-01,1.01e+02],[2.92e-01,1.07e+02],[2.97e-01,1.12e+02],[3.02e-01,1.19e+02],[3.07e-01,1.25e+02],[3.12e-01,1.32e+02],[3.18e-01,1.39e+02],[3.23e-01,1.45e+02],[3.28e-01,1.53e+02],[3.33e-01,1.60e+02],[3.38e-01,1.67e+02],[3.43e-01,1.76e+02],[3.47e-01,1.83e+02],[3.52e-01,1.90e+02],[3.57e-01,1.99e+02],[3.62e-01,2.06e+02],[3.67e-01,2.15e+02],[3.72e-01,2.23e+02],[3.78e-01,2.31e+02],[3.83e-01,2.40e+02],[3.88e-01,2.48e+02],[3.93e-01,2.56e+02],[3.98e-01,2.56e+02],[4.03e-01,2.73e+02],[4.07e-01,2.77e+02],[4.12e-01,2.86e+02],[4.17e-01,2.97e+02],[4.22e-01,3.08e+02],[4.27e-01,3.15e+02],[4.32e-01,3.25e+02],[4.38e-01,3.33e+02],[4.43e-01,3.39e+02],[4.48e-01,3.51e+02],[4.53e-01,3.59e+02],[4.58e-01,3.69e+02],[4.63e-01,3.76e+02],[4.68e-01,3.83e+02],[4.72e-01,3.93e+02],[4.77e-01,3.97e+02],[4.82e-01,4.04e+02],[4.87e-01,4.13e+02],[4.92e-01,4.18e+02],[4.97e-01,4.31e+02],[5.02e-01,4.38e+02],[5.07e-01,4.25e+02],[5.12e-01,4.48e+02],[5.17e-01,4.49e+02],[5.22e-01,4.56e+02],[5.27e-01,4.66e+02],[5.32e-01,4.70e+02],[5.37e-01,4.76e+02],[5.42e-01,4.82e+02],[5.47e-01,4.89e+02],[5.52e-01,4.99e+02],[5.57e-01,5.01e+02],[5.62e-01,5.06e+02],[5.68e-01,5.14e+02],[5.73e-01,5.15e+02],[5.78e-01,5.21e+02],[5.83e-01,5.28e+02],[5.88e-01,5.30e+02],[5.93e-01,5.38e+02],[5.98e-01,5.40e+02],[6.03e-01,5.41e+02],[6.08e-01,5.38e+02],[6.13e-01,5.39e+02],[6.18e-01,5.50e+02],[6.23e-01,5.56e+02],[6.27e-01,5.59e+02],[6.32e-01,5.68e+02],[6.37e-01,5.69e+02],[6.42e-01,5.70e+02],[6.47e-01,5.79e+02],[6.52e-01,5.78e+02],[6.57e-01,5.80e+02],[6.62e-01,5.83e+02],[6.67e-01,5.83e+02],[6.72e-01,5.89e+02],[6.77e-01,5.86e+02],[6.82e-01,5.88e+02],[6.88e-01,5.91e+02],[6.93e-01,5.86e+02],[6.98e-01,5.91e+02],[7.03e-01,5.91e+02],[7.08e-01,5.87e+02],[7.13e-01,5.89e+02],[7.18e-01,5.88e+02],[7.23e-01,5.89e+02],[7.28e-01,5.89e+02],[7.33e-01,5.81e+02],[7.38e-01,5.85e+02],[7.43e-01,5.86e+02],[7.48e-01,5.78e+02],[7.52e-01,5.78e+02],[7.57e-01,5.79e+02],[7.62e-01,5.76e+02],[7.67e-01,5.74e+02],[7.72e-01,5.70e+02],[7.77e-01,5.73e+02],[7.82e-01,5.70e+02],[7.87e-01,5.66e+02],[7.92e-01,5.69e+02],[7.97e-01,5.59e+02],[8.02e-01,5.50e+02],[8.07e-01,5.52e+02],[8.12e-01,5.52e+02],[8.18e-01,5.59e+02],[8.23e-01,5.58e+02],[8.28e-01,5.57e+02],[8.33e-01,5.59e+02],[8.38e-01,5.53e+02],[8.43e-01,5.55e+02],[8.48e-01,5.56e+02],[8.53e-01,5.49e+02],[8.58e-01,5.50e+02],[8.63e-01,5.47e+02],[8.68e-01,5.22e+02],[8.73e-01,5.44e+02],[8.77e-01,5.36e+02],[8.82e-01,5.38e+02],[8.87e-01,5.33e+02],[8.92e-01,5.28e+02],[8.97e-01,5.30e+02],[9.02e-01,5.23e+02],[9.07e-01,5.22e+02],[9.12e-01,5.18e+02],[9.17e-01,5.12e+02],[9.22e-01,5.11e+02],[9.27e-01,5.05e+02],[9.32e-01,5.03e+02],[9.38e-01,4.99e+02],[9.43e-01,4.88e+02],[9.48e-01,4.86e+02],[9.53e-01,4.82e+02],[9.58e-01,4.73e+02],[9.63e-01,4.70e+02],[9.68e-01,4.61e+02],[9.73e-01,4.56e+02],[9.78e-01,4.51e+02],[9.83e-01,4.41e+02],[9.88e-01,4.36e+02],[9.93e-01,4.22e+02],[9.98e-01,4.09e+02],[1.00e+00,4.07e+02]])[:50]\n", "stretch = np.array([[9.33e-01,1.02e+00],[9.40e-01,1.01e+00],[9.47e-01,1.02e+00],[9.53e-01,1.02e+00],[9.60e-01,1.02e+00],[9.67e-01,1.01e+00],[9.73e-01,1.01e+00],[9.80e-01,1.01e+00],[9.87e-01,1.01e+00],[9.93e-01,1.00e+00],[1.00e+00,1.00e+00],[1.01e+00,9.89e-01],[1.01e+00,9.70e-01],[1.02e+00,9.41e-01],[1.03e+00,9.00e-01],[1.03e+00,8.46e-01],[1.04e+00,7.76e-01],[1.05e+00,6.89e-01],[1.05e+00,6.02e-01],[1.06e+00,5.17e-01],[1.07e+00,4.39e-01],[1.07e+00,3.74e-01],[1.08e+00,3.17e-01],[1.09e+00,2.72e-01],[1.09e+00,2.30e-01],[1.10e+00,2.02e-01]])\n", "\n", "# fit all 4 parameters simultaneously to two experiments\n", "parameters, plot = macro.minimize([\n", " [macro.get_shear_rheometer_stress, shear, lambda p: (p[0], p[1], p[2], p[3])],\n", " [macro.get_stretch_thinning, stretch, lambda p: (p[0], p[1], p[2], p[3])],\n", " ],\n", " [900, 0.0004, 0.075, 0.33],\n", ")\n", "\n", "# print the resulting parameters\n", "print(parameters)\n", "# and plot the results\n", "plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "celltoolbar": "Raw Cell Format", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 4 }