Skip to content

Commit 78c563e

Browse files
committed
#492 fixed some unit tests
1 parent 8e2bf90 commit 78c563e

File tree

11 files changed

+27
-52
lines changed

11 files changed

+27
-52
lines changed

pybamm/models/full_battery_models/lead_acid/higher_order.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def set_leading_order_model(self):
7575

7676
def set_current_collector_submodel(self):
7777
self.submodels["current collector"] = pybamm.current_collector.Uniform(
78-
self.param
78+
self.param, self.options
7979
)
8080

8181
def set_average_interfacial_submodel(self):

pybamm/models/full_battery_models/lead_acid/loqs.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def __init__(self, options=None, name="LOQS model"):
3838
def set_current_collector_submodel(self):
3939

4040
self.submodels["current collector"] = pybamm.current_collector.Uniform(
41-
self.param
41+
self.param, self.options
4242
)
4343

4444
def set_porosity_submodel(self):

pybamm/models/full_battery_models/lead_acid/newman_tiedemann.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def __init__(self, options=None, name="Newman-Tiedemann model"):
3535

3636
def set_current_collector_submodel(self):
3737
self.submodels["current collector"] = pybamm.current_collector.Uniform(
38-
self.param
38+
self.param, self.options
3939
)
4040

4141
def set_porosity_submodel(self):
@@ -57,8 +57,12 @@ def set_interfacial_submodel(self):
5757

5858
def set_solid_submodel(self):
5959
if self.options["surface form"] is False:
60-
submod_n = pybamm.electrode.ohm.Full(self.param, "Negative", self.reactions)
61-
submod_p = pybamm.electrode.ohm.Full(self.param, "Positive", self.reactions)
60+
submod_n = pybamm.electrode.ohm.Full(
61+
self.param, "Negative", self.reactions, self.options
62+
)
63+
submod_p = pybamm.electrode.ohm.Full(
64+
self.param, "Positive", self.reactions, self.options
65+
)
6266
else:
6367
submod_n = pybamm.electrode.ohm.SurfaceForm(self.param, "Negative")
6468
submod_p = pybamm.electrode.ohm.SurfaceForm(self.param, "Positive")

pybamm/models/full_battery_models/lithium_ion/spm.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def set_current_collector_submodel(self):
3030

