27 virtual double f(
double v) {
30 void f(
int cnt,
double*
v,
double* val) {
32 for (
i = 0;
i <
cnt; ++
i) {
41 static double Exp(
double x) {
44 }
else if (x < -700.) {
57 virtual double f(
double v) {
67 virtual double f(
double v) {
68 return c(0) *
Exp(
c(1) * (
v -
c(2)));
77 virtual double f(
double v) {
78 double x =
c(1) * (
v -
c(2));
80 return c(0) * x / (1 -
Exp(-x));
82 return c(0) * (1 + x / 2.);
92 virtual double f(
double v) {
93 return c(0) / (1. +
Exp(
c(1) * (
v -
c(2))));
99 #define _e_over_k _e_over_k_[_nrnunit_use_legacy_]
101 #define ebykt (_e_over_k / (273.15 + celsius))
116 virtual double f(
double v) {
117 double x =
ebykt *
c(2) * (
v -
c(1));
118 double ap =
c(0) *
Exp(
c(3) * x);
119 double bp =
c(0) *
Exp((
c(3) - 1.) * x);
121 double inf = ap *
tau;
133 virtual double f(
double v) {
134 double x =
ebykt *
c(2) * (
v -
c(1));
135 double ap =
c(0) *
Exp(
c(3) * x);
136 double bp =
c(0) *
Exp((
c(3) - 1.) * x);
137 double tau = 1 / (ap + bp);
151 virtual double f(
double v);
177 void ab(
double v,
double& a,
double& b);
198 virtual double beta();
241 virtual double cur(
double g,
double*
p,
Datum* pd,
double v);
247 virtual double cur(
double g,
double*
p,
Datum* pd,
double v);
253 virtual double cur(
double g,
double*
p,
Datum* pd,
double v);
260 virtual double cur(
double g,
double*
p,
Datum* pd,
double v);
267 virtual double cur(
double g,
double*
p,
Datum* pd,
double v);
273 virtual double cur(
double g,
double*
p,
Datum* pd,
double v);
308 virtual void map(
int,
double**,
double**,
double*,
Datum*,
double*);
318 int trans_index(
const char* src,
const char* target);
354 void usetable(
bool,
int size,
double vmin,
double vmax);
369 void mulmat(
double*,
double*);
virtual double f(double v)
virtual double f(double v)
virtual double f(double v)
virtual double f(double v)
static double Exp(double x)
static KSChanFunction * new_function(int type, Vect *, double, double)
virtual ~KSChanFunction()
virtual double f(double v)
void f(int cnt, double *v, double *val)
int trans_index(const char *src, const char *target)
void add_channel(const char **)
void ligand_consist(int, int, Prop *, Node *)
void alloc_schan_node_data()
void mulmat(double *, double *)
int nsingle(Point_process *)
virtual void alloc(Prop *)
void set_single(bool, bool update=true)
virtual void state(int, Node **, double **, Datum **, NrnThread *)
void fillmat(double v, Datum *pd)
double conductance(double gmax, double *state)
void delete_schan_node_data()
KSState * add_hhstate(const char *)
KSGateComplex * gate_insert(int ig, int is, int power)
KSState * state_insert(int i, const char *name, double frac)
void setname(const char *)
virtual void jacob(int, Node **, double **, Datum **)
virtual void spec(int, Node **, double **, Datum **)
virtual void map(int, double **, double **, double *, Datum *, double *)
void check_table_thread(NrnThread *)
KSChan(Object *, bool is_point=false)
void setstructure(Vect *)
void state_consist(int shift=0)
Prop * needion(Symbol *, Node *, Prop *)
double alpha(double v, int, int)
void power(KSGateComplex *, int)
void destroy_pnt(Point_process *)
KSTransition * add_transition(int src, int target, const char *ligand)
void remove_transition(int)
void setion(const char *)
virtual void cv_sc_update(int, Node **, double **, Datum **, NrnThread *)
KSTransition * trans_insert(int i, int src, int target)
Symbol * installsym(const char *, int, Symbol *tmplt=NULL)
virtual void cur(int, Node **, double **, Datum **)
void setsname(int, const char *)
KSState * add_ksstate(int igate, const char *)
void freesym(Symbol *, Symbol *tmplt=NULL)
double beta(double v, int, int)
virtual void matsol(int, Node **, double **, Datum **, NrnThread *)
void mat_dt(double dt, double *p)
void setligand(int i, const char *)
virtual void init(int, Node **, double **, Datum **, NrnThread *)
int gate_index(int state_index)
void settype(KSTransition *, int type, const char *)
Symbol * looksym(const char *, Symbol *tmplt=NULL)
virtual double f(double v)
virtual double f(double v)
KSChanTable(Vect *, double vmin, double vmax)
virtual double f(double v)
double conductance(double *state, KSState *st)
virtual double cur(double g, double *p, Datum *pd, double v)
virtual double jacob(double *p, Datum *pd, double v)
virtual double cur(double g, double *p, Datum *pd, double v)
virtual double jacob(double *p, Datum *pd, double v)
virtual double cur(double g, double *p, Datum *pd, double v)
virtual double jacob(double *p, Datum *pd, double v)
virtual double cur(double g, double *p, Datum *pd, double v)
virtual double jacob(double *p, Datum *pd, double v)
virtual double jacob(double *p, Datum *pd, double v)
virtual double cur(double g, double *p, Datum *pd, double v)
virtual double jacob(double *p, Datum *pd, double v)
virtual double cur(double g, double *p, Datum *pd, double v)
void inftau_hh_table(int i, double &inf, double &tau)
void ab(double v, double &a, double &b)
void inftau(double v, double &inf, double &tau)
void inftau_hh_table(int i, double x, double &inf, double &tau)
void hh_table_make(double dt, int size=200, double vmin=-100., double vmax=50.)
void setf(int direction, int type, Vect *vec, double vmin, double vmax)
const char * string() const
static void update(NrnThread *)
static double _e_over_k_[2]
#define _e_over_k_codata2018
static void * vmin(NrnThread *nt)
Represent main neuron object computed by single thread.