1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /* This example demonstrates the creation of a release site */
- /* that fills an unusual geometry at a specified concentration */
- time_step = 1.0e-6
- total_time = 1.0e-3
- TIME_STEP = time_step
- ITERATIONS = total_time/time_step
- EFFECTOR_GRID_DENSITY = 10000
- INTERACTION_RADIUS = 0.005
- PARTITION_X = [ [-0.15 TO 0.15 STEP 0.03] ]
- PARTITION_Y = [ [-0.15 TO 0.15 STEP 0.03] ]
- PARTITION_Z = [ [-0.15 TO 0.15 STEP 0.03] ]
- DEFINE_MOLECULES
- {
- A { D_3D = 100e-8 }
- B { D_3D = 100e-8 }
- C { D_3D = 100e-8 }
- D { D_2D = 0 }
- }
- /* Your basic reversable binding reaction */
- DEFINE_REACTIONS
- {
- A + B -> C [1e7]
- C -> A + B [1e2]
- }
- /* Create geometry with release site in here */
- bag OBJECT
- {
- small_box BOX
- {
- CORNERS = [-0.1,-0.1,-0.1] , [0.1,0.1,0.1]
- ASPECT_RATIO = 3
- DEFINE_SURFACE_REGIONS
- {
- silly { INCLUDE_ELEMENTS = [TOP,LEFT] }
- solly { INCLUDE_ELEMENTS = [TOP,RIGHT] }
- }
- }
- bad_box BOX
- {
- CORNERS = [-0.05,-0.05,-0.2] , [0.05,0.05,0.2]
- }
- surf_release RELEASE_SITE { SHAPE=bag.small_box[silly]*bag.small_box[solly] MOLECULE=D NUMBER_TO_RELEASE=150 }
- vol_release RELEASE_SITE { SHAPE=bag.small_box[ALL]-bag.bad_box[ALL] MOLECULE=A CONCENTRATION=1e-4 }
- }
- /* 481.76 molecules/volume = 100uM */
- INSTANTIATE my_world OBJECT
- {
- my_bag OBJECT bag {}
- B_release RELEASE_SITE { SHAPE=CUBIC LOCATION=[0,0,0] MOLECULE=B CONCENTRATION=1e-4 SITE_DIAMETER=0.19999 }
- C_release RELEASE_SITE { SHAPE=CUBIC LOCATION=[0,0,0] MOLECULE=C NUMBER_TO_RELEASE=482 SITE_DIAMETER=0.1999 }
- }
- /* This just dumps molecule positions in text as state_value X Y Z orient */
- VIZ_DATA_OUTPUT
- {
- MODE=ASCII
- MOLECULE_FILE_PREFIX = "box"
- STATE_VALUES {
- A = 1
- B = 2
- C = 3
- D = 4
- }
- ITERATION_LIST = [0e0,1e0,1e1,1e2,1e3]
- }
-
- REACTION_DATA_OUTPUT
- {
- STEP = 1e-5
- { COUNT [A,WORLD] } => "count_A.dat"
- { COUNT [B,WORLD] } => "count_B.dat"
- { COUNT [C,WORLD] } => "count_C.dat"
- { COUNT [D,WORLD] } => "count_D.dat"
- }
|