diff --git a/SLEW_Case1_Electromagnetic_Phenomena.ipynb b/SLEW_Case1_Electromagnetic_Phenomena.ipynb index ca3d54d5a7d9fe2bef3b2e67243304b307ba62bc..c750a6021726b7be2b70ed37ee3e4e3550facc3e 100644 --- a/SLEW_Case1_Electromagnetic_Phenomena.ipynb +++ b/SLEW_Case1_Electromagnetic_Phenomena.ipynb @@ -42,7 +42,8 @@ "A round-rotor machine has the following values:\n", "- $X_{fd} = 0.1648$, $X_l = 0.15$, $X_d = 1.8099$, $X_q = 1.76$\n", "- $T'_{d_0} = 8.0669 s$, $T''_{d_0} = 0.03 s$, $T'_{q_0} = 0.9991 s$, $T''_{q_0} = 0.07 s$\n", - "- $X''_d = 0.2299$, $X'_q = 0.65$, $X''_q = 0.25$" + "- $X''_d = 0.2299$, $X'_q = 0.65$, $X''_q = 0.25$\n", + "- $f_n = 60 Hz$" ] }, { @@ -70,7 +71,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**You can process the results from VILLASweb (as required in 2, 3b and 4b) using the prepared notebook cells below.**" + "**You can check your calculation solutions and process the results from VILLASweb using the prepared notebook cells below.**" ] }, { @@ -84,7 +85,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### First Setup your Python for post-processing" + "#### Setup your Python for post-processing" ] }, { @@ -108,10 +109,96 @@ "from villas.dataprocessing.readtools import *\n", "from villas.dataprocessing.timeseries import *\n", "import matplotlib.pyplot as plt\n", + "import scipy.io as sio\n", + "outputs = sio.loadmat('outputs/output.mat', simplify_cells=True)\n", "\n", "%matplotlib widget" ] }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "### Subtask 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Calculate $X'_d$, $R_{fd}$, $X_{Dd}$ and $R_{Dd}$ from the given quantities (you can neglect the leakage inductance).*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check your results, enter your solution for $X'_d$ rounded to 4 digits behind the comma:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Xd_t=input('Xd_t:')\n", + "print('Your result is', 'correct!' if round(float(Xd_t),4)==round(outputs['Xd_t'],4) else 'incorrect. You should double-check your calculations.')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check your results, enter your solution for $R_{fd}$ rounded to 4 digits behind the comma:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Rfd=input('Rfd:')\n", + "print('Your result is', 'correct!' if round(float(Rfd),4)==round(outputs['Rfd'],4) else 'incorrect. You should double-check your calculations.')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check your results, enter your solution for $X_{Dd}$ rounded to 4 digits behind the comma:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "XDd=input('XDd:')\n", + "print('Your result is', 'correct!' if round(float(XDd),4)==round(outputs['XDd'],4) else 'incorrect. You should double-check your calculations.')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check your results, enter your solution for $R_{Dd}$ rounded to 4 digits behind the comma:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "RDd=input('RDd:')\n", + "print('Your result is', 'correct!' if round(float(RDd),4)==round(outputs['RDd'],4) else 'incorrect. You should double-check your calculations.')" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -123,14 +210,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Download simulation results from VILLASweb" + "*Apply $X'_d$ by adjusting *Ld_t* in VILLASweb and generate the corresponding short-circuit current plot.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Enter your result download/import code snippet in the following cell:" + "Enter VILLASweb under [https://slew.rwth-aachen.de/](https://slew.rwth-aachen.de/). \n", + "Adjust the parameter *Ld_t* and run a corresponding simulation. Further instructions on how to handle VILLASweb you can find in the [SLEW Platform Tutorial](./SLEW_Platform_Tutorial.ipynb). \n", + "Then, enter your code snippet for result download in the following cell:" ] }, { @@ -190,21 +279,58 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Subtask 3b" + "### Subtask 3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*3. The open circuit time constant $T'_{do}$ shall be increased to $18s$ \n", + " a.) Find the corresponding value of $R_{fd}$ that leads to that increase. \n", + " b.) Apply the new $T'_{do}$ by adjusting *Td0_t* in VILLASweb, run the simulation and observe the impact of such increase.*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### a.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check your results, enter your solution for $R_{fd}$ rounded to 7 digits behind the comma:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "Rfd_T3a=input('Rfd in Subtask 3:')\n", + "print('Your result is', 'correct!' if round(float(Rfd_T3a),7)==round(outputs['Rfd_T3a'],7) else 'incorrect. You should double-check your calculations.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Download simulation results from VILLASweb" + "### b.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Enter your result download/import code snippet in the following cell:" + "Enter VILLASweb under [https://slew.rwth-aachen.de/](https://slew.rwth-aachen.de/). \n", + "Adjust the parameter *Td0_t* and run a corresponding simulation. Further instructions on how to handle VILLASweb you can find in the [SLEW Platform Tutorial](./SLEW_Platform_Tutorial.ipynb). \n", + "Then, enter your code snippet for result download in the following cell:" ] }, { @@ -265,21 +391,58 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Subtask 4b" + "### Subtask 4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*4. The open circuit time constant $T''_{do}$ shall be increased to $0.09s$ \n", + " a.) Find the corresponding value of $R_{Dd}$ that leads to that increase. \n", + " b.) Reset $T'_{do}$ to its original value and apply the new $T''_{do}$ instead by adjusting *Td0_s* in VILLASweb, run the simulation and observe the impact of such increase.* " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### a.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To check your results, enter your solution for $R_{Dd}$ rounded to 4 digits behind the comma:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "RDd_T4a=input('RDd in Subtask 4:')\n", + "print('Your result is', 'correct!' if round(float(RDd_T4a),4)==round(outputs['RDd_T4a'],4) else 'incorrect. You should double-check your calculations.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Download simulation results from VILLASweb" + "### b.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Enter your result download/import code snippet in the following cell:" + "Enter VILLASweb under [https://slew.rwth-aachen.de/](https://slew.rwth-aachen.de/). \n", + "Adjust the parameter *Td0_s* and run a corresponding simulation. Further instructions on how to handle VILLASweb you can find in the [SLEW Platform Tutorial](./SLEW_Platform_Tutorial.ipynb). \n", + "Then, enter your code snippet for result download in the following cell:" ] }, { @@ -335,13 +498,6 @@ " plt.legend(loc='upper right')\n", "plt.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/outputs/output.mat b/outputs/output.mat new file mode 100644 index 0000000000000000000000000000000000000000..b636be9a75073ca68393f88ec250bfcf6c3ce8bf Binary files /dev/null and b/outputs/output.mat differ