SFEM is a C++ framework for the solution of Partial Differential Equations on unstructured meshes, using the Finite Elemenet and Finite Volume methods. It supports distributed memory parallelism via the MPI protocol. SFEM utilizes PETSc for sparse linear algebra computations, and METIS for mesh partitioning. SLEPc is an optional dependency, which enables the computation of eigenvalues of discretized operators.
Below are a few examples detailing the current capabilities of SFEM. The code for these examples will be added soon.
This example highlights SFEM’s ability to handle larger meshes. A spherical shell octant is meshed with ~770,000 second order tetrahedral elements, corresponding to approximately 1.5 million degrees of freedom. The shell is considered linear elastic and is subject to a costant pressure value acting on its inner wall.The mesh is partitioned among 8 processes using METIS and the resulting linear system is solved using PETSc’s Conjugate Gradient solver.
This example is used to showcase SFEM’s ability to handle hyperbolic problems. The two-dimensional linearized Euler equations are discretized in space using the finite-volume method and integrated in time with a fourth-order Runge-Kutta integrator. The interface fluxes are reconstructed using Rusanov’s scheme. A monopole source is located at the center of the rectangular domain.
In this example SFEM is used to solve a potential flow problem around a quarter circle. The problem is discretized using third-order quadrilateral elements, and a Laplace equation is solved for the velocity potential. The velocity field, defined as the gradient of the potential, is then projected onto the same Continuous Galerkin space using a L2 projection.
In this example SFEM is used to compute the first six eigenmodes of an elastic beam, which is fully fixed on one end. The beam is discretized using second-order tetrahedral elements and the resulting eigenproblem is solved using SLEPc. For validation, the resulting frequencies are compared with those provided by beam theory.