All Projects → FEniCS → Dolfinx

FEniCS / Dolfinx

Licence: lgpl-3.0
Next generation FEniCS problem solving environment

Projects that are alternatives of or similar to Dolfinx

Core
parallel finite element unstructured meshes
Stars: ✭ 124 (-27.49%)
Mutual labels:  parallel-computing
Pyexpool
Python Multi-Process Execution Pool: concurrent asynchronous execution pool with custom resource constraints (memory, timeouts, affinity, CPU cores and caching), load balancing and profiling capabilities of the external apps on NUMA architecture
Stars: ✭ 149 (-12.87%)
Mutual labels:  parallel-computing
Samrai
Structured Adaptive Mesh Refinement Application Infrastructure - a scalable C++ framework for block-structured AMR application development
Stars: ✭ 160 (-6.43%)
Mutual labels:  parallel-computing
Batchtools
Tools for computation on batch systems
Stars: ✭ 127 (-25.73%)
Mutual labels:  parallel-computing
Pygmo2
A Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 134 (-21.64%)
Mutual labels:  parallel-computing
Opencoarrays
A parallel application binary interface for Fortran 2018 compilers.
Stars: ✭ 151 (-11.7%)
Mutual labels:  parallel-computing
Dtcraft
A High-performance Cluster Computing Engine
Stars: ✭ 122 (-28.65%)
Mutual labels:  parallel-computing
Awesome Machine Learning In Compilers
Must read research papers and links to tools and datasets that are related to using machine learning for compilers and systems optimisation
Stars: ✭ 168 (-1.75%)
Mutual labels:  parallel-computing
Ctranslate2
Fast inference engine for OpenNMT models
Stars: ✭ 140 (-18.13%)
Mutual labels:  parallel-computing
Future.apply
🚀 R package: future.apply - Apply Function to Elements in Parallel using Futures
Stars: ✭ 159 (-7.02%)
Mutual labels:  parallel-computing
Accelerate Llvm
LLVM backend for Accelerate
Stars: ✭ 134 (-21.64%)
Mutual labels:  parallel-computing
Plasma
Plasma Programming Language
Stars: ✭ 133 (-22.22%)
Mutual labels:  parallel-computing
Embb
Embedded Multicore Building Blocks (EMB²): Library for parallel programming of embedded systems. Star us on GitHub? +1
Stars: ✭ 153 (-10.53%)
Mutual labels:  parallel-computing
Swifter
A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner
Stars: ✭ 1,844 (+978.36%)
Mutual labels:  parallel-computing
Bigmachine
Bigmachine is a library for self-managing serverless computing in Go
Stars: ✭ 167 (-2.34%)
Mutual labels:  parallel-computing
Work Stealing Queue
A fast work-stealing queue template in C++
Stars: ✭ 124 (-27.49%)
Mutual labels:  parallel-computing
Spark With Python
Fundamentals of Spark with Python (using PySpark), code examples
Stars: ✭ 150 (-12.28%)
Mutual labels:  parallel-computing
Ngsolve
Netgen/NGSolve is a high performance multiphysics finite element software. It is widely used to analyze models from solid mechanics, fluid dynamics and electromagnetics. Due to its flexible Python interface new physical equations and solution algorithms can be implemented easily.
Stars: ✭ 171 (+0%)
Mutual labels:  parallel-computing
Klyng
A message-passing distributed computing framework for node.js
Stars: ✭ 167 (-2.34%)
Mutual labels:  parallel-computing
Geni
A Clojure dataframe library that runs on Spark
Stars: ✭ 152 (-11.11%)
Mutual labels:  parallel-computing

DOLFINX

Actions CI tests CircleCI Actions Docker environment images Actions Docker image builds Actions Spack build

DOLFINX is a new version of DOLFIN. It is being actively developed and features may come and go as development proceeds.

DOLFINX is the computational environment of FEniCS and implements the FEniCS Problem Solving Environment in Python and C++.

Documentation

Documentation can be viewed at:

Installation

From source

C++ core

To build and install the C++ core, in the cpp/ directory, run::

mkdir build
cd build
cmake ..
make install

Python interface

To install the Python interface, first install the C++ core, and then in the python/ directory run::

pip install .

(you may need to use pip3, depending on your system).

For detailed instructions, see the file INSTALL.

Spack

To build using Spack (assuming a bash shell):

git clone https://github.com/spack/spack.git
. ./spack/share/spack/setup-env.sh
spack env create fenicsx-env
spack env activate fenicsx-env
echo "  concretization: together" >> ./spack/var/spack/environments/fenicsx-env/spack.yaml
spack add py-fenics-dolfinx ^petsc+mumps+hypre cflags="-O3" fflags="-O3"
spack install

See the Spack documentation for comprehensive instructions.

Docker images

A Docker image with DOLFINX built nightly:

docker run -ti dolfinx/dolfinx

To switch between real and complex builds of DOLFINX.

source /usr/local/bin/dolfinx-complex-mode
source /usr/local/bin/dolfinx-real-mode

A Jupyter Lab environment with DOLFINX built nightly:

docker run -ti -p 8888:8888 dolfinx/lab # Access at http://localhost:8888

A development image with all of the dependencies required to build DOLFINX:

docker run -ti dolfinx/dev-env

For more information, see https://hub.docker.com/u/dolfinx

License

DOLFIN-X is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

DOLFIN-X is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with DOLFIN-X. If not, see http://www.gnu.org/licenses/.

Contact

For questions about using DOLFIN-X, visit the FEniCS Discourse page:

https://fenicsproject.discourse.group/

For bug reports, visit the DOLFIN-X GitHub page:

https://github.com/FEniCS/dolfinx

For comments and requests, send an email to the FEniCS mailing list:

[email protected]

For questions related to obtaining, building or installing DOLFIN-X, send an email to the FEniCS support mailing list:

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].