/**************************************************************************** * Regression test 19: surface molecule diffusion gives incorrect counts for * "enclosed" counts. * * Failure: Counts remain 50/50/0 * Success: Counts equilibrate to around 50/25/25 * * Author: Jed Wing * Date: 2009-07-31 * Note: As of 5/23/2011 we disallow overlapped walls, so the coordinates * of "counter_right" box are slightly shifted to allow for * the overlap test to pass. * Modified by Boris Kaminsky * Date: 2011-05-23 ****************************************************************************/ iterations = 10000 time_step = 1e-6 ITERATIONS = iterations TIME_STEP = time_step VACANCY_SEARCH_DISTANCE = 0.1 EPS_C = 1e-12 DEFINE_MOLECULES { A { DIFFUSION_CONSTANT_2D = 2e-5 } } INSTANTIATE World OBJECT { system BOX { CORNERS = [0.0,0.0,0.0],[0.1,0.1,0.1] DEFINE_SURFACE_REGIONS { whole_box { INCLUDE_ELEMENTS = [LEFT] MOLECULE_NUMBER { A' = 50 } } } } counter_left BOX { CORNERS = [-0.01,-0.01,-0.01],[0.05,0.11,0.11] } counter_right BOX { /* CORNERS = [0.05,-0.01,-0.01],[0.11,0.11,0.11] */ CORNERS = [0.05 + 2*EPS_C,-0.01,-0.01],[0.11,0.11,0.11] } } REACTION_DATA_OUTPUT { STEP = time_step { COUNT[A,WORLD], COUNT[A,World.counter_left,ALL_ENCLOSED], COUNT[A,World.counter_right,ALL_ENCLOSED] } => "A.dat" }