Skip to main content

An end to end differentiable finite element framework.

Project description

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.

Project details


Download files

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

Source Distribution

anabel-0.0.11.tar.gz (81.7 MB view details)

Uploaded Source

Built Distribution

anabel-0.0.11-py3-none-any.whl (60.3 kB view details)

Uploaded Python 3

File details

Details for the file anabel-0.0.11.tar.gz.

File metadata

  • Download URL: anabel-0.0.11.tar.gz
  • Upload date:
  • Size: 81.7 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for anabel-0.0.11.tar.gz
Algorithm Hash digest
SHA256 cde54a5740b35f5fcb272f593717310df601ecc78deee597b7d3d90d32af1370
MD5 0cb7d3e0242d1be298ce263143d50be5
BLAKE2b-256 a605f216c03eb30e911345b902aaaa13feabb8e54198e9f39ac8b0c09c441d71

See more details on using hashes here.

File details

Details for the file anabel-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: anabel-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 60.3 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for anabel-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 174a313affe478a15c2c2d2ae4eec0cd66f97645ec13e329aec94eb829bef0ca
MD5 98885cb52e3c5c0b75e2de6fe8367eb7
BLAKE2b-256 03cc6ba0d7c9bfb3ed2c1031d9350c38411a4b3f9e7fe209cc013148f95c5b5c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page