1
2 package org.catacomb.numeric.difnet;
3
4
5 /** a node in a diffusive network.
6 *
7 */
8
9
10 public interface StateNode {
11
12 /** returns true if the node has an active stimulation scheme.
13 * Note that this is only possible if an object extends both DiffusiveNode
14 * <em>and</em> Stimulable, and has had a scheme attached.
15 */
16 Stimulus getStimulus();
17
18
19 double getValue(DiffusibleQuantity dq);
20
21 double getAppliedValue(DiffusibleQuantity dq);
22
23 void setValue(DiffusibleQuantity dq, double d);
24
25
26 void setFlux(DiffusibleQuantity dq, double d);
27
28
29 /** gets the capacitance of this node. Fo electrical diffusion this may be
30 * zero, since the capacitance is associated with the membrane, whereas
31 * for chemical diffusiion, the link capacitance would be zero, and the
32 * capacitance where would be related to the node volume.
33 *
34 * @param dq the diffusible quantity for which to get the capacitance.
35 */
36 double getCapacitance(DiffusibleQuantity dq);
37 // shouldn't this be part of the structure?
38
39
40
41 /** gets the properties object holding the non-state information for this
42 * node
43 */
44 StructureNode getStructureNode();
45
46
47 void setStimulus(Stimulus stim);
48
49 }
50
51