diff --git a/CHANGELOG.md b/CHANGELOG.md index e414a1965c..aac622f6d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ ## Bug fixes +- Fixed bug with wrong temperature in initial conditions ([#737](https://github.com/pybamm-team/PyBaMM/pull/737)) - Improved flexibility of parameter values so that parameters (such as diffusivity or current) can be set as functions or scalars ([#723](https://github.com/pybamm-team/PyBaMM/pull/723)) - Fixed a bug where boundary conditions were sometimes handled incorrectly in 1+1D models ([#713](https://github.com/pybamm-team/PyBaMM/pull/713)) - Corrected a sign error in Dirichlet boundary conditions in the Finite Element Method ([#706](https://github.com/pybamm-team/PyBaMM/pull/706)) diff --git a/pybamm/models/submodels/current_collector/set_potential_single_particle.py b/pybamm/models/submodels/current_collector/set_potential_single_particle.py index 146094ec6a..bc7eafe28a 100644 --- a/pybamm/models/submodels/current_collector/set_potential_single_particle.py +++ b/pybamm/models/submodels/current_collector/set_potential_single_particle.py @@ -93,8 +93,8 @@ def set_initial_conditions(self, variables): self.initial_conditions = { phi_s_cn: pybamm.Scalar(0), - phi_s_cp: param.U_p(param.c_p_init, param.T_ref) - - param.U_n(param.c_n_init, param.T_ref), + phi_s_cp: param.U_p(param.c_p_init, param.T_init) + - param.U_n(param.c_n_init, param.T_init), i_boundary_cc: applied_current / cc_area, } diff --git a/pybamm/models/submodels/electrode/ohm/full_ohm.py b/pybamm/models/submodels/electrode/ohm/full_ohm.py index c2e64a00fe..1abb20b2f1 100644 --- a/pybamm/models/submodels/electrode/ohm/full_ohm.py +++ b/pybamm/models/submodels/electrode/ohm/full_ohm.py @@ -90,13 +90,13 @@ def set_boundary_conditions(self, variables): def set_initial_conditions(self, variables): phi_s = variables[self.domain + " electrode potential"] - T_ref = self.param.T_ref + T_init = self.param.T_init if self.domain == "Negative": phi_s_init = pybamm.Scalar(0) elif self.domain == "Positive": - phi_s_init = self.param.U_p(self.param.c_p_init, T_ref) - self.param.U_n( - self.param.c_n_init, T_ref + phi_s_init = self.param.U_p(self.param.c_p_init, T_init) - self.param.U_n( + self.param.c_n_init, T_init ) self.initial_conditions[phi_s] = phi_s_init diff --git a/pybamm/models/submodels/electrolyte/base_electrolyte_diffusion.py b/pybamm/models/submodels/electrolyte/base_electrolyte_diffusion.py index 6170ccc75d..9f535f0d39 100644 --- a/pybamm/models/submodels/electrolyte/base_electrolyte_diffusion.py +++ b/pybamm/models/submodels/electrolyte/base_electrolyte_diffusion.py @@ -93,7 +93,7 @@ def _get_standard_flux_variables(self, N_e): """ param = self.param - D_e_typ = param.D_e(param.c_e_typ, param.T_ref) + D_e_typ = param.D_e(param.c_e_typ, param.T_init) flux_scale = D_e_typ * param.c_e_typ / param.L_x variables = { diff --git a/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/full_stefan_maxwell_conductivity.py b/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/full_stefan_maxwell_conductivity.py index 2f28574512..e381f0daad 100644 --- a/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/full_stefan_maxwell_conductivity.py +++ b/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/full_stefan_maxwell_conductivity.py @@ -63,5 +63,5 @@ def set_algebraic(self, variables): def set_initial_conditions(self, variables): phi_e = variables["Electrolyte potential"] - T_ref = self.param.T_ref - self.initial_conditions = {phi_e: -self.param.U_n(self.param.c_n_init, T_ref)} + T_init = self.param.T_init + self.initial_conditions = {phi_e: -self.param.U_n(self.param.c_n_init, T_init)} diff --git a/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/full_surface_form_stefan_maxwell_conductivity.py b/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/full_surface_form_stefan_maxwell_conductivity.py index 4cde01babd..9d09961339 100644 --- a/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/full_surface_form_stefan_maxwell_conductivity.py +++ b/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/full_surface_form_stefan_maxwell_conductivity.py @@ -45,9 +45,9 @@ def set_initial_conditions(self, variables): delta_phi_e = variables[self.domain + " electrode surface potential difference"] if self.domain == "Negative": - delta_phi_e_init = self.param.U_n(self.param.c_n_init, self.param.T_ref) + delta_phi_e_init = self.param.U_n(self.param.c_n_init, self.param.T_init) elif self.domain == "Positive": - delta_phi_e_init = self.param.U_p(self.param.c_p_init, self.param.T_ref) + delta_phi_e_init = self.param.U_p(self.param.c_p_init, self.param.T_init) self.initial_conditions = {delta_phi_e: delta_phi_e_init} diff --git a/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/leading_surface_form_stefan_maxwell_conductivity.py b/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/leading_surface_form_stefan_maxwell_conductivity.py index f21855c01e..a264497520 100644 --- a/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/leading_surface_form_stefan_maxwell_conductivity.py +++ b/pybamm/models/submodels/electrolyte/stefan_maxwell/conductivity/surface_potential_form/leading_surface_form_stefan_maxwell_conductivity.py @@ -49,9 +49,9 @@ def set_initial_conditions(self, variables): + " electrode surface potential difference" ] if self.domain == "Negative": - delta_phi_init = self.param.U_n(self.param.c_n_init, self.param.T_ref) + delta_phi_init = self.param.U_n(self.param.c_n_init, self.param.T_init) elif self.domain == "Positive": - delta_phi_init = self.param.U_p(self.param.c_p_init, self.param.T_ref) + delta_phi_init = self.param.U_p(self.param.c_p_init, self.param.T_init) self.initial_conditions = {delta_phi: delta_phi_init} diff --git a/pybamm/models/submodels/interface/lead_acid.py b/pybamm/models/submodels/interface/lead_acid.py index 7577437133..1e19b9ceae 100644 --- a/pybamm/models/submodels/interface/lead_acid.py +++ b/pybamm/models/submodels/interface/lead_acid.py @@ -78,9 +78,9 @@ def _get_open_circuit_potential(self, variables): c_e = c_e.orphans[0] if self.domain == "Negative": - ocp = self.param.U_n(c_e, self.param.T_ref) + ocp = self.param.U_n(c_e, self.param.T_init) elif self.domain == "Positive": - ocp = self.param.U_p(c_e, self.param.T_ref) + ocp = self.param.U_p(c_e, self.param.T_init) dUdT = pybamm.Scalar(0) diff --git a/pybamm/parameters/standard_parameters_lead_acid.py b/pybamm/parameters/standard_parameters_lead_acid.py index ef92f84dc5..3f058f4e2b 100644 --- a/pybamm/parameters/standard_parameters_lead_acid.py +++ b/pybamm/parameters/standard_parameters_lead_acid.py @@ -422,7 +422,8 @@ def U_p_dimensional(c_e, T): c_n_init = c_e_init c_p_init = c_e_init -# Thermal effects not implemented for lead-acid, but parameter needed for consistency +# Thermal effects not implemented for lead-acid, but parameters needed for consistency +T_init = pybamm.Scalar(0) Theta = pybamm.Scalar(0) # ratio of typical temperature change to ambient temperature