• Non ci sono risultati.

Experimental data fitting

Nel documento Master’s Degree Thesis (pagine 85-157)

3.2 Validation of the 0D model

3.3.6 Experimental data fitting

Figure 3.29: Forward reaction rate fitting experimental data with the presence of sur-factant at the interface.

The time step considered are 2446, 7274, 10776 and 13196 seconds, the green line correspond to the experimental values while the blue, yellow and red lines come from the COMSOL model at different kf values. The output which seems to be able of reproducing better the experimental curve is 7 x 107 which is lower than what was utilized in the previous simulations. In Figure 3.29 the same simulation is displayed, in this case the surfactant C12E6 is present at the interface, compared to the result without the surfactant, the data point are even less, in fact only two concentration values are available corresponding to 1731 and 3896 seconds, which can be attributed to the instability issued linked to the measuremnt process. Compared to the another case, in this simulation a larger value of kf is needed to fit the experimental data, the numerber whihc is equal to 2 x 108 correspond to the red line. The second parameter shown together with the experimental data in this subsection is the equilibrium adsorption constant of H2Q, in these simulations the values of the forward reaction rate is kept equal to the starting input value. The results shown in Figure 3.30 and Figure 3.31 display fitting values for the constant which are way lower compared to

Figure 3.30: Equilibrium adsorption constant of H2Q fitting experimental data without the surfactant.

the input values taken from the paper where the hydroquinones were adsorbing on chemically modified bentonites. The outputs equal to 1 x 10−5 in the case without surfactant and 1 x 10−3 with the presence of C12E6 are demonstrating that further studies are needed to gain a deeper knowledge on the initial values but also on the experimental data that are available in a too small number to determine a priori whether the values found in the bibliography can be used in modelling the examined monolayer or not.

Figure 3.31: Equilibrium adsorption constant of H2Q fitting experimental data with the presence of surfactant at the interface.

All the Python codes written for the data handling and the production of the majority of the listed figures are given in Appendix A.

Conclusions

This study is focused on the importance of fuels to meet the global energy demand.

At the beginning the concept a photosynthetic membranes for solar fuels produc-tion has been analyzed and described under a theoretical standpoint. A literature research of the possible electron relays has been conducted in order to find the parameter needed to carry out a COMSOL simulation. At first a validate model of a buffer has been implemented and employed to describe the carbon dioxide dissociation in aqueous solution, subsequently a 0D COMSOL model validated a microkinetic model for homogeneous photocatalytic water oxidation with a view on proving the reliability of the utilized software modules to reproduce the physical phenomena. Subsequently a 1D COMSOL simulation of a surfactant monolayer, where the carbon dioxide is reduced, has been carried out to analyze the main pa-rameters that are affecting the yield of the process, particular attention has been paid to the reduction forward reaction rate and on the Langmuir isotherm param-eters of the electron relays chosen and in the end the model parameter has been put into comparison with experimental data. There is still much work to do to find experimental numerical input values for the model at the gas-liquid interface and future studies may be addressed to the insertion of photoactive molecules inside the COMSOL model of the 1D surfactant monolayer.

Python codes

Mass Conservation

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 d a t a = pd . r e a d _ f w f (’ d a t a _ c o m s o l _ m o l . txt ’) 19 d a t a

20 21

22 # In [ ]:

23 24

25 d a t a . c o l u m n s 26

27

28 # ## CO2 29

30 # In [ ]:

31 32

33 C O 2 _ s u m = []

34 for i in r a n g e (0 , d a t a . s h a p e [ 0 ] ) :

35 C O 2 _ s u m . a p p e n d ( d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 36

37 d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 38

39

40 # In [ ]:

41 42

43 plt .f i g u r e( f i g s i z e = (12 ,8) ) 44 sns . s e t _ s t y l e (’ w h i t e g r i d ’)

45 a = sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O 2 _ s u m ’, d a t a = data , p a l e t t e = ’ r a i n b o w ’, l i n e w i d t h = 3) 46 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O 2 _ c o n c _ g a s ’, d a t a = data , l i n e w i d t h = 2 )

47 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O 2 _ c o n c _ l i q ’, d a t a = data , l i n e w i d t h = 2) 48 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O 2 _ s u r f _ c o n c ’, d a t a = data , l i n e w i d t h = 2) 49

50 a .set( y s c a l e = ’ log ’)

51 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15)

52 plt .y l a b e l(’ CO2 c o n c e n t r a t i o n [ mol / m ^2] ’, s i z e = 15) 53 plt .t i t l e(’ CO2 m o l e s sum ’, f o n t w e i g h t = " b o l d ", s i z e = 15) 54 plt .l e g e n d([’ C O 2 _ s u m ’,’ C O 2 _ g a s ’, ’ C O 2 _ l i q u i d ’, ’ C O 2 _ s u r f ’]) 55 plt . x l i m ( - 0 . 0 0 1 , 3 0 0 0 0 )

56

57 # plt . s a v e f i g ( ’ C O 2 _ m c . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 58 plt . s a v e f i g (’ C O 2 l o g _ m c . PNG ’, b b o x _ i n c h e s = " t i g h t ") 59

60 61 # ## CO 62

63 # In [ ]:

64 65

66 C O _ s u m = []

67 for i in r a n g e (0 , d a t a . s h a p e [ 0 ] ) :

68 C O _ s u m . a p p e n d ( d a t a [’ C O _ c o n c _ g a s ’][ i ] + d a t a [’ C O _ c o n c _ l i q ’][ i ] + d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 69

70 d a t a [’ C O _ s u m ’]= C O _ s u m 71

72

73 # In [ ]:

74 75

76 plt .f i g u r e( f i g s i z e = (12 ,8) ) 77 sns . s e t _ s t y l e (’ w h i t e g r i d ’)

78 a = sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O _ s u m ’, d a t a = data , p a l e t t e = ’ r a i n b o w ’, l i n e w i d t h = 3) 79 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O _ c o n c _ g a s ’, d a t a = data , l i n e w i d t h = 2 )

80 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O _ c o n c _ l i q ’, d a t a = data , l i n e w i d t h = 2) 81 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ C O _ s u r f _ c o n c ’, d a t a = data , l i n e w i d t h = 2) 82

83 a .set( y s c a l e = ’ log ’)

84 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15)

85 plt .y l a b e l(’ CO c o n c e n t r a t i o n [ mol / m ^2] ’, s i z e = 15) 86 plt .t i t l e(’ CO m o l e s sum ’, f o n t w e i g h t = " b o l d ", s i z e = 15) 87 plt .l e g e n d([’ C O _ s u m ’,’ C O _ g a s ’, ’ C O _ l i q u i d ’, ’ C O _ s u r f ’]) 88 plt . x l i m ( - 0 . 0 0 1 , 3 0 0 0 0 )

89

90 # plt . s a v e f i g ( ’ C O _ m c . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 91 plt . s a v e f i g (’ C O l o g _ m c . PNG ’, b b o x _ i n c h e s = " t i g h t ") 92

93

94 # ## H2Q 95

96 # In [ ]:

97 98

99 H 2 Q _ s u m = []

100 for i in r a n g e (0 , d a t a . s h a p e [ 0 ] ) :

101 H 2 Q _ s u m . a p p e n d ( d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 102

103 d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 104

105

106 # In [ ]:

107 108

109 plt .f i g u r e( f i g s i z e = (12 ,8) ) 110 sns . s e t _ s t y l e (’ w h i t e g r i d ’)

111 a = sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H 2 Q _ s u m ’, d a t a = data , p a l e t t e = ’ r a i n b o w ’, l i n e w i d t h = 3) 112

113 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H 2 Q _ c o n c _ l i q ’, d a t a = data , l i n e w i d t h = 2) 114 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H 2 Q _ s u r f _ c o n c ’, d a t a = data , l i n e w i d t h = 2) 115

116 a .set( y s c a l e = ’ log ’)

117 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15)

118 plt .y l a b e l(’ H2Q c o n c e n t r a t i o n [ mol / m ^2] ’, s i z e = 15) 119 plt .t i t l e(’ H2Q m o l e s sum ’, f o n t w e i g h t = " b o l d ", s i z e = 15) 120 plt .l e g e n d([’ H 2 Q _ s u m ’, ’ H 2 Q _ l i q u i d ’, ’ H 2 Q _ s u r f ’])

121 plt . x l i m ( - 0 . 0 0 1 , 3 0 0 0 0 ) 122

123 # plt . s a v e f i g ( ’ H 2 Q _ m c . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 124 plt . s a v e f i g (’ H 2 Q l o g _ m c . PNG ’, b b o x _ i n c h e s = " t i g h t ") 125

126 127 # ## HQ 128

129 # In [ ]:

130 131

132 H Q _ s u m = []

133 for i in r a n g e (0 , d a t a . s h a p e [ 0 ] ) :

134 H Q _ s u m . a p p e n d ( d a t a [’ H Q _ c o n c _ l i q ’][ i ] + d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 135

136 d a t a [’ H Q _ s u m ’]= H Q _ s u m 137

138

139 # In [ ]:

140 141

142 plt .f i g u r e( f i g s i z e = (12 ,8) ) 143 sns . s e t _ s t y l e (’ w h i t e g r i d ’)

144 a = sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H Q _ s u m ’, d a t a = data , p a l e t t e = ’ r a i n b o w ’, l i n e w i d t h = 3) 145

146 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H Q _ c o n c _ l i q ’, d a t a = data , l i n e w i d t h = 2) 147 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H Q _ s u r f _ c o n c ’, d a t a = data , l i n e w i d t h = 2) 148

149 a .set( y s c a l e = ’ log ’)

150 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15)

151 plt .y l a b e l(’ HQ c o n c e n t r a t i o n [ mol / m ^2] ’, s i z e = 15) 152 plt .t i t l e(’ HQ m o l e s sum ’, f o n t w e i g h t = " b o l d ", s i z e = 15) 153 plt .l e g e n d([’ H Q _ s u m ’, ’ H Q _ l i q u i d ’, ’ H Q _ s u r f ’])

154 plt . x l i m ( - 0 . 0 0 1 , 3 0 0 0 0 ) 155

156 # plt . s a v e f i g ( ’ H Q _ m c . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 157 plt . s a v e f i g (’ H Q l o g _ m c . PNG ’, b b o x _ i n c h e s = " t i g h t ") 158

159

160 # ## H2O 161

162 # In [ ]:

163 164

165 plt .f i g u r e( f i g s i z e = (12 ,8) ) 166 sns . s e t _ s t y l e (’ w h i t e g r i d ’) 167

168

169 sns . l i n e p l o t ( x = ’ T i m e ’, y = ’ H 2 O _ c o n c _ l i q ’, d a t a = data , l i n e w i d t h = 2) 170

171

172 a .set( y s c a l e = ’ log ’)

173 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15)

174 plt .y l a b e l(’ H2O c o n c e n t r a t i o n [ mol / m ^2] ’, s i z e = 15) 175 plt .t i t l e(’ H2O m o l e s sum ’, f o n t w e i g h t = " b o l d ", s i z e = 15) 176 plt .l e g e n d([ ’ H 2 O _ l i q u i d ’])

177 plt . x l i m ( - 0 . 0 0 1 , 3 0 0 0 0 ) 178

179 # plt . s a v e f i g ( ’ H 2 O _ m c . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 180 plt . s a v e f i g (’ H 2 O l o g _ m c . PNG ’, b b o x _ i n c h e s = " t i g h t ") 181

182

183 # In [ ]:

184 185

186 pd . o p t i o n s . d i s p l a y . m a x _ r o w s = N o n e 187 d a t a

188 189

190 # In [ ]:

191 192

193 col = [’ C O 2 _ m a s s [ g / m ^2] ’, ’ C O _ m a s s [ g / m ^2] ’, ’ H 2 Q _ m a s s [ g / m ^2] ’, ’ H Q _ m a s s [ g / m ^2] ’, ’ H 2 O _ m a s s [ g / m ^2] ’]

194 m a s s = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = l i s t ( r a n g e (0 , d a t a . s h a p e [ 0 ] ) ) ) 195 PM = {’ P M _ C O 2 ’:44 , ’ P M _ C O ’:28 , ’ P M _ H 2 Q ’:110 , ’ P M _ H Q ’:109 , ’ P M _ H 2 O ’: 1 8 } 196 for i in r a n g e (0 , m a s s . s h a p e [ 0 ] ) :

197 m a s s [ col [ 0 ] ] [ i ] = d a t a [’ C O 2 _ s u m ’][ i ] * PM [’ P M _ C O 2 ’]

198 m a s s [ col [ 1 ] ] [ i ] = d a t a [’ C O _ s u m ’][ i ] * PM [’ P M _ C O ’]

199 m a s s [ col [ 2 ] ] [ i ] = d a t a [’ H 2 Q _ s u m ’][ i ] * PM [’ P M _ H 2 Q ’]

200 m a s s [ col [ 3 ] ] [ i ] = d a t a [’ H Q _ s u m ’][ i ] * PM [’ P M _ H Q ’]

201 m a s s [ col [ 4 ] ] [ i ] = d a t a [’ H 2 O _ c o n c _ l i q ’][ i ] * PM [’ P M _ H 2 O ’]

202 203

204 # In [ ]:

205 206

207 m a s s [’ SUM [ g / m ^2] ’] = m a s s .sum(a x i s = 1) 208

209 m a s s = pd . c o n c a t ([ d a t a [’ T i m e ’] , m a s s ] , a x i s = 1) 210

211

212 # In [ ]:

213 214

215 d e l t a = []

216

217 for i in r a n g e (0 , m a s s . s h a p e [ 0 ] ) :

218 d e l t a . a p p e n d ( m a s s [’ SUM [ g / m ^2] ’][ i ] - m a s s [’ SUM [ g / m ^2] ’] [ 0 ] ) 219

220

221 # In [ ]:

222 223

224 m a s s [’ d e l t a [ g / m ^2] ’] = d e l t a 225

226

227 # In [ ]:

228 229

230 m a s s . s e t _ i n d e x ([’ T i m e ’] , d r o p = True , i n p l a c e = T r u e ) 231 m a s s

Animation H2Q each hour

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 f r o m m a t p l o t l i b i m p o r t a n i m a t i o n 8 f r o m I P y t h o n . d i s p l a y i m p o r t H T M L 9 i m p o r t n u m p y as np

10 f r o m m a t p l o t l i b i m p o r t p y p l o t

11 g e t _ i p y t h o n () . r u n _ l i n e _ m a g i c (’ m a t p l o t l i b ’, ’ i n l i n e ’) 12 i m p o r t p a n d a s as pd

13 14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ H 2 Q _ s p a c e _ h o u r . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23 24

25 x = s t a r t _ d a t a [’ X ’]

26 col = s t a r t _ d a t a . c o l u m n s 27 y_0 = s t a r t _ d a t a [ col [ 1 ] ] 28

29

30 # In [ ]:

31 32

33 fig = p y p l o t .f i g u r e( f i g s i z e =(8.0 , 6 . 0 ) ) 34 p y p l o t .x l a b e l(’ X - c o o r d i n a t e [ m ] ’, s i z e = 12) 35 p y p l o t .y l a b e l(’ H2Q c o n c [ mol / m ^2] ’, s i z e = 12)

36 p y p l o t .t i t l e(’ h H2Q s p a t i a l d i s t r i b u t i o n ’, s i z e = 12 , loc = ’ r i g h t ’) 37 p y p l o t .g r i d()

38

39 p y p l o t . y l i m (0.0 , 1 0 5 . 0 ) 40 p y p l o t . x l i m ( 0 . 0 , 0 . 0 0 5 )

41 l i n e = p y p l o t .p l o t( x , y_0 , c o l o r =’ tab : b l u e ’, l i n e w i d t h = 4) [0]

42 # l i n e = p y p l o t . s e m i l o g x ( x , y_1h ,

43 # c o l o r = ’ C0 ’ , l i n e s t y l e = ’ dotted ’ , l i n e w i d t h =2) [0]

44

45 fig . t i g h t _ l a y o u t () 46

47

48 # In [ ]:

49 50

51 ts = len ( col ) -1 52 ts

53 54

55 # In [ ]:

56 57

58 y _ h i s t = []

59 y = y_0 . c o p y () 60 for i in r a n g e (0 , ts ) :

61 y = s t a r t _ d a t a [ col [ i + 1 ] ] 62 y _ h i s t . a p p e n d ( y ) 63

64

65 # In [ ]:

66 67

68 def u p d a t e _ p l o t ( n , y _ h i s t ) : 69 " " "

70 U p d a t e the l i n e y - d a t a of the M a t p l o t l i b f i g u r e . 71

72 P a r a m e t e r s 73

-74 n : i n t e g e r

75 The time - s t e p i n d e x .

76 y _ h i s t : l i s t of n u m p y . n d a r r a y o b j e c t s 77 The h i s t o r y of the n u m e r i c a l s o l u t i o n . 78 " " "

79 fig . s u p t i t l e (’ T i m e s t e p {:0 >2} ’.f o r m a t( n ) ) 80 l i n e. s e t _ y d a t a ( y _ h i s t [ n ])

81 82

83 # In [ ]:

84 85

86 a n i m = a n i m a t i o n . F u n c A n i m a t i o n ( fig , u p d a t e _ p l o t ,

87 f r a m e s = ts , f a r g s =( y_hist ,) ,

88 i n t e r v a l = 1 0 0 0 )

89 # D i s p l a y the v i d e o . 90 H T M L ( a n i m . t o _ h t m l 5 _ v i d e o () ) 91

92

93 # In [ ]:

94 95

96 a n i m .s a v e(’ H 2 Q _ e a c h H . MP4 ’)

Animation H2Q until 1 hour

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 f r o m m a t p l o t l i b i m p o r t a n i m a t i o n 8 f r o m I P y t h o n . d i s p l a y i m p o r t H T M L 9 i m p o r t n u m p y as np

10 f r o m m a t p l o t l i b i m p o r t p y p l o t

11 g e t _ i p y t h o n () . r u n _ l i n e _ m a g i c (’ m a t p l o t l i b ’, ’ i n l i n e ’) 12 i m p o r t p a n d a s as pd

13 14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ H 2 Q _ s p a c e _ f i r s t h o u r . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23 24

25 x = s t a r t _ d a t a [’ X ’]

26 col = s t a r t _ d a t a . c o l u m n s 27 y_0 = s t a r t _ d a t a [ col [ 1 ] ] 28

29

30 # In [ ]:

31 32

33 fig = p y p l o t .f i g u r e( f i g s i z e =(8.0 , 6 . 0 ) ) 34 p y p l o t .x l a b e l(’ X - c o o r d i n a t e [ m ] ’, s i z e = 12) 35 p y p l o t .y l a b e l(’ H2Q c o n c [ mol / m ^2] ’, s i z e = 12)

36 p y p l o t .t i t l e(’ H2Q s p a t i a l d i s t r i b u t i o n u n t i l 1 h o u r ’, s i z e = 12 , loc = ’ r i g h t ’) 37 p y p l o t .g r i d()

38

39 p y p l o t . y l i m (0.0 , 1 0 5 . 0 ) 40 p y p l o t . x l i m ( 0 . 0 , 0 . 0 0 5 )

41 l i n e = p y p l o t .p l o t( x , y_0 , c o l o r =’ tab : b l u e ’, l i n e w i d t h = 4) [0]

42 # l i n e = p y p l o t . s e m i l o g x ( x , y_1h ,

43 # c o l o r = ’ C0 ’ , l i n e s t y l e = ’ dotted ’ , l i n e w i d t h =2) [0]

44

45 fig . t i g h t _ l a y o u t () 46

47

48 # In [ ]:

49 50

51 ts = len ( col ) -1 52 y _ h i s t = []

53 y = y_0 . c o p y () 54 for i in r a n g e (0 , ts ) :

55 y = s t a r t _ d a t a [ col [ i + 1 ] ] 56 y _ h i s t . a p p e n d ( y ) 57

58

59 # In [ ]:

60 61

62 def u p d a t e _ p l o t ( n , y _ h i s t ) : 63 " " "

64 U p d a t e the l i n e y - d a t a of the M a t p l o t l i b f i g u r e . 65

66 P a r a m e t e r s

67

-68 n : i n t e g e r

69 The time - s t e p i n d e x .

70 y _ h i s t : l i s t of n u m p y . n d a r r a y o b j e c t s 71 The h i s t o r y of the n u m e r i c a l s o l u t i o n . 72 " " "

73 fig . s u p t i t l e (’ T i m e s t e p {:0 >2} ’.f o r m a t( n ) ) 74 l i n e. s e t _ y d a t a ( y _ h i s t [ n ])

75 76

77 # In [ ]:

78 79

80 a n i m = a n i m a t i o n . F u n c A n i m a t i o n ( fig , u p d a t e _ p l o t ,

81 f r a m e s = ts , f a r g s =( y_hist ,) ,

82 i n t e r v a l = 2 0 0 )

83 # D i s p l a y the v i d e o . 84 H T M L ( a n i m . t o _ h t m l 5 _ v i d e o () ) 85

86

87 # In [ ]:

88 89

90 a n i m .s a v e(’ H 2 Q _ u n t i l 1 H . MP4 ’)

Forward reaction rate

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 d a t a = pd . r e a d _ f w f (’ k f _ e a c h _ h o u r . txt ’) 19 d a t a

20 21

22 # ## CO2 23

24 # In [ ]:

25 26

27 m a r k e r s _ o n = [0 , 1 , 2 , 4 , 5 , 6]

28 29

30 # In [ ]:

31 32

33 sns . s e t _ s t y l e (’ w h i t e g r i d ’) 34 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

35 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ C O 2 _ c o n c _ g a s ’][ d a t a [’ T i m e ( s ) ’] == 14400] , ’ g * ’, m a r k e r s i z e = 15 , 36 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

37 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ C O 2 _ c o n c _ g a s ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ gX ’, m a r k e r s i z e = 12) 38 plt .t i t l e(’ CO2 c o n c e n t r a t i o n in the gas r e g i o n vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15 )

39 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 40 plt .y l a b e l(’ CO2 m o l e s [ mol / m ^2] ’, s i z e = 15) 41 plt .l e g e n d()

42 plt . s a v e f i g (’ C O 2 _ g a s _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 43

44

45 # In [ ]:

46 47

48 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

49 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ C O 2 _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ b * ’, m a r k e r s i z e = 15 , 50 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

51 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ C O 2 _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ bX ’, m a r k e r s i z e = 12) 52 plt .t i t l e(’ CO2 c o n c e n t r a t i o n in the l i q u i d r e g i o n vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15)

53 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 54 plt .y l a b e l(’ CO2 m o l e s [ mol / m ^2] ’, s i z e = 15) 55 plt .l e g e n d()

56 plt . s a v e f i g (’ C O 2 _ l i q u i d _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 57

58

59 # In [ ]:

60 61

62 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

63 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ C O 2 _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ r * ’, m a r k e r s i z e = 15 , 64 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

65 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ C O 2 _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ rX ’, m a r k e r s i z e = 12) 66 plt .t i t l e(’ CO2 c o n c e n t r a t i o n at the s u r f a c e vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15 , loc =’ r i g h t ’)

67 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 68 plt .y l a b e l(’ CO2 m o l e s [ mol / m ^2] ’, s i z e = 15) 69 plt .l e g e n d()

70 plt . s a v e f i g (’ C O 2 _ s u r f a c e _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 71

72 73 # ## CO 74

75 # In [ ]:

76 77

78 sns . s e t _ s t y l e (’ w h i t e g r i d ’)

79 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

80 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ C O _ c o n c _ g a s ’][ d a t a [’ T i m e ( s ) ’] == 14400] , ’ g * ’, m a r k e r s i z e = 15 , 81 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

82 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ C O _ c o n c _ g a s ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ gX ’, m a r k e r s i z e = 12) 83 plt .t i t l e(’ CO c o n c e n t r a t i o n in the gas r e g i o n vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15 )

84 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 85 plt .y l a b e l(’ CO m o l e s [ mol / m ^2] ’, s i z e = 15) 86 plt .l e g e n d()

87 plt . s a v e f i g (’ C O _ g a s _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 88

89

90 # In [ ]:

91 92

93 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

94 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ C O _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ b * ’, m a r k e r s i z e = 15 , 95 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

96 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ C O _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ bX ’, m a r k e r s i z e = 12) 97 plt .t i t l e(’ CO c o n c e n t r a t i o n in the l i q u i d r e g i o n vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15)

