Skip to content

Commit b8d4335

Browse files
committed
#704 changed defaults to be linear
1 parent a3eb545 commit b8d4335

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

pybamm/spatial_methods/spatial_method.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class SpatialMethod:
2222

2323
def __init__(self, options=None):
2424

25-
self.options = {"extrapolation": {"order": "quadratic", "use bcs": True}}
25+
self.options = {"extrapolation": {"order": "linear", "use bcs": False}}
2626

2727
# update double-layered dict
2828
if options:

tests/integration/test_models/test_full_battery_models/test_lead_acid/test_asymptotics_convergence.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,17 @@ def test_leading_order_convergence(self):
3030
var = pybamm.standard_spatial_vars
3131
var_pts = {var.x_n: 3, var.x_s: 3, var.x_p: 3}
3232
mesh = pybamm.Mesh(geometry, full_model.default_submesh_types, var_pts)
33-
loqs_disc = pybamm.Discretisation(mesh, full_model.default_spatial_methods)
33+
34+
method_options = {"extrapolation": {"order": "linear", "use bcs": False}}
35+
spatial_methods = {
36+
"macroscale": pybamm.FiniteVolume(method_options),
37+
"current collector": pybamm.ZeroDimensionalMethod(method_options),
38+
}
39+
loqs_disc = pybamm.Discretisation(mesh, spatial_methods)
3440
loqs_disc.process_model(leading_order_model)
35-
comp_disc = pybamm.Discretisation(mesh, full_model.default_spatial_methods)
41+
comp_disc = pybamm.Discretisation(mesh, spatial_methods)
3642
comp_disc.process_model(composite_model)
37-
full_disc = pybamm.Discretisation(mesh, full_model.default_spatial_methods)
43+
full_disc = pybamm.Discretisation(mesh, spatial_methods)
3844
full_disc.process_model(full_model)
3945

4046
def get_max_error(current):
@@ -92,6 +98,7 @@ def get_max_error(current):
9298
loqs_errs, comp_errs = [np.array(err) for err in zip(*errs)]
9399
# Get rates: expect linear convergence for loqs, quadratic for composite
94100
loqs_rates = np.log2(loqs_errs[:-1] / loqs_errs[1:])
101+
95102
np.testing.assert_array_less(0.99 * np.ones_like(loqs_rates), loqs_rates)
96103
# Composite not converging as expected
97104
comp_rates = np.log2(comp_errs[:-1] / comp_errs[1:])

0 commit comments

Comments
 (0)