festim-dev / festim-dev/FESTIM
Stale issues
- Dominant language
- Python
- Stars
- 135
- Forks
- 45
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 14
Description
Many of the older issues appear either already solved or no longer relevant and so can likely be closed.
**#988 — Support for alternative diffusivities** (Apr 2025). The core ask (accept a `fem.Function` rather than only `D_0`/`E_D`) is implemented: `Material.get_diffusion_coefficient` short-circuits and returns `self.D` when set ([`[material.py:284-286](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/material.py#L284-L286)`](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/material.py#L284-L286)). The remaining gap is already tracked separately as #1156 (`D` on a non-matching mesh), so #988 is redundant.
**#268 — Support for internal fluxes** (Apr 2021, the oldest). Probably delivered by the codim-1 work: `SurfaceFlux.compute` takes a `restriction` argument for interior facets and a `subdomain_id` for manifolds adjacent to more than two volumes ([`[surface_flux.py:51-88](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/exports/surface_flux.py#L51-L88)`](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/exports/surface_flux.py#L51-L88)), exercised throughout [`[test_codim1_exports.py](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/test/system_tests/test_codim1_exports.py)`](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/test/system_tests/test_codim1_exports.py). Flagging this one as lower confidence: the issue body is empty, so the original intent isn't recoverable from the issue itself.
**#746 — Refactor value processing to fenics objects** (Apr 2024). Largely done. The proposed global helpers exist as `as_fenics_constant`, `as_fenics_interp_expr_and_function`, `as_mapped_function` plus a `Value` class ([`[helpers.py:208](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/helpers.py#L208)`](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/helpers.py#L208)), used across sources, reactions, enclosures and drift terms. Duplication does survive in `flux_bc.py`, which still hand-rolls `create_value_fenics` twice ([`:90`, `:203`](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/boundary_conditions/flux_bc.py#L90)). That residue is inside the scope of the new tracking issue #1230 ("naming, APIs and value handling"), so #746 can be folded into it.
**#914 — Compute a flux from a surface reaction** (Nov 2024). Not implemented (`ReactionRateExport` subclasses `CustomFieldExport` and is volumetric, [`[field.py:469](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/exports/field.py#L469)`](https://github.com/festim-dev/FESTIM/blob/4746e2d9ac064da9809c0cd1dd1c5662ac2d8ed5/src/festim/exports/field.py#L469)) — but it's a duplicate of #1202 (Jul 2026), which specifies the same feature concretely with a proposed `F.ReactionRateFlux` API. Close #914 in favour of #1202.
Contributor guide
No contributing guide indexed for this repository
Research direction
Review issues #988, #268, #746, and #914 alongside the referenced files: src/festim/material.py, src/festim/exports/surface_flux.py, test/system_tests/test_codim1_exports.py, src/festim/helpers.py, src/festim/boundary_conditions/flux_bc.py, and src/festim/exports/field.py. Verify whether each request is implemented or superseded, account for the missing description on #268, and close or redirect only where the evidence supports it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100