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.91.tar.gz (225.0 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.91-py3-none-any.whl (322.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fers-0.1.91.tar.gz
  • Upload date:
  • Size: 225.0 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.91.tar.gz
Algorithm Hash digest
SHA256 22adfc9537a5f590c55c07c2b4a696e572e849befcea5736694cf5c0349981fe
MD5 295ee01e5c83a37e28a9b9d9d37021ab
BLAKE2b-256 ea104bca0da7a7a8ddcfbd796557e34cfaaa843a034abc84b3f2b8132ea7fb26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fers-0.1.91-py3-none-any.whl
  • Upload date:
  • Size: 322.4 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.91-py3-none-any.whl
Algorithm Hash digest
SHA256 76724e1a9167eb4ceb9753fafa5d0cf117887e7fe4e20bc31b4bf330d4f42331
MD5 3a12deea75c945427070753eb4492efa
BLAKE2b-256 3551386a68e9aa5e64771cd21e9e52103a8e10a8f84efdcae0272ab08db0dc61

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.95

2 files

0.1.94

2 files

0.1.93

2 files

0.1.92

2 files

This release

0.1.91 This release

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