Skip to main content

FERS_core

FERS_core is an open-source Finite Element Method (FEM) library written in Rust with a Python interface. It provides the foundational tools and components necessary for performing FEM analysis. This core package is designed for users who need a reliable and efficient FEM solver.

Features

  • Basic Finite Element Method (FEM) solvers
  • Mesh generation and manipulation tools
  • Support for various types of finite elements
  • Easy-to-use Python interface for integration with existing workflows
  • Designed for high performance with Rust

Installation

You can install FERS_core via pip:

pip install FERS

Solving a model

from fers_core.builders import create_beam

model = create_beam(5.0, "IPE180", udl=-5000.0)   # 5 m span, 5 kN/m downward
model.run_analysis()
print(model.resultsbundle)

Use run_analysis_to_file(path, ...) instead when the result is large — it streams the JSON straight to disk rather than through the Python heap.

Premium solves and timeouts

Without an API key the solver runs at Free-tier limits (100 members) and makes no network call at all. Passing api_key raises those limits:

model.run_analysis(api_key=KEY)

A key means each solve first verifies the licence with ferscloud.com, so that handshake is bounded. If the licence server does not answer within license_timeout seconds (default 30) the call raises FersTimeoutError before the solve starts — so retrying is always safe:

import fers_calculations

try:
    model.run_analysis(api_key=KEY, license_timeout=60)
except fers_calculations.FersTimeoutError:
    ...   # transient stall — retry or skip this model
except RuntimeError:
    ...   # definitive — bad key, non-premium account, or a rejected model

Keeping those two arms apart is the point: retrying a RuntimeError fails identically, while collapsing both into except Exception turns a retryable blip into a lost result. See fers_core/examples/203_Premium_Batch_Solve.py for the full unattended-batch pattern.

FersTimeoutError subclasses the built-in TimeoutError, so a plain except TimeoutError catches it too.

Set FERS_LICENSE_TIMEOUT (seconds) to change the default without editing any call sites. It must be a real environment variable — .env files are not read by the engine.

license_timeout bounds the licence handshake, not the solve. A solve is native code with no cancellation point, so no in-process timeout can interrupt it. For a hard ceiling on total wall time per model, run each solve in a killable subprocess — that also reclaims its memory.

Requires engine fers_calculations >= 0.2.53.

Download files

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

Source Distribution

fers-0.1.93.tar.gz (241.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fers-0.1.93-py3-none-any.whl (340.1 kB view details)

Uploaded Python 3

File details

Details for the file fers-0.1.93.tar.gz.

File metadata

  • Download URL: fers-0.1.93.tar.gz
  • Upload date:
  • Size: 241.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.16

File hashes

Hashes for fers-0.1.93.tar.gz
Algorithm Hash digest
SHA256 f903e1b4a84fb99bb74726afc86220a3c573d068a8bd67ce31b1dbfea13923de
MD5 04ff1a4a9298db649feb3e596b48105c
BLAKE2b-256 0294cc2b1f32d7300c1aa6e5ed1d69a39b5bd76b13aa3871ee44a33a10ce04d9

See more details on using hashes here.

File details

Details for the file fers-0.1.93-py3-none-any.whl.

File metadata

  • Download URL: fers-0.1.93-py3-none-any.whl
  • Upload date:
  • Size: 340.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.16

File hashes

Hashes for fers-0.1.93-py3-none-any.whl
Algorithm Hash digest
SHA256 bd0b7c4e7f8bb30843942c91f70106256ccb60acf7e4f4d8bf517f5bfcbfe6af
MD5 39c07423ee99b214bae320e0f14bae5c
BLAKE2b-256 83861913c1aac04ba72dcbe84e7465f9e1f7a7951afc02ee4d0231568f6f6044

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.95

2 files

0.1.94

2 files

This release

0.1.93 This release

2 files

0.1.92

2 files

0.1.91

2 files

0.1.90

2 files

0.1.89

2 files

0.1.88

2 files

0.1.87

2 files

0.1.86

2 files

0.1.85

2 files

0.1.83

2 files

0.1.82

2 files

0.1.80

2 files

0.1.79

2 files

0.1.77

2 files

0.1.76

2 files

0.1.75

2 files

0.1.74

2 files

0.1.73

2 files

0.1.72

2 files

0.1.71

2 files

0.1.70

2 files

0.1.68

2 files

0.1.67

2 files

0.1.66

2 files

0.1.65

2 files

0.1.64

2 files

0.1.63

2 files

0.1.62

2 files

0.1.61

2 files

0.1.60

2 files

0.1.59

2 files

0.1.58

2 files

0.1.57

2 files

0.1.56

2 files

0.1.55

2 files

0.1.54

2 files

0.1.53

2 files

0.1.52

2 files

0.1.51

2 files

0.1.50

2 files

0.1.49

2 files

0.1.48

2 files

0.1.47

2 files

0.1.46

2 files

0.1.45

2 files

0.1.44

2 files

0.1.43

2 files

0.1.42

2 files

0.1.41

2 files

0.1.40

2 files

0.1.39

2 files

0.1.38

2 files

0.1.37

2 files

0.1.36

2 files

0.1.35

2 files

0.1.34

2 files

0.1.33

2 files

0.1.32

2 files

0.1.31

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page