diff --git a/exercises/03_ResistiveCompanion/CS_R1L1.ipynb b/exercises/03_ResistiveCompanion/CS_R1L1.ipynb index 48e0c3450d061c0176fe088ca74c5d44b16e8268..1148b377ea5e19a715f4044d29841ed6baf90c05 100644 --- a/exercises/03_ResistiveCompanion/CS_R1L1.ipynb +++ b/exercises/03_ResistiveCompanion/CS_R1L1.ipynb @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -109,20 +109,13 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 53, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "673e3abc0ef34fe9835428afc829b055", + "model_id": "5b3a37899f86449d97fc18b29df746aa", "version_major": 2, "version_minor": 0 }, @@ -136,7 +129,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8d53af448549492798d69c21564db45d", + "model_id": "6a93d5c93eee4a169836314b569e1d9b", "version_major": 2, "version_minor": 0 }, @@ -154,11 +147,10 @@ "\n", "#Assign slider values to simulation parameters\n", "model_name = 'CS_R1L1'\n", - "time_step = 0.0001\n", + "time_step = 1e-4\n", "#Set final time to calculate first two simulation steps\n", - "final_time = 0.0002\n", - "#number of simulation steps\n", - "npoint = int(np.round(final_time/time_step))\n", + "final_time = 2e-4\n", + "\n", "\n", "# Nodes\n", "gnd = dpsim.emt.Node.GND()\n", @@ -191,6 +183,27 @@ "sim.start()" ] }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "from villas.dataprocessing.readtools import *\n", + "from villas.dataprocessing.timeseries import *\n", + "import re\n", + "\n", + "work_dir = 'logs/'\n", + "log_path = work_dir + model_name + '_MNA.log'\n", + "log_lines, log_sections = read_dpsim_log(log_path)\n", + "\n", + "for line_pos in log_sections['sysmat_stamp']:\n", + " print(log_lines[line_pos])\n", + " \n", + "for line_pos in log_sections['sourcevec_stamp']:\n", + " print(log_lines[line_pos])" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -200,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -236,12 +249,12 @@ }, { "cell_type": "code", - "execution_count": 166, + "execution_count": 56, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 576x432 with 1 Axes>" ] @@ -258,15 +271,21 @@ "#Extract plot data\n", "plot_data=ts_dpsim_emt[\"n1.v\"]\n", "y_values= np.asarray(plot_data.values)\n", + "\n", "#Add initial value\n", "y_values= np.insert(y_values, 0, I_src*R1)\n", - "\n", "t = np.arange(npoint+1)*time_step\n", + "\n", "plt.figure(figsize=(8,6))\n", "plt.xlabel('Time [s]')\n", "plt.ylabel('Voltage [V]')\n", - "plt.axis([0, 0.002, 1.9, 2.05])\n", - "plt.scatter(t,y_values, label='$e_{1}$(t)') \n", + "plt.axis([0, 4*time_step, 1.9, 2.05])\n", + "plt.scatter(t,y_values, label='$e_{1}$(t)')\n", + "\n", + "#show corresponding values on the plot\n", + "for i in np.arange(npoint+1):\n", + " plt.annotate(' ' + str(np.round(y_values[i], 2)), (t[i], y_values[i]))\n", + "\n", "plt.legend(loc='upper right')\n", "plt.show()" ]