MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
HSolvePassive.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment.
4 ** copyright (C) 2003-2007 Upinder S. Bhalla, Niraj Dudani and NCBS
5 ** It is made available under the terms of the
6 ** GNU Lesser General Public License version 2.1
7 ** See the file COPYING.LIB for the full notice.
8 **********************************************************************/
9 
10 #ifndef _HSOLVE_PASSIVE_H
11 #define _HSOLVE_PASSIVE_H
12 #include "../basecode/header.h"
13 #include "../biophysics/CompartmentBase.h"
14 #include "../biophysics/Compartment.h"
15 using namespace moose; // For moose::Compartment from 'Compartment.h'
16 #include "HSolveUtils.h"
17 #include "HSolveStruct.h"
18 #include "HinesMatrix.h"
19 
21 {
22 #ifdef DO_UNIT_TESTS
23  friend void testHSolvePassive();
24 #endif
25 
26 public:
27  void setup( Id seed, double dt );
28  void solve();
29 
30 protected:
31  // Integration
32  void updateMatrix();
33  void forwardEliminate();
34  void backwardSubstitute();
35 
36  vector< CompartmentStruct > compartment_;
37  vector< Id > compartmentId_;
38  vector< double > V_;
41  vector< TreeNodeStruct > tree_;
45  map< unsigned int, InjectStruct > inject_;
49 private:
50  // Setting up of data structures
51  void clear();
52  void walkTree( Id seed );
53  void initialize();
54  void storeTree();
55 
56  // Used for unit tests.
57  double getV( unsigned int row ) const;
58 };
59 
60 #endif // _HSOLVE_PASSIVE_H
vector< Id > compartmentId_
Definition: HSolvePassive.h:37
vector< double > V_
Definition: HSolvePassive.h:38
vector< CompartmentStruct > compartment_
Definition: HSolvePassive.h:36
map< unsigned int, InjectStruct > inject_
Definition: HSolvePassive.h:45
vector< TreeNodeStruct > tree_
Definition: HSolvePassive.h:41
Definition: Id.h:17