Skip to content

Commit a7fe3c3

Browse files
committed
Add helper function getsensdomain that returns a domain containing spcs & rxns related to target spc
1 parent 447a863 commit a7fe3c3

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

src/Domain.jl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2375,3 +2375,24 @@ export getreactionindices
23752375

23762376
return sensspcs,sensrxns,sensspcnames,senstooriginspcind,senstooriginrxnind
23772377
end
2378+
2379+
@inline function getsensdomain(domain::D,ind::Int64) where {D<:AbstractDomain}
2380+
2381+
sensspcs,sensrxns,sensspcnames,senstooriginspcind,senstooriginrxnind = getsensspcsrxns(domain,ind)
2382+
2383+
initialconds = Dict{String,Float64}()
2384+
2385+
for fn in fieldnames(typeof(domain))
2386+
if fn in (:T, :P, :V)
2387+
initialconds["$fn"] = getfield(domain,fn)
2388+
end
2389+
end
2390+
2391+
d = Symbol(split(repr(typeof(domain)),"{")[1])
2392+
2393+
if isa(domain.phase,IdealGas)
2394+
return eval(d)(phase=IdealGas(sensspcs,sensrxns,name="phase"),initialconds=initialconds)[1],sensspcnames,senstooriginspcind,senstooriginrxnind
2395+
else
2396+
return eval(d)(phase=IdealDiluteSolution(sensspcs,sensrxns,domain.phase.solvent,name="phase"),initialconds=initialconds)[1],sensspcnames,senstooriginspcind,senstooriginrxnind
2397+
end
2398+
end

0 commit comments

Comments
 (0)