Skip to main content

PyPI GA Documentation Status Python Version

What is pyfurc?

pyfurc is a python module that facilitates calculations for non-linear mechanical systems exhibiting bifurcations with the generalized path-following FORTRAN program AUTO-07p directly in python.

Energy expressions, degrees of freedom and loads are defined using sympy symbolic math processing functionality, and equilibrium equations are automatically derived symbolically.

pyfurc then generates FORTRAN code for the bifurcation problem, calls the AUTO-07p routines and reads the result into a pandas DataFrame for post-processing in python.

The basic functionality looks like this:

drawing

Solving a bifurcation problem can be this simple:

import pyfurc as pf
import sympy as sp
import matplotlib.pyplot as plt

phi = pf.Dof("\\varphi")
P = pf.Load("P")

cT = 10/3.1415
ell = 0.5

V = pf.Energy(1/2*cT*phi**2-P*ell*(1-sp.cos(phi)))
bf = pf.BifurcationProblem(V, name="hinged_cantilever")
bf.set_parameter("RL1", 12.73)  #set maximum load

solver = pf.BifurcationProblemSolver(bf)
solver.solve()  # solve problem

for dat in bf.solution.raw_data:
    plt.plot(dat["U(1)"], dat["PAR(1)"])

To get started, check out the Quickstart section below or take a look at the in-depth installation guides in the Documentation.

Part of the documentation is an in-depth tutorial where a simple example problem is solved in different ways.

Quickstart

Prerequisites:

  • Running Linux distribution (only tested on Ubuntu so far)
  • Python 3.8.2+
  • pip

For installing pyfurc run

pip3 install pyfurc

Documentation and Tutorial

The Documentation is hosted on readthedocs.

Metadata

Release files for pyfurc 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyfurc 0.2.4
File Size Uploaded
pyfurc-0.2.4.tar.gz 4.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyfurc 0.2.4
File Interpreter ABI Platform
pyfurc-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details

Total release size: 5.6 MB

Release files / pyfurc-0.2.4.tar.gz

Download URL pyfurc-0.2.4.tar.gz
Size 4.2 MB
Tags Source
SHA-256 checksum
How to use checksums
613f78a251df4b842348f70381188d0872a84fa58b99f2bb6b24008392334af1
BLAKE2b-256 checksum
How to use checksums
5f4994e1df021bfcb6558a9d8816e39694d026f018d075a75941636ad88b8687
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release files / pyfurc-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyfurc-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1db8ee49ce4b4dd9d0cacaadbdc2ed5ed2dcf16f3db07be24636a3d770af73db
BLAKE2b-256 checksum
How to use checksums
58c515d7c26f45fae69034f247d7b6de23715ba45ad3b4a75eba847c7e30cae2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.1.7

2 release files

0.1.6

2 release 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