@@ -25,14 +25,38 @@ def __init__(self, param):
25
25
super ().__init__ (param )
26
26
27
27
def get_fundamental_variables (self ):
28
- c_e_n = pybamm .standard_variables .c_e_n
29
- c_e_s = pybamm .standard_variables .c_e_s
30
- c_e_p = pybamm .standard_variables .c_e_p
28
+ eps_c_e_n = pybamm .standard_variables .eps_c_e_n
29
+ eps_c_e_s = pybamm .standard_variables .eps_c_e_s
30
+ eps_c_e_p = pybamm .standard_variables .eps_c_e_p
31
31
32
- return self ._get_standard_concentration_variables (c_e_n , c_e_s , c_e_p )
32
+ eps_c_e = pybamm .concatenation (eps_c_e_n , eps_c_e_s , eps_c_e_p )
33
+
34
+ variables = {
35
+ "Electrode porosity times concentration" : eps_c_e ,
36
+ "Negative electrode porosity times concentration" : eps_c_e_n ,
37
+ "Separator electrode porosity times concentration" : eps_c_e_s ,
38
+ "Positive electrode porosity times concentration" : eps_c_e_p ,
39
+ }
40
+
41
+ return variables
33
42
34
43
def get_coupled_variables (self , variables ):
35
44
45
+ eps_n = variables ["Negative electrode porosity" ]
46
+ eps_s = variables ["Separator porosity" ]
47
+ eps_p = variables ["Positive electrode porosity" ]
48
+ eps_c_e_n = variables ["Negative electrode porosity times concentration" ]
49
+ eps_c_e_s = variables ["Separator porosity times concentration" ]
50
+ eps_c_e_p = variables ["Positive electrode porosity times concentration" ]
51
+
52
+ c_e_n = eps_c_e_n / eps_n
53
+ c_e_s = eps_c_e_s / eps_s
54
+ c_e_p = eps_c_e_p / eps_p
55
+
56
+ variables .update (
57
+ self ._get_standard_concentration_variables (c_e_n , c_e_s , c_e_p )
58
+ )
59
+
36
60
tor = variables ["Electrolyte tortuosity" ]
37
61
eps = variables ["Porosity" ]
38
62
c_e = variables ["Electrolyte concentration" ]
@@ -58,7 +82,7 @@ def set_rhs(self, variables):
58
82
param = self .param
59
83
60
84
eps = variables ["Porosity" ]
61
- deps_dt = variables ["Porosity change " ]
85
+ eps_c_e = variables ["Electrolyte porosity times concentration " ]
62
86
c_e = variables ["Electrolyte concentration" ]
63
87
N_e = variables ["Electrolyte flux" ]
64
88
div_Vbox = variables ["Transverse volume-averaged acceleration" ]
@@ -67,20 +91,16 @@ def set_rhs(self, variables):
67
91
source_terms = sum_s_j / self .param .gamma_e
68
92
69
93
self .rhs = {
70
- c_e : (1 / eps )
71
- * (
72
- - pybamm .div (N_e ) / param .C_e
73
- + source_terms
74
- - c_e * deps_dt
75
- - c_e * div_Vbox
76
- )
94
+ eps_c_e : - pybamm .div (N_e ) / param .C_e + source_terms - c_e * div_Vbox
77
95
}
78
96
79
97
def set_initial_conditions (self , variables ):
80
98
81
- c_e = variables ["Electrolyte concentration" ]
99
+ eps_c_e = variables ["Electrolyte porosity times concentration" ]
82
100
83
- self .initial_conditions = {c_e : self .param .c_e_init }
101
+ self .initial_conditions = {
102
+ eps_c_e : self .param .epsilon_init * self .param .c_e_init
103
+ }
84
104
85
105
def set_boundary_conditions (self , variables ):
86
106
0 commit comments