An end to end differentiable finite element framework.
Project description
anabel
An end to end differentiable finite element framework.
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
dat/quadrature/
Quadrature scheme 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.
Changelog
0.1.0 (2021-05-21)
- First documented release
0.0.0 (2020-07-15)
- First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cde54a5740b35f5fcb272f593717310df601ecc78deee597b7d3d90d32af1370 |
|
MD5 | 0cb7d3e0242d1be298ce263143d50be5 |
|
BLAKE2b-256 | a605f216c03eb30e911345b902aaaa13feabb8e54198e9f39ac8b0c09c441d71 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 174a313affe478a15c2c2d2ae4eec0cd66f97645ec13e329aec94eb829bef0ca |
|
MD5 | 98885cb52e3c5c0b75e2de6fe8367eb7 |
|
BLAKE2b-256 | 03cc6ba0d7c9bfb3ed2c1031d9350c38411a4b3f9e7fe209cc013148f95c5b5c |