{"id":13408226,"url":"https://github.com/FEniCS/dolfinx","last_synced_at":"2025-03-14T12:32:23.961Z","repository":{"id":37411589,"uuid":"128214585","full_name":"FEniCS/dolfinx","owner":"FEniCS","description":"Next generation FEniCS problem solving environment","archived":false,"fork":false,"pushed_at":"2024-10-29T08:09:28.000Z","size":138538,"stargazers_count":764,"open_issues_count":105,"forks_count":182,"subscribers_count":48,"default_branch":"main","last_synced_at":"2024-10-29T09:26:10.437Z","etag":null,"topics":["fenicsx","finite-element-methods","parallel-computing","partial-differential-equations"],"latest_commit_sha":null,"homepage":"https://fenicsproject.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FEniCS.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.rst","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"FEniCS"}},"created_at":"2018-04-05T14:02:41.000Z","updated_at":"2024-10-28T21:11:21.000Z","dependencies_parsed_at":"2022-07-12T16:17:52.399Z","dependency_job_id":"37a4a29f-b00c-4648-a9e5-ce7cbd0f4363","html_url":"https://github.com/FEniCS/dolfinx","commit_stats":{"total_commits":22614,"total_committers":140,"mean_commits":"161.52857142857144","dds":0.6743610153002565,"last_synced_commit":"634f51467624fff613b4b5a8dc3ee5d7454a7472"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FEniCS%2Fdolfinx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FEniCS%2Fdolfinx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FEniCS%2Fdolfinx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FEniCS%2Fdolfinx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FEniCS","download_url":"https://codeload.github.com/FEniCS/dolfinx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243211012,"owners_count":20254568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fenicsx","finite-element-methods","parallel-computing","partial-differential-equations"],"created_at":"2024-07-30T20:00:51.538Z","updated_at":"2025-03-14T12:32:18.936Z","avatar_url":"https://github.com/FEniCS.png","language":"C++","funding_links":["https://github.com/sponsors/FEniCS"],"categories":["PDE Solver","FEM, Materials, Vibrations","Computational Fluid Dynamics"],"sub_categories":["Finite Element Methods (FEM)"],"readme":"# DOLFINx\n\n[![DOLFINx CI](https://github.com/FEniCS/dolfinx/actions/workflows/ccpp.yml/badge.svg)](https://github.com/FEniCS/dolfinx/actions/workflows/ccpp.yml)\n[![Actions Docker images](https://github.com/FEniCS/dolfinx/actions/workflows/docker-end-user.yml/badge.svg)](https://github.com/FEniCS/dolfinx/actions/workflows/docker-end-user.yml)\n[![Actions Spack build](https://github.com/FEniCS/dolfinx/actions/workflows/spack.yml/badge.svg)](https://github.com/FEniCS/dolfinx/actions/workflows/spack.yml)\n[![Actions Conda install](https://github.com/FEniCS/dolfinx/actions/workflows/conda.yml/badge.svg)](https://github.com/FEniCS/dolfinx/actions/workflows/conda.yml)\n[![Actions macOS/Homebrew install](https://github.com/FEniCS/dolfinx/actions/workflows/macos.yml/badge.svg)](https://github.com/FEniCS/dolfinx/actions/workflows/macos.yml)\n[![Actions Windows/vcpkg install](https://github.com/FEniCS/dolfinx/actions/workflows/windows.yml/badge.svg)](https://github.com/FEniCS/dolfinx/actions/workflows/windows.yml)\n\nDOLFINx is the computational environment of\n[FEniCSx](https://fenicsproject.org) and implements the FEniCS Problem\nSolving Environment in C++ and Python. DOLFINx is a new version of\nDOLFIN and is actively developed.\n\n## Documentation\n\nDocumentation can be viewed at \u003chttps://docs.fenicsproject.org\u003e.\n\n## Installation\n\n### From source\n\n#### C++ core\n\nTo build and install the C++ core, in the `cpp/` directory, run:\n\n```shell\nmkdir build\ncd build\ncmake ..\nmake install\n```\n\n#### Python interface\n\nTo install the Python interface, first install the C++ core, and then in\nthe `python/` directory run:\n\n```shell\npip install -r build-requirements.txt\npip install --check-build-dependencies --no-build-isolation .\n```\n\nFor detailed instructions, see\n\u003chttps://docs.fenicsproject.org/dolfinx/main/python/installation\u003e.\n\n### Spack\n\nSpack is recommended for building DOLFINx on HPC systems. To build the\nmost recent release using [Spack](https://spack.readthedocs.io/)\n(assuming a bash-compatible shell):\n\n```shell\ngit clone https://github.com/spack/spack.git\n. ./spack/share/spack/setup-env.sh\nspack env create fenicsx-env\nspack env activate fenicsx-env\nspack add fenics-dolfinx+adios2 py-fenics-dolfinx cflags=\"-O3\" fflags=\"-O3\"\nspack install\n```\n\nSee the Spack [documentation](https://spack.readthedocs.io/) for\ncomprehensive instructions.\n\n### Binary\n\n**Recommendations**\n\n- macOS: [conda](#conda).\n- Linux: [apt](#ubuntu-packages)\n  ([Ubuntu](#ubuntu-packages)/[Debian](#debian-packages)),\n  [docker](#docker-images) or [conda](#conda). See also [Spack](#spack).\n- Windows: [docker](#docker-images), or install\n  [WSL2](https://docs.microsoft.com/en-us/windows/wsl/install) and use\n  [Ubuntu](#ubuntu-packages). [conda](#conda) packages in beta testing.\n- High performance computers: [Spack](#spack) or\n  [from source](#from-source), both using system-provided MPI.\n\n#### conda\n\nTo install the latest release of the Python interface, with pyvista\nsupport for visualisation, using [conda](https://conda.io):\n\n```shell\nconda create -n fenicsx-env\nconda activate fenicsx-env\nconda install -c conda-forge fenics-dolfinx mpich pyvista\n```\n\nWindows conda packages are currently in beta testing and can be installed using:\n```shell\nconda create -n fenicsx-env\nconda activate fenicsx-env\nconda install -c minrk/label/fenics-windows -c conda-forge fenics-dolfinx=0.9.0.dev\n```\nBecause FEniCS uses just-in-time compilation it also necessary to install\n[Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/).\n\nconda is distributed with [Anaconda](https://www.anaconda.com/) and\n[Miniconda](https://docs.conda.io/en/latest/miniconda.html). The recipe\nis hosted on\n[conda-forge](https://github.com/conda-forge/fenics-dolfinx-feedstock).\n\n| Name | Downloads | Version | Platforms |\n| --- | --- | --- | --- |\n| [![Conda Recipe](https://img.shields.io/badge/recipe-fenics--dolfinx-green.svg)](https://anaconda.org/conda-forge/fenics-dolfinx) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/fenics-dolfinx.svg)](https://anaconda.org/conda-forge/fenics-dolfinx) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/fenics-dolfinx.svg)](https://anaconda.org/conda-forge/fenics-dolfinx) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/fenics-dolfinx.svg)](https://anaconda.org/conda-forge/fenics-dolfinx) |\n\n#### Ubuntu packages\n\nThe [Ubuntu\nPPA](https://launchpad.net/~fenics-packages/+archive/ubuntu/fenics)\nprovides FEniCSx packages. To install:\n\n```shell\nadd-apt-repository ppa:fenics-packages/fenics\napt update\napt install fenicsx\n```\n\nWhen a version of DOLFINx is released we aim to provide a package for\nthe most recent LTS version of Ubuntu. All other versions are provided\non a best-effort basis.\n\n#### Debian packages\n\n[DOLFINx](https://tracker.debian.org/pkg/fenics-dolfinx) is included\nwith [various\nversions](https://packages.debian.org/search?keywords=python3-dolfinx\u0026searchon=names\u0026exact=1\u0026suite=all\u0026section=all)\nof Debian. Install with `apt-get install fenicsx`.\n\n#### Docker images\n\nTo run a Docker image with the latest release of DOLFINx:\n\n```shell\ndocker run -ti dolfinx/dolfinx:stable\n```\n\nTo switch between real and complex builds of DOLFINx/PETSc.\n\n```shell\nsource /usr/local/bin/dolfinx-complex-mode\nsource /usr/local/bin/dolfinx-real-mode\n```\n\nA Jupyter Lab environment with the latest release of DOLFINx:\n\n```shell\ndocker run --init -ti -p 8888:8888 dolfinx/lab:stable  # Access at http://localhost:8888\n```\n\nA Docker image with DOLFINx built nightly:\n\n```shell\ndocker run -ti dolfinx/dolfinx:nightly\n```\n\nA development image with all of the dependencies required to build the\nlatest release of the FEniCSx components:\n\n```shell\ndocker run -ti dolfinx/dev-env:stable\n```\n\nA development image with all of the dependencies required\nto build the `main` branch of the FEniCSx components:\n\n```shell\ndocker run -ti dolfinx/dev-env:current\n```\n\nThe Docker images support arm64 and amd64 architectures. For a full list\nof tags, including versioned images, see\n\u003chttps://hub.docker.com/u/dolfinx\u003e\n\n## Contributing\n\nInformation about how to contribute to DOLFINx can be found\n[here](CONTRIBUTING.md).\n\n## License\n\nDOLFINx is free software: you can redistribute it and/or modify it\nunder the terms of the GNU Lesser General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nDOLFINx is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nLesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public\nLicense along with DOLFINx. If not, see\n\u003chttps://www.gnu.org/licenses/\u003e.\n\n## Contact\n\nFor questions about using DOLFINx, visit the FEniCS Discourse page:\n\n\u003chttps://fenicsproject.discourse.group/\u003e\n\nor use the FEniCS Slack channel:\n\n\u003chttps://fenicsproject.slack.com/\u003e\n\n(use \u003chttps://join.slack.com/t/fenicsproject/shared_invite/zt-1lraknsp1-6_3Js5kueDIyWgF192d3nA\u003e to sign up)\n\nFor bug reports visit:\n\n\u003chttps://github.com/FEniCS/dolfinx\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFEniCS%2Fdolfinx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFEniCS%2Fdolfinx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFEniCS%2Fdolfinx/lists"}