98 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 99 plt .y l a b e l(’ CO m o l e s [ mol / m ^2] ’, s i z e = 15) 100 plt .l e g e n d()

101 plt . s a v e f i g (’ C O _ l i q u i d _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 102

103

104 # In [ ]:

105 106

107 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

108 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ C O _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ r * ’, m a r k e r s i z e = 15 , 109 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

110 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ C O _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ rX ’, m a r k e r s i z e = 12) 111 plt .t i t l e(’ CO c o n c e n t r a t i o n at the s u r f a c e vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15 , loc =’ r i g h t ’)

112 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 113 plt .y l a b e l(’ CO m o l e s [ mol / m ^2] ’, s i z e = 15) 114 plt .l e g e n d()

115 plt . s a v e f i g (’ C O _ s u r f a c e _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 116

117

118 # ## H2Q 119

120 # In [ ]:

121 122

123 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

124 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ H 2 Q _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ b * ’, m a r k e r s i z e = 15 , 125 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

126 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ H 2 Q _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ bX ’, m a r k e r s i z e = 12) 127 plt .t i t l e(’ H2Q c o n c e n t r a t i o n in the l i q u i d r e g i o n vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15)

128 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 129 plt .y l a b e l(’ H2Q m o l e s [ mol / m ^2] ’, s i z e = 15) 130 plt .l e g e n d()

131 plt . s a v e f i g (’ H 2 Q _ l i q u i d _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 132

133

134 # In [ ]:

135 136

137 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

138 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ H 2 Q _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ r * ’, m a r k e r s i z e = 15 , 139 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

140 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ H 2 Q _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ rX ’, m a r k e r s i z e = 12) 141 plt .t i t l e(’ H2Q c o n c e n t r a t i o n at the s u r f a c e vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15 , loc =’ r i g h t ’)

142 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 143 plt .y l a b e l(’ H2Q m o l e s [ mol / m ^2] ’, s i z e = 15) 144 plt .l e g e n d()

145 plt . s a v e f i g (’ H 2 Q _ s u r f a c e _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 146

147 148 # ## HQ 149

150 # In [ ]:

151 152

153 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

154 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ H Q _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ b * ’, m a r k e r s i z e = 15 , 155 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

156 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ H Q _ c o n c _ l i q ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ bX ’, m a r k e r s i z e = 12) 157 plt .t i t l e(’ HQ c o n c e n t r a t i o n in the l i q u i d r e g i o n vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15)

158 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 159 plt .y l a b e l(’ HQ m o l e s [ mol / m ^2] ’, s i z e = 15) 160 plt .l e g e n d()

161 plt . s a v e f i g (’ H Q _ l i q u i d _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 162

163

164 # In [ ]:

165 166

167 plt .f i g u r e( f i g s i z e = ( 6 . 5 , 5 . 5 ) )

168 plt .s e m i l o g x( d a t a [’ k f _ C O 2 ’]. u n i q u e () , d a t a [’ H Q _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 14400] ,’ r * ’, m a r k e r s i z e = 15 , 169 m a r k e v e r y = m a r k e r s _ o n , l a b e l = ’ t = 14 ,400 s ’)

170 plt .p l o t( d a t a [’ k f _ C O 2 ’]. u n i q u e () [3] , l i s t ( d a t a [’ H Q _ s u r f _ c o n c ’][ d a t a [’ T i m e ( s ) ’] == 1 4 4 0 0 ] ) [3] , ’ rX ’, m a r k e r s i z e = 12) 171 plt .t i t l e(’ HQ c o n c e n t r a t i o n at the s u r f a c e vs k f _ C O 2 ’, f o n t w e i g h t = " b o l d ", s i z e = 15 , loc =’ r i g h t ’)

172 plt .x l a b e l(’ F o r w a r d R e a c t i o n R a t e ’, s i z e = 15) 173 plt .y l a b e l(’ HQ m o l e s [ mol / m ^2] ’, s i z e = 15) 174 plt .l e g e n d()

175 plt . s a v e f i g (’ H Q _ s u r f a c e _ 1 4 4 0 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Forward reaction rate animation through time

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5

6

7 f r o m m a t p l o t l i b i m p o r t a n i m a t i o n 8 f r o m I P y t h o n . d i s p l a y i m p o r t H T M L 9 i m p o r t n u m p y as np

10 f r o m m a t p l o t l i b i m p o r t p y p l o t

11 g e t _ i p y t h o n () . r u n _ l i n e _ m a g i c (’ m a t p l o t l i b ’, ’ i n l i n e ’) 12 i m p o r t p a n d a s as pd

13 14

15 # In [ ]:

16 17

18 pd . o p t i o n s . d i s p l a y . m a x _ r o w s = N o n e 19 p y p l o t . r c P a r a m s [’ f o n t . f a m i l y ’] = ’ s e r i f ’ 20 p y p l o t . r c P a r a m s [’ f o n t . s i z e ’] = 16 21 s t a r t _ d a t a = pd . r e a d _ f w f (’ R O B B A . txt ’) 22 s t a r t _ d a t a

23 24

25 # In [ ]:

26 27

28 s t a r t _ d a t a [’ C O 2 _ s u m ’] = s t a r t _ d a t a [[’ C O 2 _ c o n c _ g a s ’,’ C O 2 _ c o n c _ l i q ’,’ C O 2 _ s u r f _ c o n c ’]].sum(a x i s=1) 29 s t a r t _ d a t a [’ C O _ s u m ’] = s t a r t _ d a t a [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 30 s t a r t _ d a t a [’ H 2 Q _ s u m ’] = s t a r t _ d a t a [[’ H 2 Q _ c o n c _ l i q ’,’ H 2 Q _ s u r f _ c o n c ’]].sum(a x i s=1)

31 s t a r t _ d a t a [’ H Q _ s u m ’] = s t a r t _ d a t a [[’ H Q _ c o n c _ l i q ’,’ H Q _ s u r f _ c o n c ’]].sum(a x i s=1) 32

33

34 # ## CO2 35

36 # In [ ]:

37 38

39 x = s t a r t _ d a t a [’ k f _ C O 2 ’]. u n i q u e ()

40 y _ 1 h = s t a r t _ d a t a [’ C O 2 _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == 0]

41 42

43 # In [ ]:

44 45

46 fig = p y p l o t .f i g u r e( f i g s i z e =(8.0 , 6 . 0 ) )

47 p y p l o t .x l a b e l(’ F o r w a r d r e a c t i o n r a t e ’, s i z e = 12) 48 p y p l o t .y l a b e l(’ C O 2 _ c o n c [ mol / m ^2] ’, s i z e = 12)

49 p y p l o t .t i t l e(’ h t o t a l # of CO2 m o l e s vs k f _ C O 2 ’, s i z e = 11 , loc = ’ r i g h t ’) 50 p y p l o t .g r i d()

51

52 p y p l o t . y l i m (0.300 , 0 . 4 1 0 ) 53

54 l i n e = p y p l o t .s e m i l o g x( x , y_1h ,’ g * ’, c o l o r =’ tab : o r a n g e ’, m a r k e r s i z e = 15) [0]

55 # l i n e = p y p l o t . s e m i l o g x ( x , y_1h ,

56 # c o l o r = ’ C0 ’ , l i n e s t y l e = ’ dotted ’ , l i n e w i d t h =2) [0]

57

58 fig . t i g h t _ l a y o u t () 59

60

61 # In [ ]:

62 63

64 t i m e _ s t e p = s t a r t _ d a t a [’ T i m e ( s ) ’]. u n i q u e () 65 ts = len ( t i m e _ s t e p )

66

67 y _ h i s t = []

68 y = y _ 1 h . c o p y () 69 for i in r a n g e (0 , ts ) :

70 y = s t a r t _ d a t a [’ C O 2 _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == t i m e _ s t e p [ i ]]

71 y _ h i s t . a p p e n d ( y ) 72

73

74 # In [ ]:

75 76

77 def u p d a t e _ p l o t ( n , y _ h i s t ) : 78 " " "

79 U p d a t e the l i n e y - d a t a of the M a t p l o t l i b f i g u r e . 80

81 P a r a m e t e r s 82

-83 n : i n t e g e r

84 The time - s t e p i n d e x .

85 y _ h i s t : l i s t of n u m p y . n d a r r a y o b j e c t s 86 The h i s t o r y of the n u m e r i c a l s o l u t i o n . 87 " " "

88 fig . s u p t i t l e (’ T i m e s t e p {:0 >2} ’.f o r m a t( n ) ) 89 l i n e. s e t _ y d a t a ( y _ h i s t [ n ])

90 91

92 # In [ ]:

93 94

95 a n i m = a n i m a t i o n . F u n c A n i m a t i o n ( fig , u p d a t e _ p l o t ,

96 f r a m e s = ts , f a r g s =( y_hist ,) ,

97 i n t e r v a l = 1 0 0 0 )

98 # D i s p l a y the v i d e o . 99 H T M L ( a n i m . t o _ h t m l 5 _ v i d e o () ) 100

101

102 # In [ ]:

103 104

105 a n i m .s a v e(’ C O 2 _ k f . MP4 ’) 106

107 108 # ## CO 109

110 # In [ ]:

111 112

113 y _ 1 h = s t a r t _ d a t a [’ C O _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == 0]

114 115

116 # In [ ]:

117 118

119 fig = p y p l o t .f i g u r e( f i g s i z e =(8.0 , 6 . 0 ) )

120 p y p l o t .x l a b e l(’ F o r w a r d r e a c t i o n r a t e ’, s i z e = 12) 121 p y p l o t .y l a b e l(’ C O _ c o n c [ mol / m ^2] ’, s i z e = 12)

122 p y p l o t .t i t l e(’ h t o t a l # of CO m o l e s vs k f _ C O 2 ’, s i z e = 11 , loc = ’ r i g h t ’) 123 p y p l o t .g r i d()

124

125 p y p l o t . y l i m ( -0.010 , 0 . 1 0 0 ) 126

127 l i n e = p y p l o t .s e m i l o g x( x , y_1h ,’ g * ’, c o l o r =’ tab : p u r p l e ’, m a r k e r s i z e = 15) [0]

128 # l i n e = p y p l o t . s e m i l o g x ( x , y_1h ,

129 # c o l o r = ’ C0 ’ , l i n e s t y l e = ’ dotted ’ , l i n e w i d t h =2) [0]

130

131 fig . t i g h t _ l a y o u t () 132

133

134 # In [ ]:

135 136

137 t i m e _ s t e p = s t a r t _ d a t a [’ T i m e ( s ) ’]. u n i q u e () 138 ts = len ( t i m e _ s t e p )

139

140 y _ h i s t = []

141 y = y _ 1 h . c o p y () 142 for i in r a n g e (0 , ts ) :

143 y = s t a r t _ d a t a [’ C O _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == t i m e _ s t e p [ i ]]

144 y _ h i s t . a p p e n d ( y ) 145

146

147 # In [ ]:

148 149

150 def u p d a t e _ p l o t ( n , y _ h i s t ) :

151 fig . s u p t i t l e (’ T i m e s t e p {:0 >2} ’.f o r m a t( n ) ) 152 l i n e. s e t _ y d a t a ( y _ h i s t [ n ])

153 154

155 # In [ ]:

156 157

158 a n i m = a n i m a t i o n . F u n c A n i m a t i o n ( fig , u p d a t e _ p l o t ,

159 f r a m e s = ts , f a r g s =( y_hist ,) ,

160 i n t e r v a l = 1 0 0 0 )

161 # D i s p l a y the v i d e o . 162 H T M L ( a n i m . t o _ h t m l 5 _ v i d e o () ) 163

164

165 # In [ ]:

166 167

168 a n i m .s a v e(’ C O _ k f . MP4 ’) 169

170

171 # ## H2Q 172

173 # In [ ]:

174 175

176 y _ 1 h = s t a r t _ d a t a [’ H 2 Q _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == 0]

177 178

179 # In [ ]:

180 181

182 fig = p y p l o t .f i g u r e( f i g s i z e =(8.0 , 6 . 0 ) )

183 p y p l o t .x l a b e l(’ F o r w a r d r e a c t i o n r a t e ’, s i z e = 12) 184 p y p l o t .y l a b e l(’ H 2 Q _ c o n c [ mol / m ^2] ’, s i z e = 12)

185 p y p l o t .t i t l e(’ h t o t a l # of H2Q m o l e s vs k f _ C O 2 ’, s i z e = 11 , loc = ’ r i g h t ’) 186 p y p l o t .g r i d()

187

188 p y p l o t . y l i m (0.300 , 0 . 5 1 0 ) 189

190 l i n e = p y p l o t .s e m i l o g x( x , y_1h ,’ g * ’, c o l o r =’ tab : c y a n ’, m a r k e r s i z e = 15) [0]

191 # l i n e = p y p l o t . s e m i l o g x ( x , y_1h ,

192 # c o l o r = ’ C0 ’ , l i n e s t y l e = ’ dotted ’ , l i n e w i d t h =2) [0]

193

194 fig . t i g h t _ l a y o u t () 195

196

197 # In [ ]:

198 199

200 t i m e _ s t e p = s t a r t _ d a t a [’ T i m e ( s ) ’]. u n i q u e () 201 ts = len ( t i m e _ s t e p )

202

203 y _ h i s t = []

204 y = y _ 1 h . c o p y () 205 for i in r a n g e (0 , ts ) :

206 y = s t a r t _ d a t a [’ H 2 Q _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == t i m e _ s t e p [ i ]]

207 y _ h i s t . a p p e n d ( y ) 208

209

210 # In [ ]:

211 212

213 def u p d a t e _ p l o t ( n , y _ h i s t ) :

214 fig . s u p t i t l e (’ T i m e s t e p {:0 >2} ’.f o r m a t( n ) ) 215 l i n e. s e t _ y d a t a ( y _ h i s t [ n ])

216 217

218 # In [ ]:

219 220

221 a n i m = a n i m a t i o n . F u n c A n i m a t i o n ( fig , u p d a t e _ p l o t ,

222 f r a m e s = ts , f a r g s =( y_hist ,) ,

223 i n t e r v a l = 1 0 0 0 )

224 # D i s p l a y the v i d e o . 225 H T M L ( a n i m . t o _ h t m l 5 _ v i d e o () ) 226

227

228 # In [ ]:

229 230

231 a n i m .s a v e(’ H 2 Q _ k f . MP4 ’) 232

233 234 # ## HQ 235

236 # In [ ]:

237 238

239 y _ 1 h = s t a r t _ d a t a [’ H Q _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == 0]

240 241

242 # In [ ]:

243 244

245 fig = p y p l o t .f i g u r e( f i g s i z e =(8.0 , 6 . 0 ) )

246 p y p l o t .x l a b e l(’ F o r w a r d r e a c t i o n r a t e ’, s i z e = 12) 247 p y p l o t .y l a b e l(’ H Q _ c o n c [ mol / m ^2] ’, s i z e = 12)

248 p y p l o t .t i t l e(’ h t o t a l # of HQ m o l e s vs k f _ C O 2 ’, s i z e = 11 , loc = ’ r i g h t ’) 249 p y p l o t .g r i d()

250

251 p y p l o t . y l i m ( -0.010 , 0 . 2 0 0 ) 252

253 l i n e = p y p l o t .s e m i l o g x( x , y_1h ,’ g * ’, c o l o r =’ tab : o l i v e ’, m a r k e r s i z e = 15) [0]

254 # l i n e = p y p l o t . s e m i l o g x ( x , y_1h ,

255 # c o l o r = ’ C0 ’ , l i n e s t y l e = ’ dotted ’ , l i n e w i d t h =2) [0]

256

257 fig . t i g h t _ l a y o u t () 258

259

260 # In [ ]:

261 262

263 t i m e _ s t e p = s t a r t _ d a t a [’ T i m e ( s ) ’]. u n i q u e () 264 ts = len ( t i m e _ s t e p )

265

266 y _ h i s t = []

267 y = y _ 1 h . c o p y () 268 for i in r a n g e (0 , ts ) :

269 y = s t a r t _ d a t a [’ H Q _ s u m ’][ s t a r t _ d a t a [’ T i m e ( s ) ’] == t i m e _ s t e p [ i ]]

270 y _ h i s t . a p p e n d ( y ) 271

272

273 # In [ ]:

274 275

276 def u p d a t e _ p l o t ( n , y _ h i s t ) :

277 fig . s u p t i t l e (’ T i m e s t e p {:0 >2} ’.f o r m a t( n ) ) 278 l i n e. s e t _ y d a t a ( y _ h i s t [ n ])

279 280

281 # In [ ]:

282 283

284 a n i m = a n i m a t i o n . F u n c A n i m a t i o n ( fig , u p d a t e _ p l o t ,

285 f r a m e s = ts , f a r g s =( y_hist ,) ,

286 i n t e r v a l = 1 0 0 0 )

287 # D i s p l a y the v i d e o . 288 H T M L ( a n i m . t o _ h t m l 5 _ v i d e o () ) 289

290

291 # In [ ]:

292 293

294 a n i m .s a v e(’ H Q _ k f . MP4 ’)

Heatmap CO2 case 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ C O 2 _ K H _ G a m m a . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23

24

25 C O 2 _ s u m = []

26 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

27 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 28

29 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 30

31 C O _ s u m = []

32 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

33 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 34

35 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 36

37 H 2 Q _ s u m = []

38 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

39 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 40

41 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 42

43 H Q _ s u m = []

44 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

45 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 46

47 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 48

49

50 # In [ ]:

51 52

53 s t a r t _ d a t a 54

55

56 # In [ ]:

57 58

59 d a t a 1 = s t a r t _ d a t a [[’ G a m m a _ s C O 2 ’,’ K H _ C O 2 ’,’ C O 2 _ s u m ’]]

60 61

62 # In [ ]:

63 64

65 k _ d e s = int ( 1 0 0 0 0 ) 66 K _ a d s = []

67 for i in r a n g e (0 , d a t a 1 . s h a p e [ 0 ] ) : 68 K _ a d s . a p p e n d ( d a t a 1 [’ K H _ C O 2 ’][ i ] * k _ d e s ) 69

70 d a t a 1 [’ K _ a d s o r p t i o n ’] = pd . S e r i e s ( K _ a d s ) 71

72

73 # In [ ]:

74 75

76 d a t a 1 . d r o p ([’ K H _ C O 2 ’] , a x i s = 1 , i n p l a c e = T r u e ) 77

78

79 # In [ ]:

80 81

82 row =[]

83 n _ v a l u e s = 7

84 for i in r a n g e (0 , n _ v a l u e s ) : 85 row . a p p e n d (r o u n d( K _ a d s [ i ] ,6) ) 86

87 col = d a t a 1 [’ G a m m a _ s C O 2 ’]. u n i q u e () 88 row . r e v e r s e ()

89 90

91 # In [ ]:

92 93

94 d a t a 2 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 95 d a t a 2

96 97

98 # In [ ]:

99 100

101 s t a r t = 0 102 end = n _ v a l u e s

103 for i in r a n g e (0 , len ( col ) ) : 104 t o d f = C O 2 _ s u m [ s t a r t :end]

105 t o d f . r e v e r s e () 106 d a t a 2 [ col [ i ]] = t o d f 107 s t a r t = s t a r t + n _ v a l u e s 108 end = end+ n _ v a l u e s 109

110 d a t a 2 111 112

113 # In [ ]:

114 115

116 plt .f i g u r e( f i g s i z e = (10 ,8) )

117 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ v i r i d i s ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’}) 118 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

119 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

120 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20)

121 # plt . s a v e f i g ( ’ C O 2 _ 3 _ h e a t m a p _ v a r C O 2 . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 122

123

124 # In [ ]:

125 126

127 d a t a 3 = d a t a 2 . c o p y () 128 s t a r t = 0

129 end = n _ v a l u e s

130 for i in r a n g e (0 , len ( col ) ) : 131 t o d f = C O _ s u m [ s t a r t :end]

132 t o d f . r e v e r s e () 133 d a t a 3 [ col [ i ]] = t o d f 134 s t a r t = s t a r t + n _ v a l u e s 135 end = end+ n _ v a l u e s 136

137 d a t a 3 138 139

140 # In [ ]:

141 142

143 plt .f i g u r e( f i g s i z e = (10 ,8) )

144 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ c r e s t ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’}) 145 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

146 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

147 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20) 148 # plt . s a v e f i g ( ’ C O _ 3 _ h e a t m a p _ v a r C O 2 . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 149

150

151 # ## H2Q 152

153 # In [ ]:

154 155

156 d a t a 4 = d a t a 2 . c o p y () 157 s t a r t = 0

158 end = n _ v a l u e s

159 for i in r a n g e (0 , len ( col ) ) : 160 t o d f = H 2 Q _ s u m [ s t a r t :end]

161 t o d f . r e v e r s e () 162 d a t a 4 [ col [ i ]] = t o d f 163 s t a r t = s t a r t + n _ v a l u e s 164 end = end+ n _ v a l u e s 165

166 d a t a 4 167 168

169 # In [ ]:

170 171

172 plt .f i g u r e( f i g s i z e = (10 ,8) )

173 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ B l u e s ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e = 28 ,800 s ’}) 174 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

175 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

176 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20)

177 # plt . s a v e f i g ( ’ H 2 Q _ 3 _ h e a t m a p _ v a r C O 2 . PNG ’ , b b o x _ i n c h e s = " t i g h t ") 178

179 180 # ## HQ 181

182 # In [ ]:

183 184

185 d a t a 5 = d a t a 2 . c o p y () 186 s t a r t = 0

187 end = n _ v a l u e s

188 for i in r a n g e (0 , len ( col ) ) : 189 t o d f = H Q _ s u m [ s t a r t :end]

190 t o d f . r e v e r s e () 191 d a t a 5 [ col [ i ]] = t o d f 192 s t a r t = s t a r t + n _ v a l u e s 193 end = end+ n _ v a l u e s 194

195 d a t a 5 196 197

198 # In [ ]:

199 200

201 plt .f i g u r e( f i g s i z e = (10 ,8) )

202 sns . h e a t m a p ( data5 , a n n o t = True , c m a p = ’ G r e e n s ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’}) 203 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

204 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

205 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20) 206 # plt . s a v e f i g ( ’ H Q _ 3 _ h e a t m a p _ v a r C O 2 . PNG ’ , b b o x _ i n c h e s = " t i g h t ")

Heatmap CO case 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t m a t p l o t l i b . p y p l o t as plt 10 i m p o r t s e a b o r n as sns

11 sns .set( f o n t _ s c a l e = 1 . 3 ) 12

13

14 # In [ ]:

15 16

17 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ C O _ K H _ G a m m a . txt ’) 18 s t a r t _ d a t a

19 20

21 # In [ ]:

22 23

24 C O 2 _ s u m = []

25 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

26 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 27

28 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 29

30 C O _ s u m = []

31 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

32 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 33

34 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 35

36 H 2 Q _ s u m = []

37 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

38 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 39

40 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 41

42 H Q _ s u m = []

43 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

44 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 45

46 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 47

48

49 # In [ ]:

50 51

52 k _ d e s = int ( 1 0 0 0 0 ) 53 K _ a d s = []

54 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) : 55 K _ a d s . a p p e n d ( s t a r t _ d a t a [’ K H _ C O ’][ i ] * k _ d e s ) 56

57 58

59 # In [ ]:

60 61

62 row =[]

63 n _ v a l u e s = 7

64 for i in r a n g e (0 , n _ v a l u e s ) : 65 row . a p p e n d (r o u n d( K _ a d s [ i ] ,6) ) 66

67 col = s t a r t _ d a t a [’ G a m m a _ s C O ’]. u n i q u e () 68 col = np . r o u n d _ ( col , d e c i m a l s = 11) 69 row . r e v e r s e ()

70 71

72 # ## CO2 73

74 # In [ ]:

75 76

77 d a t a 1 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 78 d a t a 1

79 80

81 # In [ ]:

82 83

84 s t a r t = 0 85 end = n _ v a l u e s

86 for i in r a n g e (0 , len ( col ) ) : 87 t o d f = C O 2 _ s u m [ s t a r t :end]

