Skip to content

das-dias/computational-electromagnetics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

msc-nova

Computational Electromagnetics Course Notebooks

-----------------------------------------------------

Table of Contents

Overview

This GitHub repository features a collection of Jupyter Notebooks that used to study common and some advanced algorithms used in modern Computational Electromagnetics. The notebook examples are based on two primary books:

    [1] Anders Bondeson, Thomas Rylander, and Par Ingelstroom's "Computational Electromagnetics", Springer, 2005 - featuring the core and common algorithms,

    [2] M. V.K. Chari and S.J. Salon's "Numerical Methods in Electromagnetism" - A great mathematical complement to [1].

Three aditional support papers will be used to exemplify the usage of modern computer algorithms and machine learning to solve the problem of parasitic capacitance extraction - a problem that is very important to solve to ensure the reliability of any integrated circuit. Python is an open-source scripting language, and a much more powerful programming language than Octave - due to its greater user community, it is also much more versatile. As such, the course's practical notes were converted and adapted to Python. Using Python and Jupyter Notebooks also enables two very useful features:
  • The possibility of adding HTML and Markdown notes in the middle of code - providing a powerful note-taking system;
  • The possibility of running computationally-heavy simulations in the cloud using Google Colab.

Checkout:

webpages for more information on how to use Python and Jupyter Notebooks for scientific/mathematical computing and data visualization.

Dependencies

made-with-python

The following open source packages are used in this project:

  • NumPy - general-purpose matrix and array-processing package

  • SciPy - fast-fourier-transform (FFT) and other advanced numerical methods for integration, differentiation, interpolation, optimization, linear algebra, statistics, and more.

  • Matplotlib & Seaborn - data visualization and general plotting

  • Shapely - Manipulation and analysis of geometric objects in the Cartesian plane.

  • PyGmsh - Python interface for the Gmsh scripting language, for the creation of 2D and 3D mesh geometries for Finite Element Method (FEM) and other applications.

Downloading

You can download the zip file of this repository here. Another alternative is to simply clone this repository to your current working directory using the following command:

git clone https://github.com/das-dias/signal-converters-notebooks.git

or

gh repo clone das-dias/signal-converters-notebooks

Contributing

Feel free to clone this repository and use it to make oyur own notes, complement them and even expand the existing notes. If an issue or a bug/error is discovered within the shared code do not hesitate in contacting me through one of the following emails:

In the case of an issue, me or any other main contributor will open an issue-tracking thread for this repository for each of the bugs that are found. Any change that is made to the notes by people interested in collaborating should be done so by generating a new pull request to update the existing notes. The changes will then be reviewed, discussed and approved if they're actually adding value to the notes or correctign existing issues.

Main Contributors

Licensing

This project is licensed under the MIT License - see the LICENSE file or go to the website to find more details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published