123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /****************************************************************************
- * Regression test 03: When two surfaces coincide and one of them is
- * transparent, odd things happen. Counting, for one, can become
- * confused. Essentially, the transparent surface may be re-collided in
- * certain cases.
- *
- * Failure: counts go negative, or extremely positive
- * total count of cannonballs != 500
- *
- * Success: for entire run, count 122L+122R == 122 == 500 AND
- * for entire run, count r122L+r122R == r122 == 500
- *
- * Author: Jed Wing <[email protected]>
- * Date: 2008-09-05
- * Note: As of 05/23/2011 we disallow overlapped walls, so the coodinates
- * of box122R are slightly shifted.
- * Modified by Boris Kaminsky
- * Date: 2011-05-23
- ****************************************************************************/
- EFFECTOR_GRID_DENSITY = 30000
- ITERATIONS = 10000
- TIME_STEP = 1e-6
- kfwd = 5e6
- kreset = 1e3
- eps = 0.001
- reforient = 1
- EPS_C = 1e-12
- NOTIFICATIONS
- {
- RELEASE_EVENT_REPORT = ON
- }
- PARTITION_X = [[-2 TO 2 STEP 0.08]]
- PARTITION_Y = [[-2 TO 2 STEP 0.08]]
- PARTITION_Z = [[-2 TO 2 STEP 0.08]]
- DEFINE_MOLECULES
- {
- cannonball { DIFFUSION_CONSTANT_3D = 4e-6 }
- tissue26 { DIFFUSION_CONSTANT_2D = 0 }
- kerchief26 { DIFFUSION_CONSTANT_2D = 0 }
- llabnonnac { DIFFUSION_CONSTANT_3D = 4e-6 }
- eussit26 { DIFFUSION_CONSTANT_2D = 0 }
- feihcrek26 { DIFFUSION_CONSTANT_2D = 0 }
- }
- DEFINE_REACTIONS
- {
- cannonball,, + tissue26, -> cannonball'' + kerchief26, [kfwd] : reac_26 kerchief26' -> tissue26' [kreset] // INVALID
- llabnonnac,, + eussit26, -> llabnonnac'' + feihcrek26, [kfwd] : caer_26 feihcrek26' -> eussit26' [kreset] // INVALID
- }
- p122a = [-0.2, -0.2, -0.2]
- p122b = [ 0.0, 0.2, 0.2]
- p122c = [ 0.0 + 2*EPS_C, -0.2, -0.2]
- p122d = [ 0.2 + 2*EPS_C, 0.2, 0.2]
- /* p122c = [ 0.0, -0.2, -0.2]
- p122d = [ 0.2, 0.2, 0.2] */
- boxes_reduced OBJECT
- {
- box122L BOX { CORNERS = p122a, p122b DEFINE_SURFACE_REGIONS { r { INCLUDE_ELEMENTS = [RIGHT] } } }
- box122R BOX { CORNERS = p122c, p122d DEFINE_SURFACE_REGIONS { l { INCLUDE_ELEMENTS = [LEFT] } } }
- }
- INSTANTIATE world OBJECT
- {
- boxes OBJECT boxes_reduced { }
- rscb26 RELEASE_SITE { SHAPE = SPHERICAL SITE_RADIUS = 0 MOLECULE = cannonball NUMBER_TO_RELEASE = 500 LOCATION = [- eps, 0, 0] }
- rsbc26 RELEASE_SITE { SHAPE = SPHERICAL SITE_RADIUS = 0 MOLECULE = llabnonnac NUMBER_TO_RELEASE = 500 LOCATION = [- eps, 0, 0] }
- rs_t26 RELEASE_SITE { SHAPE = world.boxes.box122L[r] MOLECULE = tissue26{-reforient} NUMBER_TO_RELEASE = 500 }
- rs_e26 RELEASE_SITE { SHAPE = world.boxes.box122R[l] MOLECULE = eussit26{-reforient} NUMBER_TO_RELEASE = 500 }
- }
- DEFINE_SURFACE_CLASS trans_cannon { TRANSPARENT = cannonball }
- DEFINE_SURFACE_CLASS trans_nonnac { TRANSPARENT = llabnonnac }
- MODIFY_SURFACE_REGIONS {
- world.boxes.box122R[l] { SURFACE_CLASS = trans_cannon }
- world.boxes.box122L[r] { SURFACE_CLASS = trans_nonnac }
- }
- REACTION_DATA_OUTPUT
- {
- OUTPUT_BUFFER_SIZE = 1000
- STEP = 1e-6
- HEADER = "# "
- {
- COUNT[cannonball, world.boxes.box122L] : "122L",
- COUNT[cannonball, world.boxes.box122R] : "122R",
- COUNT[cannonball, world.boxes.box122L] + COUNT[cannonball, world.boxes.box122R] : "122",
- COUNT[llabnonnac, world.boxes.box122L] : "r122L",
- COUNT[llabnonnac, world.boxes.box122R] : "r122R",
- COUNT[llabnonnac, world.boxes.box122L] + COUNT[llabnonnac, world.boxes.box122R] : "r122"
- } => "cannonballs.txt"
- }
- /*
- VIZ_OUTPUT
- {
- MODE = DREAMM_V3_GROUPED
- FILENAME = "world"
- MOLECULES
- {
- NAME_LIST { ALL_MOLECULES }
- TIME_POINTS { ALL_DATA @ [[0 TO 1e-3 STEP 1e-5]] }
- }
- MESHES
- {
- NAME_LIST { ALL_MESHES }
- TIME_POINTS { ALL_DATA @ [0] }
- }
- }
- */
|