29 using ::opencarp::timer_manager;
62 log_msg(NULL, 2, 0,
"Isometric stretch protocol not implemented yet.");
76 double dt = tm->time_step;
81 double strain_rate = (s->
sr-1.)/s->
rise;
82 double inc_strain = strain_rate*dt;
84 miif->
gdata[delLambda]->
set(strain_rate);
85 *(miif->
gdata[Lambda]) += inc_strain;
94 double strain_rate = (s->
sr-1.)/s->
fall;
95 double dec_strain = -strain_rate*dt;
96 miif->
gdata[delLambda]->
set(-strain_rate);
97 miif->
gdata[Lambda]->
set(dec_strain);
void apply_stretch_pulse(MULTI_IF *miif, pulseStretch *s, timer_manager *tm)
void apply_stretch(MULTI_IF *miif, stretch *s, timer_manager *tm)
void initializePulseStretch(float strain, float onset, float duration, float rise, float fall, stretch *s)
virtual void set(const vector< T > &idx, const vector< S > &vals, const bool additive=false)=0
opencarp::sf_vec * gdata[NUM_IMP_DATA_TYPES]
data used by all IMPs
void log_msg(FILE_SPEC out, int level, unsigned char flag, const char *fmt,...)