{"id":49628641,"url":"https://github.com/scientificcomputing/fenicsx_ii","last_synced_at":"2026-05-05T09:06:39.486Z","repository":{"id":311919255,"uuid":"1045578945","full_name":"scientificcomputing/fenicsx_ii","owner":"scientificcomputing","description":"A reimplementation of some of the functionality from MiroK's FEniCS_ii (FEniCS trace)","archived":false,"fork":false,"pushed_at":"2026-04-08T14:09:26.000Z","size":176,"stargazers_count":3,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-08T16:12:38.708Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://scientificcomputing.github.io/fenicsx_ii/","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":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"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":"2025-08-27T11:57:56.000Z","updated_at":"2026-04-08T14:09:54.000Z","dependencies_parsed_at":"2026-04-30T02:00:23.821Z","dependency_job_id":null,"html_url":"https://github.com/scientificcomputing/fenicsx_ii","commit_stats":null,"previous_names":["scientificcomputing/fenicsx_ii"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/scientificcomputing/fenicsx_ii","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Ffenicsx_ii","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Ffenicsx_ii/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Ffenicsx_ii/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Ffenicsx_ii/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scientificcomputing","download_url":"https://codeload.github.com/scientificcomputing/fenicsx_ii/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientificcomputing%2Ffenicsx_ii/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32642364,"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:38.258Z","updated_at":"2026-05-05T09:06:39.476Z","avatar_url":"https://github.com/scientificcomputing.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FEniCSx_ii (FEniCSx trace)\n\nFEniCSx_ii is an extension of FEniCSx that allows users to work with non-conforming 3D-1D meshes.\nThe core algorithm is based on the framework proposed by [Kuchta 2021](https://doi.org/10.1007/978-3-030-55874-1_63) {cite}`intro-Kuchta2021trace`\nand implemented in [FEniCS_ii](https://github.com/MiroK/fenics_ii).\n\nThe new framework addresses the limitation of $\\mathrm{FEniCS}\\_{\\mathrm{ii}}$ not being MPI compatible.\nCurrently, the new framework does not use {cite}`intro-Mardal2012` [cbc.block](https://github.com/blocknics/cbc.block), and instead\nimplements the _matrix-matrix_ products in a non-lazy fashion, and uses [PETSc Nest](https://petsc.org/release/manualpages/Mat/MATNEST/) matrices\nto set up the blocked system.\n\nGiven a 3D domain with a function $u\\in V(\\Omega)$ and a $1D$ domain $\\Gamma$.\nWe define a restriction operator $\\Pi:V\\mapsto L^2(\\Gamma)$,\nwhich becomes a central part of the variational formulation.\n\nSee for instance\n[D'Angelo \u0026 Quarteroni, 2008](https://doi.org/10.1142/S0218202508003108) {cite}`intro-dangelo20083d1d`,\n[Kuchta 2021](https://doi.org/10.1007/978-3-030-55874-1_63) {cite}`intro-Kuchta2021trace` or\n[Masri, Kuchta \u0026 Riviere, 2024](https://doi.org/10.1137/23M1627390) {cite}`intro-masri2024coupled3d1d`.\n\nSeveral (non-local) operators are implemented in {py:mod}`fenicsx_ii`:\n\n- {py:class}`PointwiseTrace\u003cfenicsx_ii.PointwiseTrace\u003e`, the operator: $\\Pi(u)(\\hat x)=u(\\hat x)$, $\\hat x \\in \\Gamma$ .\n- {py:class}`Circle\u003cfenicsx_ii.Circle\u003e`, the operator $\\Pi(u)(\\hat x)=\\frac{1}{\\vert P_R \\vert}\\int_{P_{R}(\\Gamma(\\hat x))}u~\\mathrm{d}s$, where $P_R(\\Gamma(\\hat x))$ is the perimeter of a disk with radius $R$, normal aligning with $\\Gamma(\\hat x)$ and origin at $\\hat x$.\n- {py:class}`Disk\u003cfenicsx_ii.Disk\u003e`, the operator $\\Pi(u)(\\hat x)=\\frac{1}{\\vert D_R \\vert}\\int_{D_R(\\Gamma(\\hat x))} u~\\mathrm{d}x$, where $D_R(\\Gamma(\\hat x))$ is the disk with radius $R$, normal aligining with $\\Gamma(\\hat x)$ and origin at $\\hat x$.\n\nAny other operator can be implemented by following the {py:class}`ReductionOperator\u003cfenicsx_ii.ReductionOperator\u003e`-protocol.\n\n## Installation\n\nUsers are encouraged to install `fenicsx_ii` with `pip` in an environment where `dolfinx` is already installed.\n\n### `pip`\nTo install the package with `pip` run\n\n```bash\npython3 -m pip install fenicsx_ii --no-build-isolation\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## Funding\n\nThe development of FEniCSx_ii has been funded by the Wellcome Trust,\ngrant number: 313298/Z/24/Z\n\n## References\n\n```{bibliography}\n:filter: cited\n:labelprefix:\n:keyprefix: intro-\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientificcomputing%2Ffenicsx_ii","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscientificcomputing%2Ffenicsx_ii","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientificcomputing%2Ffenicsx_ii/lists"}