Hacker Newsnew | past | comments | ask | show | jobs | submit | tomtranter's commentslogin

My biggest frustration as an academic was reproducibility of papers I was reading. The pdf is such a useless medium for information transfer and the academic publishing industry is a complete racket where all the value is generated by the authors and reviewers who work for free and have to pay (in most cases) to have their work accessible freely to the public. I would love to see this turn into a default way to publish papers


If you're lucky, someone releases code+data associated with their published paper. If you're really lucky, that code and data is in the same state as it was in the published paper. If you're really really lucky, someone besides the author can get it to run.

If you can consistently locate and run academic publication code without direct help from the authors, you are The Chosen One.

[edit]

In seriousness, reproducibility is also my biggest concern. Scientific/academic publishing could do a lot better than rendering pretty static documents - we can provide the data, code, version control, and build processes which produced the paper so anyone can reproduce what they see in the paper. AND we could host them together so they're bidirectionally linked, to facilitate other scientists building on top of our work.

That could be our future, with the right incentive structures in place.


Isn't that the idea (or perhaps the promise) of languages like R or notebook tools like Jupyter or Collab, which provide a means to ingest, clean, analyse and present your data, then share the code you've used to do that.


Notebooks aren't very git-friendly, so in practice you rarely know which version produced the paper.

The fact you can run notebook cells out-of-order exacerbates this problem. Not only do you not know what version the entire file was, you also don't know in what order or how many times each cell within the file executed in order to produce the plots you see in the paper.

This isn't to discount the improvement in UX that you get from notebooks compared to my preferred alternative (emacs with org-mode). Maybe I'm just bitter that the ipynb format exists at all. If notebooks were just a UX layered on top of emacs+org-mode, that would fix most of the core issues.


I like notebooks, they are a useful tool. But they are just a slight adjustment to the programming model and an alternative type IDE. It does not do much in terms of helping reproducibility. Data, software and dependency versioning is much more important. And verification that the code indeed runs on another machine, and produces the correct results. Setting up CI for the project, and basic end2end tests is the minimum level I set for my research (in applied machine learning).


Good question. I would say anyone developing new materials in a lab would benefit from the kind of physics-based models we have in PyBaMM. Organizations is a pretty broad term but I assume you mean companies in which case probably the number as a fraction of all companies dealing with batteries in some way is quite small, but the value of those companies is disproportionately large - think big car manufacturers and also companies dealing in more extreme environments like aerospace and also for heavy vehicles e.g. Fortescue who are electrifying their mining trucks. All the companies building cells and materials for cells doing cell design will certainly benefit from physical modelling. Validation of the packages is strong - PyBaMM has many peer reviewed citations. Validation of the numbers in the simulations for specific cells is probably weak and that's a real pain point in the industry that ionworks is working to address


I did some lab work at my university synthetizing materials for Li ion battery anodes as part of my honors thesis in Materials Engineering almost 15 years ago now.

My side of the project mostly concerned the method we were using to manufacture the materials (I was experimenting with a technique called "Electrostatic Spray Reductive Precipitation"). When it came to analyzing what I had managed to make it mostly involved using SEM (with EDS mapping) and XRD. At the time it never crossed my mind to look into possibility of simulations it would have saved a lot of time as doing the analysis was very time consuming.

For the theoretical side I was guided by a postgrad student who used a physics software package to predict the intercalation of Li ions using Density of States calculations, most of what he was doing went way over my head but it involved him running code and then telling me "we should try to make something like this..." so I imagine this sort of package could help out a lot here as well.


Also good point on degradation. Physics based modelling is invaluable for debugging this. PyBaMM does have quite a bit on degradation yes. Here's a good notebook to start with https://docs.pybamm.org/en/stable/source/examples/notebooks/...


For anyone interested in the performance requirements for electric flight, alluded to but not explored in the article. This is a great open-access paper about it https://pubs.acs.org/doi/full/10.1021/acsenergylett.8b02195


Hahaha. No marshmallow instructions for us yet but some people are using PyBaMM to model thermal runaway. We don't use an LLM but I guess could in order to catch more edge cases. There is an experiment class and a step class. Each step can be called with arguments or passed a string that equates to the same thing but you will get errors if you mistype or leave something out. https://docs.pybamm.org/en/v23.5_a/source/api/experiment/exp...


Ah so it's more of a rigorously formatted code that looks like natural language, COBOL style :P

Figured it's more likely that, interesting choice for sure.


PyBaMM predates ChatGPT. But we're emulating cyclers which are fairly basic tbh. I'm exploring ways of using LLMs to improve the experience. ie Cycle my NMC-Gr 18650 with a CCCV at 1C with an RPT cycle of CCCV and GITT at C/10 every 10 cycles until 80% capacity using model options x,y,z


I used Hall effect sensors for a project and found they needed a fair bit of calibration. Shunt resistors also did the job with fewer problems but this was a 16p2s module.


> I used Hall effect sensors for a project and found they needed a fair bit of calibration.

From AliExpress?


Hall sensors have a lot of issues. If you can handle the power dissipation in the resistor, a shunt plus a fancy zero-drift difference amplifier is almost always going to be superior.

Hall sensors win for very high currents, high bandwidths, and when isolation or noninvasive measurement is required.


Technically, yes. That's how most meters work. But now you have high current, high voltage, and isolation issues in your sensing device. So you need more testing and approvals.


Nice! I love the simple approach like the story which I'm not sure if it's true or not that NASA spent $$$ developing an ink pen that would work in zero-g and the Russians used a pencil.




The Russians used a simple, standard ballpoint pen, so the story is not true


The Russians eventually ended up using the same pen that NASA did. It pen was developed by a private company and sold to both of them at $2.39/ea.


Hmmm. What about the pencil shavings? Makes me wonder if the story is true.


Aerosolised conductive dust (carbon) is not something you want on a spaceship


Yeah I thought so but like most legends contains a kernel of truth and is certainly worth remembering for the lesson. Reminds me of the midwit meme https://www.ycombinator.com/library/IW-dalton-michael-elon-m...


Yes completely agree. This is one of the things that PyBaMM doesn't do for you out of the box. I could have extended the article in many ways to cover all the optimizations you could do both with the physical battery or the model. Thanks for sharing the text book. I think my point which I should have stated more clearly was that maybe for smaller design spaces this might not be a bad approach but with batteries the space is huge. I co-authored a paper on optimally reaching the Pareto front using the and problem as an example actually. may be interesting reading for anyone else coming to this area. https://www.sciencedirect.com/science/article/abs/pii/S03062... Happy to share the pdf with anyone who wants to read the whole thing


Related topic there is this example combining PyBaMM and pints for sensitivity analysis. Which should definitely be done first before delving straight into a DOE https://github.com/pints-team/electrochem_pde_model


*NO LARGE LANGUAGE MODELS WERE HARMED IN THE CREATION OF THIS CONTENT*


Yeah thanks for the extra insight. On the modular modelling system bit, this is something we're not particularly good at telling people or highlighting. You can solve any PDE you want with PyBaMM but a lot of the high level battery models have been built upon several classes of lower level models that make battery specific assumptions. The Oxford University software research group headed by our good friend Martin gave a really nice intro course this year which helps you build a model from scratch which I find always helps with understanding https://train.rse.ox.ac.uk/material/HPCu/libraries. We should do more non-battery examples too, there is this one solving transient heat conduction in a rod https://docs.pybamm.org/en/latest/source/examples/notebooks/...


Great concept. Now I want an e-bike even more. Yeah I'd be happy to chat. My contact details are in the readme.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: