Skip to main content

Finite elements library

Project description

fedoo

Finite element library FEDOO Logo

About

Fedoo is an open source Finite Element library developed in Python. It is mainly dedicated for mechanical problems but is easily developpable for other kind of problems (thermal laws already includes). One of the main application of fedoo is to simulate the mechanical response of heterogeneous materials. For that purpose, fedoo is part of the 3mah set that also include microgen for the CAD and meshing of heterogeneous materials and simcoon for the non linear material constitutive models in finite strain.

Here are the main features:

  • Entirely written in Python 3
  • Implicit finite element Solver for Static and Dynamics poblems
  • Finite strain constitutive laws based on the simcoon library (simcoon is developped in C++ allowing a fast execution)
  • Geometrical non linearities based on the simcoon library
  • Wide constitutive equation library including composites law, elasto-plastic law, ...
  • Include many types of elements like 2D, 3D, beam, plate, cohesive elements, ...
  • Homogeneisation: Easy application of periodic boundary conditions and fast automatic extraction of mean tangent matrices
  • Embedded results visualization using the powerfull pyvista library
  • Multi-point constraints
  • Easy scripting
  • Good compromise between a reasonable execution time and an open and lisible code. fedoo is not the fastest finite element software and doesn't intend to be, but a particular attention is paid to the computational cost.
  • Contact in 2D and 3D, Self contact
  • And many other....
PyPI package PyPI version
Conda package Conda
Documentation Documentation
License License
Website Website

Documentation

The documentation is provided by readthedocs at https://fedoo.readthedocs.io.

Installation

Installation with pip including recommanded dependencies excepted simcoon:

pip install fedoo[all]

Minimal installation with pip:

pip install fedoo

Installation with conda with recommanded dependencices (including simcoon):

conda install -c conda-forge -c set3mah fedoo

In mac OS make sure to use scikit-umfpack, the best way to take the most of MacOs accelerate framework is to install numpy from sources first:

pip install cython pybind11
pip install --no-binary :all: numpy

The conda package is restricted to version 0.33, which is not compatible with the latest versions of numpy

pip install scikit-umpack>=0.41 

For performance considerations, it is in general strongly recommended to make sure that numpy is correctly using a fast implementation of BLAS : ou can do

import numpy
numpy.show_config()

to check this, and use either MKL or Accelerate implementation of BLAS

Also, make sure that the default number of threads is not leading to performance degradations: using explicit number of threads might help, see below for extensive control of threads number

#Set the number of threads
import os

n_threads = 4
os.environ["OMP_NUM_THREADS"] = f"{n_threads}"
os.environ["OPENBLAS_NUM_THREADS"] = f"{n_threads}"
os.environ["MKL_NUM_THREADS"] = f"{n_threads}"
os.environ["VECLIB_MAXIMUM_THREADS"] = f"{n_threads}"
os.environ["NUMEXPR_NUM_THREADS"] = f"{n_threads}"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fedoo-0.2.3.tar.gz (10.8 MB view details)

Uploaded Source

Built Distribution

fedoo-0.2.3-py3-none-any.whl (293.1 kB view details)

Uploaded Python 3

File details

Details for the file fedoo-0.2.3.tar.gz.

File metadata

  • Download URL: fedoo-0.2.3.tar.gz
  • Upload date:
  • Size: 10.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for fedoo-0.2.3.tar.gz
Algorithm Hash digest
SHA256 0dbda3d4c67f1b49c8defb7c0ea55fcf52110cb9d52b73be9304256c03eb05cd
MD5 5399a38b140be99df12427e51815961a
BLAKE2b-256 57740b936f407af9c8e976a6dfb8b2d40e25dba784f554fd5744bc70e5486155

See more details on using hashes here.

File details

Details for the file fedoo-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: fedoo-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 293.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for fedoo-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 48f97c4ec144c9221743ec77b400a6b393a90e0ec96c3192da02fca04681e70e
MD5 119c66f8b30c259dfd0fc4fcc9dd1452
BLAKE2b-256 50cfb639f589e9048851c815b2215141cee2c32f705bb4b32399a28fb3cd5925

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page