Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Presubmission Inquiry for FElupe #211

Closed
6 of 16 tasks
adtzlr opened this issue Sep 3, 2024 · 2 comments
Closed
6 of 16 tasks

Presubmission Inquiry for FElupe #211

adtzlr opened this issue Sep 3, 2024 · 2 comments

Comments

@adtzlr
Copy link

adtzlr commented Sep 3, 2024

Submitting Author: Andreas Dutzler (@adtzlr)
Package Name: FElupe
One-Line Description of Package: Finite element analysis for continuum mechanics of solid bodies.
Repository Link: https://github.com/adtzlr/felupe
EiC: TBD


Code of Conduct & Commitment to Maintain Package

Description

  • Include a brief paragraph describing what your package does:

FElupe is a Python finite element analysis package focusing on the formulation and numerical solution of nonlinear problems in continuum mechanics of solid bodies. Easy-to-learn classes are provided to simulate the nonlinear deformation of hyperelastic solid bodies, see Getting Started. The constitutive material formulation of a hyperelastic solid body may be defined by its strain energy density function only (gradient and hessian are carried out by optional automatic differentiation). Strain energy functions for selected hyperelastic models are included. FElupe has only few dependencies, is a pure Python package but is also efficient enough for rubber-like structures. Several extension packages exist, e.g. to use a different automatic differentation backend or an interactive plot window.

grafik

Community Partnerships

We partner with communities to support peer review with an additional layer of
checks that satisfy community requirements. If your package fits into an
existing community please check below:

Scope

  • Please indicate which category or categories this package falls under:

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization
    • Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

Domain Specific

  • Geospatial
  • Education

  • Explain how and why the package falls under these categories (briefly, 1-2 sentences). For community partnerships, check also their specific guidelines as documented in the links above. Please note any areas you are unsure of:

FElupe relies on meshio to read mesh files or uses an instance of a PyVista unstructured grid to load a mesh (Data retrieval). For completed simulations, it is possible to extract the strains or stresses (Data extraction). Meshes, fields and solid bodies provide methods for Data visualization using PyVista (see e.g. pyvista/pyvista#2133 (comment)). Input data, i.e. typically a mesh of a solid body, is used to simulate the deformation for different boundary conditions and external loads (Data processing).

  • Who is the target audience and what are the scientific applications of this package?

FElupe is great for teaching, scientific research as well as for mid-sized industry-problems related to the deformation of solid bodies. It has already been used in scientific articles which are listed in the README.

  • Are there other Python packages that accomplish similar things? If so, how does yours differ?

Yes, there is scikit-fem, FEniCS, GetFEM and probably some others. While scikit-fem is definitely lightweight and easy-to-install, I found out that it is typically too slow for running hyperelastic simulations, e.g. the deformation of a rubber-like solid (see also my initial questions / posts in kinnala/scikit-fem#616). FEniCS on the other hand has a great community but the install-entry-barrier is much higher compared to a pure PyPI Python package. The same also applies for GetFEM, because both projects provide Python packages for their compiled code. I was looking for a more lightweight Python package but also efficient enough for simulating typical rubber-like structures. Hence, I started working on FElupe in 2021.

Instead of assembling general weak forms like scikit-fem and FEniCS, FElupe follows a more Abaqus-like UMAT (user material) approach for constitutive material formulations of solid bodies, see e.g. ConstitutiveMaterial or Hyperelastic.

  • Any other questions or issues we should be aware of:

The community extension packages of FElupe are considered as community packages and they are not part of this (pre) submission. Thanks!

P.S. Have feedback/comments about our review process? Leave a comment here

@cmarmo
Copy link
Member

cmarmo commented Sep 8, 2024

Hello @adtzlr , thank you for opening this presubmission inquiry.
FElupe is definitely in scope for pyOpenSci, feel free to open a new issue for submission referencing this one.
Thank you!

@adtzlr
Copy link
Author

adtzlr commented Sep 8, 2024

Hi @cmarmo, great news - thank you for your reply! I'll create a submission within the next days.

@adtzlr adtzlr mentioned this issue Sep 14, 2024
32 tasks
@cmarmo cmarmo closed this as completed Sep 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: pre-submission
Development

No branches or pull requests

2 participants