Skip to main content
. Author manuscript; available in PMC: 2012 Jun 1.
Published in final edited form as: Parallel Comput. 2011 June-July;37(6-7):261–278. doi: 10.1016/j.parco.2011.04.002

Algorithm 5.

[combinations] = GENERATE_CANDIDATES_PARALLEL (K)

Input:
 current nullspace matrix Kq×nems=[R(1)R(2)]
Output:
pairs of indices of columns forming candidates (combinations)
1: irrev + ⇐ {i: R1,i(2)>0 and (∃j: jth reaction is irreversible, Rj,i(1)0)}
2: irrev ⇐ {i: R1,i(2)<0 and (∃j: jth reaction is irreversible, Rj,i(1)0)}
3: rev ⇐ {i: R1,i(2)0 and (∀j: jth reaction is reversible or Rj,i(1)=0)}
4: irrev_p ⇐ {i: i ∈ irrev and i = proc_id(mod P)}
5: rev_p ⇐ {i: i ∈ rev and i = proc_id(mod P)}
6: S ⇐ {(ii, jj): (ii, jj) ∈ (irrev + × irrev_p) ∪ ( (irrev+ ∪ irrev_p ∪ rev_p) × rev)}
7: for each (ii, jj) ∈ S do
8:  form candidate column from the pair of columns indexed by (ii, jj)
9:  if candidate satisfies Proposition 4 add to combinations
10: end for