Skip to main content

anabel

An end to end differentiable finite element framework.


Code Style: Black PyPI Version Documentation

Foundations

Installation

The base Anabel package can be installed from a terminal with the following command:

$ pip install anabel

This installation includes basic tools for composing "neural network" -like models along with some convenient IO utilities. However, both automatic differentiation and JIT capabilities require Google's Jaxlib module which is currently in early development and only packaged for Ubuntu systems. On Windows systems this can be easily overcome by downloading the Ubuntu terminal emulator from Microsoft's app store and enabling the Windows Subsystem for Linux (WSL). The following extended command will install Anabel along with all necessary dependencies for automatic differentiation and JIT compilation:

$ pip install anabel[jax]

The in-development version can be installed the following command:

$ pip install https://github.com/claudioperez/anabel/archive/master.zip

Core API - Modeling PDEs

from anabel import template, diff, MappedMesh
from anabel.interpolate import lagrange_t6

@template(6)
def poisson_template(u,v,iso,f,):
    def poisson(uh,xyz):
        return diff.jacx(u)(u,v)

Utility Modules

anabel.sections

from anabel.sections import Tee

t_section = Tee(bf=60, tf=6, tw=18, d=24)
t_section.plot()

anabel.transient

Building The Documentation

The following additional dependencies are required to build the project documentation:

  • Pandoc
  • Elstir (pip install elstir)

To build the documentation, run the following command from the project root directory:

$ elstir build

Organization of Source Code

Documentation

  • elstir.yml
  • style/ Directory holding style/template/theme files for documentation.
  • docs/api/ Automatically generated API documentation files.

Source Code

  • setup.py Installation/setup; used for pip installation.
  • src/anabel/ Python source code
  • [lib/] C++ source code for extension library

Data

Source Control, Testing, Continuous Integration

  • .gitignore Configuration for Git source control.
  • .appveyor.yml configuration file for Appveyor
  • .coveragerc configuration file for CodeCov, used to measure testing coverage.
  • pytest.ini configuration file for PyTest, used to setup testing.

FOSSA Status

Changelog

0.1.0 (2021-05-21)

  • First documented release

0.0.0 (2020-07-15)

  • First release on PyPI.

Release files for anabel 0.0.11

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

Source distribution (sdist)

Source distribution for anabel 0.0.11
File Size Uploaded
anabel-0.0.11.tar.gz 81.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for anabel 0.0.11
File Interpreter ABI Platform
anabel-0.0.11-py3-none-any.whl Python 3 none any Details

Total release size:81.8 MB

Release files / anabel-0.0.11.tar.gz

Download URL anabel-0.0.11.tar.gz
Size 81.7 MB
Tags Source
SHA-256 checksum
How to use checksums
cde54a5740b35f5fcb272f593717310df601ecc78deee597b7d3d90d32af1370
BLAKE2b-256 checksum
How to use checksums
a605f216c03eb30e911345b902aaaa13feabb8e54198e9f39ac8b0c09c441d71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

Release files / anabel-0.0.11-py3-none-any.whl

Download URL anabel-0.0.11-py3-none-any.whl
Size 60.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
174a313affe478a15c2c2d2ae4eec0cd66f97645ec13e329aec94eb829bef0ca
BLAKE2b-256 checksum
How to use checksums
03cc6ba0d7c9bfb3ed2c1031d9350c38411a4b3f9e7fe209cc013148f95c5b5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

Release history Release notifications | RSS feed

This release

0.0.11 This release

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

3 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