3131
if self.options["bc_options"]["dimensionality"] == 0:
3232
self.submodels["current collector"] = pybamm.current_collector.Uniform(
33-
self.param
33+
self.param, self.options
3434
)
3535
elif self.options["bc_options"]["dimensionality"] == 1:
3636
raise NotImplementedError(
@@ -39,7 +39,9 @@ def set_current_collector_submodel(self):
3939
elif self.options["bc_options"]["dimensionality"] == 2:
4040
self.submodels[
4141
"current collector"
42-
] = pybamm.current_collector.SingleParticlePotentialPair(self.param)
42+
] = pybamm.current_collector.SingleParticlePotentialPair(
43+
self.param, self.options
44+
)
4345
else:
4446
raise pybamm.ModelError(
4547
"Dimension of current collectors must be 0, 1, or 2, not {}".format(

pybamm/models/full_battery_models/lithium_ion/spme.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def set_current_collector_submodel(self):
4141

4242
if self.options["bc_options"]["dimensionality"] == 0:
4343
self.submodels["current collector"] = pybamm.current_collector.Uniform(
44-
self.param
44+
self.param, self.options
4545
)
4646
elif self.options["bc_options"]["dimensionality"] == 1:
4747
raise NotImplementedError(
@@ -50,7 +50,9 @@ def set_current_collector_submodel(self):
5050
elif self.options["bc_options"]["dimensionality"] == 2:
5151
self.submodels[
5252
"current collector"
53-
] = pybamm.current_collector.SingleParticlePotentialPair(self.param)
53+
] = pybamm.current_collector.SingleParticlePotentialPair(
54+
self.param, self.options
55+
)
5456
else:
5557
raise pybamm.ModelError(
5658
"Dimension of current collectors must be 0, 1, or 2, not {}".format(

pybamm/models/reaction_diffusion.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def set_thermal_submodel(self):
3939
def set_current_collector_submodel(self):
4040

4141
self.submodels["current collector"] = pybamm.current_collector.Uniform(
42-
self.param
42+
self.param, self.options
4343
)
4444

4545
def set_porosity_submodel(self):

pybamm/models/submodels/current_collector/single_particle_current_collector.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ class SingleParticlePotentialPair(BaseModel):
1818
**Extends:** :class:`pybamm.current_collector.BaseModel`
1919
"""
2020

21-
def __init__(self, param):
22-
super().__init__(param)
21+
def __init__(self, param, options):
22+
super().__init__(param, options)
2323

2424
def get_fundamental_variables(self):
2525

pybamm/models/submodels/electrode/ohm/full_ohm.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,9 @@ class Full(BaseModel):
1919
**Extends:** :class:`pybamm.electrode.ohm.BaseModel`
2020
"""
2121

22-
def __init__(self, param, domain, reactions, options=None):
22+
def __init__(self, param, domain, reactions, options):
2323
super().__init__(param, domain, reactions)
24-
25-
if options:
26-
self.options = options
27-
else:
28-
self.options = {"probelem type": "galvanostatic"}
24+
self.options = options
2925

3026
def get_fundamental_variables(self):
3127

tests/unit/test_models/test_submodels/test_current_collector/test_base_current_collector.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
class TestBaseModel(unittest.TestCase):
1111
def test_public_functions(self):
12-
submodel = pybamm.current_collector.BaseModel(None)
12+
submodel = pybamm.current_collector.BaseModel(None, None)
1313
std_tests = tests.StandardSubModelTests(submodel)
1414
std_tests.test_all()
1515

tests/unit/test_models/test_submodels/test_current_collector/test_homogeneous_current_collector.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ class TestUniformModel(unittest.TestCase):
1111
def test_public_functions(self):
1212
param = pybamm.standard_parameters_lead_acid
1313

14-
submodel = pybamm.current_collector.Uniform(param)
14+
options = {"problem type": "galavanostatic"}
15+
submodel = pybamm.current_collector.Uniform(param, options)
1516
std_tests = tests.StandardSubModelTests(submodel)
1617
std_tests.test_all()
1718

tests/unit/test_parameters/test_voltage_functions.py

+2-32
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def test_base_voltage(self):
1212
function = pybamm.GetVoltage()
1313
self.assertEqual(function(10), 1)
1414

15-
def test_constant_current(self):
15+
def test_constant_voltage(self):
1616
function = pybamm.GetConstantVoltage(voltage=4)
1717
assert isinstance(function(0), numbers.Number)
1818
assert isinstance(function(np.zeros(3)), numbers.Number)
@@ -30,37 +30,7 @@ def test_constant_current(self):
3030
processed_voltage = parameter_values.process_symbol(voltage)
3131
self.assertIsInstance(processed_voltage.simplify(), pybamm.Scalar)
3232

33-
def test_get_current_data(self):
34-
# test units
35-
function_list = [
36-
pybamm.GetVoltageData("US06.csv", units="[V]"),
37-
pybamm.GetVoltageData("car_current.csv", units="[]", voltage_scale=10),
38-
]
39-
for function in function_list:
40-
function.interpolate()
41-
42-
# test process parameters
43-
dimensional_voltage = pybamm.electrical_parameters.dimensional_voltage_with_time
44-
parameter_values = pybamm.ParameterValues(
45-
{
46-
"Typical voltage [V]": 2,
47-
"Typical timescale [s]": 1,
48-
"Voltage function": pybamm.GetCurrentData(
49-
"car_voltage.csv", units="[]"
50-
),
51-
}
52-
)
53-
dimensional_voltage_eval = parameter_values.process_symbol(dimensional_voltage)
54-
55-
def voltage(t):
56-
return dimensional_voltage_eval.evaluate(t=t)
57-
58-
function_list.append(voltage)
59-
60-
standard_tests = StandardVoltageFunctionTests(function_list, always_array=True)
61-
standard_tests.test_all()
62-
63-
def test_user_current(self):
33+
def test_user_voltage(self):
6434
# create user-defined sin function
6535

6636
def my_fun(t, A, omega):

0 commit comments

Comments
 (0)