{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "hidden": true }, "report_default": {} } } }, "nbpresent": { "id": "c59bfd9b-4293-433e-83db-820c33f4c378" } }, "outputs": [], "source": [ "from geoscilabs.em.PlanewaveWidgetFD import PlanewaveWidget, PolarEllipse, InteractivePlaneProfile\n", "from geoscilabs.em.DipoleWidgetFD import InteractiveDipoleProfile\n", "from geoscilabs.em.VolumeWidgetPlane import InteractivePlanes, plotObj3D" ] }, { "cell_type": "markdown", "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 0, "height": 4, "hidden": true, "row": 6, "width": 4 }, "report_default": {} } } }, "nbpresent": { "id": "95f1e819-0749-42ff-ad94-6d428298a5a7" } }, "source": [ "# Planewave propagation in a Whole-space (frequency-domain)" ] }, { "cell_type": "markdown", "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 4, "height": 4, "hidden": true, "row": 6, "width": 4 }, "report_default": {} } } }, "nbpresent": { "id": "3bd63ed4-b758-48e5-a662-b68e4b2ce034" } }, "source": [ "# Purpose\n", "\n", "We visualizae downward propagating planewave in the homogeneous earth medium. With the three apps: a) Plane wave app, b) Profile app, and c) Polarization ellipse app, we understand fundamental concepts of planewave propagation. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Set up\n", "\n", "Planewave EM equation can be written as \n", "\n", "$$\\frac{\\partial^2 \\mathbf{E}}{\\partial z^2} + k^2 \\mathbf{E} = 0,$$\n", "\n", "For homogeneous earth, solution can be simply derived:\n", "\n", "\n", "$$\\mathbf{E} = \\mathbf{E}_0 e^{ikz}$$\n", "\n", "$$\\mathbf{H} = - i \\omega \\mu \\nabla \\times (\\mathbf{E}_0 e^{ikz}).$$\n", "\n", "where complex wavenumber $k$ is \n", "\n", "$$ k = \\sqrt{\\mu \\epsilon \\omega^2 - i \\mu \\sigma \\omega}.$$\n", "\n", "In time domain, the wave travelling in the negative z-direction has the form:\n", "\n", "$$ \\mathbf{e} = \\mathbf{e}_0^- e^{i(k z + \\omega t)}.$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 8, "height": 21, "hidden": false, "row": 0, "width": 4 }, "report_default": {} } } }, "nbpresent": { "id": "baf63d98-9356-4c2d-81d7-8f8cd1a6da2d" } }, "outputs": [], "source": [ "ax = plotObj3D()" ] }, { "cell_type": "markdown", "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 8, "height": 14, "hidden": true, "row": 14, "width": null }, "report_default": {} } } }, "nbpresent": { "id": "4cca45b8-6d74-43f2-b3aa-2f1f3ece54f3" } }, "source": [ "# Planewave app\n", "\n", "## Parameters:\n", "\n", "- Field: Type of EM fields (\"Ex\": electric field, \"Hy\": magnetic field)\n", "- AmpDir: Type of the vectoral EM fields \n", "\n", " None: $F_x$ or $F_y$ or $F_z$\n", " \n", " Amp: $\\mathbf{F} \\cdot \\mathbf{F}^* = |\\mathbf{F}|^2$\n", " \n", " Dir: Real part of a vectoral EM fields, $\\Re[\\mathbf{F}]$\n", " \n", "- ComplexNumber: Type of complex data (\"Re\", \"Im\", \"Amp\", \"Phase\") \n", "- Frequency: Transmitting frequency (Hz)\n", "- Sigma: Conductivity of homogeneous earth (S/m)\n", "- Scale: Choose \"log\" or \"linear\" scale \n", "- Time: " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 0, "height": 21, "hidden": false, "row": 0, "width": 8 }, "report_default": {} } } }, "nbpresent": { "id": "d4efa881-fa5c-4ecc-87b0-47f53e865a5f" } }, "outputs": [], "source": [ "dwidget = PlanewaveWidget()\n", "dwidget.InteractivePlaneWave()" ] }, { "cell_type": "markdown", "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 4, "height": 4, "hidden": true, "row": 13, "width": 4 }, "report_default": {} } } } }, "source": [ "# Profile app\n", "\n", "We visualize EM fields at vertical profile (marked as red dots in the above app). \n", "\n", "## Parameters:\n", "\n", "- **Field**: Ex, Hy, and Impedance \n", "- ** $\\sigma$ **: Conductivity (S/m)\n", "- **Scale**: Log10 or Linear scale\n", "- **Fixed**: Fix the scale or not\n", "- **$f$**: Frequency\n", "- **$t$**: Time\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 0, "height": 17, "hidden": false, "row": 21, "width": 8 }, "report_default": {} } } }, "scrolled": false }, "outputs": [], "source": [ "InteractivePlaneProfile()" ] }, { "cell_type": "markdown", "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 8, "height": 4, "hidden": true, "row": 14, "width": 4 }, "report_default": {} } } } }, "source": [ "# Polarization Ellipse app" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "extensions": { "jupyter_dashboards": { "version": 1, "views": { "grid_default": { "col": 0, "height": 13, "hidden": false, "row": 38, "width": 8 }, "report_default": {} } } }, "scrolled": false }, "outputs": [], "source": [ "Polarwidget = PolarEllipse(); \n", "Polarwidget.Interactive()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "extensions": { "jupyter_dashboards": { "activeView": "grid_default", "version": 1, "views": { "grid_default": { "cellMargin": 10, "defaultCellHeight": 20, "maxColumns": 12, "name": "grid", "type": "grid" }, "report_default": { "name": "report", "type": "report" } } } }, "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.8.10" }, "nbpresent": { "slides": { "18cc87f9-a29c-43fe-a307-094e80f187ec": { "id": "18cc87f9-a29c-43fe-a307-094e80f187ec", "prev": "47ebf514-9d62-497c-ae0e-da3d22b7a793", "regions": { "81dc0ef7-16af-48ca-9707-b6626f7b5ef3": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "c59bfd9b-4293-433e-83db-820c33f4c378", "part": "whole" }, "id": "81dc0ef7-16af-48ca-9707-b6626f7b5ef3" } } }, "245f2cbf-072e-429f-b8c2-3a155572cae5": { "id": "245f2cbf-072e-429f-b8c2-3a155572cae5", "prev": "d4aec013-fcfb-4601-928a-08cb129f1ab6", "regions": { "f58b4744-dda4-46e7-a2b6-132966aebb6c": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "9cbd4d35-95ab-4b4c-bc7b-ef4c7a5bd601", "part": "whole" }, "id": "f58b4744-dda4-46e7-a2b6-132966aebb6c" } } }, "47ebf514-9d62-497c-ae0e-da3d22b7a793": { "id": "47ebf514-9d62-497c-ae0e-da3d22b7a793", "prev": null, "regions": { "201b2767-c7c4-42a9-8972-0fb07ea027df": { "attrs": { "height": 0.7999999999999999, "width": 0.8, "x": -0.02479871175523355, "y": 0.1261227410985866 }, "content": { "cell": "e3a4dd9c-3f24-48d6-ad9b-4edbe3248df9", "part": "whole" }, "id": "201b2767-c7c4-42a9-8972-0fb07ea027df" } } }, "4cff681d-a824-462c-82c4-6c9dab0650f1": { "id": "4cff681d-a824-462c-82c4-6c9dab0650f1", "prev": "a0099cd8-0e6d-497b-8eee-1c9a9352e2a3", "regions": { "402b6864-2649-41f1-9713-ae5f6bf3b115": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "3bd63ed4-b758-48e5-a662-b68e4b2ce034", "part": "whole" }, "id": "402b6864-2649-41f1-9713-ae5f6bf3b115" } } }, "51a59c43-c682-499d-b8a9-bf6c793cbe75": { "id": "51a59c43-c682-499d-b8a9-bf6c793cbe75", "prev": "b2754f55-e10b-4a02-b5e1-618bc5d423f0", "regions": { "15926dd2-ff48-4df3-a8be-e4b86ea2cd4f": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "baf63d98-9356-4c2d-81d7-8f8cd1a6da2d", "part": "whole" }, "id": "15926dd2-ff48-4df3-a8be-e4b86ea2cd4f" } } }, "5dd85aee-5025-4fe2-a90c-d80de7f8d456": { "id": "5dd85aee-5025-4fe2-a90c-d80de7f8d456", "prev": "bf7c1942-c97d-4023-8cc8-62a6369c6229", "regions": { "a022dc82-caf9-430a-8e77-7a155085aee5": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "d4efa881-fa5c-4ecc-87b0-47f53e865a5f", "part": "whole" }, "id": "a022dc82-caf9-430a-8e77-7a155085aee5" } } }, "7dad038d-3585-4d4a-acb4-d2388b117b7e": { "id": "7dad038d-3585-4d4a-acb4-d2388b117b7e", "prev": "5dd85aee-5025-4fe2-a90c-d80de7f8d456", "regions": { "e526da6b-003d-4015-8900-386d21051974": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "c3075a3b-0158-49f6-9d38-ed7372a4761c", "part": "whole" }, "id": "e526da6b-003d-4015-8900-386d21051974" } } }, "81c72ec7-c7a8-45e6-9649-080db72a3bf9": { "id": "81c72ec7-c7a8-45e6-9649-080db72a3bf9", "prev": "4cff681d-a824-462c-82c4-6c9dab0650f1", "regions": { "98e755fa-d098-4ebf-9481-63e3fed6a783": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "09257b6f-48e9-426c-a0f3-d1a60beb3ad0", "part": "whole" }, "id": "98e755fa-d098-4ebf-9481-63e3fed6a783" } } }, "8a528caa-079f-4215-b8b8-28302cc93a3e": { "id": "8a528caa-079f-4215-b8b8-28302cc93a3e", "prev": "7dad038d-3585-4d4a-acb4-d2388b117b7e", "regions": { "8304fb51-067b-42fd-b53a-e3a1d9e04272": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "0053bec8-5b59-4ae4-b760-37bdf85ed0d8", "part": "whole" }, "id": "8304fb51-067b-42fd-b53a-e3a1d9e04272" } } }, "a0099cd8-0e6d-497b-8eee-1c9a9352e2a3": { "id": "a0099cd8-0e6d-497b-8eee-1c9a9352e2a3", "prev": "245f2cbf-072e-429f-b8c2-3a155572cae5", "regions": { "11eb3f79-3a55-4a7b-a77f-7a29de426686": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "c0138e15-c392-4695-9627-578e85ae9c0a", "part": "whole" }, "id": "11eb3f79-3a55-4a7b-a77f-7a29de426686" } } }, "a3506cf3-dd45-4e72-86bb-af1f5dc15b15": { "id": "a3506cf3-dd45-4e72-86bb-af1f5dc15b15", "prev": "8a528caa-079f-4215-b8b8-28302cc93a3e", "regions": { "c31fa94d-0be2-484b-8fc7-21f845ecd9e7": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "3eafb99a-a449-44ad-92ca-c5759984f87c", "part": "whole" }, "id": "c31fa94d-0be2-484b-8fc7-21f845ecd9e7" } } }, "b2754f55-e10b-4a02-b5e1-618bc5d423f0": { "id": "b2754f55-e10b-4a02-b5e1-618bc5d423f0", "prev": "c1556db0-f27c-4a07-a6ee-218b6da5228f", "regions": { "6ce0b2c5-9f8e-414c-b578-d1fb9537a350": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "53198a70-4798-4da9-8ce3-43a14b3086f2", "part": "whole" }, "id": "6ce0b2c5-9f8e-414c-b578-d1fb9537a350" } } }, "bf7c1942-c97d-4023-8cc8-62a6369c6229": { "id": "bf7c1942-c97d-4023-8cc8-62a6369c6229", "prev": "f2016771-0d1f-4b36-a992-3ed37d96db8d", "regions": { "d2c780fd-f02d-4b23-855d-7268418a9a6b": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "4cca45b8-6d74-43f2-b3aa-2f1f3ece54f3", "part": "whole" }, "id": "d2c780fd-f02d-4b23-855d-7268418a9a6b" } } }, "c1556db0-f27c-4a07-a6ee-218b6da5228f": { "id": "c1556db0-f27c-4a07-a6ee-218b6da5228f", "prev": "81c72ec7-c7a8-45e6-9649-080db72a3bf9", "regions": { "e8e03a1b-fce6-4369-b5e0-6f4c0d98fd48": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "b9b7af2b-084a-4f24-9c1f-6c681e30fd35", "part": "whole" }, "id": "e8e03a1b-fce6-4369-b5e0-6f4c0d98fd48" } } }, "d4aec013-fcfb-4601-928a-08cb129f1ab6": { "id": "d4aec013-fcfb-4601-928a-08cb129f1ab6", "prev": "18cc87f9-a29c-43fe-a307-094e80f187ec", "regions": { "959cec78-5304-4c08-be1c-372309852edb": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "95f1e819-0749-42ff-ad94-6d428298a5a7", "part": "whole" }, "id": "959cec78-5304-4c08-be1c-372309852edb" } } }, "f2016771-0d1f-4b36-a992-3ed37d96db8d": { "id": "f2016771-0d1f-4b36-a992-3ed37d96db8d", "prev": "51a59c43-c682-499d-b8a9-bf6c793cbe75", "regions": { "f238a22f-46b8-43ff-b102-98cb6289f575": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "100a2463-b8e6-4c4c-9cfc-5ea61334779e", "part": "whole" }, "id": "f238a22f-46b8-43ff-b102-98cb6289f575" } } } }, "themes": {} }, "widgets": { "state": { "6711a1c5fb74421a8cb9f258aafb0c70": { "views": [ { "cell_index": 7 } ] }, "97e35c898161466e89cc45034dcbd498": { "views": [ { "cell_index": 9 } ] }, "e1d82c42c7af4010b72f3dc56080cc6c": { "views": [ { "cell_index": 11 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 1 }