Coder Social home page Coder Social logo

gutoalvim / bempp-cl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bempp/bempp-cl

0.0 1.0 0.0 80.87 MB

A fast Python based just-in-time compiling boundary element library

Home Page: http://www.bempp.com

License: MIT License

Python 36.95% C 10.71% Jupyter Notebook 51.80% Dockerfile 0.14% Objective-C 0.18% TeX 0.21%

bempp-cl's Introduction

Bempp-cl

Bempp-cl is an open-source boundary element method library that can be used to assemble all the standard integral kernels for Laplace, Helmholtz, modified Helmholtz, and Maxwell problems. The library has a user-friendly Python interface that allows the user to use BEM to solve a variety of problems, including problems in electrostatics, acoustics and electromagnetics.

Bempp-cl began life as BEM++, and was a Python library with a C++ computational core. The ++ slowly changed into pp as functionality gradually moved from C++ to Python with only a few core routines remaining in C++. Bempp-cl is the culmination of efforts to fully move to Python. It is an almost complete rewrite of Bempp: the C++ core has been replaced by highly SIMD optimised just-in-time compiled OpenCL kernels, or alternatively, by just-in-time compiled Numba routines, which are automatically used on systems that do not provide OpenCL drivers. User visible functionality is strictly separated from the implementation of computational routines, making it easy to add other discretisation technologies in the future (e.g. future support for SYCL-based heterogeneous compute devices).

Installation

Bempp-cl can be installed from this repository by running:

python setup.py install

Full installation instuctions, including installation of dependencies, can be found at bempp.com/installation.html.

Documentation

Full documentation of Bempp can be found at bempp.com/documentation and in the Bempp Handbook.

Getting help

Errors in the library should be added to the GitHub issue tracker.

Questions about the library and its use can be asked on the Bempp Discourse.

Licence

Bempp-cl is licensed under an MIT licence. Full text of the licence can be found here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.