Multiscale finite element calculations in Python using SfePy
arXiv:1810.00674 · doi:10.1007/s10444-019-09666-0
Abstract
SfePy (Simple finite elements in Python) is a software for solving various kinds of problems described by partial differential equations in one, two or three spatial dimensions by the finite element method. Its source code is mostly (85\%) Python and relies on fast vectorized operations provided by the NumPy package. For a particular problem two interfaces can be used: a declarative application programming interface (API), where problem description/definition files (Python modules) are used to define a calculation, and an imperative API, that can be used for interactive commands, or in scripts and libraries. After outlining the SfePy package development, the paper introduces its implementation, structure and general features. The components for defining a partial differential equation are described using an example of a simple heat conduction problem. Specifically, the declarative API of SfePy is presented in the example. To illustrate one of SfePy's main assets, the framework for implementing complex multiscale models based on the theory of homogenization, an example of a two-scale piezoelastic model is presented, showing both the mathematical description of the problem and the corresponding code.
This manuscript version is made available under the CC-BY-NC-ND 4.0 license
References in corpus (10)
- Mayavi: a package for 3D visualization of scientific data
- Firedrake: automating the finite element method by composing abstractions
- Finite strain FFT-based non-linear solvers made simple
- A finite element perspective on non-linear FFT-based micromechanical simulations
- Efficient Representation of Computational Meshes
- Homogenization of the vibro-acoustic transmission on perforated plates
- Isogeometric analysis in electronic structure calculations
- Homogenization of the fluid-saturated piezoelectric porous media
- Finite element method and isogeometric analysis in electronic structure calculations: convergence study
- Enhancing SfePy with Isogeometric Analysis
Cited by in corpus (13)
- Homogenization of the vibro-acoustic transmission on perforated plates
- Fast Evaluation of Finite Element Weak Forms Using Python Tensor Contraction Packages
- Manapy: MPI-Based framework for solving partial differential equations using finite-volume on unstructured-grid
- Homogenization of large deforming fluid-saturated porous structures
- Volumetric parcellation of the right ventricle for regional geometric and functional assessment
- Homogenization of the vibro-acoustic transmission on periodically perforated elastic plates with arrays of resonators
- Solving nonlinear Klein-Gordon equations on unbounded domains via the Finite Element Method
- Homogenization of peristaltic flows in piezoelectric porous media
- A thermionic electron gun to characterize silicon drift detectors with electrons
- Investigations of Charge Collection and Signal Timing in a multi-pixel Silicon Drift Detector
- What to expect from scalar-tensor space geodesy
- Homogenization of flow in inflatable periodic structures with nonlinear effects
- SymPhas --General purpose software for phase-field, phase-field crystal and reaction-diffusion simulations