Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
fenicsx [2023/03/24 16:08] – [Anaconda on Linux (WSL) and macOS] bdatta1 | fenicsx [2024/04/18 10:33] (current) – [Learning FEniCSx] bdatta1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== What is FEniCSx ===== | + | ===== FEniCSx ===== |
- | FEniCSx is an open source multi-platform computing environment to solve partial differential equations using finite element method. FEniCSx supports parallel computing with Python and C++ interface. FEniCSx is comprised of the libraries UFL, Basix, FFCx and DOLFINx which are the build blocks of it. To learn more about FEniCSx: https:// | + | FEniCSx is an open-source multi-platform computing environment to solve partial differential equations using the finite element method. FEniCSx supports parallel computing with Python and C++ interface. FEniCSx is comprised of the libraries UFL, Basix, FFCx, and DOLFINx which are the build blocks of it. To learn more about FEniCSx: |
- | The FEniCS project originally started in 2003 and was known as FEniCS. In 2020, the developers released a new version of the library and renamed FEniCS as FEniCSx. The latest stable version of legacy FEniCS was released | + | The FEniCS project originally started in 2003 and was known as FEniCS. In 2020, the developers released a new version of the library and renamed FEniCS as FEniCSx. The latest stable version of legacy FEniCS was released |
+ | |||
+ | Both FEniCSx and FEniCS are available on Linux, macOS, and Windows. You can download and install it in different ways. Check out the options here for FEniCSx: [[https:// | ||
- | Both FEniCSx and FEniCS are available on Linux, macOS, and Windows. You can download and install it in different ways. Check out the options here for FEniCSx: https:// | ||
==== Installation on Windows ===== | ==== Installation on Windows ===== | ||
Line 46: | Line 47: | ||
(base) $ xcode-select --install </ | (base) $ xcode-select --install </ | ||
- Download Anaconda from here based on your operating system and architecture: | - Download Anaconda from here based on your operating system and architecture: | ||
- | - For WSL, you will download the installation script. Open Ubuntu terminal and use the following command to copy this script from your Windows Downloads folder to WSL home directory: < | + | - For WSL, you will download the installation script. Open Ubuntu terminal and use the following command to copy this script from your Windows Downloads folder to WSL home directory: < |
- | - '' | + | - Once it is downloaded to the home directory, you can run the following command on Ubuntu terminal for installation: |
- Please make sure to use the version you downloaded. It will ask you to read the license agreement and your permission for installation. Proceed as needed. Close the Ubuntu terminal and open it back, you will see the base environment for Anaconda is now available. This is how your terminal is going to look like: < | - Please make sure to use the version you downloaded. It will ask you to read the license agreement and your permission for installation. Proceed as needed. Close the Ubuntu terminal and open it back, you will see the base environment for Anaconda is now available. This is how your terminal is going to look like: < | ||
(base) $ </ | (base) $ </ | ||
Line 56: | Line 57: | ||
As of March 2023, the latest stable release of '' | As of March 2023, the latest stable release of '' | ||
- | - Once Anaconda is properly installed, create an environment for FEniCSx. In addition to the '' | + | - Once Anaconda is properly installed, create an environment for FEniCSx. In addition to the '' |
(base) | (base) | ||
(base) | (base) | ||
Line 200: | Line 201: | ||
</ | </ | ||
- Now run the python code from the Ubuntu terminal: < | - Now run the python code from the Ubuntu terminal: < | ||
- | - This should save '' | + | - This should |
==== A few more settings ===== | ==== A few more settings ===== | ||
Line 235: | Line 236: | ||
- WSL on Windows 10 lacks native X-11 forwarding support. When the code is run from the terminal or a Python file from VS Code, plotting through '' | - WSL on Windows 10 lacks native X-11 forwarding support. When the code is run from the terminal or a Python file from VS Code, plotting through '' | ||
- If you are running the Python code interactively from VS Code on WSL, it can show the interactive plot within the Jupyter notebook environment but it has trouble saving the screenshot as '' | - If you are running the Python code interactively from VS Code on WSL, it can show the interactive plot within the Jupyter notebook environment but it has trouble saving the screenshot as '' | ||
- | - PyVista has trouble rendering higher order ($p \ge 2$) Quadrilateral and Hexahedron elements. For 2nd order Hexahedron element, it renders Tetrahedron. Visualization in ParaView works properly. | + | - PyVista has trouble rendering higher order (2nd order or higher) Quadrilateral and Hexahedron elements. For 2nd order Hexahedron element, it renders Tetrahedron. Visualization in ParaView works properly. |
+ | |||
+ | ==== Learning FEniCSx ==== | ||
+ | |||
+ | Since FEniCSx was released very recently, there aren't many tutorial or resources available based on FEniCSx. Please check the first two web resources which demonstrates some wonderful problems using FEniCSx. On the other hand, legacy FEniCS has numerous hands-on tutorials, books, and lecture series available. Fortunately, | ||
+ | |||
+ | - The FEniCx tutorial: https:// | ||
+ | - Numerical tours of computational mechanics with FEniCSx: https:// | ||
+ | - FEniCSx demos on the official site: https:// | ||
+ | - Legacy FEniCS demos on the official site: https:// | ||
+ | - Logg, Anders, Kent-Andre Mardal, and Garth Wells, eds. Automated solution of differential equations by the finite element method: The FEniCS book. Vol. 84. Springer Science & Business Media, 2012. (https:// | ||
+ | - Langtangen, Hans Petter, and Anders Logg. Solving PDEs in python: the FEniCS tutorial I. Springer Nature, 2017. (https:// | ||
+ | - Courses offered using FEniCS: https:// | ||