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.87.tar.gz (223.6 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.87-py3-none-any.whl (321.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fers-0.1.87.tar.gz
  • Upload date:
  • Size: 223.6 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.87.tar.gz
Algorithm Hash digest
SHA256 552b3118584077e48b638b8106566014c0bf6120432223af854af53c17370964
MD5 18fc95c03f42275d06a5d44d99d249b8
BLAKE2b-256 0dfb5076b3084a1fdba77cdf4926b91cf38d9a65387cff2d7bbc17efd6e99557

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fers-0.1.87-py3-none-any.whl
  • Upload date:
  • Size: 321.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.87-py3-none-any.whl
Algorithm Hash digest
SHA256 9b58d2fd4168279d368ef359f77b2328c00360df3c5f53abf047dfc239ae2460
MD5 8c0ddc5545212fd60274de3e8b7ffe19
BLAKE2b-256 af7798ba8ac6e36ad37a287b1fe7939e2756d00eaa67bc3ad662c96a387b54fd

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

0.1.91

2 files

0.1.90

2 files

0.1.89

2 files

0.1.88

2 files

This release

0.1.87 This release

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