NEURON
linmod.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "ocmatrix.h"
4 #include "ivocvect.h"
5 #include "nrnoc2iv.h"
6 #include "matrixmap.h"
7 #include "nrndae.h"
8 
9 
10 class LinearModelAddition: public NrnDAE {
11  public:
13  Matrix* g,
14  Vect* y,
15  Vect* y0,
16  Vect* b,
17  int nnode = 0,
18  Node** nodes = NULL,
19  Vect* elayer = NULL,
20  Object* f_callable = NULL);
21  virtual ~LinearModelAddition();
22 
23  private:
24  void f_(Vect& y, Vect& yprime, int size);
26  double jacobian_multiplier_();
27  void alloc_(int size, int start, int nnode, Node** nodes, int* elayer);
28 
30  Vect& b_;
32 };
MatrixMap * g_
Definition: linmod.h:29
LinearModelAddition(Matrix *c, Matrix *g, Vect *y, Vect *y0, Vect *b, int nnode=0, Node **nodes=NULL, Vect *elayer=NULL, Object *f_callable=NULL)
Definition: linmod.cpp:29
void alloc_(int size, int start, int nnode, Node **nodes, int *elayer)
Additional allocation for subclasses.
Definition: linmod.cpp:50
Object * f_callable_
Definition: linmod.h:31
MatrixMap * jacobian_(Vect &y)
Compute the Jacobian.
Definition: linmod.cpp:82
void f_(Vect &y, Vect &yprime, int size)
The right-hand-side function.
Definition: linmod.cpp:58
virtual ~LinearModelAddition()
Definition: linmod.cpp:45
double jacobian_multiplier_()
Definition: linmod.cpp:78
NEURON Differential Algebraic Equations.
Definition: nrndae.h:27
static int c
Definition: hoc.cpp:169
Supports modifying voltage equations and adding new equations.
#define NULL
Definition: spdefs.h:105
Definition: section.h:105
Definition: hocdec.h:173