Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Main SfePy repository
Python C Other
Failed to load latest commit information.
doc docs: update for current sources, sync module index of developer guide
examples new example: Darcy flow in multiple compartments
meshes move into examples/homogenization/
script script/ update save_basis_on_mesh() for no element groups
sfepy check number of dimensions of material array in Material.set_data()
tests new tests/
.gitignore update .gitignore
INSTALL docs: simplify INSTALL, update installation and links
LICENSE update years in LICENSE fix paths in
Makefile python ... via Makefile
README update docs for no isfepy
btrace_python started SfePy, based on sfe-release-00.35.01.tgz fix package_check() for bogus versions rename ProblemDefinition -> Problem clean up band_gaps_he: update required options remove import lines from sfepy/postprocess/, update affect… rename ProblemDefinition -> Problem clean up update remove mesh generation options, simplify fix DOWNLOAD_URL rename sfepy/optimize/ -> sfepy/optimize/ --list option can list solvers, new print_solvers() support DEBUG_MESH flag in sfepy/fem/extmods/ update to test with HDF5 output files


SfePy (Simple finite elements in Python)

A finite element analysis software based primarily on NumPy and SciPy.

See the INSTALL file for installation instructions or refer to SfePy
documentation site [1].

How to start

SfePy uses so called "problem definition files" (also referred to as
"input files" or "problem description files"") that describe the partial
differential equations (PDEs), boundary conditions, function spaces and
other ingredients of the finite element (FE) formulation of a
PDE-related problem, see [1]. The PDEs are given in weak formulation as
usual in the FE context, see [2], where each equation is composed of one
or more terms. To see which terms are available consult
'doc/sfepy_manual.pdf', or see them online [3].

In order to solve a problem, a problem description file has to be
created. There is also an interactive solution support for advanced
users [4].

When starting to solve a new problem, it is best to have a look at
example problem definition files in the 'examples/' directory - copy the
one that is similar to the problem at hand, and modify it. Two of the
examples are commented: 'examples/diffusion/' and

While a problem definition file describes a mathematical problem, it does not
contain a discretized solution domain (a FE mesh). The FE mesh must be provided
in another file in one of the supported formats, notably the legacy VTK format
[5]. SfePy does not provide meshing tools, but it can use a number of standard
formats. The results are almost exclusively stored in legacy VTK files, or
custom HDF5 files. Many standard open-source tools can be used to display the
VTK files, namely paraview [6], or mayavi [7]. The latter is supported directly
within SfePy, via the script.

Once an input file and a corresponding mesh file are prepared, the
solution of the problem can be attempted by the '' script, see
Examples section in the INSTALL file.



 - ... main SfePy development site (releases, mailing lists,
                        wiki, issue tracking, downloads, examples
 - ... documentation
 - ... master git repository
 - ... projects solved within SfePy

License: New BSD License, see the LICENSE file.

Robert Cimrman and Contributors
Something went wrong with that request. Please try again.