{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7948413c-6eaa-4686-be1b-904a48876ca3",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import gasrari as GR\n",
    "import scipy.optimize as opt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d51ca52-4f40-4230-8403-5251255aad18",
   "metadata": {},
   "outputs": [],
   "source": [
    "def V_morse(r, D, a, r0):\n",
    "    er=np.exp(-a*(r-r0))\n",
    "    return D*(er*er-2*er)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c0974c1-dd2a-436d-bc78-c6b8273dd01d",
   "metadata": {},
   "outputs": [],
   "source": [
    "def morse_rari(sym):\n",
    "    en_1=GR.energy(sym)\n",
    "    en_2=GR.energy_2(sym)\n",
    "    dist=GR.distanze(sym)\n",
    "    en_corr=[x-2*en_1 for x in en_2]\n",
    "    plt.plot(dist, en_corr, 'x', label='dati')\n",
    "    D0=-min(en_corr)\n",
    "    r0=dist[np.argmin(en_corr)]\n",
    "    p_morse, covar = opt.curve_fit(V_morse, dist, en_corr, p0=[D0, 1.0, r0])\n",
    "    distm=np.arange(np.min(dist), np.max(dist), 0.1)\n",
    "    en_sim=V_morse(distm, *p_morse)\n",
    "    #en_mod0=V_morse(dist, D0, 1.0, r0)\n",
    "    plt.plot(distm, en_sim, label=\"modello\")\n",
    "    #plt.plot(dist, en_mod0, label=\"mod0\")\n",
    "    plt.plot(distm, en_sim*0, '--')\n",
    "    plt.legend();\n",
    "    return p_morse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "48857b96-1ada-4bec-ab70-0181b4ab17e8",
   "metadata": {},
   "outputs": [],
   "source": [
    "p_Ar=morse_rari(\"Ar\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "160894dd-bbd4-4597-9d6d-05b931402d5e",
   "metadata": {},
   "outputs": [],
   "source": [
    "p_Ar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "042f2ec9-eef1-4ba5-9a26-b80c252da08c",
   "metadata": {},
   "outputs": [],
   "source": [
    "gas_rari=[\"He\", \"Ar\", \"Kr\", \"Ne\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "abef4ac4-22ea-4f5e-97d7-368448f7dca2",
   "metadata": {},
   "outputs": [],
   "source": [
    "parametri={s:morse_rari(s) for s in gas_rari}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7cd4855b-6708-435a-b01b-a6399036905f",
   "metadata": {},
   "outputs": [],
   "source": [
    "parametri"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0fb8ac1b-fc5d-4f14-a288-c0ee7cba28bc",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
