def bc_u_sep_p(self,u0_pe,u1_pe,T0_pe,T1_pe,\ u0_sep,u1_sep,T0_sep,T1_sep): eps_p = pe.eps eps_s = self.eps brugg_p = pe.brugg brugg_s = self.brugg Deff_pe = coeffs.electrolyteDiffCoeff(eps_p, brugg_p, (u0_pe + u1_pe) / 2, (T0_pe + T1_pe) / 2) Deff_sep = coeffs.electrolyteDiffCoeff(eps_s, brugg_s, (u0_sep + u1_sep) / 2, (T0_sep + T1_sep) / 2) bc = -Deff_pe * (u1_pe - u0_pe) / pe.hx + Deff_sep * (u1_sep - u0_sep) / sep.hx return bc.reshape()
def bc_u_sep_n(self,u0_ne,u1_ne,T0_ne,T1_ne,\ u0_sep,u1_sep,T0_sep,T1_sep): eps_n = self.eps eps_s = sep.eps brugg_n = self.brugg brugg_s = sep.brugg Deff_ne = coeffs.electrolyteDiffCoeff(eps_n, brugg_n, (u0_ne + u1_ne) / 2, (T0_ne + T1_ne) / 2) Deff_sep = coeffs.electrolyteDiffCoeff(eps_s, brugg_s, (u0_sep + u1_sep) / 2, (T0_sep + T1_sep) / 2) bc = -Deff_sep * (u1_sep - u0_sep) / sep.hx + Deff_ne * (u1_ne - u0_ne) / ne.hx return bc.reshape()
def electrolyte_conc(self, un, uc, up, Tn, Tc, Tp, uold): eps = self.eps brugg = self.brugg hx = self.hx umid_r = (up + uc) / 2 umid_l = (un + uc) / 2 Tmid_r = (Tp + Tc) / 2 Tmid_l = (Tn + Tc) / 2 Deff_r = coeffs.electrolyteDiffCoeff(eps, brugg, umid_r, Tmid_r) Deff_l = coeffs.electrolyteDiffCoeff(eps, brugg, umid_l, Tmid_l) ans = (uc - uold) - (delta_t / eps) * (Deff_r * (up - uc) / hx - Deff_l * (uc - un) / hx) / hx return ans.reshape()
def Du_Dun(self, un, uc, Tn, Tc): eps = self.eps brugg = self.brugg hx = self.hx umid_l = (un + uc) / 2 Tmid_l = (Tn + Tc) / 2 Deff_l = coeffs.electrolyteDiffCoeff(eps, brugg, umid_l, Tmid_l) Deff_l_Du = grad(coeffs.electrolyteDiffCoeff, (2))(eps, brugg, umid_l, Tmid_l) ans = (delta_t / (eps * hx**2)) * (Deff_l_Du * (uc - un) + Deff_l) return ans