#include <PadeTableODE.h>
|
void | calculate (double tau, double inputCurrent, double dIdt, double d2Id2t, const double *x, unsigned lenX, unsigned firstNode, double *derivative) const |
|
unsigned | getPadeColumn () const |
|
unsigned | getPadeRow () const |
|
unsigned | nParameters () const |
|
| PadeTableODE (unsigned padeRow, unsigned padeColumn) |
|
void | setParameters (const double *pars, unsigned nPars) |
|
Definition at line 11 of file PadeTableODE.h.
PadeTableODE::PadeTableODE |
( |
unsigned |
padeRow, |
|
|
unsigned |
padeColumn |
|
) |
| |
void PadeTableODE::calculate |
( |
double |
tau, |
|
|
double |
inputCurrent, |
|
|
double |
dIdt, |
|
|
double |
d2Id2t, |
|
|
const double * |
x, |
|
|
unsigned |
lenX, |
|
|
unsigned |
firstNode, |
|
|
double * |
derivative |
|
) |
| const |
Definition at line 13 of file PadeTableODE.cc.
References cms::cuda::assert(), col_, Exception, row_, and metsig::tau.
22 if (lenX < firstNode +
col_)
23 throw cms::Exception(
"In PadeTableODE::calculate: insufficient number of variables");
25 throw cms::Exception(
"In PadeTableODE::calculate: delay time is not positive");
58 derivative[firstNode] = 2.0 * (currentIn -
x[firstNode]) /
tau - dIdt;
62 derivative[firstNode] = 3.0 * (currentIn -
x[firstNode]) /
tau - 2.0 * dIdt + 0.5 *
tau * d2Id2t;
80 (6.0 * (currentIn -
x[firstNode]) - 2.0 *
tau * dIdt - 4.0 *
tau *
x[firstNode + 1]) /
tau /
tau;
85 12.0 * (currentIn -
x[firstNode]) /
tau /
tau - 6.0 * (
x[firstNode + 1] + dIdt) /
tau + d2Id2t;
100 6.0 * (currentIn -
x[firstNode] -
tau *
x[firstNode + 1] - 0.5 *
tau *
tau *
x[firstNode + 2]) /
tau /
106 (currentIn -
x[firstNode] - 0.25 *
tau * dIdt - 0.75 *
tau *
x[firstNode + 1] -
107 0.25 *
tau *
tau *
x[firstNode + 2]);
112 (currentIn -
x[firstNode] - 0.4 *
tau * dIdt + 0.05 *
tau *
tau * d2Id2t -
113 0.6 *
tau *
x[firstNode + 1] - 0.15 *
tau *
tau *
x[firstNode + 2]);
Derivative< X, A >::type derivative(const A &_)
unsigned PadeTableODE::getPadeColumn |
( |
| ) |
const |
|
inline |
unsigned PadeTableODE::getPadeRow |
( |
| ) |
const |
|
inline |
unsigned PadeTableODE::nParameters |
( |
| ) |
const |
|
inline |
void PadeTableODE::setParameters |
( |
const double * |
pars, |
|
|
unsigned |
nPars |
|
) |
| |
unsigned PadeTableODE::col_ |
|
private |
unsigned PadeTableODE::row_ |
|
private |