-
Notifications
You must be signed in to change notification settings - Fork 1
/
ADK_Process.cpp
87 lines (61 loc) · 2.23 KB
/
ADK_Process.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "libecs.hpp"
#include "ContinuousProcess.hpp"
USE_LIBECS;
LIBECS_DM_CLASS( ADK_Process, ContinuousProcess )
{
public:
LIBECS_DM_OBJECT( ADK_Process, Process )
{
INHERIT_PROPERTIES( Process );
PROPERTYSLOT_SET_GET( Real, KADK_AMP );
PROPERTYSLOT_SET_GET( Real, KADK_ATP );
PROPERTYSLOT_SET_GET( Real, KADK_ADP );
PROPERTYSLOT_SET_GET( Real, KADK_eq );
}
ADK_Process()
{
// do nothing
}
SIMPLE_SET_GET_METHOD( Real, KADK_AMP );
SIMPLE_SET_GET_METHOD( Real, KADK_ATP );
SIMPLE_SET_GET_METHOD( Real, KADK_ADP );
SIMPLE_SET_GET_METHOD( Real, KADK_eq );
virtual void initialize()
{
Process::initialize();
VADK_maxf = getVariableReference( "VADK_maxf" ).getVariable();
AMP = getVariableReference( "AMP" ).getVariable();
ATP = getVariableReference( "ATP" ).getVariable();
ADP = getVariableReference( "ADP" ).getVariable();
GX = getVariableReference( "GX" ).getVariable();
}
virtual void fire()
{
Real _SizeN_A = getSuperSystem()->getSizeN_A();
Real VADK_maxr = VADK_maxf->getValue() * KADK_ADP * KADK_ADP / KADK_ATP / KADK_AMP / KADK_eq;
Real ADK_a = VADK_maxf->getValue() * ATP->getMolarConc()*1000.0 * AMP->getMolarConc()*1000.0 / (KADK_ATP * KADK_AMP) - VADK_maxr * ADP->getMolarConc()*1000.0 * ADP->getMolarConc()*1000.0 / (KADK_ADP * KADK_ADP);
Real ADK_b = 1.0 + ATP->getMolarConc()*1000.0 / KADK_ATP + AMP->getMolarConc()*1000.0 / KADK_AMP + ATP->getMolarConc()*1000.0 * AMP->getMolarConc()*1000.0 / (KADK_ATP * KADK_AMP) + 2.0 * ADP->getMolarConc()*1000.0 / KADK_ADP + ADP->getMolarConc()*1000.0 * ADP->getMolarConc()*1000.0 / (KADK_ADP * KADK_ADP);
Real velocity = GX->getValue() * _SizeN_A * ADK_a / ADK_b / 60000.0 / 1000.0;
// if(velocity < 0){
//velocity = 0;
//}
setFlux(velocity);
// setFlux( GX->getValue() * _SizeN_A * ADK_a / ADK_b / 60000.0 / 1000.0);
// setFlux(ADK_a / ADK_b );
//V_ADK.setValue(ADK_a / ADK_b / unit);
// ducky
// T->setValue( Tt->getValue() - TCa->getValue() - TCaCB->getValue() - TCB->getValue() );
}
protected:
Variable* VADK_maxf;
Variable* AMP;
Variable* ATP;
Variable* ADP;
Variable* GX;
Real KADK_AMP;
Real KADK_ATP;
Real KADK_ADP;
Real KADK_eq;
private:
};
LIBECS_DM_INIT( ADK_Process, Process );