Robert Timms

Results 132 comments of Robert Timms

@Saswatsusmoy sounds good, would you like to give it a go?

From @ejfdickinson > I'd feel it's most Pythonic to put optional arguments last, and explicitly allow them to be optional. In general we don't want to have to write functions...

In the actual model definitions, we will need to update the calls from `(y,z,t)` to `(t, y=y, z=z)` (best to be explicit in the latter in anticipation of other coordinate...

Is there some way we can achieve this whilst having both scripts and notebooks living in `examples/` rather than `docs/source/examples/`? It's always surprising to me that they live so deep...

@tommaull take a look at e.g. how we define [initial concentration](https://github.com/pybamm-team/PyBaMM/blob/7fe7fde01d79d9b9857663660e014db7c8e0fbaa/pybamm/parameters/lithium_ion_parameters.py#L495), which can depend on `x` and `r`, and then how it is [used in the model](https://github.com/pybamm-team/PyBaMM/blob/7fe7fde01d79d9b9857663660e014db7c8e0fbaa/pybamm/models/submodels/particle/fickian_diffusion.py#L297). You'll need to...

Sorry for the slow reply. Take a look [here](https://github.com/pybamm-team/PyBaMM/blob/develop/examples/scripts/SPMe_step.py).

1. I think we should keep options to help perform these sanity checks. Then composing models from submodels can be "user-beware!" 2. I think one level of nesting is ok...

I wonder if 1 is simplified by having more models but fewer options. E.g. should particle size distributions models be separate models (MPM, MPMe, MPDFN) rather than having a particle...

Not solver, but this is related to speed-up: https://github.com/pybamm-team/PyBaMM/issues/4058

Improve higher-dimensional modelling (this is an active GSOC project): - 2D/3D finite volume/element methods - P2D model coupled to 3D thermal - 3D network models (see [JellyBaMM](https://jellybamm.readthedocs.io/en/latest/) or [PyECN](https://github.com/ImperialCollegeLondon/PyECN))