festim-dev / festim-dev/FESTIM

Stale issues

Open
#1,259 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.