def test_compare_averages_asymptotics(self): """ Check that the average value of certain variables is constant across submodels """ # load models models = [ pybamm.lead_acid.LOQS(), pybamm.lead_acid.Composite(), pybamm.lead_acid.Full(), ] # load parameter values (same for all models) param = models[0].default_parameter_values param.update({"Typical current [A]": 1}) for model in models: param.process_model(model) # set mesh var = pybamm.standard_spatial_vars var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10} # discretise models discs = {} for model in models: geometry = model.default_geometry param.process_geometry(geometry) mesh = pybamm.Mesh(geometry, model.default_submesh_types, var_pts) disc = pybamm.Discretisation(mesh, model.default_spatial_methods) disc.process_model(model) discs[model] = disc # solve model solutions = {} t_eval = np.linspace(0, 1, 100) for i, model in enumerate(models): solution = model.default_solver.solve(model, t_eval) solutions[model] = solution # test averages comparison = StandardOutputComparison(models, discs, solutions) comparison.test_averages()
def test_compare_averages_asymptotics(self): """ Check that the average value of certain variables is constant across submodels """ # load models models = [ pybamm.lead_acid.LOQS(), pybamm.lead_acid.Composite(), pybamm.lead_acid.Full(), ] # load parameter values (same for all models) param = models[0].default_parameter_values param.update({"Current function [A]": 1}) for model in models: param.process_model(model) # set mesh var = pybamm.standard_spatial_vars var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10} # discretise models for model in models: geometry = model.default_geometry param.process_geometry(geometry) mesh = pybamm.Mesh(geometry, model.default_submesh_types, var_pts) disc = pybamm.Discretisation(mesh, model.default_spatial_methods) disc.process_model(model) # solve model solutions = [] t_eval = np.linspace(0, 3600 * 17, 100) for model in models: solution = pybamm.CasadiSolver().solve(model, t_eval) solutions.append(solution) # test averages comparison = StandardOutputComparison(solutions) comparison.test_averages()