88 t o d f . r e v e r s e () 89 d a t a 1 [ col [ i ]] = t o d f 90 s t a r t = s t a r t + n _ v a l u e s 91 end = end+ n _ v a l u e s 92

93 d a t a 1 94 95

96 # In [ ]:

97 98

99 plt .f i g u r e( f i g s i z e = (10 ,8) )

100 sns . h e a t m a p ( data1 , a n n o t = True , c m a p = ’ v i r i d i s ’, v m a x = max( C O 2 _ s u m ) , v m i n = max( C O 2 _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’})

101 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 102 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

103 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 104 plt . s a v e f i g (’ C O 2 _ 3 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ") 105

106 107 # ## CO 108

109 # In [ ]:

110 111

112 d a t a 2 = d a t a 1 . c o p y () 113 s t a r t = 0

114 end = n _ v a l u e s

115 for i in r a n g e (0 , len ( col ) ) : 116 t o d f = C O _ s u m [ s t a r t :end]

117 t o d f . r e v e r s e () 118 d a t a 2 [ col [ i ]] = t o d f 119 s t a r t = s t a r t + n _ v a l u e s 120 end = end+ n _ v a l u e s 121

122 d a t a 2 123 124

125 # In [ ]:

126 127

128 plt .f i g u r e( f i g s i z e = (10 ,8) )

129 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ c r e s t ’, v m a x = max( C O _ s u m ) , v m i n = max( C O _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’})

130 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 131 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

132 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 133 plt . s a v e f i g (’ C O _ 3 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ") 134

135

136 # ## H2Q 137

138 # In [ ]:

139 140

141 d a t a 3 = d a t a 1 . c o p y () 142 s t a r t = 0

143 end = n _ v a l u e s

144 for i in r a n g e (0 , len ( col ) ) : 145 t o d f = H 2 Q _ s u m [ s t a r t :end]

146 t o d f . r e v e r s e () 147 d a t a 3 [ col [ i ]] = t o d f 148 s t a r t = s t a r t + n _ v a l u e s 149 end = end+ n _ v a l u e s 150

151 d a t a 3 152 153

154 # In [ ]:

155 156

157 plt .f i g u r e( f i g s i z e = (10 ,8) )

158 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ B l u e s ’, v m a x = max( H 2 Q _ s u m ) , v m i n = max( H 2 Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e

= 28 ,800 s ’})

159 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 160 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

161 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 162 plt . s a v e f i g (’ H 2 Q _ 3 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ") 163

164 165 # ## HQ 166

167 # In [ ]:

168 169

170 d a t a 4 = d a t a 1 . c o p y () 171 s t a r t = 0

172 end = n _ v a l u e s

173 for i in r a n g e (0 , len ( col ) ) : 174 t o d f = H Q _ s u m [ s t a r t :end]

175 t o d f . r e v e r s e () 176 d a t a 4 [ col [ i ]] = t o d f 177 s t a r t = s t a r t + n _ v a l u e s 178 end = end+ n _ v a l u e s 179

180 d a t a 4 181 182

183 # In [ ]:

184 185

186 plt .f i g u r e( f i g s i z e = (10 ,8) )

187 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ G r e e n s ’, v m a x = max( H Q _ s u m ) , v m i n = max( H Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’})

188 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 189 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

190 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 191 plt . s a v e f i g (’ H Q _ 3 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Heatmap H2Q case 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t m a t p l o t l i b . p y p l o t as plt 10 i m p o r t s e a b o r n as sns

11 sns .set( f o n t _ s c a l e = 1 . 3 ) 12

13

14 # In [ ]:

15 16

17 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ H 2 Q _ K H _ G a m m a . txt ’) 18 s t a r t _ d a t a

19 20

21 # In [ ]:

22 23

24 C O 2 _ s u m = []

25 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

26 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 27

28 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 29

30 C O _ s u m = []

31 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

32 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 33

34 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 35

36 H 2 Q _ s u m = []

37 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

38 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 39

40 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 41

42 H Q _ s u m = []

43 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

44 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 45

46 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 47

48

49 # In [ ]:

50 51

52 k _ d e s = int ( 1 0 0 0 0 ) 53 K _ a d s = []

54 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

55 K _ a d s . a p p e n d ( s t a r t _ d a t a [’ K H _ H 2 Q ’][ i ] * k _ d e s ) 56

57

58 # In [ ]:

59 60

61 row =[]

62 n _ v a l u e s = 7

63 for i in r a n g e (0 , n _ v a l u e s ) : 64 row . a p p e n d (r o u n d( K _ a d s [ i ] ,6) ) 65

66 col = s t a r t _ d a t a [’ G a m m a _ s H 2 Q ’]. u n i q u e () 67 col = np . r o u n d _ ( col , d e c i m a l s = 11) 68 row . r e v e r s e ()

69 70

71 # In [ ]:

72 73

74 d a t a 1 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 75

76

77 # ## CO2 78

79 # In [ ]:

80 81

82 s t a r t = 0 83 end = n _ v a l u e s

84 for i in r a n g e (0 , len ( col ) ) : 85 t o d f = C O 2 _ s u m [ s t a r t :end]

86 t o d f . r e v e r s e () 87 d a t a 1 [ col [ i ]] = t o d f 88 s t a r t = s t a r t + n _ v a l u e s 89 end = end+ n _ v a l u e s 90

91 d a t a 1 92 93

94 # In [ ]:

95 96

97 plt .f i g u r e( f i g s i z e = (10 ,8) )

98 sns . h e a t m a p ( data1 , a n n o t = True , c m a p = ’ v i r i d i s ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’}) 99 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

100 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

101 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 102 plt . s a v e f i g (’ C O 2 _ 3 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 103

104 105 # ## CO 106

107 # In [ ]:

108 109

110 d a t a 2 = d a t a 1 . c o p y () 111 s t a r t = 0

112 end = n _ v a l u e s

113 for i in r a n g e (0 , len ( col ) ) : 114 t o d f = C O _ s u m [ s t a r t :end]

115 t o d f . r e v e r s e () 116 d a t a 2 [ col [ i ]] = t o d f 117 s t a r t = s t a r t + n _ v a l u e s 118 end = end+ n _ v a l u e s 119

120 d a t a 2 121 122

123 # In [ ]:

124 125

126 plt .f i g u r e( f i g s i z e = (10 ,8) )

127 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ c r e s t ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’}) 128 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

129 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

130 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 131 plt . s a v e f i g (’ C O _ 3 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 132

133

134 # ## H2Q 135

136 # In [ ]:

137 138

139 d a t a 3 = d a t a 1 . c o p y () 140 s t a r t = 0

141 end = n _ v a l u e s

142 for i in r a n g e (0 , len ( col ) ) : 143 t o d f = H 2 Q _ s u m [ s t a r t :end]

144 t o d f . r e v e r s e () 145 d a t a 3 [ col [ i ]] = t o d f 146 s t a r t = s t a r t + n _ v a l u e s 147 end = end+ n _ v a l u e s 148

149 d a t a 3 150 151

152 # In [ ]:

153 154

155 plt .f i g u r e( f i g s i z e = (10 ,8) )

156 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ B l u e s ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e = 28 ,800 s ’}) 157 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

158 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

159 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 160 plt . s a v e f i g (’ H 2 Q _ 3 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 161

162 163 # ## HQ 164

165 # In [ ]:

166 167

168 d a t a 4 = d a t a 1 . c o p y () 169 s t a r t = 0

170 end = n _ v a l u e s

171 for i in r a n g e (0 , len ( col ) ) : 172 t o d f = H Q _ s u m [ s t a r t :end]

173 t o d f . r e v e r s e () 174 d a t a 4 [ col [ i ]] = t o d f 175 s t a r t = s t a r t + n _ v a l u e s 176 end = end+ n _ v a l u e s 177

178 d a t a 4 179 180

181 # In [ ]:

182 183

184 plt .f i g u r e( f i g s i z e = (10 ,8) )

185 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ G r e e n s ’, l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’}) 186 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t =" b o l d ")

187 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

188 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 189 plt . s a v e f i g (’ H Q _ 3 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Heatmap HQ case 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t m a t p l o t l i b . p y p l o t as plt 10 i m p o r t s e a b o r n as sns

11 sns .set( f o n t _ s c a l e = 1 . 3 ) 12

13

14 # In [ ]:

15 16

17 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ H Q _ K H _ G a m m a . txt ’) 18 s t a r t _ d a t a

19 20

21 # In [ ]:

22 23

24 C O 2 _ s u m = []

25 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

26 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 27

28 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 29

30 C O _ s u m = []

31 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

32 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 33

34 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 35

36 H 2 Q _ s u m = []

37 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

38 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 39

40 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 41

42 H Q _ s u m = []

43 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

44 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 45

46 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 47

48

49 # In [ ]:

50 51

52 k _ d e s = int ( 1 0 0 0 0 ) 53 K _ a d s = []

54 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

55 K _ a d s . a p p e n d ( s t a r t _ d a t a [’ K H _ H Q ’][ i ] * k _ d e s ) 56

57

58 # In [ ]:

59 60

61 row =[]

62 n _ v a l u e s = 7

63 for i in r a n g e (0 , n _ v a l u e s ) : 64 row . a p p e n d (r o u n d( K _ a d s [ i ] ,6) ) 65

66 col = s t a r t _ d a t a [’ G a m m a _ s H Q ’]. u n i q u e () 67 col = np . r o u n d _ ( col , d e c i m a l s = 11) 68 row . r e v e r s e ()

69 70

71 # In [ ]:

72 73

74 d a t a 1 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 75

76

77 # ## CO2 78

79 # In [ ]:

80 81

82 s t a r t = 0 83 end = n _ v a l u e s

84 for i in r a n g e (0 , len ( col ) ) : 85 t o d f = C O 2 _ s u m [ s t a r t :end]

86 t o d f . r e v e r s e () 87 d a t a 1 [ col [ i ]] = t o d f 88 s t a r t = s t a r t + n _ v a l u e s 89 end = end+ n _ v a l u e s 90

91 d a t a 1 92 93

94 # In [ ]:

95 96

97 plt .f i g u r e( f i g s i z e = (10 ,8) )

98 sns . h e a t m a p ( data1 , a n n o t = True , c m a p = ’ v i r i d i s ’, v m a x = max( C O 2 _ s u m ) , v m i n = max( C O 2 _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’})

99 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 100 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

101 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 102 plt . s a v e f i g (’ C O 2 _ 3 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 103

104 105 # ## CO 106

107 # In [ ]:

108 109

110 d a t a 2 = d a t a 1 . c o p y () 111 s t a r t = 0

112 end = n _ v a l u e s

113 for i in r a n g e (0 , len ( col ) ) : 114 t o d f = C O _ s u m [ s t a r t :end]

115 t o d f . r e v e r s e () 116 d a t a 2 [ col [ i ]] = t o d f 117 s t a r t = s t a r t + n _ v a l u e s 118 end = end+ n _ v a l u e s 119

120 d a t a 2 121 122

123 # In [ ]:

124 125

126 plt .f i g u r e( f i g s i z e = (10 ,8) )

127 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ c r e s t ’, v m a x = max( C O _ s u m ) , v m i n = max( C O _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’})

128 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 129 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

130 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 131 plt . s a v e f i g (’ C O _ 3 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 132

133

134 # ## H2Q 135

136 # In [ ]:

137 138

139 d a t a 3 = d a t a 1 . c o p y () 140 s t a r t = 0

141 end = n _ v a l u e s

142 for i in r a n g e (0 , len ( col ) ) : 143 t o d f = H 2 Q _ s u m [ s t a r t :end]

144 t o d f . r e v e r s e () 145 d a t a 3 [ col [ i ]] = t o d f 146 s t a r t = s t a r t + n _ v a l u e s 147 end = end+ n _ v a l u e s 148

149 d a t a 3 150 151

152 # In [ ]:

153 154

155 plt .f i g u r e( f i g s i z e = (10 ,8) )

156 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ B l u e s ’, v m a x = max( H 2 Q _ s u m ) , v m i n = max( H 2 Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e

= 28 ,800 s ’})

157 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 158 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

159 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 160 plt . s a v e f i g (’ H 2 Q _ 3 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 161

162 163 # ## HQ 164

165 # In [ ]:

166 167

168 d a t a 4 = d a t a 1 . c o p y () 169 s t a r t = 0

170 end = n _ v a l u e s

171 for i in r a n g e (0 , len ( col ) ) : 172 t o d f = H Q _ s u m [ s t a r t :end]

173 t o d f . r e v e r s e () 174 d a t a 4 [ col [ i ]] = t o d f 175 s t a r t = s t a r t + n _ v a l u e s 176 end = end+ n _ v a l u e s 177

178 d a t a 4 179 180

181 # In [ ]:

182 183

184 plt .f i g u r e( f i g s i z e = (10 ,8) )

185 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ G r e e n s ’, v m a x = max( H Q _ s u m ) , v m i n = max( H Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’})

186 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h k _ d e s o r p t i o n _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 187 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

188 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 189 plt . s a v e f i g (’ H Q _ 3 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Heatmap CO2 case 2

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ C O 2 _ K a d s _ G a m m a . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23 24

25 C O 2 _ s u m = []

26 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

27 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 28

29 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 30

31 C O _ s u m = []

32 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

33 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 34

35 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 36

37 H 2 Q _ s u m = []

38 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

39 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 40

41 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 42

43 H Q _ s u m = []

44 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

45 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 46

47 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 48

49

50 # In [ ]:

51 52

53 row =[]

54 n _ v a l u e s = 7

55 for i in r a n g e (0 , n _ v a l u e s ) :

56 row . a p p e n d (r o u n d( s t a r t _ d a t a [’ k _ a d s C O 2 ’][ i ] ,6) ) 57

58 col = s t a r t _ d a t a [’ G a m m a _ s C O 2 ’]. u n i q u e () 59 row . r e v e r s e ()

60 61

62 # In [ ]:

63 64

65 d a t a 2 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 66

67 s t a r t = 0 68 end = n _ v a l u e s

69 for i in r a n g e (0 , len ( col ) ) : 70 t o d f = C O 2 _ s u m [ s t a r t :end]

71 t o d f . r e v e r s e () 72 d a t a 2 [ col [ i ]] = t o d f 73 s t a r t = s t a r t + n _ v a l u e s 74 end = end+ n _ v a l u e s 75

76 d a t a 2 77 78

79 # In [ ]:

80 81

82 plt .f i g u r e( f i g s i z e = (10 ,8) )

83 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ v i r i d i s ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’}) 84 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h K e q _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

85 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

86 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20) 87 plt . s a v e f i g (’ C O 2 _ 2 _ h e a t m a p _ v a r C O 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 88

89

90 # In [ ]:

91 92

93 d a t a 3 = d a t a 2 . c o p y () 94 s t a r t = 0

95 end = n _ v a l u e s

96 for i in r a n g e (0 , len ( col ) ) : 97 t o d f = C O _ s u m [ s t a r t :end]

98 t o d f . r e v e r s e () 99 d a t a 3 [ col [ i ]] = t o d f 100 s t a r t = s t a r t + n _ v a l u e s 101 end = end+ n _ v a l u e s 102

103 d a t a 3 104 105

106 # In [ ]:

107 108

109 plt .f i g u r e( f i g s i z e = (10 ,8) )

110 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ c r e s t ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’}) 111 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h K e q _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

112 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

113 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20) 114 plt . s a v e f i g (’ C O _ 2 _ h e a t m a p _ v a r C O 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 115

116

117 # ## H2Q 118

119 # In [ ]:

120 121

122 d a t a 4 = d a t a 2 . c o p y () 123 s t a r t = 0

124 end = n _ v a l u e s

125 for i in r a n g e (0 , len ( col ) ) : 126 t o d f = H 2 Q _ s u m [ s t a r t :end]

127 t o d f . r e v e r s e () 128 d a t a 4 [ col [ i ]] = t o d f 129 s t a r t = s t a r t + n _ v a l u e s 130 end = end+ n _ v a l u e s 131

132 d a t a 4 133 134

135 # In [ ]:

136 137

138 plt .f i g u r e( f i g s i z e = (10 ,8) )

139 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ B l u e s ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e = 28 ,800 s ’}) 140 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h K e q _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

141 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

142 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20) 143 plt . s a v e f i g (’ H 2 Q _ 2 _ h e a t m a p _ v a r C O 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 144

145 146 # ## HQ 147

148 # In [ ]:

149 150

151 d a t a 5 = d a t a 2 . c o p y () 152 s t a r t = 0

153 end = n _ v a l u e s

154 for i in r a n g e (0 , len ( col ) ) : 155 t o d f = H Q _ s u m [ s t a r t :end]

156 t o d f . r e v e r s e () 157 d a t a 5 [ col [ i ]] = t o d f 158 s t a r t = s t a r t + n _ v a l u e s 159 end = end+ n _ v a l u e s 160

161 d a t a 5 162 163

164 # In [ ]:

165 166

167 plt .f i g u r e( f i g s i z e = (10 ,8) )

168 sns . h e a t m a p ( data5 , a n n o t = True , c m a p = ’ G r e e n s ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’}) 169 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h K e q _ C O 2 = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

170 plt .x l a b e l(’ G a m m a _ C O 2 [ mol / m ^2] ’, s i z e = 20)

171 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O 2 [ m ^3/ mol / s ] ’, s i z e = 20) 172 plt . s a v e f i g (’ H Q _ 2 _ h e a t m a p _ v a r C O 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Heatmap CO case 2

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ C O _ K a d s _ G a m m a . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23 24

25 C O 2 _ s u m = []

26 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

27 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 28

29 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 30

31 C O _ s u m = []

32 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

33 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 34

35 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 36

37 H 2 Q _ s u m = []

38 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

39 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 40

41 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 42

43 H Q _ s u m = []

44 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

45 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 46

47 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 48

49

50 # In [ ]:

51 52

53 row =[]

54 n _ v a l u e s = 7

55 for i in r a n g e (0 , n _ v a l u e s ) :

56 row . a p p e n d (r o u n d( s t a r t _ d a t a [’ k _ a d s C O ’][ i ] ,6) ) 57

58 col = s t a r t _ d a t a [’ G a m m a _ s C O ’]. u n i q u e () 59 col = np . r o u n d _ ( col , d e c i m a l s = 11) 60 row . r e v e r s e ()

61 62

63 # ## CO2 64

65 # In [ ]:

66 67

68 d a t a 1 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 69

70 s t a r t = 0 71 end = n _ v a l u e s

72 for i in r a n g e (0 , len ( col ) ) : 73 t o d f = C O 2 _ s u m [ s t a r t :end]

74 t o d f . r e v e r s e () 75 d a t a 1 [ col [ i ]] = t o d f 76 s t a r t = s t a r t + n _ v a l u e s 77 end = end+ n _ v a l u e s 78

79 d a t a 1 80 81

82 # In [ ]:

83 84

85 plt .f i g u r e( f i g s i z e = (10 ,8) )

86 sns . h e a t m a p ( data1 , a n n o t = True , c m a p = ’ v i r i d i s ’, v m a x = max( C O 2 _ s u m ) , v m i n = max( C O 2 _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’})

87 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h K e q _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 88 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

89 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 90 plt . s a v e f i g (’ C O 2 _ 2 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ") 91

92 93 # ## CO 94

95 # In [ ]:

96 97

98 d a t a 2 = d a t a 1 . c o p y () 99 s t a r t = 0

100 end = n _ v a l u e s

101 for i in r a n g e (0 , len ( col ) ) : 102 t o d f = C O _ s u m [ s t a r t :end]

103 t o d f . r e v e r s e ()

104 d a t a 2 [ col [ i ]] = t o d f 105 s t a r t = s t a r t + n _ v a l u e s 106 end = end+ n _ v a l u e s 107

108 d a t a 2 109 110

111 # In [ ]:

112 113

114 plt .f i g u r e( f i g s i z e = (10 ,8) )

115 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ c r e s t ’, v m a x = max( C O _ s u m ) , v m i n = max( C O _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’})

116 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h K e q _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 117 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

118 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 119 plt . s a v e f i g (’ C O _ 2 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ") 120

121

122 # ## H2Q 123

124 # In [ ]:

125 126

127 d a t a 3 = d a t a 1 . c o p y () 128 s t a r t = 0

129 end = n _ v a l u e s

130 for i in r a n g e (0 , len ( col ) ) : 131 t o d f = H 2 Q _ s u m [ s t a r t :end]

132 t o d f . r e v e r s e () 133 d a t a 3 [ col [ i ]] = t o d f 134 s t a r t = s t a r t + n _ v a l u e s 135 end = end+ n _ v a l u e s 136

137 d a t a 3 138 139

140 # In [ ]:

141 142

143 plt .f i g u r e( f i g s i z e = (10 ,8) )

144 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ B l u e s ’, v m a x = max( H 2 Q _ s u m ) , v m i n = max( H 2 Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e

= 28 ,800 s ’})

145 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h K e q _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 146 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

147 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 148 plt . s a v e f i g (’ H 2 Q _ 2 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ") 149

150 151 # ## HQ 152

153 # In [ ]:

154 155

156 d a t a 4 = d a t a 1 . c o p y () 157 s t a r t = 0

158 end = n _ v a l u e s

159 for i in r a n g e (0 , len ( col ) ) : 160 t o d f = H Q _ s u m [ s t a r t :end]

161 t o d f . r e v e r s e () 162 d a t a 4 [ col [ i ]] = t o d f 163 s t a r t = s t a r t + n _ v a l u e s 164 end = end+ n _ v a l u e s 165

166 d a t a 4 167 168

169 # In [ ]:

170 171

172 plt .f i g u r e( f i g s i z e = (10 ,8) )

173 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ G r e e n s ’, v m a x = max( H Q _ s u m ) , v m i n = max( H Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’})

174 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h K e q _ C O = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 175 plt .x l a b e l(’ G a m m a _ C O [ mol / m ^2] ’, s i z e = 20)

176 plt .y l a b e l(’ k _ a d s o r p t i o n _ C O [ m ^3/ mol / s ] ’, s i z e = 20) 177 plt . s a v e f i g (’ H Q _ 2 _ h e a t m a p _ v a r C O . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Heatmap H2Q case 2

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ H 2 Q _ K a d s _ G a m m a . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23 24

25 C O 2 _ s u m = []

26 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

27 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 28

29 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 30

31 C O _ s u m = []

32 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

33 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 34

35 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 36

37 H 2 Q _ s u m = []

38 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

39 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 40

41 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 42

43 H Q _ s u m = []

44 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

45 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 46

47 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 48

49

50 # In [ ]:

51 52

53 row =[]

54 n _ v a l u e s = 7

55 for i in r a n g e (0 , n _ v a l u e s ) :

56 row . a p p e n d (r o u n d( s t a r t _ d a t a [’ k _ a d s H 2 Q ’][ i ] ,6) ) 57

58 col = s t a r t _ d a t a [’ G a m m a _ s H 2 Q ’]. u n i q u e () 59 col = np . r o u n d _ ( col , d e c i m a l s = 11) 60 row . r e v e r s e ()

61 62

63 # ## CO2 64

65 # In [ ]:

66 67

68 d a t a 1 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 69

70 s t a r t = 0 71 end = n _ v a l u e s

72 for i in r a n g e (0 , len ( col ) ) : 73 t o d f = C O 2 _ s u m [ s t a r t :end]

74 t o d f . r e v e r s e () 75 d a t a 1 [ col [ i ]] = t o d f 76 s t a r t = s t a r t + n _ v a l u e s 77 end = end+ n _ v a l u e s 78

79 d a t a 1 80 81

82 # In [ ]:

83 84

85 plt .f i g u r e( f i g s i z e = (10 ,8) )

86 sns . h e a t m a p ( data1 , a n n o t = True , c m a p = ’ v i r i d i s ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’}) 87 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h K e q _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

88 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

89 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 90 plt . s a v e f i g (’ C O 2 _ 2 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 91

92 93 # ## CO 94

95 # In [ ]:

96 97

98 d a t a 2 = d a t a 1 . c o p y () 99 s t a r t = 0

100 end = n _ v a l u e s

101 for i in r a n g e (0 , len ( col ) ) : 102 t o d f = C O _ s u m [ s t a r t :end]

103 t o d f . r e v e r s e () 104 d a t a 2 [ col [ i ]] = t o d f 105 s t a r t = s t a r t + n _ v a l u e s 106 end = end+ n _ v a l u e s 107

108 d a t a 2 109 110

111 # In [ ]:

112 113

114 plt .f i g u r e( f i g s i z e = (10 ,8) )

115 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ c r e s t ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’}) 116 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h K e q _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

