forked from pybamm-team/PyBaMM
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pybamm-team#744-added Functions for particle size distribution
- Loading branch information
Showing
8 changed files
with
84 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ | |
*.png | ||
/local/ | ||
*.DS_Store | ||
*.mat | ||
|
||
# don't ignore important .txt files | ||
!requirements* | ||
|
64 changes: 64 additions & 0 deletions
64
examples/scripts/compare_lithium_ion_particle_distribution.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# | ||
# Compare lithium-ion battery models | ||
# | ||
import argparse | ||
import numpy as np | ||
import pybamm | ||
|
||
parser = argparse.ArgumentParser() | ||
parser.add_argument( | ||
"--debug", action="store_true", help="Set logging level to 'DEBUG'." | ||
) | ||
args = parser.parse_args() | ||
if args.debug: | ||
pybamm.set_logging_level("DEBUG") | ||
else: | ||
pybamm.set_logging_level("INFO") | ||
|
||
# load models | ||
options = {"thermal": "isothermal"} | ||
models = [ | ||
pybamm.lithium_ion.DFN(options,name = 'standard DFN'), | ||
pybamm.lithium_ion.DFN(options,name = 'particle DFN'), | ||
] | ||
|
||
|
||
# load parameter values and process models and geometry | ||
params = [models[0].default_parameter_values, models[1].default_parameter_values] | ||
params[0]["Typical current [A]"] = 1.0 | ||
params[0].process_model(models[0]) | ||
|
||
|
||
params[1]["Typical current [A]"] = 1.0 | ||
|
||
def negative_distribution(x): | ||
return 1 + x | ||
def positive_distribution(x): | ||
return 1 + (x-(1-models[1].param.l_p)) | ||
|
||
params[1]["Negative particle distribution"] = negative_distribution | ||
params[1]["Positive particle distribution"] = positive_distribution | ||
params[1].process_model(models[1]) | ||
|
||
# set mesh | ||
var = pybamm.standard_spatial_vars | ||
var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} | ||
|
||
# discretise models | ||
for param, model in zip(params, models): | ||
# create geometry | ||
geometry = model.default_geometry | ||
param.process_geometry(geometry) | ||
mesh = pybamm.Mesh(geometry, models[-1].default_submesh_types, var_pts) | ||
disc = pybamm.Discretisation(mesh, model.default_spatial_methods) | ||
disc.process_model(model) | ||
|
||
# solve model | ||
solutions = [None] * len(models) | ||
t_eval = np.linspace(0, 0.3, 100) | ||
for i, model in enumerate(models): | ||
solutions[i] = model.default_solver.solve(model, t_eval) | ||
|
||
# plot | ||
plot = pybamm.QuickPlot(models, mesh, solutions) | ||
plot.dynamic_plot() |
6 changes: 6 additions & 0 deletions
6
...meters/lithium-ion/anodes/graphite_mcmb2528_Marquis2019/negative_particle_distribution.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import pybamm | ||
import numpy as np | ||
|
||
def negative_particle_distribution(x): | ||
|
||
return pybamm.Function(np.ones_like,x) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
input/parameters/lithium-ion/cathodes/lico2_Marquis2019/positive_particle_distribution.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import pybamm | ||
import numpy as np | ||
|
||
def positive_particle_distribution(x): | ||
|
||
return pybamm.Function(np.ones_like,x) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters