/**************************************************************************** * Test 03: All surface rxn types, simple test of equilibrium and reaction * rates. * * A quantitative test of the basic *-surface reaction types (uni, bi, tri) * in various combinations with surface (and some volume) molecules. * * Note that the bi-directional pathways are in here twice. This is * so that they can be tested via both the non-trimolecular and trimolecular * code pathways. The latter is accomplished by adding a bogus trimolecular * reaction involving the relevant molecules. * * * Author: Jed Wing , Boris Kaminsky * Date: 2008-12-05, 2012-06-20 ****************************************************************************/ WARNINGS { ALL_WARNINGS = WARNING } basename = "03-surface" countdir = "dat/" & basename & "/" vizdir = "./viz_dat/" & basename & "/" iterations = 10000 timestep = 1.0e-6 boxdims = 0.25 voldiffconst = 2.0e-6 surfdiffconst = 2.0e-6 num_u = 1000 num_b = 1000 num_t = 1000 num_vvs = num_t sa = 6*(2*boxdims)^2 boxvol = 8*boxdims*boxdims*boxdims eq_t = num_t / 2 eq_b = num_b / 2 rf_ss = 0.1*1e6 * (sa / eq_b) / eq_b rf_vss = 0.1*1e6 * (sa / eq_t) * (boxvol / eq_t) / eq_t // Set reverse rates to expect approx 1 rxn every 10 timesteps rr_u = 2.0e2 rr_b = 2.0e2 rr_t = 2.0e2 rf_sss = rr_t * (sa / eq_t) * (sa / eq_t) // Compute forward rates to give equilibrium of 50% reacted c_b = (num_b / 2. / boxvol) * 1e15 / 6.022e23 c_t = (num_t / 2. / boxvol) * 1e15 / 6.022e23 rf_u = rr_u rf_b = rr_b / c_b rf_t = rr_t / c_t / c_t /*printf("rf_t = %g\n", rf_t) */ VACANCY_SEARCH_DISTANCE = 2 ITERATIONS = iterations TIME_STEP = timestep TIME_STEP_MAX = 1.0 INCLUDE_FILE = "volmols.mdl" INCLUDE_FILE = "surfmols.mdl" /* extra molecules for simultaneous multiple reactions */ DEFINE_MOLECULES { D_t1 {DIFFUSION_CONSTANT_2D = surfdiffconst } D_t2 {DIFFUSION_CONSTANT_2D = surfdiffconst } D_t3 {DIFFUSION_CONSTANT_2D = surfdiffconst } E_t1 {DIFFUSION_CONSTANT_2D = 0 } D_t4 {DIFFUSION_CONSTANT_2D = surfdiffconst } D_t5 {DIFFUSION_CONSTANT_2D = surfdiffconst } D_t6 {DIFFUSION_CONSTANT_2D = surfdiffconst } E_t4 {DIFFUSION_CONSTANT_2D = 0 } } DEFINE_REACTIONS { /* 0 Volume reactants */ S_u, -> B_u, [rf_u] : fwd_u /* unimol */ S_b1, + S_b2, -> B_b, [rf_ss] : fwd_b /* bimol */ S_bt1, + S_bt2, -> B_bt, [rf_ss] : fwd_bt /* bimol (via trimol code) */ S_b3, + S_b4to, -> B_b2, [rf_ss] : fwd_b2 /* bimol (1 target only) */ S_bt3, + S_bt4to, -> B_bt2, [rf_ss] : fwd_bt2 /* bimol (1 target only, via trimol code) */ S_t1, + S_t2, + S_t3, -> B_t, [rf_sss] : fwd_t /* trimol */ S_t4, + S_t5to, + S_t6, -> B_t2, [rf_sss] : fwd_t2 /* trimol (1 target only) */ S_t7, + S_t8to, + S_t9to, -> B_t3, [rf_sss] : fwd_t3 /* trimol (2 target only) */ B_u, -> S_u, [rr_u] : rev_u B_b, -> S_b1, + S_b2, [rr_b] : rev_b B_bt, -> S_bt1, + S_bt2, [rr_b] : rev_bt B_b2, -> S_b3, + S_b4to, [rr_b] : rev_b2 B_bt2, -> S_bt3, + S_bt4to, [rr_b] : rev_bt2 B_t, -> S_t1, + S_t2, + S_t3, [rr_t] : rev_t B_t2, -> S_t4, + S_t5to, + S_t6, [rr_t] : rev_t2 B_t3, -> S_t7, + S_t8to, + S_t9to, [rr_t] : rev_t3 /* 1 Volume reactant */ V_b1, + S_vb2' -> B_vb' [rf_b] : fwd_vb /* bimol */ V_bt1, + S_vbt2' -> B_vbt' [rf_b] : fwd_vbt /* bimol (via trimol code) */ V_b3, + S_vb4to' -> B_vb2' [rf_b] : fwd_vb2 /* bimol (1 target only) */ V_bt3, + S_vbt4to' -> B_vbt2' [rf_b] : fwd_vbt2 /* bimol (1 target only, via trimol code) */ V_t1, + S_vt2' + S_vt3' -> B_vt' [rf_vss] : fwd_vt /* trimol */ V_t4, + S_vt5to' + S_vt6' -> B_vt2' [rf_vss] : fwd_vt2 /* trimol (1 target only) */ V_t7, + S_vt8to' + S_vt9to' -> B_vt3' [rf_vss] : fwd_vt3 /* trimol (2 target only) */ B_vb' -> V_b1, + S_vb2' [rr_b] : rev_vb B_vbt' -> V_bt1, + S_vbt2' [rr_b] : rev_vbt B_vb2' -> V_b3, + S_vb4to' [rr_b] : rev_vb2 B_vbt2' -> V_bt3, + S_vbt4to' [rr_b] : rev_vbt2 B_vt' -> V_t1, + S_vt2' + S_vt3' [rr_t] : rev_vt B_vt2' -> V_t4, + S_vt5to' + S_vt6' [rr_t] : rev_vt2 B_vt3' -> V_t7, + S_vt8to' + S_vt9to' [rr_t] : rev_vt3 /* 2 Volume reactants */ V_vt1, + V_vt2, + S_vvt3' -> B_vvt' [rf_t/10] : fwd_vvt /* trimol */ V_vt4, + V_vt5to, + S_vvt6' -> B_vvt2' [rf_t/10] : fwd_vvt2 /* trimol (1 target only) */ V_vt7, + V_vt8to, + S_vvt9to' -> B_vvt3' [rf_t/10] : fwd_vvt3 /* trimol (2 target only) */ B_vvt' -> V_vt1, + V_vt2, + S_vvt3' [rr_t/10] : rev_vvt B_vvt2' -> V_vt4, + V_vt5to, + S_vvt6' [rr_t/10] : rev_vvt2 B_vvt3' -> V_vt7, + V_vt8to, + S_vvt9to' [rr_t/10] : rev_vvt3 /* Dummy reactions to trick mcell into using trimol. pathway for bimol rxn. */ V_bt1 + V_a + V_a -> V_a [1e2] V_bt3 + V_a + V_a -> V_a [1e2] S_bt1; + S_a; + S_a; -> S_a; [1e2] S_bt3; + S_a; + S_a; -> S_a; [1e2] /* 3 surface reactants - trimol reaction */ /* multiple simultaneous reactions */ D_t1, + D_t2, + D_t3, -> E_t1, [rf_sss] : fwd_D_t1 /* (1) */ D_t1, + D_t2, + D_t3; -> E_t1, [rf_sss] : fwd_D_t2 /* (2) */ D_t1, + D_t2; + D_t3; -> E_t1, [rf_sss] : fwd_D_t3 /* (3) */ D_t1; + D_t2; + D_t3; -> E_t1, [rf_sss] : fwd_D_t4 /* (4) */ D_t4, + D_t5, + D_t6, -> E_t4, [rf_sss] : fwd_D_t5 /* (5) */ D_t4, + D_t5, + D_t6; -> E_t4, [0.5*rf_sss] : fwd_D_t6 /* (6) */ D_t4, + D_t5; + D_t6; -> E_t4, [0.5*rf_sss] : fwd_D_t7 /* (7) */ D_t4; + D_t5; + D_t6; -> E_t4, [0.5*rf_sss] : fwd_D_t8 /* (8) */ /* related reverse reactions */ E_t1, -> D_t1, + D_t2, + D_t3, [rr_t] : rev_D_t1 /* (9) */ E_t4, -> D_t4, + D_t5, + D_t6, [rr_t] : rev_D_t4 /* (10) */ } little_box BOX { CORNERS = [-boxdims, -boxdims, -boxdims], [boxdims, boxdims, boxdims] } /* Starting X position for box placement */ x = 0 fuzz = 0.01 xleft = x - boxdims - fuzz /* S_u <-> B_u */ case1 OBJECT { kosmos OBJECT little_box {} release_site_r RELEASE_SITE { SHAPE = case1.kosmos MOLECULE = S_u' NUMBER_TO_RELEASE = num_u / 2 } release_site_p RELEASE_SITE { SHAPE = case1.kosmos MOLECULE = B_u' NUMBER_TO_RELEASE = num_u / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_b1 + S_b2 <-> B_b */ case2 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case2.kosmos MOLECULE = S_b1' NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case2.kosmos MOLECULE = S_b2' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case2.kosmos MOLECULE = B_b' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_bt1 + S_bt2 <-> B_bt */ case3 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case3.kosmos MOLECULE = S_bt1' NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case3.kosmos MOLECULE = S_bt2' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case3.kosmos MOLECULE = B_bt' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_b3 + S_b4to <-> B_b2 */ case4 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case4.kosmos MOLECULE = S_b3' NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case4.kosmos MOLECULE = S_b4to' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case4.kosmos MOLECULE = B_b2' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_bt3 + S_bt4to <-> B_bt2 */ case5 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case5.kosmos MOLECULE = S_bt3' NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case5.kosmos MOLECULE = S_bt4to' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case5.kosmos MOLECULE = B_bt2' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_t1 + S_t2 + S_t3 <-> B_t */ case6 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case6.kosmos MOLECULE = S_t1' NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case6.kosmos MOLECULE = S_t2' NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case6.kosmos MOLECULE = S_t3' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case6.kosmos MOLECULE = B_t' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_t4 + S_t5to + S_t6 <-> B_t2 */ case7 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case7.kosmos MOLECULE = S_t4' NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case7.kosmos MOLECULE = S_t5to' NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case7.kosmos MOLECULE = S_t6' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case7.kosmos MOLECULE = B_t2' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* S_t7 + S_t8to + S_t9to <-> B_t3 */ case8 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case8.kosmos MOLECULE = S_t7' NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case8.kosmos MOLECULE = S_t8to' NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case8.kosmos MOLECULE = S_t9to' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case8.kosmos MOLECULE = B_t3' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_b1 + S_vb2 <-> B_vb */ case9 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case9.kosmos MOLECULE = V_b1 NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case9.kosmos MOLECULE = S_vb2' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case9.kosmos MOLECULE = B_vb' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_bt1 + S_vbt2 <-> B_vbt */ case10 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case10.kosmos MOLECULE = V_bt1 NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case10.kosmos MOLECULE = S_vbt2' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case10.kosmos MOLECULE = B_vbt' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_b3 + S_vb4to <-> B_vb2 */ case11 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case11.kosmos MOLECULE = V_b3 NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case11.kosmos MOLECULE = S_vb4to' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case11.kosmos MOLECULE = B_vb2' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_bt3 + S_vbt4to <-> B_vbt2 */ case12 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case12.kosmos MOLECULE = V_bt3 NUMBER_TO_RELEASE = num_b / 2 } release_site_r2 RELEASE_SITE { SHAPE = case12.kosmos MOLECULE = S_vbt4to' NUMBER_TO_RELEASE = num_b / 2 } release_site_p RELEASE_SITE { SHAPE = case12.kosmos MOLECULE = B_vbt2' NUMBER_TO_RELEASE = num_b / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_t1 + S_vt2 + S_vt3 <-> B_vt */ case13 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case13.kosmos MOLECULE = V_t1 NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case13.kosmos MOLECULE = S_vt2' NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case13.kosmos MOLECULE = S_vt3' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case13.kosmos MOLECULE = B_vt' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_t4 + S_vt5to + S_vt6 <-> B_vt2 */ case14 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case14.kosmos MOLECULE = V_t4 NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case14.kosmos MOLECULE = S_vt5to' NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case14.kosmos MOLECULE = S_vt6' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case14.kosmos MOLECULE = B_vt2' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_t7 + S_vt8to + S_vt9to <-> B_vt3 */ case15 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case15.kosmos MOLECULE = V_t7 NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case15.kosmos MOLECULE = S_vt8to' NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case15.kosmos MOLECULE = S_vt9to' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case15.kosmos MOLECULE = B_vt3' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_vt1 + V_vt2 + S_vvt3 <-> B_vvt */ case16 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case16.kosmos MOLECULE = V_vt1 NUMBER_TO_RELEASE = num_vvs / 2 } release_site_r2 RELEASE_SITE { SHAPE = case16.kosmos MOLECULE = V_vt2 NUMBER_TO_RELEASE = num_vvs / 2 } release_site_r3 RELEASE_SITE { SHAPE = case16.kosmos MOLECULE = S_vvt3' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case16.kosmos MOLECULE = B_vvt' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_vt4 + V_vt5to + S_vvt6 <-> B_vvt2 */ case17 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case17.kosmos MOLECULE = V_vt4 NUMBER_TO_RELEASE = num_vvs / 2 } release_site_r2 RELEASE_SITE { SHAPE = case17.kosmos MOLECULE = V_vt5to NUMBER_TO_RELEASE = num_vvs / 2 } release_site_r3 RELEASE_SITE { SHAPE = case17.kosmos MOLECULE = S_vvt6' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case17.kosmos MOLECULE = B_vvt2' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* V_vt7 + V_vt8to + S_vvt9to <-> B_vvt3 */ case18 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case18.kosmos MOLECULE = V_vt7 NUMBER_TO_RELEASE = num_vvs / 2 } release_site_r2 RELEASE_SITE { SHAPE = case18.kosmos MOLECULE = V_vt8to NUMBER_TO_RELEASE = num_vvs / 2 } release_site_r3 RELEASE_SITE { SHAPE = case18.kosmos MOLECULE = S_vvt9to' NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case18.kosmos MOLECULE = B_vvt3' NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* reactions (1) - (4) */ case19 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case19.kosmos MOLECULE = D_t1, NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case19.kosmos MOLECULE = D_t2, NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case19.kosmos MOLECULE = D_t3, NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case19.kosmos MOLECULE = E_t1, NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz /* reactions (5) - (8) */ case20 OBJECT { kosmos OBJECT little_box {} release_site_r1 RELEASE_SITE { SHAPE = case20.kosmos MOLECULE = D_t4, NUMBER_TO_RELEASE = num_t / 2 } release_site_r2 RELEASE_SITE { SHAPE = case20.kosmos MOLECULE = D_t5, NUMBER_TO_RELEASE = num_t / 2 } release_site_r3 RELEASE_SITE { SHAPE = case20.kosmos MOLECULE = D_t6, NUMBER_TO_RELEASE = num_t / 2 } release_site_p RELEASE_SITE { SHAPE = case20.kosmos MOLECULE = E_t4, NUMBER_TO_RELEASE = num_t / 2 } TRANSLATE = [x, 0, 0] } x = x + 2*boxdims + fuzz xright = x + boxdims PARTITION_X = [ [ xleft TO xright STEP 0.025 ] ] PARTITION_Y = [ [ -boxdims-fuzz TO boxdims+fuzz STEP 0.025 ] ] PARTITION_Z = [ [ -boxdims-fuzz TO boxdims+fuzz STEP 0.025 ] ] INSTANTIATE multiverse OBJECT { b1 OBJECT case1 {} b2 OBJECT case2 {} b3 OBJECT case3 {} b4 OBJECT case4 {} b5 OBJECT case5 {} b6 OBJECT case6 {} b7 OBJECT case7 {} b8 OBJECT case8 {} b9 OBJECT case9 {} b10 OBJECT case10 {} b11 OBJECT case11 {} b12 OBJECT case12 {} b13 OBJECT case13 {} b14 OBJECT case14 {} b15 OBJECT case15 {} b16 OBJECT case16 {} b17 OBJECT case17 {} b18 OBJECT case18 {} b19 OBJECT case19 {} b20 OBJECT case20 {} } REACTION_DATA_OUTPUT { OUTPUT_BUFFER_SIZE = 50 STEP = timestep*10 HEADER = "# " { COUNT[S_u,WORLD] : "S_u", COUNT[S_b1,WORLD] : "S_b1", COUNT[S_b2,WORLD] : "S_b2", COUNT[S_b3,WORLD] : "S_b3", COUNT[S_b4to,WORLD] : "S_b4", COUNT[S_bt1,WORLD] : "S_bt1", COUNT[S_bt2,WORLD] : "S_bt2", COUNT[S_bt3,WORLD] : "S_bt3", COUNT[S_bt4to,WORLD] : "S_bt4", COUNT[S_t1,WORLD] : "S_t1", COUNT[S_t2,WORLD] : "S_t2", COUNT[S_t3,WORLD] : "S_t3", COUNT[S_t4,WORLD] : "S_t4", COUNT[S_t5to,WORLD] : "S_t5", COUNT[S_t6,WORLD] : "S_t6", COUNT[S_t7,WORLD] : "S_t7", COUNT[S_t8to,WORLD] : "S_t8", COUNT[S_t9to,WORLD] : "S_t9", COUNT[V_b1,WORLD] : "V_b1", COUNT[S_vb2,WORLD] : "S_vb2", COUNT[V_bt1,WORLD] : "V_bt1", COUNT[S_vbt2,WORLD] : "S_vbt2", COUNT[V_b3,WORLD] : "V_b3", COUNT[S_vb4to,WORLD] : "S_vb4", COUNT[V_bt3,WORLD] : "V_bt3", COUNT[S_vbt4to,WORLD] : "S_vbt4", COUNT[V_t1,WORLD] : "V_t1", COUNT[S_vt2,WORLD] : "S_vt2", COUNT[S_vt3,WORLD] : "S_vt3", COUNT[V_t4,WORLD] : "V_t4", COUNT[S_vt5to,WORLD] : "S_vt5", COUNT[S_vt6,WORLD] : "S_vt6", COUNT[V_t7,WORLD] : "V_t7", COUNT[S_vt8to,WORLD] : "S_vt8", COUNT[S_vt9to,WORLD] : "S_vt9", COUNT[V_vt1,WORLD] : "V_vt1", COUNT[V_vt2,WORLD] : "V_vt2", COUNT[S_vvt3,WORLD] : "S_vvt3", COUNT[V_vt4,WORLD] : "V_vt4", COUNT[V_vt5to,WORLD] : "V_vt5", COUNT[S_vvt6,WORLD] : "S_vvt6", COUNT[V_vt7,WORLD] : "V_vt7", COUNT[V_vt8to,WORLD] : "V_vt8", COUNT[S_vvt9to,WORLD] : "S_vvt9", COUNT[B_u,WORLD] : "B_u", COUNT[B_b,WORLD] : "B_b", COUNT[B_b2,WORLD] : "B_b2", COUNT[B_bt,WORLD] : "B_bt", COUNT[B_bt2,WORLD] : "B_bt2", COUNT[B_t,WORLD] : "B_t", COUNT[B_t2,WORLD] : "B_t2", COUNT[B_t3,WORLD] : "B_t3", COUNT[B_vb,WORLD] : "B_vb", COUNT[B_vbt,WORLD] : "B_vbt", COUNT[B_vb2,WORLD] : "B_vb2", COUNT[B_vbt2,WORLD] : "B_vbt2", COUNT[B_vt,WORLD] : "B_vt", COUNT[B_vt2,WORLD] : "B_vt2", COUNT[B_vt3,WORLD] : "B_vt3", COUNT[B_vvt,WORLD] : "B_vvt", COUNT[B_vvt2,WORLD] : "B_vvt2", COUNT[B_vvt3,WORLD] : "B_vvt3" } => countdir & "V_out.dat" { COUNT[fwd_u,WORLD] : "fwd_u", COUNT[fwd_b,WORLD] : "fwd_b", COUNT[fwd_bt,WORLD] : "fwd_bt", COUNT[fwd_b2,WORLD] : "fwd_b2", COUNT[fwd_bt2,WORLD] : "fwd_bt2", COUNT[fwd_t,WORLD] : "fwd_t", COUNT[fwd_t2,WORLD] : "fwd_t2", COUNT[fwd_t3,WORLD] : "fwd_t3", COUNT[fwd_vb,WORLD] : "fwd_vb", COUNT[fwd_vbt,WORLD] : "fwd_vbt", COUNT[fwd_vb2,WORLD] : "fwd_vb2", COUNT[fwd_vbt2,WORLD] : "fwd_vbt2", COUNT[fwd_vt,WORLD] : "fwd_vt", COUNT[fwd_vt2,WORLD] : "fwd_vt2", COUNT[fwd_vt3,WORLD] : "fwd_vt3", COUNT[fwd_vvt,WORLD] : "fwd_vvt", COUNT[fwd_vvt2,WORLD] : "fwd_vvt2", COUNT[fwd_vvt3,WORLD] : "fwd_vvt3", COUNT[rev_u,WORLD] : "rev_u", COUNT[rev_b,WORLD] : "rev_b", COUNT[rev_bt,WORLD] : "rev_bt", COUNT[rev_b2,WORLD] : "rev_b2", COUNT[rev_bt2,WORLD] : "rev_bt2", COUNT[rev_t,WORLD] : "rev_t", COUNT[rev_t2,WORLD] : "rev_t2", COUNT[rev_t3,WORLD] : "rev_t3", COUNT[rev_vb,WORLD] : "rev_vb", COUNT[rev_vbt,WORLD] : "rev_vbt", COUNT[rev_vb2,WORLD] : "rev_vb2", COUNT[rev_vbt2,WORLD] : "rev_vbt2", COUNT[rev_vt,WORLD] : "rev_vt", COUNT[rev_vt2,WORLD] : "rev_vt2", COUNT[rev_vt3,WORLD] : "rev_vt3", COUNT[rev_vvt,WORLD] : "rev_vvt", COUNT[rev_vvt2,WORLD] : "rev_vvt2", COUNT[rev_vvt3,WORLD] : "rev_vvt3" } => countdir & "rxn_out.dat" { COUNT[fwd_D_t1,WORLD] : "fwd_D_t1", COUNT[fwd_D_t2,WORLD] : "fwd_D_t2", COUNT[fwd_D_t3,WORLD] : "fwd_D_t3", COUNT[fwd_D_t4,WORLD] : "fwd_D_t4" } => countdir & "b19_rxn_out.dat" { COUNT[fwd_D_t5,WORLD] : "fwd_D_t5", COUNT[fwd_D_t6,WORLD] : "fwd_D_t6", COUNT[fwd_D_t7,WORLD] : "fwd_D_t7", COUNT[fwd_D_t8,WORLD] : "fwd_D_t8" } => countdir & "b20_rxn_out.dat" }