117 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

118 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 119 plt . s a v e f i g (’ C O _ 2 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 120

121

122 # ## H2Q 123

124 # In [ ]:

125 126

127 d a t a 3 = d a t a 1 . c o p y () 128 s t a r t = 0

129 end = n _ v a l u e s

130 for i in r a n g e (0 , len ( col ) ) :

131 t o d f = H 2 Q _ s u m [ s t a r t :end]

132 t o d f . r e v e r s e () 133 d a t a 3 [ col [ i ]] = t o d f 134 s t a r t = s t a r t + n _ v a l u e s 135 end = end+ n _ v a l u e s 136

137 d a t a 3 138 139

140 # In [ ]:

141 142

143 plt .f i g u r e( f i g s i z e = (10 ,8) )

144 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ B l u e s ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e = 28 ,800 s ’}) 145 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h K e q _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

146 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

147 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 148 plt . s a v e f i g (’ H 2 Q _ 2 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 149

150 151 # ## HQ 152

153 # In [ ]:

154 155

156 d a t a 4 = d a t a 1 . c o p y () 157 s t a r t = 0

158 end = n _ v a l u e s

159 for i in r a n g e (0 , len ( col ) ) : 160 t o d f = H Q _ s u m [ s t a r t :end]

161 t o d f . r e v e r s e () 162 d a t a 4 [ col [ i ]] = t o d f 163 s t a r t = s t a r t + n _ v a l u e s 164 end = end+ n _ v a l u e s 165

166 d a t a 4 167 168

169 # In [ ]:

170 171

172 plt .f i g u r e( f i g s i z e = (10 ,8) )

173 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ G r e e n s ’, l i n e w i d t h =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’}) 174 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h K e q _ H 2 Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ")

175 plt .x l a b e l(’ G a m m a _ H 2 Q [ mol / m ^2] ’, s i z e = 20)

176 plt .y l a b e l(’ k _ a d s o r p t i o n _ H 2 Q [ m ^3/ mol / s ] ’, s i z e = 20) 177 plt . s a v e f i g (’ H Q _ 2 _ h e a t m a p _ v a r H 2 Q . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Heatmap HQ case 2

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 i m p o r t s e a b o r n as sns

12 sns .set( f o n t _ s c a l e = 1 . 3 ) 13

14

15 # In [ ]:

16 17

18 s t a r t _ d a t a = pd . r e a d _ f w f (’ a l l _ H Q _ K a d s _ G a m m a . txt ’) 19 s t a r t _ d a t a

20 21

22 # In [ ]:

23 24

25 C O 2 _ s u m = []

26 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

27 C O 2 _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O 2 _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O 2 _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O 2 _ s u r f _ c o n c ’][ i ]) 28

29 s t a r t _ d a t a [’ C O 2 _ s u m ’]= C O 2 _ s u m 30

31 C O _ s u m = []

32 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

33 C O _ s u m . a p p e n d ( s t a r t _ d a t a [’ C O _ c o n c _ g a s ’][ i ] + s t a r t _ d a t a [’ C O _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ C O _ s u r f _ c o n c ’][ i ]) 34

35 s t a r t _ d a t a [’ C O _ s u m ’]= C O _ s u m 36

37 H 2 Q _ s u m = []

38 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

39 H 2 Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H 2 Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H 2 Q _ s u r f _ c o n c ’][ i ]) 40

41 s t a r t _ d a t a [’ H 2 Q _ s u m ’]= H 2 Q _ s u m 42

43 H Q _ s u m = []

44 for i in r a n g e (0 , s t a r t _ d a t a . s h a p e [ 0 ] ) :

45 H Q _ s u m . a p p e n d ( s t a r t _ d a t a [’ H Q _ c o n c _ l i q ’][ i ] + s t a r t _ d a t a [’ H Q _ s u r f _ c o n c ’][ i ]) 46

47 s t a r t _ d a t a [’ H Q _ s u m ’]= H Q _ s u m 48

49

50 # In [ ]:

51 52

53 row =[]

54 n _ v a l u e s = 7

55 for i in r a n g e (0 , n _ v a l u e s ) :

56 row . a p p e n d (r o u n d( s t a r t _ d a t a [’ k _ a d s H Q ’][ i ] ,6) ) 57

58 col = s t a r t _ d a t a [’ G a m m a _ s H Q ’]. u n i q u e () 59 col = np . r o u n d _ ( col , d e c i m a l s = 11) 60 row . r e v e r s e ()

61 62

63 # ## CO2 64

65 # In [ ]:

66 67

68 d a t a 1 = pd . D a t a F r a m e ( c o l u m n s = col , i n d e x = row ) 69

70 s t a r t = 0 71 end = n _ v a l u e s

72 for i in r a n g e (0 , len ( col ) ) : 73 t o d f = C O 2 _ s u m [ s t a r t :end]

74 t o d f . r e v e r s e () 75 d a t a 1 [ col [ i ]] = t o d f 76 s t a r t = s t a r t + n _ v a l u e s 77 end = end+ n _ v a l u e s 78

79 d a t a 1 80 81

82 # In [ ]:

83 84

85 plt .f i g u r e( f i g s i z e = (10 ,8) )

86 sns . h e a t m a p ( data1 , a n n o t = True , c m a p = ’ v i r i d i s ’, v m a x = max( C O 2 _ s u m ) , v m i n = max( C O 2 _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO2 mol / m ^2 t i m e = 28 ,800 s ’})

87 plt .t i t l e(’ CO2 n u m b e r of m o l e s w i t h K e q _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 88 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

89 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 90 plt . s a v e f i g (’ C O 2 _ 2 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 91

92 93 # ## CO 94

95 # In [ ]:

96 97

98 d a t a 2 = d a t a 1 . c o p y () 99 s t a r t = 0

100 end = n _ v a l u e s

101 for i in r a n g e (0 , len ( col ) ) : 102 t o d f = C O _ s u m [ s t a r t :end]

103 t o d f . r e v e r s e () 104 d a t a 2 [ col [ i ]] = t o d f 105 s t a r t = s t a r t + n _ v a l u e s 106 end = end+ n _ v a l u e s 107

108 d a t a 2 109 110

111 # In [ ]:

112 113

114 plt .f i g u r e( f i g s i z e = (10 ,8) )

115 sns . h e a t m a p ( data2 , a n n o t = True , c m a p = ’ c r e s t ’, v m a x = max( C O _ s u m ) , v m i n = max( C O _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # CO mol / m ^2 t i m e = 28 ,800 s ’})

116 plt .t i t l e(’ CO n u m b e r of m o l e s w i t h K e q _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 117 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

118 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 119 plt . s a v e f i g (’ C O _ 2 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 120

121

122 # ## H2Q 123

124 # In [ ]:

125 126

127 d a t a 3 = d a t a 1 . c o p y () 128 s t a r t = 0

129 end = n _ v a l u e s

130 for i in r a n g e (0 , len ( col ) ) : 131 t o d f = H 2 Q _ s u m [ s t a r t :end]

132 t o d f . r e v e r s e () 133 d a t a 3 [ col [ i ]] = t o d f 134 s t a r t = s t a r t + n _ v a l u e s 135 end = end+ n _ v a l u e s 136

137 d a t a 3 138 139

140 # In [ ]:

141 142

143 plt .f i g u r e( f i g s i z e = (10 ,8) )

144 sns . h e a t m a p ( data3 , a n n o t = True , c m a p = ’ B l u e s ’, v m a x = max( H 2 Q _ s u m ) , v m i n = max( H 2 Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # H2Q mol / m ^2 t i m e

= 28 ,800 s ’})

145 plt .t i t l e(’ H2Q n u m b e r of m o l e s w i t h K e q _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 146 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

147 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 148 plt . s a v e f i g (’ H 2 Q _ 2 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ") 149

150 151 # ## HQ 152

153 # In [ ]:

154 155

156 d a t a 4 = d a t a 1 . c o p y () 157 s t a r t = 0

158 end = n _ v a l u e s

159 for i in r a n g e (0 , len ( col ) ) : 160 t o d f = H Q _ s u m [ s t a r t :end]

161 t o d f . r e v e r s e () 162 d a t a 4 [ col [ i ]] = t o d f 163 s t a r t = s t a r t + n _ v a l u e s 164 end = end+ n _ v a l u e s 165

166 d a t a 4 167 168

169 # In [ ]:

170 171

172 plt .f i g u r e( f i g s i z e = (10 ,8) )

173 sns . h e a t m a p ( data4 , a n n o t = True , c m a p = ’ G r e e n s ’, v m a x = max( H Q _ s u m ) , v m i n = max( H Q _ s u m ) , l i n e w i d t h s =.5 , c b a r _ k w s ={’ l a b e l ’: ’ # HQ mol / m ^2 t i m e = 28 ,800 s ’})

174 plt .t i t l e(’ HQ n u m b e r of m o l e s w i t h K e q _ H Q = C O S T ’, s i z e = 20 , f o n t w e i g h t = " b o l d ") 175 plt .x l a b e l(’ G a m m a _ H Q [ mol / m ^2] ’, s i z e = 20)

176 plt .y l a b e l(’ k _ a d s o r p t i o n _ H Q [ m ^3/ mol / s ] ’, s i z e = 20) 177 plt . s a v e f i g (’ H Q _ 2 _ h e a t m a p _ v a r H Q . PNG ’, b b o x _ i n c h e s = " t i g h t ")

FIT forward reaction rate test number 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 f r o m s c i p y . o p t i m i z e i m p o r t c u r v e _ f i t 12 i m p o r t s e a b o r n as sns

13 sns .set( f o n t _ s c a l e = 1 . 3 ) 14 sns . s e t _ s t y l e (" w h i t e ") 15

16

17 # In [ ]:

18 19

20 d a t a = pd . r e a d _ f w f (’ p e r _ f i t t i n g . txt ’) 21

22

23 # In [ ]:

24 25

26 d a t a . h e a d ( 1 0 0 ) 27

28

29 # In [ ]:

30 31

32 d a t a [’ k f _ C O 2 ’]. u n i q u e () 33

34

35 # In [ ]:

36 37

38 d a t a . c o l u m n s 39

40

41 # In [ ]:

42 43

44 d a t a 0 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 0 ] ] 45 d a t a 1 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 1 ] ] 46 d a t a 2 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 2 ] ] 47 d a t a 3 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 3 ] ] 48 d a t a 4 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 4 ] ] 49 d a t a 5 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 5 ] ] 50 d a t a 6 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 6 ] ] 51

52

53 # In [ ]:

54 55

56 d a t a 0 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 57 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

58 d a t a 1 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 59 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

60 d a t a 2 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 61 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

62 d a t a 3 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 63 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

64 d a t a 4 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 65 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

66 d a t a 5 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 67 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

68 d a t a 6 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 69 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

70 71

72 # In [ ]:

73 74

75 d a t a _ 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 2445] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 7274] , 76 d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 10776] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

77 78

79 # In [ ]:

80 81

82 d a t a _ 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 2445] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 7274] , 83 d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 10776] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

84 85

86 # In [ ]:

87 88

89 d a t a _ 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 2445] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 7274] , 90 d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 10776] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

91 92

93 # In [ ]:

94 95

96 d a t a _ 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 2445] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 7274] , 97 d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 10776] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

98 99

100 # In [ ]:

101 102

103 d a t a _ 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 2445] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 7274] , 104 d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 10776] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

105 106

107 # In [ ]:

108 109

110 d a t a _ 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 2445] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 7274] , 111 d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 10776] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

112 113

114 # In [ ]:

115 116

117 d a t a _ 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 2445] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 7274] , 118 d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 10776] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1 3 1 9 5 ] ] , a x i s = 0)

119 120

121 # In [ ]:

122 123

124 V a l u e _ t o _ a d d = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 2 6 1 , 0 . 0 0 0 0 0 5 0 7 , 0 . 0 0 0 0 0 7 3 7 , 0 . 0 0 0 0 1 0 2 ] 125 d a t a _ 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d

126 127

128 # In [ ]:

129 130

131 d a t a _ 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 132 d a t a _ 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 133 d a t a _ 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 134 d a t a _ 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 135 d a t a _ 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 136 d a t a _ 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 137

138

139 # In [ ]:

140 141

142 C O _ s u m = d a t a _ 0 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 143 d a t a _ 0 [’ C O _ s u m ’]= C O _ s u m

144 C O _ s u m = d a t a _ 1 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 145 d a t a _ 1 [’ C O _ s u m ’]= C O _ s u m

146 C O _ s u m = d a t a _ 2 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 147 d a t a _ 2 [’ C O _ s u m ’]= C O _ s u m

148 C O _ s u m = d a t a _ 3 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 149 d a t a _ 3 [’ C O _ s u m ’]= C O _ s u m

150 C O _ s u m = d a t a _ 4 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 151 d a t a _ 4 [’ C O _ s u m ’]= C O _ s u m

152 C O _ s u m = d a t a _ 5 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 153 d a t a _ 5 [’ C O _ s u m ’]= C O _ s u m

154 C O _ s u m = d a t a _ 6 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 155 d a t a _ 6 [’ C O _ s u m ’]= C O _ s u m

156 157

158 # ## k f _ C O 2 = 1 0 ^ 9 159

160 # In [ ]:

161 162 163 d a t a _ 0 164 165

166 # In [ ]:

167 168 169

170 x _ v a l u e s = d a t a _ 0 [’ T i m e ( s ) ’]

171 y _ v a l u e s = d a t a _ 0 [’ e x p e r i m e n t a l ’]

172 def o b j e c t i v e ( x , a , b , c ) :

173 r e t u r n a * x + b

174

175 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 176 a , b , c = p o p t

177 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 178

179 x _ e x p = x _ v a l u e s 180 y _ e x p = y _ n e w 181

182

183 # In [ ]:

184 185

186 x _ v a l u e s = d a t a _ 0 [’ T i m e ( s ) ’]

187 y _ v a l u e s = d a t a _ 0 [’ C O _ s u m ’]

188 def o b j e c t i v e ( x , a , b , c ) :

189 r e t u r n a * x + b

190

191 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 192 a , b , c = p o p t

193 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 194

195 x _ c o m = x _ v a l u e s 196 y _ c o m = y _ n e w 197

198

199 # In [ ]:

200 201 202

203 plt .f i g u r e( f i g s i z e = (10 ,8) )

204 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 0 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +09 ’) 205 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 0 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

206 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 207 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 208

209 t i c k s = np . a r r a y ( d a t a _ 0 [’ T i m e ( s ) ’]) 210 plt . x t i c k s ( t i c k s )

211 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 212 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

213 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 214 plt .l e g e n d()

215

