LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Attributes | Static Private Attributes | List of all members
c_elegans Class Reference

This class represents the c_elegans system. More...

#include <c_elegans.h>

Inheritance diagram for c_elegans:
Inheritance graph
[legend]
Collaboration diagram for c_elegans:
Collaboration graph
[legend]

Public Member Functions

virtual void update ()
std::string type () const
void postprocess (input &in)
std::vector< std::stringdependencies () const
int dxdt (ptr_passer x, ptr_passer dx, double dt)
int dwdt (ptr_passer x, ptr_passer dx, double dt)
void mod_w (ptr_passer w, double t)
void initial_condition (ptr_passer in, size_t len)
- Public Member Functions inherited from rhs_type< double, rhs_sde >
virtual const std::type_info & vtype () const
 returns the type of the current variable

Private Types

typedef Eigen::SparseMatrix
< double, RowMajor > 
sparse_type

Private Attributes

int cur_ind
double dummy
sparse_type laplacian
sparse_type AEchem_trans
sparse_type AEchem_trans_full
sparse_type ag_full
Array< double, num_neur, 1 > vmean
Array< double, num_neur, 1 > sig
Array< double, num_neur, 1 > Echem
Array< double, num_neur, 1 > eqS
Array< double, num_neur, 1 > eqV
double beta
double memV
double memG
double gchem
double gelec
double tau
double EchemEx
double EchemInh
double ar
double ad
std::vector< size_t > inj_nodes
std::vector< size_t > abl_neur
double cur_inj
bool has_gone
bool first_round

Static Private Attributes

static constexpr size_t num_neur = 279
static constexpr size_t al_num = 4
static constexpr size_t dim_v = num_neur
static constexpr size_t dim_s = dim_v

Additional Inherited Members

- Static Public Member Functions inherited from item
static std::shared_ptr< itemcreate (std::string name, engineimp *rval)
- Public Attributes inherited from item
engineimpholder
- Protected Member Functions inherited from item_dim
void print_upstream ()
virtual void _do_mem_update (size_t dim_old)
void add_as_parent (item_dim *p)
void add_as_parent (std::shared_ptr< item_dim > p)
void update_dim (size_t dim_new)
- Protected Attributes inherited from item_dim
mempool memp
std::set< item_dim * > children
item_dimparent
size_t dimension

Detailed Description

This class represents the c_elegans system.

This class calculates the voltages and currents in the neural network of a c_elegans worm. In addition, it also allows for the ablation of specific neurons within the system to see how the system responds to the removal of neurons.

Definition at line 30 of file c_elegans.h.

Member Typedef Documentation

typedef Eigen::SparseMatrix<double, RowMajor> c_elegans::sparse_type
private

Definition at line 35 of file c_elegans.h.

Member Function Documentation

std::vector< std::string > c_elegans::dependencies ( ) const
virtual

Implements item_dim.

Definition at line 325 of file c_elegans.cpp.

Here is the call graph for this function:

int c_elegans::dwdt ( ptr_passer  x,
ptr_passer  dx,
double  dt 
)
virtual

Implements rhs_sde.

Definition at line 112 of file c_elegans.cpp.

int c_elegans::dxdt ( ptr_passer  x,
ptr_passer  dx,
double  dt 
)
virtual

Implements rhs.

Definition at line 72 of file c_elegans.cpp.

void c_elegans::initial_condition ( ptr_passer  in,
size_t  len 
)
virtual

Reimplemented from rhs_type< double, rhs_sde >.

Definition at line 332 of file c_elegans.cpp.

void c_elegans::mod_w ( ptr_passer  w,
double  t 
)
virtual

Reimplemented from rhs_sde.

Definition at line 118 of file c_elegans.cpp.

void c_elegans::postprocess ( input in)
virtual

This function does the processing for the c_elegans class.

It initializes the various matrices and reads values from the input files

Reimplemented from item_dim.

Definition at line 148 of file c_elegans.cpp.

Here is the call graph for this function:

std::string c_elegans::type ( ) const
virtual

Implements item.

Definition at line 126 of file c_elegans.cpp.

void c_elegans::update ( )
virtual

Reimplemented from item.

Definition at line 230 of file c_elegans.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::vector<size_t> c_elegans::abl_neur
private

Definition at line 42 of file c_elegans.h.

double c_elegans::ad
private

Definition at line 40 of file c_elegans.h.

sparse_type c_elegans::AEchem_trans
private

Definition at line 36 of file c_elegans.h.

sparse_type c_elegans::AEchem_trans_full
private

Definition at line 36 of file c_elegans.h.

sparse_type c_elegans::ag_full
private

Definition at line 36 of file c_elegans.h.

constexpr size_t c_elegans::al_num = 4
staticprivate

Definition at line 34 of file c_elegans.h.

double c_elegans::ar
private

Definition at line 40 of file c_elegans.h.

double c_elegans::beta
private

Definition at line 40 of file c_elegans.h.

int c_elegans::cur_ind
private

Definition at line 31 of file c_elegans.h.

double c_elegans::cur_inj
private

Definition at line 43 of file c_elegans.h.

constexpr size_t c_elegans::dim_s = dim_v
staticprivate

Definition at line 39 of file c_elegans.h.

constexpr size_t c_elegans::dim_v = num_neur
staticprivate

Definition at line 38 of file c_elegans.h.

double c_elegans::dummy
private

Definition at line 32 of file c_elegans.h.

Array<double, num_neur, 1> c_elegans::Echem
private

Definition at line 37 of file c_elegans.h.

double c_elegans::EchemEx
private

Definition at line 40 of file c_elegans.h.

double c_elegans::EchemInh
private

Definition at line 40 of file c_elegans.h.

Array<double, num_neur, 1> c_elegans::eqS
private

Definition at line 37 of file c_elegans.h.

Array<double, num_neur, 1> c_elegans::eqV
private

Definition at line 37 of file c_elegans.h.

bool c_elegans::first_round
private

Definition at line 45 of file c_elegans.h.

double c_elegans::gchem
private

Definition at line 40 of file c_elegans.h.

double c_elegans::gelec
private

Definition at line 40 of file c_elegans.h.

bool c_elegans::has_gone
private

Definition at line 44 of file c_elegans.h.

std::vector<size_t> c_elegans::inj_nodes
private

Definition at line 41 of file c_elegans.h.

sparse_type c_elegans::laplacian
private

Definition at line 36 of file c_elegans.h.

double c_elegans::memG
private

Definition at line 40 of file c_elegans.h.

double c_elegans::memV
private

Definition at line 40 of file c_elegans.h.

constexpr size_t c_elegans::num_neur = 279
staticprivate

Definition at line 33 of file c_elegans.h.

Array<double, num_neur, 1> c_elegans::sig
private

Definition at line 37 of file c_elegans.h.

double c_elegans::tau
private

Definition at line 40 of file c_elegans.h.

Array<double, num_neur, 1> c_elegans::vmean
private

Definition at line 37 of file c_elegans.h.


The documentation for this class was generated from the following files: