Example 5 creates another grid of effectors which is now located on a transparent grid located in the middle of a cube, and allowing binding to occur at both positive and negative poles.
![]() |
![]() |
| positive pole | negative pole |
file in_1
/* both_poles_1 */
dt = 1.0e-6
chkpt_it = 200
TIME_STEP = dt
ITERATIONS = 10000
EFFECTOR_GRID_DENSITY = 10000
CHECKPOINT_INFILE = "chkpt"
CHECKPOINT_OUTFILE = "chkpt"
CHECKPOINT_ITERATIONS = chkpt_it
DEFINE_LIGAND ACh {
DIFFUSION_CONSTANT = 2.1e-6
}
DEFINE_REACTION AChR {
R[>AR{0.0:+ACh,BOTH_POLES}]
AR[>R{0.0:-ACh,EITHER_POLE}]
REFERENCE_STATE R {
ACh NUMBER_BOUND = 0
}
}
ACh_release_site SPHERICAL_RELEASE_SITE {
LOCATION = [0,0,0]
LIGAND = ACh
NUMBER_TO_RELEASE = 57
SITE_DIAMETER = 0.05
}
box_1 BOX {
CORNERS = [-0.1,-0.1,0], [0.1,0.1,0.1]
FULLY_CLOSED = YES
ADD_EFFECTOR {
STATE = AChR.R
DENSITY = 8935
ELEMENT = BOTTOM
POLE_ORIENTATION = POSITIVE_BACK
}
ADD_EFFECTOR {
STATE = AChR.AR
DENSITY = 1065
ELEMENT = BOTTOM
POLE_ORIENTATION = POSITIVE_BACK
}
TRANSPARENT {LIGAND = ACh ELEMENT = BOTTOM}
}
box_2 BOX {
CORNERS = [-0.1,-0.1,-0.1], [0.1,0.1,0]
FULLY_CLOSED = YES
}
INSTANTIATE microdomain OBJECT {
m1 OBJECT ACh_release_site { }
m2 OBJECT box_1 { }
m3 OBJECT box_2 { }
}
/*
VIZ_DATA_OUTPUT {
MODE = DX
STATE_VALUES {
ACh = 1
AChR.R = 5
AChR.AR = 10
}
OBJECT_FILE_DESIGNATORS {
microdomain = "box"
}
ITERATION_LIST = [0,chkpt_it-1]
}
*/
REACTION_DATA_OUTPUT {
STEP = 1.0*dt
{ COUNT[AChR.R,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".R"
{ COUNT[AChR.AR,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AR"
{ COUNT[ACh,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".ACh"
}
file in_2
/* both_poles_2 */
dt = 1.0e-6
chkpt_it = 2000
TIME_STEP = dt
ITERATIONS = 10000
EFFECTOR_GRID_DENSITY = 10000
CHECKPOINT_INFILE = "chkpt"
CHECKPOINT_OUTFILE = "chkpt"
CHECKPOINT_ITERATIONS = chkpt_it
DEFINE_LIGAND ACh {
DIFFUSION_CONSTANT = 2.1e-6
}
DEFINE_REACTION AChR {
R[>AR{10.0e7:+ACh,BOTH_POLES}]
AR[>R{10000.0:-ACh,EITHER_POLE}]
REFERENCE_STATE R {
ACh NUMBER_BOUND = 0
}
}
ACh_release_site SPHERICAL_RELEASE_SITE {
LOCATION = [0,0,0]
LIGAND = ACh
NUMBER_TO_RELEASE = 57
SITE_DIAMETER = 0.05
}
box_1 BOX {
CORNERS = [-0.1,-0.1,0], [0.1,0.1,0.1]
FULLY_CLOSED = YES
ADD_EFFECTOR {
STATE = AChR.R
DENSITY = 8935
ELEMENT = BOTTOM
POLE_ORIENTATION = POSITIVE_BACK
}
ADD_EFFECTOR {
STATE = AChR.AR
DENSITY = 1065
ELEMENT = BOTTOM
POLE_ORIENTATION = POSITIVE_BACK
}
TRANSPARENT {LIGAND = ACh ELEMENT = BOTTOM}
}
box_2 BOX {
CORNERS = [-0.1,-0.1,-0.1], [0.1,0.1,0]
FULLY_CLOSED = YES
}
INSTANTIATE microdomain OBJECT {
m1 OBJECT ACh_release_site { }
m2 OBJECT box_1 { }
m3 OBJECT box_2 { }
}
/*
VIZ_DATA_OUTPUT {
MODE = DX
STATE_VALUES {
ACh = 1
AChR.R = 5
AChR.AR = 10
}
OBJECT_FILE_DESIGNATORS {
microdomain = "box"
}
ITERATION_LIST = [0,chkpt_it-1]
}
*/
REACTION_DATA_OUTPUT {
STEP = 1.0*dt
{ COUNT[AChR.R,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".R"
{ COUNT[AChR.AR,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".AR"
{ COUNT[ACh,WORLD,FOR_EACH_TIME_STEP] } => INPUT_FILE & ".ACh"
}