216 plt . s a v e f i g (’ C O _ w _ k f 9 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 217

218

219 # In [ ]:

220 221 222 223 224

225 # ## k f _ C O 2 = 1 0 ^ 1 0 226

227 # In [ ]:

228 229 230 d a t a _ 1 231 232

233 # In [ ]:

234 235

236 x _ v a l u e s = d a t a _ 1 [’ T i m e ( s ) ’]

237 y _ v a l u e s = d a t a _ 1 [’ e x p e r i m e n t a l ’]

238 def o b j e c t i v e ( x , a , b , c ) :

239 r e t u r n a * x + b

240

241 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 242 a , b , c = p o p t

243 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 244

245 x _ e x p = x _ v a l u e s 246 y _ e x p = y _ n e w 247

248

249 # In [ ]:

250 251

252 x _ v a l u e s = d a t a _ 1 [’ T i m e ( s ) ’]

253 y _ v a l u e s = d a t a _ 1 [’ C O _ s u m ’]

254 def o b j e c t i v e ( x , a , b , c ) :

255 r e t u r n a * x + b

256

257 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 258 a , b , c = p o p t

259 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 260

261 x _ c o m = x _ v a l u e s 262 y _ c o m = y _ n e w 263

264

265 # In [ ]:

266 267

268 plt .f i g u r e( f i g s i z e = (10 ,8) )

269 plt .p l o t( d a t a _ 1 [’ T i m e ( s ) ’] , d a t a _ 1 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +10 ’) 270 plt .p l o t( d a t a _ 1 [’ T i m e ( s ) ’] , d a t a _ 1 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

271 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 272 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 273

274 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 275 plt . x t i c k s ( t i c k s )

276 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 277 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

278 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 279 plt .l e g e n d()

280 plt . s a v e f i g (’ C O _ w _ k f 1 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 281

282

283 # In [ ]:

284 285 286 287 288

289 # In [ ]:

290 291

292 293 294

295 # In [ ]:

296 297 298 299 300

301 # ## k f _ C O 2 = 1 0 ^ 1 1 302

303 # In [ ]:

304 305 306 d a t a _ 2 307 308

309 # In [ ]:

310 311

312 x _ v a l u e s = d a t a _ 2 [’ T i m e ( s ) ’]

313 y _ v a l u e s = d a t a _ 2 [’ e x p e r i m e n t a l ’]

314 def o b j e c t i v e ( x , a , b , c ) :

315 r e t u r n a * x + b

316

317 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 318 a , b , c = p o p t

319 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 320

321 x _ e x p = x _ v a l u e s 322 y _ e x p = y _ n e w 323

324

325 # In [ ]:

326 327

328 x _ v a l u e s = d a t a _ 2 [’ T i m e ( s ) ’]

329 y _ v a l u e s = d a t a _ 2 [’ C O _ s u m ’]

330 def o b j e c t i v e ( x , a , b , c ) :

331 r e t u r n a * x + b

332

333 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 334 a , b , c = p o p t

335 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 336

337 x _ c o m = x _ v a l u e s 338 y _ c o m = y _ n e w 339

340

341 # In [ ]:

342 343

344 plt .f i g u r e( f i g s i z e = (10 ,8) )

345 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 2 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +11 ’) 346 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 2 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

347 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 348 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 349

350 t i c k s = np . a r r a y ( d a t a _ 2 [’ T i m e ( s ) ’]) 351 plt . x t i c k s ( t i c k s )

352 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 353 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

354 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 355 plt .l e g e n d()

356 plt . s a v e f i g (’ C O _ w _ k f 1 1 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 357

358

359 # In [ ]:

360 361 362 363 364

365 # ## k f _ C O 2 = 1 0 ^ 1 2 366

367 # In [ ]:

368 369 370 d a t a _ 3 371 372

373 # In [ ]:

374 375

376 x _ v a l u e s = d a t a _ 3 [’ T i m e ( s ) ’]

377 y _ v a l u e s = d a t a _ 3 [’ e x p e r i m e n t a l ’]

378 def o b j e c t i v e ( x , a , b , c ) :

379 r e t u r n a * x + b

380

381 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 382 a , b , c = p o p t

383 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 384

385 x _ e x p = x _ v a l u e s 386 y _ e x p = y _ n e w 387

388

389 # In [ ]:

390 391

392 x _ v a l u e s = d a t a _ 3 [’ T i m e ( s ) ’]

393 y _ v a l u e s = d a t a _ 3 [’ C O _ s u m ’]

394 def o b j e c t i v e ( x , a , b , c ) :

395 r e t u r n a * x + b

396

397 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 398 a , b , c = p o p t

399 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 400

401 x _ c o m = x _ v a l u e s 402 y _ c o m = y _ n e w 403

404

405 # In [ ]:

406 407

408 plt .f i g u r e( f i g s i z e = (10 ,8) )

409 plt .p l o t( d a t a _ 3 [’ T i m e ( s ) ’] , d a t a _ 3 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +12 ’) 410 plt .p l o t( d a t a _ 3 [’ T i m e ( s ) ’] , d a t a _ 3 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

411 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 412 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 413

414 t i c k s = np . a r r a y ( d a t a _ 3 [’ T i m e ( s ) ’]) 415 plt . x t i c k s ( t i c k s )

416 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 417 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

418 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 419 plt .l e g e n d()

420 plt . s a v e f i g (’ C O _ w _ k f 1 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 421

422

423 # ## k f _ C O 2 = 1 0 ^ 1 3 424

425 # In [ ]:

426 427 428 d a t a _ 4 429 430

431 # In [ ]:

432 433

434 x _ v a l u e s = d a t a _ 4 [’ T i m e ( s ) ’]

435 y _ v a l u e s = d a t a _ 4 [’ e x p e r i m e n t a l ’]

436 def o b j e c t i v e ( x , a , b , c ) :

437 r e t u r n a * x + b

438

439 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 440 a , b , c = p o p t

441 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 442

443 x _ e x p = x _ v a l u e s 444 y _ e x p = y _ n e w 445

446

447 # In [ ]:

448 449

450 x _ v a l u e s = d a t a _ 4 [’ T i m e ( s ) ’]

451 y _ v a l u e s = d a t a _ 4 [’ C O _ s u m ’]

452 def o b j e c t i v e ( x , a , b , c ) :

453 r e t u r n a * x + b

454

455 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 456 a , b , c = p o p t

457 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 458

459 x _ c o m = x _ v a l u e s 460 y _ c o m = y _ n e w 461

462

463 # In [ ]:

464 465

466 plt .f i g u r e( f i g s i z e = (10 ,8) )

467 plt .p l o t( d a t a _ 4 [’ T i m e ( s ) ’] , d a t a _ 4 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +13 ’) 468 plt .p l o t( d a t a _ 4 [’ T i m e ( s ) ’] , d a t a _ 4 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

469 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 470 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 471

472 t i c k s = np . a r r a y ( d a t a _ 4 [’ T i m e ( s ) ’]) 473 plt . x t i c k s ( t i c k s )

474 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 475 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

476 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 477 plt .l e g e n d()

478 plt . s a v e f i g (’ C O _ w _ k f 1 3 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 479

480

481 # ## k f _ C O 2 = 1 0 ^ 1 4 482

483 # In [ ]:

484 485 486 d a t a _ 5 487 488

489 # In [ ]:

490 491

492 x _ v a l u e s = d a t a _ 5 [’ T i m e ( s ) ’]

493 y _ v a l u e s = d a t a _ 5 [’ e x p e r i m e n t a l ’]

494 def o b j e c t i v e ( x , a , b , c ) :

495 r e t u r n a * x + b

496

497 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 498 a , b , c = p o p t

499 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 500

501 x _ e x p = x _ v a l u e s

502 y _ e x p = y _ n e w 503

504

505 # In [ ]:

506 507

508 x _ v a l u e s = d a t a _ 5 [’ T i m e ( s ) ’]

509 y _ v a l u e s = d a t a _ 5 [’ C O _ s u m ’]

510 def o b j e c t i v e ( x , a , b , c ) :

511 r e t u r n a * x + b

512

513 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 514 a , b , c = p o p t

515 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 516

517 x _ c o m = x _ v a l u e s 518 y _ c o m = y _ n e w 519

520

521 # In [ ]:

522 523

524 plt .f i g u r e( f i g s i z e = (10 ,8) )

525 plt .p l o t( d a t a _ 5 [’ T i m e ( s ) ’] , d a t a _ 5 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +14 ’) 526 plt .p l o t( d a t a _ 5 [’ T i m e ( s ) ’] , d a t a _ 5 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

527 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 528 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 529

530 t i c k s = np . a r r a y ( d a t a _ 5 [’ T i m e ( s ) ’]) 531 plt . x t i c k s ( t i c k s )

532 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 533 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

534 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 535 plt .l e g e n d()

536 plt . s a v e f i g (’ C O _ w _ k f 1 4 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 537

538

539 # ## k f _ C O 2 = 1 0 ^ 1 5 540

541 # In [ ]:

542 543 544 d a t a _ 6 545 546

547 # In [ ]:

548 549

550 x _ v a l u e s = d a t a _ 6 [’ T i m e ( s ) ’]

551 y _ v a l u e s = d a t a _ 6 [’ e x p e r i m e n t a l ’]

552 def o b j e c t i v e ( x , a , b , c ) :

553 r e t u r n a * x + b

554

555 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 556 a , b , c = p o p t

557 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 558

559 x _ e x p = x _ v a l u e s 560 y _ e x p = y _ n e w 561

562

563 # In [ ]:

564 565

566 x _ v a l u e s = d a t a _ 6 [’ T i m e ( s ) ’]

567 y _ v a l u e s = d a t a _ 6 [’ C O _ s u m ’]

568 def o b j e c t i v e ( x , a , b , c ) :

569 r e t u r n a * x + b

570

571 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 572 a , b , c = p o p t

573 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 574

575 x _ c o m = x _ v a l u e s 576 y _ c o m = y _ n e w 577

578

579 # In [ ]:

580 581

582 plt .f i g u r e( f i g s i z e = (10 ,8) )

583 plt .p l o t( d a t a _ 6 [’ T i m e ( s ) ’] , d a t a _ 6 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +15 ’) 584 plt .p l o t( d a t a _ 6 [’ T i m e ( s ) ’] , d a t a _ 6 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

585 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 586 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 587

588 t i c k s = np . a r r a y ( d a t a _ 6 [’ T i m e ( s ) ’]) 589 plt . x t i c k s ( t i c k s )

590 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 591 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

592 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 593 plt .l e g e n d()

594 plt . s a v e f i g (’ C O _ w _ k f 1 5 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 595

596

597 # ## S E C O N D SET OF E X P E R I M E N T A L D A T A 598

599 # 600 601 # 602 603 # 604

605 # In [ ]:

606

607

608 d a t a _ 0 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1732] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 609

610

611 # In [ ]:

612 613

614 d a t a _ 0 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1732] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 615

616

617 # In [ ]:

618 619

620 d a t a _ 0 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1732] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 621

622

623 # In [ ]:

624 625

626 d a t a _ 0 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1732] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 627

628

629 # In [ ]:

630 631

632 d a t a _ 0 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1732] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 633

634

635 # In [ ]:

636 637

638 d a t a _ 0 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1732] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 639

640

641 # In [ ]:

642 643

644 d a t a _ 0 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1732] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 645

646

647 # In [ ]:

648 649

650 V a l u e _ t o _ a d d 2 = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 5 5 9 , 0 . 0 0 0 0 0 8 1 4 ] 651

652

653 # In [ ]:

654 655

656 d a t a _ 0 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 657 d a t a _ 0 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 658 d a t a _ 0 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 659 d a t a _ 0 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 660 d a t a _ 0 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 661 d a t a _ 0 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 662 d a t a _ 0 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 663

664

665 # In [ ]:

666 667

668 C O _ s u m = d a t a _ 0 0 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 669 d a t a _ 0 0 [’ C O _ s u m ’]= C O _ s u m

670 C O _ s u m = d a t a _ 0 1 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 671 d a t a _ 0 1 [’ C O _ s u m ’]= C O _ s u m

672 C O _ s u m = d a t a _ 0 2 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 673 d a t a _ 0 2 [’ C O _ s u m ’]= C O _ s u m

674 C O _ s u m = d a t a _ 0 3 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 675 d a t a _ 0 3 [’ C O _ s u m ’]= C O _ s u m

676 C O _ s u m = d a t a _ 0 4 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 677 d a t a _ 0 4 [’ C O _ s u m ’]= C O _ s u m

678 C O _ s u m = d a t a _ 0 5 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 679 d a t a _ 0 5 [’ C O _ s u m ’]= C O _ s u m

680 C O _ s u m = d a t a _ 0 6 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 681 d a t a _ 0 6 [’ C O _ s u m ’]= C O _ s u m

682 683

684 # ## k f _ C O 2 = 1 0 ^ 0 9 685

686 # In [ ]:

687 688 689 d a t a _ 0 0 690 691

692 # In [ ]:

693 694

695 x _ v a l u e s = d a t a _ 0 0 [’ T i m e ( s ) ’]

696 y _ v a l u e s = d a t a _ 0 0 [’ e x p e r i m e n t a l ’]

697 def o b j e c t i v e ( x , a , b , c ) :

698 r e t u r n a * x + b

699

700 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 701 a , b , c = p o p t

702 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 703

704 x _ e x p = x _ v a l u e s 705 y _ e x p = y _ n e w 706

707

708 # In [ ]:

709 710

711 x _ v a l u e s = d a t a _ 0 0 [’ T i m e ( s ) ’]

712 y _ v a l u e s = d a t a _ 0 0 [’ C O _ s u m ’]

713 def o b j e c t i v e ( x , a , b , c ) :

714 r e t u r n a * x + b

715

716 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 717 a , b , c = p o p t

718 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 719

720 x _ c o m = x _ v a l u e s 721 y _ c o m = y _ n e w 722

723

724 # In [ ]:

725 726

727 plt .f i g u r e( f i g s i z e = (10 ,8) )

728 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 0 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +09 ’) 729 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 0 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

730 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 731 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 732

733 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 734 plt . x t i c k s ( t i c k s )

735 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 736 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

737 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 738 plt .l e g e n d()

739 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 9 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 740

741

742 # ## k f _ C O 2 = 1 0 ^ 1 0 743

744 # In [ ]:

745 746

747 x _ v a l u e s = d a t a _ 0 1 [’ T i m e ( s ) ’]

748 y _ v a l u e s = d a t a _ 0 1 [’ e x p e r i m e n t a l ’]

749 def o b j e c t i v e ( x , a , b , c ) :

750 r e t u r n a * x + b

751

752 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 753 a , b , c = p o p t

754 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 755

756 x _ e x p = x _ v a l u e s 757 y _ e x p = y _ n e w 758

759

760 # In [ ]:

761 762

763 x _ v a l u e s = d a t a _ 0 1 [’ T i m e ( s ) ’]

764 y _ v a l u e s = d a t a _ 0 1 [’ C O _ s u m ’]

765 def o b j e c t i v e ( x , a , b , c ) :

766 r e t u r n a * x + b

767

768 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 769 a , b , c = p o p t

770 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 771

772 x _ c o m = x _ v a l u e s 773 y _ c o m = y _ n e w 774

775

776 # In [ ]:

777 778

779 plt .f i g u r e( f i g s i z e = (10 ,8) )

780 plt .p l o t( d a t a _ 0 1 [’ T i m e ( s ) ’] , d a t a _ 0 1 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +10 ’) 781 plt .p l o t( d a t a _ 0 1 [’ T i m e ( s ) ’] , d a t a _ 0 1 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

782 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 783 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 784

785 t i c k s = np . a r r a y ( d a t a _ 0 1 [’ T i m e ( s ) ’]) 786 plt . x t i c k s ( t i c k s )

787 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 788 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

789 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 790 plt .l e g e n d()

791 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 1 0 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 792

793

794 # ## k f _ C O 2 = 1 0 ^ 1 1 795

796 # In [ ]:

797 798

799 x _ v a l u e s = d a t a _ 0 2 [’ T i m e ( s ) ’]

800 y _ v a l u e s = d a t a _ 0 2 [’ e x p e r i m e n t a l ’]

801 def o b j e c t i v e ( x , a , b , c ) :

802 r e t u r n a * x + b

803

804 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 805 a , b , c = p o p t

806 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 807

808 x _ e x p = x _ v a l u e s 809 y _ e x p = y _ n e w 810

811

812 # In [ ]:

813 814

815 x _ v a l u e s = d a t a _ 0 2 [’ T i m e ( s ) ’]

816 y _ v a l u e s = d a t a _ 0 2 [’ C O _ s u m ’]

817 def o b j e c t i v e ( x , a , b , c ) :

818 r e t u r n a * x + b

819

820 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 821 a , b , c = p o p t

822 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 823

824 x _ c o m = x _ v a l u e s 825 y _ c o m = y _ n e w 826

827

828 # In [ ]:

829 830

831 plt .f i g u r e( f i g s i z e = (10 ,8) )

832 plt .p l o t( d a t a _ 0 2 [’ T i m e ( s ) ’] , d a t a _ 0 2 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +11 ’) 833 plt .p l o t( d a t a _ 0 2 [’ T i m e ( s ) ’] , d a t a _ 0 2 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

834 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 835 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 836

837 t i c k s = np . a r r a y ( d a t a _ 0 2 [’ T i m e ( s ) ’]) 838 plt . x t i c k s ( t i c k s )

839 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 840 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

841 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 842 plt .l e g e n d()

843 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 1 1 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 844

845

846 # ## k f _ C O 2 = 1 0 ^ 1 2 847

848 # In [ ]:

849 850

851 x _ v a l u e s = d a t a _ 0 3 [’ T i m e ( s ) ’]

852 y _ v a l u e s = d a t a _ 0 3 [’ e x p e r i m e n t a l ’]

853 def o b j e c t i v e ( x , a , b , c ) :

854 r e t u r n a * x + b

855

856 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 857 a , b , c = p o p t

858 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 859

860 x _ e x p = x _ v a l u e s 861 y _ e x p = y _ n e w 862

863

864 # In [ ]:

865 866

867 x _ v a l u e s = d a t a _ 0 3 [’ T i m e ( s ) ’]

868 y _ v a l u e s = d a t a _ 0 3 [’ C O _ s u m ’]

869 def o b j e c t i v e ( x , a , b , c ) :

870 r e t u r n a * x + b

871

872 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 873 a , b , c = p o p t

874 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 875

876 x _ c o m = x _ v a l u e s 877 y _ c o m = y _ n e w 878

879

880 # In [ ]:

881 882

883 plt .f i g u r e( f i g s i z e = (10 ,8) )

884 plt .p l o t( d a t a _ 0 3 [’ T i m e ( s ) ’] , d a t a _ 0 3 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +12 ’) 885 plt .p l o t( d a t a _ 0 3 [’ T i m e ( s ) ’] , d a t a _ 0 3 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

886 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 887 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 888

889 t i c k s = np . a r r a y ( d a t a _ 0 3 [’ T i m e ( s ) ’]) 890 plt . x t i c k s ( t i c k s )

891 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 892 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

893 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 894 plt .l e g e n d()

895 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 1 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 896

897

898 # ## k f _ C O 2 = 1 0 ^ 1 3 899

900 # In [ ]:

901 902

903 x _ v a l u e s = d a t a _ 0 4 [’ T i m e ( s ) ’]

904 y _ v a l u e s = d a t a _ 0 4 [’ e x p e r i m e n t a l ’]

905 def o b j e c t i v e ( x , a , b , c ) :

906 r e t u r n a * x + b

907

908 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 909 a , b , c = p o p t

910 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 911

912 x _ e x p = x _ v a l u e s 913 y _ e x p = y _ n e w 914

915

916 # In [ ]:

917 918

919 x _ v a l u e s = d a t a _ 0 4 [’ T i m e ( s ) ’]

920 y _ v a l u e s = d a t a _ 0 4 [’ C O _ s u m ’]

921 def o b j e c t i v e ( x , a , b , c ) :

922 r e t u r n a * x + b 923

924 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 925 a , b , c = p o p t

926 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 927

928 x _ c o m = x _ v a l u e s 929 y _ c o m = y _ n e w 930

931

932 # In [ ]:

933 934

935 plt .f i g u r e( f i g s i z e = (10 ,8) )

936 plt .p l o t( d a t a _ 0 4 [’ T i m e ( s ) ’] , d a t a _ 0 4 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +13 ’) 937 plt .p l o t( d a t a _ 0 4 [’ T i m e ( s ) ’] , d a t a _ 0 4 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

938 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 939 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 940

941 t i c k s = np . a r r a y ( d a t a _ 0 4 [’ T i m e ( s ) ’]) 942 plt . x t i c k s ( t i c k s )

943 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 944 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

945 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 946 plt .l e g e n d()

947 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 1 3 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 948

949

950 # ## k f _ C O 2 = 1 0 ^ 1 4 951

952 # In [ ]:

953 954

955 x _ v a l u e s = d a t a _ 0 5 [’ T i m e ( s ) ’]

956 y _ v a l u e s = d a t a _ 0 5 [’ e x p e r i m e n t a l ’]

957 def o b j e c t i v e ( x , a , b , c ) :

958 r e t u r n a * x + b

959

960 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 961 a , b , c = p o p t

962 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 963

964 x _ e x p = x _ v a l u e s 965 y _ e x p = y _ n e w 966

967

968 # In [ ]:

969 970

971 x _ v a l u e s = d a t a _ 0 5 [’ T i m e ( s ) ’]

972 y _ v a l u e s = d a t a _ 0 5 [’ C O _ s u m ’]

973 def o b j e c t i v e ( x , a , b , c ) :

974 r e t u r n a * x + b

975

976 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 977 a , b , c = p o p t

978 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 979

980 x _ c o m = x _ v a l u e s 981 y _ c o m = y _ n e w 982

983

984 # In [ ]:

985 986

987 plt .f i g u r e( f i g s i z e = (10 ,8) )

988 plt .p l o t( d a t a _ 0 5 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +14 ’) 989 plt .p l o t( d a t a _ 0 5 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

990 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 991 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 992

993 t i c k s = np . a r r a y ( d a t a _ 0 5 [’ T i m e ( s ) ’]) 994 plt . x t i c k s ( t i c k s )

995 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 996 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

997 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 998 plt .l e g e n d()

999 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 1 4 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 1000

1001

1002 # ## k f _ C O 2 = 1 0 ^ 1 5 1003

1004 # In [ ]:

1005 1006

1007 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

1008 y _ v a l u e s = d a t a _ 0 6 [’ e x p e r i m e n t a l ’]

1009 def o b j e c t i v e ( x , a , b , c ) :

1010 r e t u r n a * x + b

1011

1012 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 1013 a , b , c = p o p t

1014 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 1015

1016 x _ e x p = x _ v a l u e s 1017 y _ e x p = y _ n e w 1018

1019

1020 # In [ ]:

1021 1022

1023 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

1024 y _ v a l u e s = d a t a _ 0 6 [’ C O _ s u m ’]

1025 def o b j e c t i v e ( x , a , b , c ) :

1026 r e t u r n a * x + b

1027

1028 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 1029 a , b , c = p o p t

1030 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 1031

1032 x _ c o m = x _ v a l u e s 1033 y _ c o m = y _ n e w 1034

1035

1036 # In [ ]:

1037 1038

1039 plt .f i g u r e( f i g s i z e = (10 ,8) )

1040 plt .p l o t( d a t a _ 0 6 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ C O _ s u m ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +15 ’) 1041 plt .p l o t( d a t a _ 0 6 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

1042 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 1043 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 1044

1045 t i c k s = np . a r r a y ( d a t a _ 0 6 [’ T i m e ( s ) ’]) 1046 plt . x t i c k s ( t i c k s )

1047 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 1048 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

1049 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 1050 plt .l e g e n d()

1051 plt . s a v e f i g (’ C O _ c 1 2 e 6 _ k f 1 5 . PNG ’, b b o x _ i n c h e s = " t i g h t ")

FIT forward reaction rate test number 2

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 f r o m s c i p y . o p t i m i z e i m p o r t c u r v e _ f i t 12 i m p o r t s e a b o r n as sns

13 sns .set( f o n t _ s c a l e = 1 . 3 ) 14 sns . s e t _ s t y l e (" w h i t e ") 15

16

17 # In [ ]:

18 19

20 d a t a = pd . r e a d _ f w f (’ f i t t i n g _ k f _ p i c c o l i . txt ’) 21

22

23 # In [ ]:

24 25

26 d a t a [’ k f _ C O 2 ’]. u n i q u e () 27

28

29 # In [ ]:

30 31

32 d a t a 0 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 0 ] ] 33 d a t a 1 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 1 ] ] 34 d a t a 2 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 2 ] ] 35 d a t a 3 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 3 ] ] 36 d a t a 4 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 4 ] ] 37 d a t a 5 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 5 ] ] 38 d a t a 6 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 6 ] ] 39 d a t a 7 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 7 ] ] 40

41

42 # In [ ]:

43 44

45 d a t a 0 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 46 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

47 d a t a 1 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 48 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

49 d a t a 2 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 50 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

51 d a t a 3 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 52 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

53 d a t a 4 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 54 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

55 d a t a 5 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 56 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

57 d a t a 6 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 58 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

59 d a t a 7 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 60 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

61 62

63 # In [ ]:

64 65

66 d a t a _ 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 2446] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 7274] , 67 d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 10776] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

68 69

70 # In [ ]:

71 72

73 d a t a _ 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 2446] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 7274] , 74 d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 10776] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

75 76

77 # In [ ]:

78 79

80 d a t a _ 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 2446] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 7274] , 81 d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 10776] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

82 83

84 # In [ ]:

85 86

87 d a t a _ 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 2446] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 7274] , 88 d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 10776] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

89 90

91 # In [ ]:

92 93

94 d a t a _ 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 2446] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 7274] , 95 d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 10776] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

96 97

98 # In [ ]:

99 100

101 d a t a _ 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 2446] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 7274] , 102 d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 10776] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

103 104

105 # In [ ]:

106 107

108 d a t a _ 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 2446] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 7274] , 109 d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 10776] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

110 111

112 # In [ ]:

113 114

115 d a t a _ 7 = pd . c o n c a t ([ d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 0] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 2446] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 7274] , 116 d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 10776] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

117 118

119 # In [ ]:

120 121

122 V a l u e _ t o _ a d d = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 2 6 1 , 0 . 0 0 0 0 0 5 0 7 , 0 . 0 0 0 0 0 7 3 7 , 0 . 0 0 0 0 1 0 2 ] 123

124

125 # In [ ]:

126 127

128 d a t a _ 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 129 d a t a _ 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 130 d a t a _ 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 131 d a t a _ 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 132 d a t a _ 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 133 d a t a _ 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 134 d a t a _ 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 135 d a t a _ 7 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 136

137

138 # In [ ]:

139 140

141 C O _ s u m = d a t a _ 0 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 142 d a t a _ 0 [’ C O _ s u m ’]= C O _ s u m

143 C O _ s u m = d a t a _ 1 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 144 d a t a _ 1 [’ C O _ s u m ’]= C O _ s u m

145 C O _ s u m = d a t a _ 2 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 146 d a t a _ 2 [’ C O _ s u m ’]= C O _ s u m

147 C O _ s u m = d a t a _ 3 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 148 d a t a _ 3 [’ C O _ s u m ’]= C O _ s u m

149 C O _ s u m = d a t a _ 4 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 150 d a t a _ 4 [’ C O _ s u m ’]= C O _ s u m

151 C O _ s u m = d a t a _ 5 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 152 d a t a _ 5 [’ C O _ s u m ’]= C O _ s u m

153 C O _ s u m = d a t a _ 6 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 154 d a t a _ 6 [’ C O _ s u m ’]= C O _ s u m

155 C O _ s u m = d a t a _ 7 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 156 d a t a _ 7 [’ C O _ s u m ’]= C O _ s u m

157 158

159 # In [ ]:

160 161

162 d a t a _ 0 [’ R a t i o _ g _ s ’]= d a t a _ 0 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 [’ C O _ s u m ’]

163 d a t a _ 1 [’ R a t i o _ g _ s ’]= d a t a _ 1 [’ C O _ c o n c _ g a s ’]/ d a t a _ 1 [’ C O _ s u m ’]

164 d a t a _ 2 [’ R a t i o _ g _ s ’]= d a t a _ 2 [’ C O _ c o n c _ g a s ’]/ d a t a _ 2 [’ C O _ s u m ’]

165 d a t a _ 3 [’ R a t i o _ g _ s ’]= d a t a _ 3 [’ C O _ c o n c _ g a s ’]/ d a t a _ 3 [’ C O _ s u m ’]

166 d a t a _ 4 [’ R a t i o _ g _ s ’]= d a t a _ 4 [’ C O _ c o n c _ g a s ’]/ d a t a _ 4 [’ C O _ s u m ’]

167 d a t a _ 5 [’ R a t i o _ g _ s ’]= d a t a _ 5 [’ C O _ c o n c _ g a s ’]/ d a t a _ 5 [’ C O _ s u m ’]

168 d a t a _ 6 [’ R a t i o _ g _ s ’]= d a t a _ 6 [’ C O _ c o n c _ g a s ’]/ d a t a _ 6 [’ C O _ s u m ’]

169 d a t a _ 7 [’ R a t i o _ g _ s ’]= d a t a _ 7 [’ C O _ c o n c _ g a s ’]/ d a t a _ 7 [’ C O _ s u m ’]

170 171

172 # ## k f _ C O 2 = 1 0 ^ 1 173

174 # In [ ]:

175 176 177 d a t a _ 0 178 179

180 # In [ ]:

181 182

183 x _ v a l u e s = d a t a _ 0 [’ T i m e ( s ) ’]

184 y _ v a l u e s = d a t a _ 0 [’ e x p e r i m e n t a l ’]

185 def o b j e c t i v e ( x , a , b , c ) :

186 r e t u r n a * x + b

187

188 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 189 a , b , c = p o p t

190 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 191

192 x _ e x p = x _ v a l u e s 193 y _ e x p = y _ n e w 194

195

196 # In [ ]:

197 198

199 x _ v a l u e s = d a t a _ 0 [’ T i m e ( s ) ’]

200 y _ v a l u e s = d a t a _ 0 [’ C O _ c o n c _ g a s ’]

201 def o b j e c t i v e ( x , a , b , c ) :

202 r e t u r n a * x + b

203

204 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 205 a , b , c = p o p t

206 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 207

208 x _ c o m = x _ v a l u e s 209 y _ c o m = y _ n e w 210

211

212 # In [ ]:

213 214

215 plt .f i g u r e( f i g s i z e = (10 ,8) )

216 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 0 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +01 ’) 217 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 0 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

218 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 219 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 220

221 t i c k s = np . a r r a y ( d a t a _ 0 [’ T i m e ( s ) ’]) 222 plt . x t i c k s ( t i c k s )

223 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 224 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

225 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 226 plt .l e g e n d()

227 228

229 # ## k f _ C O 2 = 1 0 ^ 2 230

231 # In [ ]:

232 233 234 d a t a _ 1 235 236

237 # In [ ]:

238 239

240 x _ v a l u e s = d a t a _ 1 [’ T i m e ( s ) ’]

241 y _ v a l u e s = d a t a _ 1 [’ e x p e r i m e n t a l ’]

242 def o b j e c t i v e ( x , a , b , c ) :

243 r e t u r n a * x + b

244

245 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 246 a , b , c = p o p t

247 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 248

249 x _ e x p = x _ v a l u e s 250 y _ e x p = y _ n e w 251

252

253 # In [ ]:

254 255

256 x _ v a l u e s = d a t a _ 1 [’ T i m e ( s ) ’]

257 y _ v a l u e s = d a t a _ 1 [’ C O _ c o n c _ g a s ’]

258 def o b j e c t i v e ( x , a , b , c ) :

259 r e t u r n a * x + b

260

261 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 262 a , b , c = p o p t

263 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 264

265 x _ c o m = x _ v a l u e s 266 y _ c o m = y _ n e w 267

268

269 # In [ ]:

270 271

272 plt .f i g u r e( f i g s i z e = (10 ,8) )

273 plt .p l o t( d a t a _ 1 [’ T i m e ( s ) ’] , d a t a _ 1 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +02 ’) 274 plt .p l o t( d a t a _ 1 [’ T i m e ( s ) ’] , d a t a _ 1 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

275 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 276 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 277

278 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 279 plt . x t i c k s ( t i c k s )

280 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 281 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

282 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 283 plt .l e g e n d()

284 285

286 # ## k f _ C O 2 = 1 0 ^ 3 287

288 # In [ ]:

289 290 291 d a t a _ 2 292 293

294 # In [ ]:

295 296

297 x _ v a l u e s = d a t a _ 2 [’ T i m e ( s ) ’]

298 y _ v a l u e s = d a t a _ 2 [’ e x p e r i m e n t a l ’]

299 def o b j e c t i v e ( x , a , b , c ) :

300 r e t u r n a * x + b

301

302 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 303 a , b , c = p o p t

304 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 305

306 x _ e x p = x _ v a l u e s 307 y _ e x p = y _ n e w 308

309

310 # In [ ]:

311 312

313 x _ v a l u e s = d a t a _ 2 [’ T i m e ( s ) ’]

314 y _ v a l u e s = d a t a _ 2 [’ C O _ c o n c _ g a s ’]

315 def o b j e c t i v e ( x , a , b , c ) :

316 r e t u r n a * x + b

317

318 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 319 a , b , c = p o p t

320 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 321

322 x _ c o m = x _ v a l u e s 323 y _ c o m = y _ n e w 324

325

326 # In [ ]:

327 328

329 plt .f i g u r e( f i g s i z e = (10 ,8) )

330 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 2 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +03 ’) 331 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 2 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

