Holds the 3D FEM Poisson solver.
A Python solver for the 3D Poisson's equation using the FEniCS finite element library.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
FEniCS is used to solve the FEM problem posed by the user design.
You can install FEniCS by running:
sudo apt install python3-dolfin
One of the dependencies used in this project, FEniCS, does not have Windows support. If you have no access to machines running Linux or macOS, the only ways to use FEniCS on Windows is either through Docker or Windows Subsystem for Linux(WSL).
If your Windows version supports WSL (Windows 10 version 1607 or above, 64-bit), we recommend using WSL as it is more integrated with Windows 10.
These steps were tested on Windows 10 Education Version 1803 with a Ubuntu 16.04.4 LTS running in WSL.
-
Please follow this guide to install WSL. Choose Ubuntu as your distribution.
-
After installing WSL on your system, upgrade packages on the system:
sudo apt update && sudo apt upgrade
- Install FEniCS (commands taken from FEniCS' website):
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fenics-packages/fenics
sudo apt-get update
sudo apt-get install --no-install-recommends fenics
sudo apt-get dist-upgrade
- Install other dependent packages:
sudo apt-get install gmsh python3-tk
Still doesn't work, just putting this documentation up to be completed in the future.
The solver uses the FEM to solve for the 3D electric potential given an arrangement of electrodes. The solver is meant to be used in conjunction with another tool, and may take some effort to get working as a stand-alone application. Boundary conditions at the simulation edges are handled using Robin boundary conditions, while the air-material boundary is implicitly handled by aligning the mesh face to the boundary interface.
The solver is meant to be called from another tool, with the appropriate input and output arguments.
Nathan Chiu