//chemesis2.0 //cabuf.g function cabuf (pool, Cainit, cabufinit, buftot, rad, len) float rad, len float Cainit, cabufinit, buftot str pool float PI=3.14159 float areaout=2*PI*rad*len float areaside=PI*rad*rad float volume=areaside*len /* create pools of molecules */ create rxnpool {pool}Ca setfield {pool}Ca Cinit {Cainit} vol {volume} SAout {areaout} SAside {areaside} radius {rad} len {len} units 1e-3 create rxnpool {pool}Cabuf setfield {pool}Cabuf Cinit {cabufinit} vol {volume} SAout {areaout} SAside {areaside} radius {rad} len {len} units 1e-3 create conservepool {pool}buf setfield {pool}buf Ctot {buftot} volume {volume} /* create reaction */ create reaction {pool}cabufrxn setfield {pool}cabufrxn kf 1e2 kb 0.5 /* messages from substrates and product to reaction */ addmsg {pool}Ca {pool}cabufrxn SUBSTRATE Conc addmsg {pool}buf {pool}cabufrxn SUBSTRATE Conc addmsg {pool}Cabuf {pool}cabufrxn PRODUCT Conc /* messages from reaction to substrates and products */ addmsg {pool}cabufrxn {pool}Ca RXN2 kbprod kfsubs addmsg {pool}cabufrxn {pool}Cabuf RXN2 kfsubs kbprod /* conserve pool messages */ addmsg {pool}Cabuf {pool}buf CONC Conc end