-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Labels
bugSomething isn't workingSomething isn't workingfenicsxIssue that is related to the fenicsx supportIssue that is related to the fenicsx support
Description
Describe the bug
When running a discontinuous problem with an implicit species, I run into an issue where the trapped species has no solution attribute.
To Reproduce
import festim as F
import numpy as np
tungsten = F.Material(
D_0=1,
E_D=0,
K_S_0=1,
E_K_S=0,
)
# Subdomains
W_volume = F.VolumeSubdomain1D(id=6, borders=[0, 1], material=tungsten)
# Problem
my_model = F.HydrogenTransportProblemDiscontinuous()
my_model.mesh = F.Mesh1D(np.linspace(0, 1, 100))
my_model.subdomains = [
W_volume,
]
Deuterium = F.Species("D", subdomains=my_model.volume_subdomains)
trapped_T = F.Species("T_trapped", mobile=False, subdomains=my_model.volume_subdomains)
empty_traps = F.ImplicitSpecies(n=1, others=[trapped_T], name='implicit_species')
my_model.species = [trapped_T, Deuterium]
my_model.reactions = [
F.Reaction(
reactant=[empty_traps, Deuterium],
product=[],
k_0=1,
E_k=0,
volume=W_volume,
),
]
my_model.temperature = 300
my_model.settings = F.Settings(
transient=False,
atol=1e-8,
rtol=1e-10,
)
my_model.initialise()Produces:
Traceback (most recent call last):
File "/home/tezorr/festim-fellowship/my_monoblock_case/mwe_2.py", line 47, in <module>
my_model.initialise()
~~~~~~~~~~~~~~~~~~~^^
File "/home/tezorr/miniconda3/envs/festim-fellowship/lib/python3.14/site-packages/festim/hydrogen_transport_problem.py", line 1174, in initialise
self.create_subdomain_formulation(subdomain)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/home/tezorr/miniconda3/envs/festim-fellowship/lib/python3.14/site-packages/festim/hydrogen_transport_problem.py", line 1442, in create_subdomain_formulation
reaction.reaction_term(self.temperature_fenics, reactant_concentrations=reactant_concentrations)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/tezorr/miniconda3/envs/festim-fellowship/lib/python3.14/site-packages/festim/reaction.py", line 177, in reaction_term
reactant_concentrations[i] = reactant.concentration
^^^^^^^^^^^^^^^^^^^^^^
File "/home/tezorr/miniconda3/envs/festim-fellowship/lib/python3.14/site-packages/festim/species.py", line 171, in concentration
raise ValueError(
...<2 lines>...
)
ValueError: Cannot compute concentration of implicit_species because T_trapped has no solution.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfenicsxIssue that is related to the fenicsx supportIssue that is related to the fenicsx support