{"id":49628673,"url":"https://github.com/scientificcomputing/scifem","last_synced_at":"2026-05-05T09:06:47.811Z","repository":{"id":257656901,"uuid":"858736018","full_name":"scientificcomputing/scifem","owner":"scientificcomputing","description":"Scientific finite element toolbox","archived":false,"fork":false,"pushed_at":"2026-04-27T17:13:54.000Z","size":2467,"stargazers_count":35,"open_issues_count":27,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-04-27T19:15:11.297Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://scientificcomputing.github.io/scifem/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scientificcomputing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-17T12:54:14.000Z","updated_at":"2026-04-22T08:23:31.000Z","dependencies_parsed_at":"2024-10-18T17:25:36.987Z","dependency_job_id":"094d9e26-2dca-43ff-b7dc-aee5037b4740","html_url":"https://github.com/scientificcomputing/scifem","commit_stats":null,"previous_names":["scientificcomputing/scifem"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/scientificcomputing/scifem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Fscifem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Fscifem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Fscifem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Fscifem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scientificcomputing","download_url":"https://codeload.github.com/scientificcomputing/scifem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Fscifem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32642368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-05-05T09:06:46.168Z","updated_at":"2026-05-05T09:06:47.801Z","avatar_url":"https://github.com/scientificcomputing.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scientific Computing Tools for Finite Element Methods\n\nThis package contains a collection of tools for scientific computing with a focus on finite element methods. The tools are written in Python and are intended to be used in conjunction with the [dolfinx](https://github.com/FEniCS/dolfinx).\n\nMany users that are transitioning from legacy FEniCS to FEniCSx may find the transition difficult due to the lack of some functionalities in FEniCSx.\nThis package aims to provide some of the functionalities that are missing in FEniCSx.\nThe package is still in its early stages and many functionalities are still missing.\n\n## Features\n\n- Real-space implementation for usage in DOLFINx (\u003e=v0.8.0)\n- Save quadrature functions as point clouds\n- Save any function that can tabulate dof coordinates as point clouds.\n- Point sources for usage in DOLFINx (\u003e=v0.8.0)\n  - Point sources in vector spaces are only supported on v0.9.0, post [DOLFINx PR 3429](https://github.com/FEniCS/dolfinx/pull/3429).\n    For older versions, apply one point source in each sub space.\n- Simplified wrapper to create MeshTags based on a list of tags and corresponding locator functions.\n- Maps between degrees of freedom and vertices: `vertex_to_dofmap` and `dof_to_vertex`\n- Blocked Newton Solver\n- Function evaluation at specified points\n- Interpolation matrices from any `ufl.core.expr.Expr` into a compatible space.\n\n## Installation\n\nThe package is partly written in C++ and relies on `dolfinx`. User are encouraged to install `scifem` with `pip` in an environment where `dolfinx` is already installed or with `conda`.\n\n### `pip`\nTo install the package with `pip` run\n\n```bash\npython3 -m pip install scifem --no-build-isolation\n```\n\nTo install the development version you can run\n\n```bash\npython3 -m pip install --no-build-isolation git+https://github.com/scientificcomputing/scifem.git\n```\n\nNote that you should pass the flag `--no-build-isolation` to `pip` to avoid issues with the build environment, such as incompatible versions of `nanobind`.\n\n### `spack`\nThe spack package manager is the recommended way to install scifem, and especially on HPC systems.\nFor information about the package see: [spack-package: py-scifem](https://packages.spack.io/package.html?name=py-scifem)\nFirst, clone the spack repository and enable spack\n\n```bash\ngit clone --depth=2 https://github.com/spack/spack.git\n# For bash/zsh/sh\n. spack/share/spack/setup-env.sh\n\n# For tcsh/csh\nsource spack/share/spack/setup-env.csh\n\n# For fish\n. spack/share/spack/setup-env.fish\n```\n\nNext create an environment:\n\n```bash\nspack env create scifem_env\nspack env activate scifem_env\n```\nFind the compilers on the system\n```bash\nspack compiler find\n```\n\nand install the relevant packages\n```bash\nspack add py-scifem+petsc+hdf5+biomed+adios2 ^mpich ^petsc+mumps+hypre ^py-fenics-dolfinx+petsc4py\nspack concretize\nspack install\n```\nFinally, note that spack needs some packages already installed on your system. On a clean ubuntu container for example one need to install the following packages before running spack\n```bash\napt update \u0026\u0026 apt install gcc unzip git python3-dev g++ gfortran xz-utils -y\n```\n### `conda`\n\nTo install the package with `conda` run\n\n```bash\nconda install -c conda-forge scifem\n```\n\n\n\n\n\n## Having issues or want to contribute?\n\nIf you are having issues, feature request or would like to contribute, please let us know. You can do so by opening an issue on the [issue tracker](https://github.com/scientificcomputing/scifem/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientificcomputing%2Fscifem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscientificcomputing%2Fscifem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientificcomputing%2Fscifem/lists"}