View Javadoc

1   
2   package org.catacomb.numeric.difnet;
3   
4   /** properties of a node in a diffusible network. The corresponding
5    *  node may containing  multiple diffusible quantities, in which case the
6    *  <code>dq</code> argument specifiew which to consult.
7    * NB, as yet dq is unsupported MISSING
8    * hasFixedValue should return true for nodes whosse value can't be changed,
9    * like an isopotential bath. In this case setValue does nothing and
10   * the result of getCapacitance is undefined.
11   * Such odes are important in a DiffusibleNet to break loops and take advantage
12   * of sparse matrix methods in computing the diffusion.
13   */
14  
15  
16  public interface StructureNode {
17  
18      /** returns true only for those nodes whose value is externally fixed,
19       * such as the potential or an earthed bath or a perfect voltage clamp.
20       *
21       * @return true if the node's value for the specified quantity is fixed
22       */
23      boolean hasFixedValue(DiffusibleQuantity dq);
24  
25  
26  
27      void setPosition(double x, double y, double z);
28  
29      void setRadius(double r);
30  
31  
32      /** Stores an integer for later retrieval. This is required so that
33       * NetDiffuser implementations can make certain optimisations
34       * setting up permutations of the network for computing the diffusion.
35       *
36       */
37      void setWork(int i);
38  
39      /** retrieves the previously set work integer.
40       *
41       * @return the stored integer
42       */
43      int getWork();
44  
45  }
46  
47