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