332 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 333 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 334

335 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 336 plt . x t i c k s ( t i c k s )

337 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 338 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

339 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 340 plt .l e g e n d()

341 342

343 # ## k f _ C O 2 = 1 0 ^ 4 344

345 # In [ ]:

346 347 348 d a t a _ 3 349 350

351 # In [ ]:

352 353

354 x _ v a l u e s = d a t a _ 3 [’ T i m e ( s ) ’]

355 y _ v a l u e s = d a t a _ 3 [’ e x p e r i m e n t a l ’]

356 def o b j e c t i v e ( x , a , b , c ) :

357 r e t u r n a * x + b

358

359 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 360 a , b , c = p o p t

361 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 362

363 x _ e x p = x _ v a l u e s 364 y _ e x p = y _ n e w 365

366

367 # In [ ]:

368 369

370 x _ v a l u e s = d a t a _ 3 [’ T i m e ( s ) ’]

371 y _ v a l u e s = d a t a _ 3 [’ C O _ c o n c _ g a s ’]

372 def o b j e c t i v e ( x , a , b , c ) :

373 r e t u r n a * x + b

374

375 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 376 a , b , c = p o p t

377 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 378

379 x _ c o m = x _ v a l u e s 380 y _ c o m = y _ n e w 381

382

383 # In [ ]:

384 385

386 plt .f i g u r e( f i g s i z e = (10 ,8) )

387 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 3 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +04 ’) 388 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 3 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

389 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 390 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 391

392 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’])

393 plt . x t i c k s ( t i c k s )

394 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 395 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

396 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 397 plt .l e g e n d()

398 399

400 # In [ ]:

401 402

403 ## k f _ C O 2 = 1 0 ^ 5 404

405

406 # In [ ]:

407 408 409 d a t a _ 4 410 411

412 # In [ ]:

413 414

415 x _ v a l u e s = d a t a _ 4 [’ T i m e ( s ) ’]

416 y _ v a l u e s = d a t a _ 4 [’ e x p e r i m e n t a l ’]

417 def o b j e c t i v e ( x , a , b , c ) :

418 r e t u r n a * x + b

419

420 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 421 a , b , c = p o p t

422 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 423

424 x _ e x p = x _ v a l u e s 425 y _ e x p = y _ n e w 426

427

428 # In [ ]:

429 430

431 x _ v a l u e s = d a t a _ 4 [’ T i m e ( s ) ’]

432 y _ v a l u e s = d a t a _ 4 [’ C O _ c o n c _ g a s ’]

433 def o b j e c t i v e ( x , a , b , c ) :

434 r e t u r n a * x + b

435

436 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 437 a , b , c = p o p t

438 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 439

440 x _ c o m = x _ v a l u e s 441 y _ c o m = y _ n e w 442

443

444 # In [ ]:

445 446

447 plt .f i g u r e( f i g s i z e = (10 ,8) )

448 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 4 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +05 ’) 449 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 4 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

450 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 451 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 452

453 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 454 plt . x t i c k s ( t i c k s )

455 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 456 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

457 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 458 plt .l e g e n d()

459 460

461 # ## k f _ C O 2 = 1 0 ^ 6 462

463 # In [ ]:

464 465 466 d a t a _ 5 467 468

469 # In [ ]:

470 471

472 x _ v a l u e s = d a t a _ 5 [’ T i m e ( s ) ’]

473 y _ v a l u e s = d a t a _ 5 [’ e x p e r i m e n t a l ’]

474 def o b j e c t i v e ( x , a , b , c ) :

475 r e t u r n a * x + b

476

477 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 478 a , b , c = p o p t

479 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 480

481 x _ e x p = x _ v a l u e s 482 y _ e x p = y _ n e w 483

484

485 # In [ ]:

486 487

488 x _ v a l u e s = d a t a _ 5 [’ T i m e ( s ) ’]

489 y _ v a l u e s = d a t a _ 5 [’ C O _ c o n c _ g a s ’]

490 def o b j e c t i v e ( x , a , b , c ) :

491 r e t u r n a * x + b

492

493 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 494 a , b , c = p o p t

495 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 496

497 x _ c o m = x _ v a l u e s

498 y _ c o m = y _ n e w 499

500

501 # In [ ]:

502 503

504 plt .f i g u r e( f i g s i z e = (10 ,8) )

505 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 5 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +06 ’) 506 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 5 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

507 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 508 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 509

510 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 511 plt . x t i c k s ( t i c k s )

512 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 513 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

514 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 515 plt .l e g e n d()

516 517

518 # ## k f _ C O 2 = 1 0 ^ 7 519

520 # In [ ]:

521 522 523 d a t a _ 6 524 525

526 # In [ ]:

527 528

529 x _ v a l u e s = d a t a _ 6 [’ T i m e ( s ) ’]

530 y _ v a l u e s = d a t a _ 6 [’ e x p e r i m e n t a l ’]

531 def o b j e c t i v e ( x , a , b , c ) :

532 r e t u r n a * x + b

533

534 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 535 a , b , c = p o p t

536 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 537

538 x _ e x p = x _ v a l u e s 539 y _ e x p = y _ n e w 540

541

542 # In [ ]:

543 544

545 x _ v a l u e s = d a t a _ 6 [’ T i m e ( s ) ’]

546 y _ v a l u e s = d a t a _ 6 [’ C O _ c o n c _ g a s ’]

547 def o b j e c t i v e ( x , a , b , c ) :

548 r e t u r n a * x + b

549

550 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 551 a , b , c = p o p t

552 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 553

554 x _ c o m = x _ v a l u e s 555 y _ c o m = y _ n e w 556

557

558 # In [ ]:

559 560

561 plt .f i g u r e( f i g s i z e = (10 ,8) )

562 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 6 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +07 ’) 563 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 6 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

564 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 565 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 566

567 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 568 plt . x t i c k s ( t i c k s )

569 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 570 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

571 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 572 plt .l e g e n d()

573 574

575 # ## k f _ C O 2 = 1 0 ^ 8 576

577 # In [ ]:

578 579 580 d a t a _ 7 581 582

583 # In [ ]:

584 585

586 x _ v a l u e s = d a t a _ 7 [’ T i m e ( s ) ’]

587 y _ v a l u e s = d a t a _ 7 [’ e x p e r i m e n t a l ’]

588 def o b j e c t i v e ( x , a , b , c ) :

589 r e t u r n a * x + b

590

591 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 592 a , b , c = p o p t

593 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 594

595 x _ e x p = x _ v a l u e s 596 y _ e x p = y _ n e w 597

598

599 # In [ ]:

600 601

602 x _ v a l u e s = d a t a _ 7 [’ T i m e ( s ) ’]

603 y _ v a l u e s = d a t a _ 7 [’ C O _ c o n c _ g a s ’]

604 def o b j e c t i v e ( x , a , b , c ) :

605 r e t u r n a * x + b

606

607 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 608 a , b , c = p o p t

609 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 610

611 x _ c o m = x _ v a l u e s 612 y _ c o m = y _ n e w 613

614

615 # In [ ]:

616 617

618 plt .f i g u r e( f i g s i z e = (10 ,8) )

619 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 7 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +08 ’) 620 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 7 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

621 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 622 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 623

624 t i c k s = np . a r r a y ( d a t a _ 1 [’ T i m e ( s ) ’]) 625 plt . x t i c k s ( t i c k s )

626 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 627 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

628 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 629 plt .l e g e n d()

630 631 632 # 633 634 # 635 636 # 637 638 # 639

640 # In [ ]:

641 642

643 d a t a _ 0 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1731] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 644

645

646 # In [ ]:

647 648

649 d a t a _ 0 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1731] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 650

651

652 # In [ ]:

653 654

655 d a t a _ 0 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1731] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 656

657

658 # In [ ]:

659 660

661 d a t a _ 0 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1731] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 662

663

664 # In [ ]:

665 666

667 d a t a _ 0 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1731] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 668

669

670 # In [ ]:

671 672

673 d a t a _ 0 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1731] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 674

675

676 # In [ ]:

677 678

679 d a t a _ 0 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1731] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 680

681

682 # In [ ]:

683 684

685 d a t a _ 0 7 = pd . c o n c a t ([ d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 0] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 1731] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 686

687

688 # In [ ]:

689 690

691 V a l u e _ t o _ a d d 2 = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 5 5 9 , 0 . 0 0 0 0 0 8 1 4 ] 692

693

694 # In [ ]:

695 696

697 d a t a _ 0 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 698 d a t a _ 0 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 699 d a t a _ 0 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 700 d a t a _ 0 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 701 d a t a _ 0 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 702 d a t a _ 0 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 703 d a t a _ 0 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 704 d a t a _ 0 7 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 705

706

707 # In [ ]:

708 709

710 C O _ s u m = d a t a _ 0 0 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 711 d a t a _ 0 0 [’ C O _ s u m ’]= C O _ s u m

712 C O _ s u m = d a t a _ 0 1 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 713 d a t a _ 0 1 [’ C O _ s u m ’]= C O _ s u m

714 C O _ s u m = d a t a _ 0 2 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 715 d a t a _ 0 2 [’ C O _ s u m ’]= C O _ s u m

716 C O _ s u m = d a t a _ 0 3 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 717 d a t a _ 0 3 [’ C O _ s u m ’]= C O _ s u m

718 C O _ s u m = d a t a _ 0 4 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 719 d a t a _ 0 4 [’ C O _ s u m ’]= C O _ s u m

720 C O _ s u m = d a t a _ 0 5 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 721 d a t a _ 0 5 [’ C O _ s u m ’]= C O _ s u m

722 C O _ s u m = d a t a _ 0 6 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 723 d a t a _ 0 6 [’ C O _ s u m ’]= C O _ s u m

724 C O _ s u m = d a t a _ 0 7 [[’ C O _ c o n c _ g a s ’,’ C O _ c o n c _ l i q ’,’ C O _ s u r f _ c o n c ’]].sum(a x i s=1) 725 d a t a _ 0 7 [’ C O _ s u m ’]= C O _ s u m

726 727

728 # In [ ]:

729 730

731 d a t a _ 0 0 [’ R a t i o _ g _ s ’]= d a t a _ 0 0 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 0 [’ C O _ s u m ’]

732 d a t a _ 0 1 [’ R a t i o _ g _ s ’]= d a t a _ 0 1 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 1 [’ C O _ s u m ’]

733 d a t a _ 0 2 [’ R a t i o _ g _ s ’]= d a t a _ 0 2 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 2 [’ C O _ s u m ’]

734 d a t a _ 0 3 [’ R a t i o _ g _ s ’]= d a t a _ 0 3 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 3 [’ C O _ s u m ’]

735 d a t a _ 0 4 [’ R a t i o _ g _ s ’]= d a t a _ 0 4 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 4 [’ C O _ s u m ’]

736 d a t a _ 0 5 [’ R a t i o _ g _ s ’]= d a t a _ 0 5 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 5 [’ C O _ s u m ’]

737 d a t a _ 0 6 [’ R a t i o _ g _ s ’]= d a t a _ 0 6 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 6 [’ C O _ s u m ’]

738 d a t a _ 0 7 [’ R a t i o _ g _ s ’]= d a t a _ 0 7 [’ C O _ c o n c _ g a s ’]/ d a t a _ 0 7 [’ C O _ s u m ’]

739 740

741 # ## k f _ C O 2 = 1 0 ^ 1 742

743 # In [ ]:

744 745 746 d a t a _ 0 0 747 748

749 # In [ ]:

750 751

752 x _ v a l u e s = d a t a _ 0 0 [’ T i m e ( s ) ’]

753 y _ v a l u e s = d a t a _ 0 0 [’ e x p e r i m e n t a l ’]

754 def o b j e c t i v e ( x , a , b , c ) :

755 r e t u r n a * x + b

756

757 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 758 a , b , c = p o p t

759 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 760

761 x _ e x p = x _ v a l u e s 762 y _ e x p = y _ n e w 763

764

765 # In [ ]:

766 767

768 x _ v a l u e s = d a t a _ 0 0 [’ T i m e ( s ) ’]

769 y _ v a l u e s = d a t a _ 0 0 [’ C O _ c o n c _ g a s ’]

770 def o b j e c t i v e ( x , a , b , c ) :

771 r e t u r n a * x + b

772

773 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 774 a , b , c = p o p t

775 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 776

777 x _ c o m = x _ v a l u e s 778 y _ c o m = y _ n e w 779

780

781 # In [ ]:

782 783

784 plt .f i g u r e( f i g s i z e = (10 ,8) )

785 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +01 ’) 786 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 0 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

787 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 788 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 789

790 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 791 plt . x t i c k s ( t i c k s )

792 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 793 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

794 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 795 plt .l e g e n d()

796 797

798 # ## k f _ C O 2 = 1 0 ^ 2 799

800 # In [ ]:

801 802 803 d a t a _ 0 1 804 805

806 # In [ ]:

807 808

809 x _ v a l u e s = d a t a _ 0 1 [’ T i m e ( s ) ’]

810 y _ v a l u e s = d a t a _ 0 1 [’ C O _ c o n c _ g a s ’]

811 def o b j e c t i v e ( x , a , b , c ) :

812 r e t u r n a * x + b

813

814 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 815 a , b , c = p o p t

816 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 817

818 x _ c o m = x _ v a l u e s 819 y _ c o m = y _ n e w 820

821

822 # In [ ]:

823 824

825 plt .f i g u r e( f i g s i z e = (10 ,8) )

826 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 1 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +02 ’) 827 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 1 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

828 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 829 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 830

831 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 832 plt . x t i c k s ( t i c k s )

833 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 834 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

835 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 836 plt .l e g e n d()

837 838

839 # ## k f _ C O 2 = 1 0 ^ 3 840

841 # In [ ]:

842 843 844 d a t a _ 0 2 845 846

847 # In [ ]:

848 849

850 x _ v a l u e s = d a t a _ 0 2 [’ T i m e ( s ) ’]

851 y _ v a l u e s = d a t a _ 0 2 [’ C O _ c o n c _ g a s ’]

852 def o b j e c t i v e ( x , a , b , c ) :

853 r e t u r n a * x + b

854

855 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 856 a , b , c = p o p t

857 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 858

859 x _ c o m = x _ v a l u e s 860 y _ c o m = y _ n e w 861

862

863 # In [ ]:

864 865

866 plt .f i g u r e( f i g s i z e = (10 ,8) )

867 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 2 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +03 ’) 868 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 2 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

869 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 870 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 871

872 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 873 plt . x t i c k s ( t i c k s )

874 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 875 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

876 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 877 plt .l e g e n d()

878 879

880 # ## k f _ C O 2 = 1 0 ^ 4 881

882 # In [ ]:

883 884 885 d a t a _ 0 3 886 887

888 # In [ ]:

889 890

891 x _ v a l u e s = d a t a _ 0 3 [’ T i m e ( s ) ’]

892 y _ v a l u e s = d a t a _ 0 3 [’ C O _ c o n c _ g a s ’]

893 def o b j e c t i v e ( x , a , b , c ) :

894 r e t u r n a * x + b

895

896 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 897 a , b , c = p o p t

898 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 899

900 x _ c o m = x _ v a l u e s 901 y _ c o m = y _ n e w 902

903

904 # In [ ]:

905 906

907 plt .f i g u r e( f i g s i z e = (10 ,8) )

908 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 3 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +04 ’) 909 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 3 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

910 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 911 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 912

913 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 914 plt . x t i c k s ( t i c k s )

915 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 916 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

917 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15)

918 plt .l e g e n d() 919

920

921 # ## k f _ C O 2 = 1 0 ^ 5 922

923 # In [ ]:

924 925 926 d a t a _ 0 4 927 928

929 # In [ ]:

930 931

932 x _ v a l u e s = d a t a _ 0 4 [’ T i m e ( s ) ’]

933 y _ v a l u e s = d a t a _ 0 4 [’ C O _ c o n c _ g a s ’]

934 def o b j e c t i v e ( x , a , b , c ) :

935 r e t u r n a * x + b

936

937 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 938 a , b , c = p o p t

939 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 940

941 x _ c o m = x _ v a l u e s 942 y _ c o m = y _ n e w 943

944

945 # In [ ]:

946 947

948 plt .f i g u r e( f i g s i z e = (10 ,8) )

949 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 4 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +05 ’) 950 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 4 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

951 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 952 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 953

954 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 955 plt . x t i c k s ( t i c k s )

956 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 957 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

958 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 959 plt .l e g e n d()

960 961

962 # ## k f _ C O 2 = 1 0 ^ 6 963

964 # In [ ]:

965 966 967 d a t a _ 0 5 968 969

970 # In [ ]:

971 972

973 x _ v a l u e s = d a t a _ 0 5 [’ T i m e ( s ) ’]

974 y _ v a l u e s = d a t a _ 0 5 [’ C O _ c o n c _ g a s ’]

975 def o b j e c t i v e ( x , a , b , c ) :

976 r e t u r n a * x + b

977

978 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 979 a , b , c = p o p t

980 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 981

982 x _ c o m = x _ v a l u e s 983 y _ c o m = y _ n e w 984

985

986 # In [ ]:

987 988

989 plt .f i g u r e( f i g s i z e = (10 ,8) )

990 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +06 ’) 991 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

992 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 993 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 994

995 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 996 plt . x t i c k s ( t i c k s )

997 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 998 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

999 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 1000 plt .l e g e n d()

1001 1002

1003 # ## k f _ C O 2 = 1 0 ^ 7 1004

1005 # In [ ]:

1006 1007 1008 d a t a _ 0 6 1009 1010

1011 # In [ ]:

1012 1013

1014 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

1015 y _ v a l u e s = d a t a _ 0 6 [’ C O _ c o n c _ g a s ’]

1016 def o b j e c t i v e ( x , a , b , c ) :

1017 r e t u r n a * x + b

1018

1019 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 1020 a , b , c = p o p t

1021 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 1022

1023 x _ c o m = x _ v a l u e s 1024 y _ c o m = y _ n e w 1025

1026

1027 # In [ ]:

1028 1029

1030 plt .f i g u r e( f i g s i z e = (10 ,8) )

1031 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +07 ’) 1032 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

1033 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 1034 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 1035

1036 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 1037 plt . x t i c k s ( t i c k s )

1038 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 1039 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

1040 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 1041 plt .l e g e n d()

1042 1043

1044 # ## k f _ C O 2 = 1 0 ^ 8 1045

1046 # In [ ]:

1047 1048 1049 d a t a _ 0 7 1050 1051

1052 # In [ ]:

1053 1054

1055 x _ v a l u e s = d a t a _ 0 7 [’ T i m e ( s ) ’]

1056 y _ v a l u e s = d a t a _ 0 7 [’ C O _ c o n c _ g a s ’]

1057 def o b j e c t i v e ( x , a , b , c ) :

1058 r e t u r n a * x + b

1059

1060 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 1061 a , b , c = p o p t

1062 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 1063

1064 x _ c o m = x _ v a l u e s 1065 y _ c o m = y _ n e w 1066

1067

1068 # In [ ]:

1069 1070

1071 plt .f i g u r e( f i g s i z e = (10 ,8) )

1072 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 7 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +08 ’) 1073 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 7 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

1074 plt .p l o t( x_com , y_com , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 1075 plt .p l o t( x_exp , y_exp , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 1076

1077 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 1078 plt . x t i c k s ( t i c k s )

1079 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 1080 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

1081 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 1082 plt .l e g e n d()

1083 1084

1085 # In [ ]:

FIT forward reaction rate test number 3

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 f r o m s c i p y . o p t i m i z e i m p o r t c u r v e _ f i t 12 i m p o r t s e a b o r n as sns

13 sns .set( f o n t _ s c a l e = 1 . 3 ) 14 sns . s e t _ s t y l e (" w h i t e ") 15

16

17 # In [ ]:

18 19

20 d a t a = pd . r e a d _ f w f (’ f i t t i n g _ k f _ p r e c i s o . txt ’) 21

22

23 # In [ ]:

24 25 26 d a t a 27 28

29 # In [ ]:

30 31

32 d a t a [’ k f _ C O 2 ’]. u n i q u e () 33

34

35 # In [ ]:

36 37

38 d a t a 0 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 0 ] ] 39 d a t a 1 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 1 ] ]

40 d a t a 2 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 2 ] ] 41 d a t a 3 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 3 ] ] 42 d a t a 4 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 4 ] ] 43 d a t a 5 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 5 ] ] 44 d a t a 6 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 6 ] ] 45 d a t a 7 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 7 ] ] 46 d a t a 8 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 8 ] ] 47 d a t a 9 = d a t a [ d a t a [’ k f _ C O 2 ’] == d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 9 ] ] 48

49

50 # In [ ]:

51 52

53 d a t a 0 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 54 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

55 d a t a 1 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 56 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

57 d a t a 2 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 58 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

59 d a t a 3 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 60 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

61 d a t a 4 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 62 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

63 d a t a 5 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 64 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

65 d a t a 6 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 66 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

67 d a t a 7 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 68 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

69 d a t a 8 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 70 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

71 d a t a 9 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 72 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

73 74

75 # In [ ]:

76 77

78 d a t a _ 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 2446] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 7274] , 79 d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 10776] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

80 81

82 # In [ ]:

83 84

85 d a t a _ 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 2446] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 7274] , 86 d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 10776] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

87 88

89 # In [ ]:

90 91

92 d a t a _ 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 2446] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 7274] , 93 d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 10776] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

94 95

96 # In [ ]:

97 98

99 d a t a _ 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 2446] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 7274] , 100 d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 10776] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

101 102

103 # In [ ]:

104 105

106 d a t a _ 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 2446] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 7274] , 107 d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 10776] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

108 109

110 # In [ ]:

111 112

113 d a t a _ 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 2446] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 7274] , 114 d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 10776] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

115 116

117 # In [ ]:

118 119

120 d a t a _ 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 2446] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 7274] , 121 d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 10776] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

122 123

124 # In [ ]:

125 126

127 d a t a _ 7 = pd . c o n c a t ([ d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 0] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 2446] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 7274] , 128 d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 10776] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

129 130

131 # In [ ]:

132 133

134 d a t a _ 8 = pd . c o n c a t ([ d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 0] , d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 2446] , d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 7274] , 135 d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 10776] , d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

136 137

138 # In [ ]:

139 140

141 d a t a _ 9 = pd . c o n c a t ([ d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 0] , d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 2446] , d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 7274] , 142 d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 10776] , d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

143 144

145 # In [ ]:

146 147

148 V a l u e _ t o _ a d d = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 2 6 1 , 0 . 0 0 0 0 0 5 0 7 , 0 . 0 0 0 0 0 7 3 7 , 0 . 0 0 0 0 1 0 2 ] 149

150

151 # In [ ]:

152 153

154 d a t a _ 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 155 d a t a _ 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 156 d a t a _ 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 157 d a t a _ 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 158 d a t a _ 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 159 d a t a _ 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 160 d a t a _ 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 161 d a t a _ 7 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 162 d a t a _ 8 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 163 d a t a _ 9 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 164

165

166 # In [ ]:

167 168

169 d a t a _ 0 [’ d i f f e r e n c e ’] = d a t a _ 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 170 d a t a _ 1 [’ d i f f e r e n c e ’]= d a t a _ 1 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 171 d a t a _ 2 [’ d i f f e r e n c e ’]= d a t a _ 2 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 172 d a t a _ 3 [’ d i f f e r e n c e ’]= d a t a _ 3 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 173 d a t a _ 4 [’ d i f f e r e n c e ’]= d a t a _ 4 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 174 d a t a _ 5 [’ d i f f e r e n c e ’]= d a t a _ 5 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 175 d a t a _ 6 [’ d i f f e r e n c e ’]= d a t a _ 6 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 176 d a t a _ 7 [’ d i f f e r e n c e ’]= d a t a _ 7 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 177 d a t a _ 8 [’ d i f f e r e n c e ’]= d a t a _ 8 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 178 d a t a _ 9 [’ d i f f e r e n c e ’]= d a t a _ 9 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 179

180

181 # ## s c e l t i d a t a 2 e d a t a 3 182

183 # In [ ]:

184 185

186 x _ v a l u e s = d a t a _ 2 [’ T i m e ( s ) ’]

