File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed
Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -2292,9 +2292,16 @@ def _make_initial(
22922292
22932293 sym_math , rateof_to_dummy = _rateof_to_dummy (sym_math )
22942294
2295- for species_id , species in self .symbols [SymbolId .SPECIES ].items ():
2296- if "init" in species :
2297- sym_math = smart_subs (sym_math , species_id , species ["init" ])
2295+ for var in sym_math .free_symbols :
2296+ # already recursive since _get_element_initial_assignment calls _make_initial
2297+ ia = self ._get_element_initial_assignment (str (var ))
2298+ if ia is not None :
2299+ sym_math = sym_math .subs (var , ia )
2300+
2301+ elif (species := self .sbml .getSpecies (str (var ))) is not None :
2302+ # recursive!
2303+ init = self ._make_initial (get_species_initial (species ))
2304+ sym_math = sym_math .subs (var , init )
22982305
22992306 sym_math = smart_subs (sym_math , sbml_time_symbol , sp .Float (0 ))
23002307
You can’t perform that action at this time.
0 commit comments