Page MenuHomec4science

testDeltaNotch1.cpp
No OneTemporary

File Metadata

Created
Sat, Nov 16, 16:17

testDeltaNotch1.cpp

#include "deltaNotch1.hpp"
using namespace std;
using namespace boost::numeric::odeint;
//integrate<void (&)(const state_type&),state_type,double,double,double> mintegrate;
void dummy(const state_type &x , state_type &dxdt , const double t){
for(int i=0;i<5;i++){
dxdt[i] = - 0.01*x[i];
}
}
void DeltaNotch1::operator() (const state_type &y , state_type &dydt , const double t)
{
double ddi,dni,dnidi,dnidj,dsi;
double di=y[0];
double ni=y[1];
double nidi=y[2];
double nidj=y[3];
double si = y[4];
//// delta
ddi= bd -gd*di; // production and degr.
ddi = ddi+ktm*njdi-ktp*di*nj; // trans binding
ddi = ddi+ks*njdi; //release after cleaving
ddi = ddi-kcp*ni*di+kcm*nidi; //// cis binding
//// notch
dni = bn -gn*ni;
dni = dni + ktm*nidj -ktp*dj*ni; // trans binding
dni = dni - kcp*ni*di+kcm*nidi; // cis binding
dni = dni + diffu*(np+nn-2*ni); //diffusion
//// cis complex
dnidi = kcp*ni*di - kcm*nidi - ki*nidi;
//// trans complex
dnidj = -ktm*nidj + ktp*dj*ni - ks*nidj;
//// cleaved notch
dsi = ks*nidj -gs*si;
////
dydt[0] = ddi;
dydt[1] = dni;
dydt[2] = dnidi;
dydt[3] = dnidj;
dydt[4] = dsi;
}
void writeState(const state_type y,const double t){
cout<<t<<" ";
for(uint i=0;i<y.size();i++){
cout<<y[i]<<" ";
}
cout<<endl;
}
int main(int argc, char* arg[]){
DeltaNotch1 dn;
state_type y = {{1.0,1.0,0.0,0.0,0.0}};
dn.setContext(1.02,0.98,0,0.3,0,0);
// size_t nsteps=integrate(dummy,y,0.0 , 10.0 , 0.1);
integrate(dn,y,0.0 , 10.0 , 0.1,writeState);
// for(uint i=0;i<5;i++){
// cout<<y[i]<<" ";
// }
// cout<<endl;
}

Event Timeline