187 y _ v a l u e s = d a t a _ 2 [’ e x p e r i m e n t a l ’]

188 def o b j e c t i v e ( x , a , b , c ) :

189 r e t u r n a * x + b

190

191 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 192 a , b , c = p o p t

193 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 194

195 x _ e x p 1 = x _ v a l u e s 196 y _ e x p 1 = y _ n e w 197

198

199 # In [ ]:

200 201

202 x _ v a l u e s = d a t a _ 2 [’ T i m e ( s ) ’]

203 y _ v a l u e s = d a t a _ 2 [’ C O _ c o n c _ g a s ’]

204 def o b j e c t i v e ( x , a , b , c ) :

205 r e t u r n a * x + b

206

207 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 208 a , b , c = p o p t

209 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 210

211 x _ c o m 1 = x _ v a l u e s 212 y _ c o m 1 = y _ n e w 213

214

215 # In [ ]:

216 217

218 plt .f i g u r e( f i g s i z e = (10 ,8) )

219 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 2 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 7 e +07 ’) 220 plt .p l o t( d a t a _ 2 [’ T i m e ( s ) ’] , d a t a _ 2 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

221 plt .p l o t( x_com1 , y_com1 , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 222 plt .p l o t( x_exp1 , y_exp1 , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 223

224 t i c k s = np . a r r a y ( d a t a _ 0 [’ T i m e ( s ) ’]) 225 plt . x t i c k s ( t i c k s )

226 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 227 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

228 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 229 plt .l e g e n d()

230 231

232 # In [ ]:

233 234

235 x _ v a l u e s = d a t a _ 3 [’ T i m e ( s ) ’]

236 y _ v a l u e s = d a t a _ 3 [’ C O _ c o n c _ g a s ’]

237 def o b j e c t i v e ( x , a , b , c ) :

238 r e t u r n a * x + b

239

240 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 241 a , b , c = p o p t

242 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 243

244 x _ c o m 2 = x _ v a l u e s 245 y _ c o m 2 = y _ n e w 246

247

248 # In [ ]:

249

250

251 plt .f i g u r e( f i g s i z e = (10 ,8) )

252 plt .p l o t( d a t a _ 3 [’ T i m e ( s ) ’] , d a t a _ 3 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 5 e +07 ’) 253 plt .p l o t( d a t a _ 3 [’ T i m e ( s ) ’] , d a t a _ 3 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

254 plt .p l o t( x_com2 , y_com2 , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 255 plt .p l o t( x_exp1 , y_exp1 , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 256

257 t i c k s = np . a r r a y ( d a t a _ 0 [’ T i m e ( s ) ’]) 258 plt . x t i c k s ( t i c k s )

259 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 260 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

261 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 262 plt .l e g e n d()

263 264 265 # 266

267 # In [ ]:

268 269 270 271 272

273 # In [ ]:

274 275 276 277 278

279 # In [ ]:

280 281 282 283 284

285 # In [ ]:

286 287 288 289 290

291 # In [ ]:

292 293 294 295 296

297 # In [ ]:

298 299 300 301 302

303 # ## s u r f a c t a n t 304

305 # In [ ]:

306 307

308 d a t a _ 0 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1731] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 309

310

311 # In [ ]:

312 313

314 d a t a _ 0 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1731] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 315

316

317 # In [ ]:

318 319

320 d a t a _ 0 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1731] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 321

322

323 # In [ ]:

324 325

326 d a t a _ 0 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1731] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 327

328

329 # In [ ]:

330 331

332 d a t a _ 0 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1731] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 333

334

335 # In [ ]:

336 337

338 d a t a _ 0 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1731] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 339

340

341 # In [ ]:

342 343

344 d a t a _ 0 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1731] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 345

346

347 # In [ ]:

348 349

350 d a t a _ 0 7 = pd . c o n c a t ([ d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 0] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 1731] , d a t a 7 [ d a t a 7 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 351

352

353 # In [ ]:

354

355

356 d a t a _ 0 8 = pd . c o n c a t ([ d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 0] , d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 1731] , d a t a 8 [ d a t a 8 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 357

358

359 # In [ ]:

360 361

362 d a t a _ 0 9 = pd . c o n c a t ([ d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 0] , d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 1731] , d a t a 9 [ d a t a 9 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 363

364

365 # In [ ]:

366 367

368 V a l u e _ t o _ a d d 2 = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 5 5 9 , 0 . 0 0 0 0 0 8 1 4 ] 369

370

371 # In [ ]:

372 373

374 d a t a _ 0 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 375 d a t a _ 0 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 376 d a t a _ 0 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 377 d a t a _ 0 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 378 d a t a _ 0 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 379 d a t a _ 0 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 380 d a t a _ 0 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 381 d a t a _ 0 7 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 382 d a t a _ 0 8 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 383 d a t a _ 0 9 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 384

385

386 # In [ ]:

387 388

389 d a t a _ 0 0 [’ d i f f e r e n c e ’] = d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 390 d a t a _ 0 1 [’ d i f f e r e n c e ’] = d a t a _ 0 1 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 391 d a t a _ 0 2 [’ d i f f e r e n c e ’] = d a t a _ 0 2 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 392 d a t a _ 0 3 [’ d i f f e r e n c e ’] = d a t a _ 0 3 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 393 d a t a _ 0 4 [’ d i f f e r e n c e ’] = d a t a _ 0 4 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 394 d a t a _ 0 5 [’ d i f f e r e n c e ’] = d a t a _ 0 5 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 395 d a t a _ 0 6 [’ d i f f e r e n c e ’] = d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 396 d a t a _ 0 7 [’ d i f f e r e n c e ’] = d a t a _ 0 7 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 397 d a t a _ 0 8 [’ d i f f e r e n c e ’] = d a t a _ 0 8 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 398 d a t a _ 0 9 [’ d i f f e r e n c e ’] = d a t a _ 0 9 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 399

400

401 # ## s c e l t i d a t a _ 0 5 e d a t a _ 0 6 402

403 # In [ ]:

404 405

406 x _ v a l u e s = d a t a _ 0 5 [’ T i m e ( s ) ’]

407 y _ v a l u e s = d a t a _ 0 5 [’ e x p e r i m e n t a l ’]

408 def o b j e c t i v e ( x , a , b , c ) :

409 r e t u r n a * x + b

410

411 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 412 a , b , c = p o p t

413 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 414

415 x _ e x p 0 1 = x _ v a l u e s 416 y _ e x p 0 1 = y _ n e w 417

418

419 # In [ ]:

420 421

422 x _ v a l u e s = d a t a _ 0 5 [’ T i m e ( s ) ’]

423 y _ v a l u e s = d a t a _ 0 5 [’ C O _ c o n c _ g a s ’]

424 def o b j e c t i v e ( x , a , b , c ) :

425 r e t u r n a * x + b

426

427 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 428 a , b , c = p o p t

429 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 430

431 x _ c o m 0 1 = x _ v a l u e s 432 y _ c o m 0 1 = y _ n e w 433

434

435 # In [ ]:

436 437

438 plt .f i g u r e( f i g s i z e = (10 ,8) )

439 plt .p l o t( d a t a _ 0 5 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +08 ’) 440 plt .p l o t( d a t a _ 0 5 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

441 plt .p l o t( x_com01 , y_com01 , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 442 plt .p l o t( x_exp01 , y_exp01 , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 443

444 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 445 plt . x t i c k s ( t i c k s )

446 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 447 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

448 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 449 plt .l e g e n d()

450 451

452 # In [ ]:

453 454

455 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

456 y _ v a l u e s = d a t a _ 0 6 [’ e x p e r i m e n t a l ’]

457 def o b j e c t i v e ( x , a , b , c ) :

458 r e t u r n a * x + b

459

460 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 461 a , b , c = p o p t

462 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 463

464 x _ e x p 0 1 = x _ v a l u e s 465 y _ e x p 0 1 = y _ n e w 466

467

468 # In [ ]:

469 470

471 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

472 y _ v a l u e s = d a t a _ 0 6 [’ C O _ c o n c _ g a s ’]

473 def o b j e c t i v e ( x , a , b , c ) :

474 r e t u r n a * x + b

475

476 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 477 a , b , c = p o p t

478 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 479

480 x _ c o m 0 2 = x _ v a l u e s 481 y _ c o m 0 2 = y _ n e w 482

483

484 # In [ ]:

485 486

487 plt .f i g u r e( f i g s i z e = (10 ,8) )

488 plt .p l o t( d a t a _ 0 6 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] ,’ b ^ ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 3. e +08 ’) 489 plt .p l o t( d a t a _ 0 6 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ e x p e r i m e n t a l ’] , ’ gv ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l ’)

490 plt .p l o t( x_com02 , y_com02 , ’b - - ’, l a b e l = ’ C o m s o l fit ’) 491 plt .p l o t( x_exp01 , y_exp01 , ’g - - ’, l a b e l = ’ E x p e r i m e n t a l fit ’) 492

493 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 494 plt . x t i c k s ( t i c k s )

495 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 496 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

497 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 498 plt .l e g e n d()

499 500

501 # ## N E W _ D A T A 502

503 # In [ ]:

504 505

506 n e w _ d a t a = pd . r e a d _ f w f (’ f i t t i n g _ k f _ p i u _ p r e c i s o . txt ’) 507

508

509 # In [ ]:

510 511

512 n e w _ d a t a 513

514

515 # In [ ]:

516 517

518 n e w _ d a t a 0 = n e w _ d a t a [ n e w _ d a t a [’ k f _ C O 2 ’] == n e w _ d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 0 ] ] 519

520

521 # In [ ]:

522 523

524 n e w _ d a t a 0 525

526

527 # In [ ]:

528 529

530 n e w _ d a t a 1 = n e w _ d a t a [ n e w _ d a t a [’ k f _ C O 2 ’] == n e w _ d a t a [’ k f _ C O 2 ’]. u n i q u e () [ 1 ] ] 531

532

533 # In [ ]:

534 535

536 n e w _ d a t a _ 0 = pd . c o n c a t ([ n e w _ d a t a 0 [ n e w _ d a t a 0 [’ T i m e ( s ) ’] == 0] , n e w _ d a t a 0 [ n e w _ d a t a 0 [’ T i m e ( s ) ’] == 2446] , n e w _ d a t a 0 [ n e w _ d a t a 0 [’ T i m e ( s ) ’] == 7274] , 537 n e w _ d a t a 0 [ n e w _ d a t a 0 [’ T i m e ( s ) ’] == 10776] , n e w _ d a t a 0 [ n e w _ d a t a 0 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

538 539

540 # In [ ]:

541 542

543 n e w _ d a t a _ 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 544

545

546 # In [ ]:

547 548

549 n e w _ d a t a _ 0 [’ d i f f e r e n c e ’] = n e w _ d a t a _ 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 550

551

552 # In [ ]:

553 554

555 x _ v a l u e s = n e w _ d a t a _ 0 [’ T i m e ( s ) ’]

556 y _ v a l u e s = n e w _ d a t a _ 0 [’ C O _ c o n c _ g a s ’]

557 def o b j e c t i v e ( x , a , b , c ) :

558 r e t u r n a * x + b

559

560 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 561 a , b , c = p o p t

562 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 563

564 x _ c o m _ n e w 1 = x _ v a l u e s

565 y _ c o m _ n e w 1 = y _ n e w 566

567

568 # In [ ]:

569 570

571 plt .f i g u r e( f i g s i z e = (10 ,8) )

572 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 2 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r =’ tab : b l u e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 5. e +07 ’) 573 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 0 [’ e x p e r i m e n t a l ’] ,’ ^ ’, c o l o r =’ tab : g r e e n ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l w / o C 1 2 E 6 ’) 574 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 3 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r = ’ tab : o r a n g e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 7. e +07 ’) 575 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , n e w _ d a t a _ 0 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r = ’ tab : red ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 6. e +07 ’) 576

577

578 plt .p l o t( x_com1 , y_com1 , ’ - - ’, c o l o r = ’ tab : b l u e ’) 579 plt .p l o t( x_com2 , y_com2 , ’ - - ’, c o l o r =’ tab : o r a n g e ’) 580 plt .p l o t( x_exp1 , y_exp1 ,’ - - ’, c o l o r = ’ tab : g r e e n ’) 581 plt .p l o t( x _ c o m _ n e w 1 , y _ c o m _ n e w 1 , ’ - - ’, c o l o r =’ tab : red ’ ) 582

583 t i c k s = np . a r r a y ( d a t a _ 0 [’ T i m e ( s ) ’]) 584 plt . x t i c k s ( t i c k s )

585 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 586 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

587 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 588 plt .l e g e n d()

589 plt . s a v e f i g (’ C O _ k f 6 e 7 . PNG ’, b b o x _ i n c h e s = " t i g h t ") 590

591

592 # ## s u r f a c t a n t 593

594 # In [ ]:

595 596

597 n e w _ d a t a _ 0 0 = pd . c o n c a t ([ n e w _ d a t a 1 [ n e w _ d a t a 1 [’ T i m e ( s ) ’] == 0] , n e w _ d a t a 1 [ n e w _ d a t a 1 [’ T i m e ( s ) ’] == 1731] , n e w _ d a t a 1 [ n e w _ d a t a 1 [’ T i m e ( s ) ’] == 3896]] ,a x i s

= 0) 598

599

600 # In [ ]:

601 602

603 n e w _ d a t a _ 0 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 604

605

606 # In [ ]:

607 608

609 n e w _ d a t a _ 0 0 [’ d i f f e r e n c e ’] = n e w _ d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 610

611

612 # In [ ]:

613 614

615 x _ v a l u e s = n e w _ d a t a _ 0 0 [’ T i m e ( s ) ’] 616 y _ v a l u e s = n e w _ d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] 617 def o b j e c t i v e ( x , a , b , c ) :

618 r e t u r n a * x + b

619

620 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 621 a , b , c = p o p t

622 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 623

624 x _ c o m _ n e w 0 1 = x _ v a l u e s 625 y _ c o m _ n e w 0 1 = y _ n e w 626

627

628 # In [ ]:

629 630

631 plt .f i g u r e( f i g s i z e = (10 ,8) )

632 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 5 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r =’ tab : b l u e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 1. e +08 ’) 633 plt .p l o t( n e w _ d a t a _ 0 0 [’ T i m e ( s ) ’] , n e w _ d a t a _ 0 0 [’ e x p e r i m e n t a l ’] ,’ ^ ’, c o l o r =’ tab : g r e e n ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l \ w C 1 2 E 6 ’) 634 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r = ’ tab : o r a n g e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 3. e +08 ’) 635 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , n e w _ d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r = ’ tab : red ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l k f _ C O 2 = 2. e +08 ’) 636

637

638 plt .p l o t( x_com01 , y_com01 , ’ - - ’, c o l o r = ’ tab : b l u e ’) 639 plt .p l o t( x_com02 , y_com02 , ’ - - ’, c o l o r =’ tab : o r a n g e ’) 640 plt .p l o t( x_exp01 , y_exp01 ,’ - - ’, c o l o r = ’ tab : g r e e n ’) 641 plt .p l o t( x _ c o m _ n e w 0 1 , y _ c o m _ n e w 0 1 , ’ - - ’, c o l o r =’ tab : red ’ ) 642

643 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 644 plt . x t i c k s ( t i c k s )

645 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 646 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

647 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 648 plt .l e g e n d()

649 plt . s a v e f i g (’ C O _ k f 2 e 8 . PNG ’, b b o x _ i n c h e s = " t i g h t ")

FIT equilibrium adsorption constant H2Q test number 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 f r o m s c i p y . o p t i m i z e i m p o r t c u r v e _ f i t 12 i m p o r t s e a b o r n as sns

13 sns .set( f o n t _ s c a l e = 1 . 3 ) 14 sns . s e t _ s t y l e (" w h i t e ") 15

16

17 # In [ ]:

18 19

20 d a t a = pd . r e a d _ f w f (’ f i t t i n g _ K H H 2 Q _ e -3 e3 . txt ’) 21

22

23 # In [ ]:

24 25 26 d a t a 27 28

29 # In [ ]:

30 31

32 d a t a [’ K H _ H 2 Q ’]. u n i q u e () 33

34

35 # In [ ]:

36 37

38 d a t a 0 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 0 ] ] 39 d a t a 1 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 1 ] ] 40 d a t a 2 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 2 ] ] 41 d a t a 3 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 3 ] ] 42 d a t a 4 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 4 ] ] 43 d a t a 5 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 5 ] ] 44 d a t a 6 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 6 ] ] 45

46

47 # In [ ]:

48 49

50 d a t a 0 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 51 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

52 d a t a 1 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 53 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

54 d a t a 2 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 55 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

56 d a t a 3 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 57 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

58 d a t a 4 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 59 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

60 d a t a 5 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 61 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

62 d a t a 6 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 63 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

64 65

66 # In [ ]:

67 68

69 d a t a _ 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 2446] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 7274] , 70 d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 10776] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

71 72

73 # In [ ]:

74 75

76 d a t a _ 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 2446] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 7274] , 77 d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 10776] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

78 79

80 # In [ ]:

81 82

83 d a t a _ 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 2446] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 7274] , 84 d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 10776] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

85 86

87 # In [ ]:

88 89

90 d a t a _ 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 2446] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 7274] , 91 d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 10776] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

92 93

94 # In [ ]:

95 96

97 d a t a _ 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 2446] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 7274] , 98 d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 10776] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

99 100

101 # In [ ]:

102 103

104 d a t a _ 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 2446] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 7274] , 105 d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 10776] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

106 107

108 # In [ ]:

109 110

111 d a t a _ 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 2446] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 7274] , 112 d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 10776] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

113 114

115 # In [ ]:

116 117

118 V a l u e _ t o _ a d d = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 2 6 1 , 0 . 0 0 0 0 0 5 0 7 , 0 . 0 0 0 0 0 7 3 7 , 0 . 0 0 0 0 1 0 2 ] 119

120

121 # In [ ]:

122 123

124 d a t a _ 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 125 d a t a _ 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 126 d a t a _ 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 127 d a t a _ 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 128 d a t a _ 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 129 d a t a _ 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 130 d a t a _ 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 131

132

133 # In [ ]:

134 135

136 d a t a _ 0 [’ d i f f e r e n c e ’] = d a t a _ 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 137 d a t a _ 1 [’ d i f f e r e n c e ’]= d a t a _ 1 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 138 d a t a _ 2 [’ d i f f e r e n c e ’]= d a t a _ 2 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 139 d a t a _ 3 [’ d i f f e r e n c e ’]= d a t a _ 3 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 140 d a t a _ 4 [’ d i f f e r e n c e ’]= d a t a _ 4 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 141 d a t a _ 5 [’ d i f f e r e n c e ’]= d a t a _ 5 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 142 d a t a _ 6 [’ d i f f e r e n c e ’]= d a t a _ 6 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 143

144

145 # In [ ]:

146 147 148 d a t a _ 0 149 150

151 # In [ ]:

152 153 154 d a t a _ 1 155 156

157 # In [ ]:

158 159 160 d a t a _ 2 161 162

163 # In [ ]:

164 165 166 d a t a _ 3 167 168

169 # In [ ]:

170 171 172 d a t a _ 4 173 174

175 # In [ ]:

176 177 178 d a t a _ 5 179 180

181 # In [ ]:

182 183 184 d a t a _ 6 185 186

187 # ## s u r f a c t a n t 188

189 # In [ ]:

190 191

192 d a t a _ 0 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1731] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 193

194

195 # In [ ]:

196 197

198 d a t a _ 0 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1731] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 199

200

201 # In [ ]:

202 203

204 d a t a _ 0 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1731] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 205

206

207 # In [ ]:

208 209

210 d a t a _ 0 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1731] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 211

212

213 # In [ ]:

214 215

216 d a t a _ 0 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1731] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 217

218

219 # In [ ]:

220 221

222 d a t a _ 0 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1731] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 223

224

225 # In [ ]:

226

227

228 d a t a _ 0 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1731] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 229

230

231 # In [ ]:

232 233

234 V a l u e _ t o _ a d d 2 = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 5 5 9 , 0 . 0 0 0 0 0 8 1 4 ] 235

236

237 # In [ ]:

238 239

240 d a t a _ 0 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 241 d a t a _ 0 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 242 d a t a _ 0 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 243 d a t a _ 0 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 244 d a t a _ 0 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 245 d a t a _ 0 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 246 d a t a _ 0 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 247

248

249 # In [ ]:

250 251

252 d a t a _ 0 0 [’ d i f f e r e n c e ’] = d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 253 d a t a _ 0 1 [’ d i f f e r e n c e ’] = d a t a _ 0 1 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 254 d a t a _ 0 2 [’ d i f f e r e n c e ’] = d a t a _ 0 2 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 255 d a t a _ 0 3 [’ d i f f e r e n c e ’] = d a t a _ 0 3 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 256 d a t a _ 0 4 [’ d i f f e r e n c e ’] = d a t a _ 0 4 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 257 d a t a _ 0 5 [’ d i f f e r e n c e ’] = d a t a _ 0 5 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 258 d a t a _ 0 6 [’ d i f f e r e n c e ’] = d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 259

260

261 # In [ ]:

262 263 264 d a t a _ 0 0 265 266

267 # In [ ]:

268 269 270 d a t a _ 0 1 271 272

273 # In [ ]:

274 275 276 d a t a _ 0 2 277 278

279 # In [ ]:

280 281 282 d a t a _ 0 3 283 284

285 # In [ ]:

286 287 288 d a t a _ 0 4 289 290

291 # In [ ]:

292 293 294 d a t a _ 0 5 295 296

297 # In [ ]:

298 299 300 d a t a _ 0 6 301 302

303 # # d a t a _ 0 0 . t o _ p i c k l e ( ’ d a t a f r a m e _ e - 0 3 . csv ’)

FIT equilibrium adsorption constant H2Q test number 1

1 # !/ usr / bin / env p y t h o n 2 # c o d i n g : utf -8 3

4 # In [ ]:

5 6

7 i m p o r t p a n d a s as pd 8 i m p o r t n u m p y as np

9 i m p o r t s t a t s m o d e l s . api as sm 10 i m p o r t m a t p l o t l i b . p y p l o t as plt 11 f r o m s c i p y . o p t i m i z e i m p o r t c u r v e _ f i t 12 i m p o r t s e a b o r n as sns

13 sns .set( f o n t _ s c a l e = 1 . 3 ) 14 sns . s e t _ s t y l e (" w h i t e ") 15

16

17 # In [ ]:

18 19

20 d a t a = pd . r e a d _ f w f (’ f i t t i n g _ K H H 2 Q _ e -11 e -5. txt ’) 21

22

23 # In [ ]:

24 25

26 d a t a 27 28

29 # In [ ]:

30 31

32 d a t a [’ K H _ H 2 Q ’]. u n i q u e () 33

34

35 # In [ ]:

36 37

38 d a t a 0 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 0 ] ] 39 d a t a 1 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 1 ] ] 40 d a t a 2 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 2 ] ] 41 d a t a 3 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 3 ] ] 42 d a t a 4 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 4 ] ] 43 d a t a 5 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 5 ] ] 44 d a t a 6 = d a t a [ d a t a [’ K H _ H 2 Q ’] == d a t a [’ K H _ H 2 Q ’]. u n i q u e () [ 6 ] ] 45

46

47 # In [ ]:

48 49

50 d a t a 0 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 51 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

52 d a t a 1 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 53 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

54 d a t a 2 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 55 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

56 d a t a 3 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 57 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

58 d a t a 4 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 59 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

60 d a t a 5 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 61 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

62 d a t a 6 . d r o p ([’ C O 2 _ c o n c _ g a s ’, ’ C O 2 _ c o n c _ l i q ’, ’ H 2 Q _ c o n c _ l i q ’, ’ H Q _ c o n c _ l i q ’, ’ C O 2 _ s u r f _ c o n c ’, 63 ’ H 2 Q _ s u r f _ c o n c ’, ’ H Q _ s u r f _ c o n c ’] , a x i s = 1 , i n p l a c e = T r u e )

64 65

66 # In [ ]:

67 68

69 d a t a _ 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 2446] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 7274] , 70 d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 10776] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

71 72

73 # In [ ]:

74 75

76 d a t a _ 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 2446] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 7274] , 77 d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 10776] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

