Git Product home page Git Product logo

sfepy's Introduction

CI

SfePy (Simple finite elements in Python)

SfePy1 is a software for solving systems of coupled partial differential equations (PDEs) by the finite element method in 1D, 2D and 3D. It can be viewed both as black-box PDE solver, and as a Python package which can be used for building custom applications. The word "simple" means that complex FEM problems can be coded very easily and rapidly. Its source code can be found on github2.

SfePy is based primarily on NumPy3 and SciPy4. See the INSTALL file for installation instructions or refer to5.

  • License: New BSD License, see the LICENSE file.
  • Authors: Robert Cimrman and Contributors, see the AUTHORS file.

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, see6. The PDEs are given in weak formulation as usual in the FE context, see7, where each equation is composed of one or more terms. To see which terms are available consult doc/sfepy_manual.pdf, or see them online8.

In order to solve a problem, a problem description file has to be created. There is also an interactive solution support for advanced users9. 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.

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 10. 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 paraview11, or mayavi12. The latter is supported directly within SfePy, via the postproc.py script.

Once an input file and a corresponding mesh file are prepared, the solution of the problem can be attempted using the simple.py script, see the documentation.

References


  1. http://sfepy.org - main SfePy development site (releases, mailing lists, wiki, issue tracking, downloads, documentation, examples)

  2. http://github.com/sfepy - master git repository

  3. http://numpy.org

  4. http://scipy.org

  5. http://sfepy.org - main SfePy development site (releases, mailing lists, wiki, issue tracking, downloads, documentation, examples)

  6. http://sfepy.org - main SfePy development site (releases, mailing lists, wiki, issue tracking, downloads, documentation, examples)

  7. http://en.wikipedia.org/wiki/Weak_formulation

  8. http://docs.sfepy.org/doc/terms_overview.html

  9. http://docs.sfepy.org/doc/tutorial.html#interactive-example-linear-elasticity

  10. http://www.vtk.org/VTK/img/file-formats.pdf

  11. http://paraview.org/

  12. http://code.enthought.com/projects/mayavi/

sfepy's People

Contributors

alkalinin avatar bjarkedalslet avatar bubulk avatar certik avatar freevryheid avatar gladk avatar heczis avatar jalogik avatar logansorenson avatar olivierverdier avatar osmanfb avatar rc avatar ryangt avatar takluyver avatar taldcroft avatar vc12345679 avatar vlukes avatar vondrejc avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.