NEURON
deriv.cpp File Reference
#include <../../nmodlconf.h>
#include "modl.h"
#include "symbol.h"
#include "../oc/nrnassrt.h"
#include <ctype.h>
#include "parse1.hpp"

Go to the source code of this file.

Macros

#define SB   256
 
#define FORALL(state, dstate)   for (state = init_forderiv(dstate); state; state = next_forderiv())
 

Functions

void copylist (List *, Item *)
 
void solv_diffeq (Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum, int steadystate, int btype)
 
 sprintf (buf," if (secondorder) {\ " int _i;\" " for(_i=0;_i< %d;++_i) {\" " _p[_slist%d[_i]]+=dt *_p[_dlist%d[_i]];\" " }}\", numeqn, listnum, listnum)
 
 insertstr (qsol->next, buf)
 
static Symbolinit_forderiv (Symbol *prime)
 
static char * name_forderiv (int i)
 
char * reprime (Symbol *sym)
 
static Symbolnext_forderiv ()
 
void add_deriv_imp_list (char *name)
 
void deriv_used (Symbol *s, Item *q1, Item *q2)
 
void massagederiv (Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
 
void matchinitial (Item *q1)
 
void matchbound (Item *q1, Item *q2, Item *q3, Item *q4, Item *q5, Symbol *sindex)
 
void checkmatch (int blocktype)
 
void matchmassage (int nderiv)
 
void copyitems (Item *q1, Item *q2, Item *qdest)
 

Variables

static Listderiv_imp_list
 
static char Derivimplicit [] = "derivimplicit"
 
Symbolindepsym
 
Listindeplist
 
int sens_parm
 
int numlist
 
int dtsav_for_nrn_state = 1
 
Listmassage_list_
 
Listnetrec_cnexp
 
static Symbolforderiv
 
static char base_units [256]
 
static int indx
 
static int maxindx
 
static Listderiv_used_list
 
static Listderiv_state_list
 
static int matchused = 0
 
static Listmatch_init
 
Listmatch_bound
 

Macro Definition Documentation

◆ FORALL

#define FORALL (   state,
  dstate 
)    for (state = init_forderiv(dstate); state; state = next_forderiv())

Definition at line 233 of file deriv.cpp.

◆ SB

#define SB   256

Definition at line 24 of file deriv.cpp.

Function Documentation

◆ add_deriv_imp_list()

void add_deriv_imp_list ( char *  name)

Definition at line 391 of file deriv.cpp.

◆ checkmatch()

void checkmatch ( int  blocktype)

Definition at line 710 of file deriv.cpp.

◆ copyitems()

void copyitems ( Item q1,
Item q2,
Item qdest 
)

Definition at line 916 of file deriv.cpp.

◆ copylist()

void copylist ( List l,
Item i 
)

Definition at line 896 of file deriv.cpp.

◆ deriv_used()

void deriv_used ( Symbol s,
Item q1,
Item q2 
)

Definition at line 402 of file deriv.cpp.

◆ init_forderiv()

static Symbol* init_forderiv ( Symbol prime)
static

Definition at line 242 of file deriv.cpp.

◆ insertstr()

insertstr ( qsol->  next,
buf   
)

◆ massagederiv()

void massagederiv ( Item q1,
Item q2,
Item q3,
Item q4,
int  sensused 
)

Definition at line 421 of file deriv.cpp.

◆ matchbound()

void matchbound ( Item q1,
Item q2,
Item q3,
Item q4,
Item q5,
Symbol sindex 
)

Definition at line 675 of file deriv.cpp.

◆ matchinitial()

void matchinitial ( Item q1)

Definition at line 651 of file deriv.cpp.

◆ matchmassage()

void matchmassage ( int  nderiv)

Definition at line 726 of file deriv.cpp.

◆ name_forderiv()

static char* name_forderiv ( int  i)
static

Definition at line 271 of file deriv.cpp.

◆ next_forderiv()

static Symbol* next_forderiv ( )
static

Definition at line 309 of file deriv.cpp.

◆ reprime()

char* reprime ( Symbol sym)

Definition at line 287 of file deriv.cpp.

◆ solv_diffeq()

void solv_diffeq ( Item qsol,
Symbol fun,
Symbol method,
int  numeqn,
int  listnum,
int  steadystate,
int  btype 
)

Definition at line 42 of file deriv.cpp.

◆ sprintf()

sprintf ( buf  ,
" if (secondorder) {\ int _i;\ " for(_i=0;_i< %d;++_i) {\" " _p[_slist%d[_i]]+=dt *_p[_dlist%d[_i]];\" " }}\"  ,
numeqn  ,
listnum  ,
listnum   
)

Variable Documentation

◆ base_units

char base_units[256]
static

Definition at line 239 of file deriv.cpp.

◆ deriv_imp_list

List* deriv_imp_list
static

Definition at line 10 of file deriv.cpp.

◆ deriv_state_list

List* deriv_state_list
static

Definition at line 400 of file deriv.cpp.

◆ deriv_used_list

List* deriv_used_list
static

Definition at line 399 of file deriv.cpp.

◆ Derivimplicit

char Derivimplicit[] = "derivimplicit"
static

Definition at line 12 of file deriv.cpp.

◆ dtsav_for_nrn_state

dtsav_for_nrn_state = 1

Definition at line 17 of file deriv.cpp.

◆ forderiv

Symbol* forderiv
static

Definition at line 238 of file deriv.cpp.

◆ indeplist

List* indeplist

Definition at line 15 of file parsact.cpp.

◆ indepsym

Symbol* indepsym

Definition at line 11 of file declare.cpp.

◆ indx

int indx
static

Definition at line 240 of file deriv.cpp.

◆ massage_list_

List* massage_list_

Definition at line 19 of file deriv.cpp.

◆ match_bound

List* match_bound

Definition at line 637 of file deriv.cpp.

◆ match_init

List* match_init
static

Definition at line 635 of file deriv.cpp.

◆ matchused

int matchused = 0
static

Definition at line 419 of file deriv.cpp.

◆ maxindx

int maxindx
static

Definition at line 240 of file deriv.cpp.

◆ netrec_cnexp

List* netrec_cnexp

Definition at line 20 of file deriv.cpp.

◆ numlist

int numlist

Definition at line 38 of file solve.cpp.

◆ sens_parm

int sens_parm

Definition at line 104 of file sens.cpp.