78 79

80 # In [ ]:

81 82

83 d a t a _ 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 2446] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 7274] , 84 d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 10776] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

85 86

87 # In [ ]:

88 89

90 d a t a _ 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 2446] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 7274] , 91 d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 10776] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

92 93

94 # In [ ]:

95 96

97 d a t a _ 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 2446] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 7274] , 98 d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 10776] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

99 100

101 # In [ ]:

102 103

104 d a t a _ 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 2446] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 7274] , 105 d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 10776] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

106 107

108 # In [ ]:

109 110

111 d a t a _ 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 2446] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 7274] , 112 d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 10776] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1 3 1 9 6 ] ] , a x i s = 0)

113 114

115 # In [ ]:

116 117

118 V a l u e _ t o _ a d d = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 2 6 1 , 0 . 0 0 0 0 0 5 0 7 , 0 . 0 0 0 0 0 7 3 7 , 0 . 0 0 0 0 1 0 2 ] 119

120

121 # In [ ]:

122 123

124 d a t a _ 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 125 d a t a _ 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 126 d a t a _ 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 127 d a t a _ 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 128 d a t a _ 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 129 d a t a _ 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 130 d a t a _ 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d

131 132

133 # In [ ]:

134 135

136 d a t a _ 0 [’ d i f f e r e n c e ’] = d a t a _ 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 137 d a t a _ 1 [’ d i f f e r e n c e ’]= d a t a _ 1 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 138 d a t a _ 2 [’ d i f f e r e n c e ’]= d a t a _ 2 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 139 d a t a _ 3 [’ d i f f e r e n c e ’]= d a t a _ 3 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 140 d a t a _ 4 [’ d i f f e r e n c e ’]= d a t a _ 4 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 141 d a t a _ 5 [’ d i f f e r e n c e ’]= d a t a _ 5 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 142 d a t a _ 6 [’ d i f f e r e n c e ’]= d a t a _ 6 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 143

144

145 # In [ ]:

146 147 148 d a t a _ 0 149 150

151 # In [ ]:

152 153 154 d a t a _ 1 155 156

157 # In [ ]:

158 159 160 d a t a _ 2 161 162

163 # In [ ]:

164 165 166 d a t a _ 3 167 168

169 # In [ ]:

170 171 172 d a t a _ 4 173 174

175 # In [ ]:

176 177 178 d a t a _ 5 179 180

181 # In [ ]:

182 183 184 d a t a _ 6 185 186

187 # ## s c e l t i d a t a _ 5 e d a t a _ 6 188

189 # In [ ]:

190 191

192 x _ v a l u e s = d a t a _ 5 [’ T i m e ( s ) ’]

193 y _ v a l u e s = d a t a _ 5 [’ e x p e r i m e n t a l ’]

194 def o b j e c t i v e ( x , a , b , c ) :

195 r e t u r n a * x + b

196

197 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 198 a , b , c = p o p t

199 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 200

201 x _ e x p 1 = x _ v a l u e s 202 y _ e x p 1 = y _ n e w 203

204

205 # In [ ]:

206 207

208 x _ v a l u e s = d a t a _ 5 [’ T i m e ( s ) ’]

209 y _ v a l u e s = d a t a _ 5 [’ C O _ c o n c _ g a s ’]

210 def o b j e c t i v e ( x , a , b , c ) :

211 r e t u r n a * x + b

212

213 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 214 a , b , c = p o p t

215 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 216

217 x _ c o m 1 = x _ v a l u e s 218 y _ c o m 1 = y _ n e w 219

220

221 # In [ ]:

222 223

224 x _ v a l u e s = d a t a _ 6 [’ T i m e ( s ) ’]

225 y _ v a l u e s = d a t a _ 6 [’ C O _ c o n c _ g a s ’]

226 def o b j e c t i v e ( x , a , b , c ) :

227 r e t u r n a * x + b

228

229 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 230 a , b , c = p o p t

231 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 232

233 x _ c o m 2 = x _ v a l u e s 234 y _ c o m 2 = y _ n e w 235

236

237 # In [ ]:

238 239

240 plt .f i g u r e( f i g s i z e = (10 ,8) )

241 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 5 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r =’ tab : b l u e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l K H _ H 2 Q = 9 . 9 1 e -6 ’) 242 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 0 [’ e x p e r i m e n t a l ’] ,’ ^ ’, c o l o r =’ tab : g r e e n ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l w / o C 1 2 E 6 ’)

243 plt .p l o t( d a t a _ 0 [’ T i m e ( s ) ’] , d a t a _ 6 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r = ’ tab : o r a n g e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l K H _ H 2 Q = 9 . 9 1 e -5 ’) 244

245

246 plt .p l o t( x_com1 , y_com1 , ’ - - ’, c o l o r = ’ tab : b l u e ’) 247 plt .p l o t( x_com2 , y_com2 , ’ - - ’, c o l o r =’ tab : o r a n g e ’) 248 plt .p l o t( x_exp1 , y_exp1 ,’ - - ’, c o l o r = ’ tab : g r e e n ’) 249

250 t i c k s = np . a r r a y ( d a t a _ 0 [’ T i m e ( s ) ’]) 251 plt . x t i c k s ( t i c k s )

252 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 253 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

254 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 255 plt .l e g e n d()

256 plt . s a v e f i g (’ C O _ K H H 2 Q e -5. PNG ’, b b o x _ i n c h e s = " t i g h t ") 257

258

259 # ## S u r f a c t a n t 260

261 # In [ ]:

262 263

264 d a t a _ 0 0 = pd . c o n c a t ([ d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 0] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 1731] , d a t a 0 [ d a t a 0 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 265

266

267 # In [ ]:

268 269

270 d a t a _ 0 1 = pd . c o n c a t ([ d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 0] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 1731] , d a t a 1 [ d a t a 1 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 271

272

273 # In [ ]:

274 275

276 d a t a _ 0 2 = pd . c o n c a t ([ d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 0] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 1731] , d a t a 2 [ d a t a 2 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 277

278

279 # In [ ]:

280 281

282 d a t a _ 0 3 = pd . c o n c a t ([ d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 0] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 1731] , d a t a 3 [ d a t a 3 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 283

284

285 # In [ ]:

286 287

288 d a t a _ 0 4 = pd . c o n c a t ([ d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 0] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 1731] , d a t a 4 [ d a t a 4 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 289

290

291 # In [ ]:

292 293

294 d a t a _ 0 5 = pd . c o n c a t ([ d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 0] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 1731] , d a t a 5 [ d a t a 5 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 295

296

297 # In [ ]:

298 299

300 d a t a _ 0 6 = pd . c o n c a t ([ d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 0] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 1731] , d a t a 6 [ d a t a 6 [’ T i m e ( s ) ’] == 3896]] ,a x i s = 0) 301

302

303 # In [ ]:

304 305

306 V a l u e _ t o _ a d d 2 = [ 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 5 5 9 , 0 . 0 0 0 0 0 8 1 4 ] 307

308

309 # In [ ]:

310 311

312 d a t a _ 0 0 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 313 d a t a _ 0 1 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 314 d a t a _ 0 2 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 315 d a t a _ 0 3 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 316 d a t a _ 0 4 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 317 d a t a _ 0 5 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 318 d a t a _ 0 6 [’ e x p e r i m e n t a l ’] = V a l u e _ t o _ a d d 2 319

320

321 # In [ ]:

322 323

324 d a t a _ 0 0 [’ d i f f e r e n c e ’] = d a t a _ 0 0 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 325 d a t a _ 0 1 [’ d i f f e r e n c e ’] = d a t a _ 0 1 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 326 d a t a _ 0 2 [’ d i f f e r e n c e ’] = d a t a _ 0 2 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 327 d a t a _ 0 3 [’ d i f f e r e n c e ’] = d a t a _ 0 3 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 328 d a t a _ 0 4 [’ d i f f e r e n c e ’] = d a t a _ 0 4 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 329 d a t a _ 0 5 [’ d i f f e r e n c e ’] = d a t a _ 0 5 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 330 d a t a _ 0 6 [’ d i f f e r e n c e ’] = d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] - V a l u e _ t o _ a d d 2 331

332

333 # In [ ]:

334 335 336 d a t a _ 0 0 337 338

339 # In [ ]:

340

341 342 d a t a _ 0 1 343 344

345 # In [ ]:

346 347 348 d a t a _ 0 2 349 350

351 # In [ ]:

352 353 354 d a t a _ 0 3 355 356

357 # In [ ]:

358 359 360 d a t a _ 0 4 361 362

363 # In [ ]:

364 365 366 d a t a _ 0 5 367 368

369 # In [ ]:

370 371 372 d a t a _ 0 6 373 374

375 # ## s c e l t i d a t a _ 0 6 e q u e l l o che s a r e b b e e -03 376

377 # In [ ]:

378 379

380 d a t a _ 0 7 = pd . r e a d _ p i c k l e (’ d a t a f r a m e _ e - 0 3 . csv ’) 381

382

383 # In [ ]:

384 385 386 d a t a _ 0 7 387 388

389 # In [ ]:

390 391

392 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

393 y _ v a l u e s = d a t a _ 0 6 [’ e x p e r i m e n t a l ’]

394 def o b j e c t i v e ( x , a , b , c ) :

395 r e t u r n a * x + b

396

397 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 398 a , b , c = p o p t

399 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 400

401 x _ e x p 1 = x _ v a l u e s 402 y _ e x p 1 = y _ n e w 403

404

405 # In [ ]:

406 407

408 x _ v a l u e s = d a t a _ 0 6 [’ T i m e ( s ) ’]

409 y _ v a l u e s = d a t a _ 0 6 [’ C O _ c o n c _ g a s ’]

410 def o b j e c t i v e ( x , a , b , c ) :

411 r e t u r n a * x + b

412

413 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 414 a , b , c = p o p t

415 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 416

417 x _ c o m 1 = x _ v a l u e s 418 y _ c o m 1 = y _ n e w 419

420

421 # In [ ]:

422 423

424 x _ v a l u e s = d a t a _ 0 7 [’ T i m e ( s ) ’]

425 y _ v a l u e s = d a t a _ 0 7 [’ C O _ c o n c _ g a s ’]

426 def o b j e c t i v e ( x , a , b , c ) :

427 r e t u r n a * x + b

428

429 popt , _ = c u r v e _ f i t ( o b j e c t i v e , x _ v a l u e s , y _ v a l u e s ) 430 a , b , c = p o p t

431 y _ n e w = o b j e c t i v e ( x _ v a l u e s , a , b , c ) 432

433 x _ c o m 2 = x _ v a l u e s 434 y _ c o m 2 = y _ n e w 435

436

437 # In [ ]:

438 439

440 plt .f i g u r e( f i g s i z e = (10 ,8) )

441 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r =’ tab : b l u e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l K H _ H 2 Q = 9 . 9 1 e -4 ’) 442 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 0 [’ e x p e r i m e n t a l ’] ,’ ^ ’, c o l o r =’ tab : g r e e n ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l w / o C 1 2 E 6 ’)

443 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 7 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r = ’ tab : o r a n g e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l K H _ H 2 Q = 9 . 9 1 e -3 ’) 444

445

446 plt .p l o t( x_com1 , y_com1 , ’ - - ’, c o l o r = ’ tab : b l u e ’) 447 plt .p l o t( x_com2 , y_com2 , ’ - - ’, c o l o r =’ tab : o r a n g e ’) 448 plt .p l o t( x_exp1 , y_exp1 ,’ - - ’, c o l o r = ’ tab : g r e e n ’) 449

450 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 451 plt . x t i c k s ( t i c k s )

452 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 453 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

454 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 455 plt .l e g e n d()

456 plt . s a v e f i g (’ C O _ K H H 2 Q e -4. PNG ’, b b o x _ i n c h e s = " t i g h t ") 457

458

459 # In [ ]:

460 461

462 plt .f i g u r e( f i g s i z e = (10 ,8) )

463 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 6 [’ C O _ c o n c _ g a s ’] ,’ ^ ’, c o l o r =’ tab : b l u e ’, m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l K H _ H 2 Q = 9 . 9 1 e -4 ’) 464 plt .p l o t( d a t a _ 0 0 [’ T i m e ( s ) ’] , d a t a _ 0 0 [’ e x p e r i m e n t a l ’] ,’ ^ ’, c o l o r =’ tab : g r e e n ’, m a r k e r s i z e = 10 , l a b e l = ’ E x p e r i m e n t a l w / o C 1 2 E 6 ’)

465 # plt . p l o t ( d a t a _ 0 0 [ ’ T i m e ( s ) ’] , d a t a _ 0 7 [ ’ C O _ c o n c _ g a s ’] , ’^ ’ , c o l o r = ’ tab : orange ’ , m a r k e r s i z e = 10 , l a b e l = ’ C o m s o l M o d e l K H _ H 2 Q = 9 . 9 1 e -3 ’) 466

467

468 plt .p l o t( x_com1 , y_com1 , ’ - - ’, c o l o r = ’ tab : b l u e ’) 469 # plt . p l o t ( x_com2 , y_com2 , ’ - - ’ , c o l o r = ’ tab : orange ’) 470 plt .p l o t( x_exp1 , y_exp1 ,’ - - ’, c o l o r = ’ tab : g r e e n ’) 471

472 t i c k s = np . a r r a y ( d a t a _ 0 0 [’ T i m e ( s ) ’]) 473 plt . x t i c k s ( t i c k s )

474 plt .t i t l e (’ CO c o n c e n t r a t i o n : M o d e l and E x p e r i m e n t a l ’, f o n t w e i g h t = " b o l d ", s i z e = 15 ) 475 plt .y l a b e l(’ CO n u m b e r of m o l e s [ mol / m ^2] ’, s i z e = 15)

476 plt .x l a b e l(’ T i m e [ s ] ’, s i z e = 15) 477 plt .l e g e n d()

478 plt . s a v e f i g (’ C O _ K H H 2 Q e -4 _ t a k e 2 . PNG ’, b b o x _ i n c h e s = " t i g h t ")

Bibliography

[1] Florinda Martins, Carlos Felgueiras, and Miroslava Smitkov´a. Fossil fuel en-ergy consumption in european countries. Enen-ergy Procedia, 153:107–111, 2018.

5th International Conference on Energy and Environment Research, ICEER 2018, 23-27 July 2018, Prague, Czech Republic.

[2] International Energy Agency IEA. World energy outlook 2021.

https://www.iea.org/reports/world-energy-outlook-2021, 2021.

[3] J Kim. C. a. henao, t. a. johnson, de dedrick, je miller, eb stechel, and ct maravelias,“methanol production from co2 using solar-thermal energy: process development and technoeconomic analysis,”. Energy Environ. Sci, 4(9):3122, 2011.

[4] Helmut Tributsch. Photovoltaic hydrogen generation. International Journal of Hydrogen Energy, 33(21):5911–5930, 2008.

[5] Zhongliang Zhan, Worawarit Kobsiriphat, James R Wilson, Manoj Pillai, Ilwon Kim, and Scott A Barnett. Syngas production by coelectrolysis of co2/h2o: the basis for a renewable energy cycle. Energy & Fuels, 23(6):3089–

3096, 2009.

[6] SF Ahmed, N Rafa, M Mofijur, IA Badruddin, A Inayat, MS Ali, O Far-rok, and TM Yunus Khan. Biohydrogen production from biomass sources:

Metabolic pathways and economic analysis. front. Energy Res, 9:753878, 2021.

[7] RJ Detz, JNH Reek, and BCC Van Der Zwaan. The future of solar fuels:

when could they become competitive? Energy & Environmental Science, 11(7):1653–1669, 2018.

[8] Stenbj¨orn Styring. Artificial photosynthesis for solar fuels. Faraday discus-sions, 155:357–376, 2012.

[9] Robert E Blankenship. Molecular mechanisms of photosynthesis. John Wiley and Sons, 2021.

[10] Yatendra S Chaudhary. SOLAR FUEL GENERATION. 01 2017.

[11] JAMES R. BOLTON and DAVID O. HALL. The maximum efficiency of photosynthesis *. Photochemistry and Photobiology, 53(4):545–548, 1991.

[12] Robert Blankenship, David Tiede, James Barber, Gary Brudvig, Gra-ham Fleming, Maria Ghirardi, Marilyn Gunner, Wolfgang Junge, David Kramer, Anastasios Melis, Thomas Moore, Christopher Moser, Daniel Nocera, A. Nozik, Donald Ort, William Parson, Roger Prince, and Richard Sayre.

Comparing photosynthetic and photovoltaic efficiencies and recognizing the potential for improvement. Science (New York, N.Y.), 332:805–9, 05 2011.

[13] Jackson Streeter, Luis De Taboada, and Uri Oron. Mechanisms of action of light therapy on acute myocardial infarction and stroke. Mitochondrion, 4:569–76, 10 2004.

[14] Esam M.A. Hussein. Chapter one - mechanisms. In Esam M.A. Hussein, editor, Radiation Mechanics, pages 1–65. Elsevier Science Ltd, Oxford, 2007.

[15] J. S. Griffith and L. E. Orgel. Ligand-field theory. Q. Rev. Chem. Soc., 11:381–393, 1957.

[16] Bo You and Yujie Sun. Innovative strategies for electrocatalytic water split-ting. Accounts of Chemical Research, 51(7):1571–1580, 2018. PMID: 29537825.

[17] Jean-Marie Lehn and Raymond Ziessel. Photochemical generation of carbon monoxide and hydrogen by reduction of carbon dioxide and water under visible light irradiation. Proceedings of the National Academy of Sciences, 79(2):701–

704, 1982.

[18] P A Cox. The electronic structure and chemistry of solids. Clarendon Press, Oxford, England, June 1987.

[19] Ivan Pelant and Jan Valenta. Luminescence of disordered semiconductors. In Luminescence Spectroscopy of Semiconductors, pages 242–262. Oxford Univer-sity Press, February 2012.

[20] I. P-Type, N-Type Semiconductors, jul 6 2021. [Online; accessed 2022-03-05].

[21] D. Gust. Chapter one - an illustrative history of artificial photosynthesis.

In Bruno Robert, editor, Artificial Photosynthesis, volume 79 of Advances in Botanical Research, pages 1–42. Academic Press, 2016.

[22] Takashi Hisatomi, Jun Kubota, and Kazunari Domen. Recent advances in semiconductors for photocatalytic and photoelectrochemical water splitting.

Chemical Society Reviews, 43(22):7520–7535, 2014.

[23] Joseph H Montoya, Linsey C Seitz, Pongkarn Chakthranont, Aleksandra Vo-jvodic, Thomas F Jaramillo, and Jens K Nørskov. Materials for solar fuels and chemicals. Nature materials, 16(1):70–81, 2017.

[24] Akihiko Kudo and Yugo Miseki. Heterogeneous photocatalyst materials for water splitting. Chem. Soc. Rev., 38:253–278, 2009.

[25] Jingrun Ran, Mietek Jaroniec, and Shi-Zhang Qiao. Cocatalysts in semiconductor-based photocatalytic co2 reduction: Achievements, challenges, and opportunities. Advanced Materials, 30(7):1704649, 2018.

[26] Juan Amaro-Gahete, Mariia V. Pavliuk, Haining Tian, Dolores Esquivel, Fran-cisco J. Romero-Salguero, and Sascha Ott. Catalytic systems mimicking the [fefe]-hydrogenase active site for visible-light-driven hydrogen production. Co-ordination Chemistry Reviews, 448:214172, 2021.

[27] A. Juris, V. Balzani, F. Barigelletti, S. Campagna, P. Belser, and A. von Zelewsky. Ru(ii) polypyridine complexes: photophysics, photochemistry, eletrochemistry, and chemiluminescence. Coordination Chemistry Reviews, 84:85–277, 1988.

[28] Markus K¨ark¨as, Tanja Laine, Eric Johnston, and Bj¨orn ˚Akermark. Visible Light-Driven Water Oxidation Catalyzed by Ruthenium Complexes, pages 189–

219. 03 2016.

[29] Sebastian Kozuch and Jan M. L. Martin. “turning over” definitions in catalytic cycles. ACS Catalysis, 2(12):2787–2794, 2012.

[30] Akira Fujishima and Kenichi Honda. Electrochemical photolysis of water at a semiconductor electrode. nature, 238(5358):37–38, 1972.

[31] Steven Y Reece, Jonathan A Hamel, Kimberly Sung, Thomas D Jarvi, Arthur J Esswein, Joep JH Pijpers, and Daniel G Nocera. Wireless solar water splitting using silicon-based semiconductors and earth-abundant cata-lysts. science, 334(6056):645–648, 2011.

[32] Wen-Hui Cheng, Matthias H. Richter, Matthias M. May, Jens Ohlmann, David Lackner, Frank Dimroth, Thomas Hannappel, Harry A. Atwater, and Hans-Joachim Lewerenz. Monolithic photoelectrochemical device for direct water splitting with 19% efficiency. ACS Energy Letters, 3(8):1795–1800, 2018.

[33] David M. Fabian, Shu Hu, Nirala Singh, Frances A. Houle, Takashi Hisatomi, Kazunari Domen, Frank E. Osterloh, and Shane Ardo. Particle suspension reactors and materials for solar-driven water splitting. Energy Environ. Sci., 8:2825–2850, 2015.

[34] Xian Zhang, Mihaela Cibian, Arnau Call, Kosei Yamauchi, and Ken Sakai.

Photochemical co2 reduction driven by water-soluble copper(i) photosensitizer with the catalysis accelerated by multi-electron chargeable cobalt porphyrin.

ACS Catalysis, 9(12):11263–11273, 2019.

[35] Anna Stikane, Ee Taek Hwang, Emma V. Ainsworth, Samuel E. H. Piper, Kevin Critchley, Julea N. Butt, Erwin Reisner, and Lars J. C. Jeuken. To-wards compartmentalized photocatalysis: multihaem proteins as transmem-brane molecular electron conduits. Faraday Discuss., 215:26–38, 2019.

[36] Daryl L Logan. A first course in the finite element method. Cengage Learning, 2016.

[37] JN Reddy. An introduction to the finite element method, volume 1221.

McGraw-Hill New York, 2004.

[38] Massimiliano Zanin, Nadim Atiya, Jos´e Bas´ılio, Jan Baumach, Arriel Benis, Chandan Behera, Magda Bucholc, Filippo Castiglione, Ioanna Chouvarda, Blandine Comte, Tien-Tuan Dao, Xuemei Ding, Estelle Pujos-Guillot, Nenad Filipovic, David Finn, David Glass, Nissim Harel, Tomas lesmantas, Ilinka Ivanoska, and Harald Schmidt. An early stage researcher’s primer on systems medicine terminology. 4:2–50, 11 2020.

[39] Indraneel Sen. Sofia project. //https://sofiaproject.eu/, 2020.

[40] Vance Bergeron. Forces and structure in thin liquid soap films. Journal of Physics: Condensed Matter, 11(19):R215–R238, jan 1999.

[41] Surfactants, Micelles, Emulsions, and Foams, chapter 12, pages 246–279. John Wiley Sons, Ltd, 2003.

[42] John C Berg. The role of surfactants. In Textile Science and Technology, volume 13, pages 149–198. Elsevier, 2002.

[43] Weizhen Huang, Julian Iseringhausen, Tom Kneiphof, Ziyin Qu, Chenfanfu Jiang, and Matthias B. Hullin. Chemomechanical simulation of soap film flow on spherical bubbles. ACM Trans. Graph., 39(4), jul 2020.

[44] David G. Whitten. Photochemical reactions of surfactant molecules in con-densed monolayer assemblies—environmental control and modification of re-activity. Angewandte Chemie International Edition in English, 18(6):440–450, 1979.

[45] Gabriele Falciani, Ricardo Franklin, Alain Cagna, Indraneel Sen, Ali Has-sanali, and Eliodoro Chiavazzo. A multi-scale perspective of gas transport through soap-film membranes. Mol. Syst. Des. Eng., 5:911–921, 2020.

[46] Alexandre Mamane, Eloise Chevallier, Ludovic Olanier, Fran¸cois Lequeux, and C´ecile Monteux. Optical control of surface forces and instabilities in foam films using photosurfactants. Soft Matter, 13(6):1299–1305, 2017.

Nel documento Master’s Degree Thesis (pagine 85-157)

Documenti correlati