January 2024
PRs merged into main
Radioactive decay ☢️
import festim as F
my_model = F.Simulation()
my_model.sources = [
F.RadioactiveDecay(
decay_constant=1.78e-9,
volume=1,
fields="all",
),
]
⚠️ not in the fenicsx branch
PRs merged into fenicsx
Open PRs
Submitted to International Journal of Hydrogen Energy
Paper repository
100% automated (kinda... 97%)
Code description
Gallery (lit. review)
Code comparison
V&V
\(P(t)\)
permeation flux
Enclosure
→ coupled problem
solved with explicit method
ver-1a case TMAP8
class PressureExport(F.DerivedQuantity):
def __init__(self, **kwargs):
super().__init__(field="solute", **kwargs)
self.title = "enclosure_pressure"
self.data = []
def compute(self):
return float(left_bc.pressure)
class CustomHenrysBC(F.HenrysBC):
def create_expression(self, T):
value_BC = F.BoundaryConditionExpression(
T,
henrys_law,
S_0=self.H_0,
E_S=self.E_H,
pressure=self.pressure,
)
self.expression = value_BC
self.sub_expressions = [self.pressure]
class CustomSimulation(F.Simulation):
def iterate(self):
super().iterate()
# Update pressure based on flux
left_flux_val = left_flux.compute()
old_pressure = float(left_bc.pressure)
new_pressure = (
old_pressure
- (left_flux_val * encl_surf / encl_vol * R * self.T.T(0) / avogadro)
* self.dt.value
)
left_bc.pressure.assign(new_pressure)
\(P(t)\)
permeation flux
Enclosure
ver-1a case TMAP8
ver-1c case TMAP8
Mobile conc.
Total retention
Temperature
📅 28 Feb
Discourse forum
19 members!
60 stars on GitHub ⭐