@@ -11,7 +11,7 @@ export const external = {
1111 consulting : 'https://milanrother.com/#services'
1212} ;
1313
14- export type PackageId = 'pathsim' | 'chem' | 'vehicle' | 'flight' | 'rf' ;
14+ export type PackageId = 'pathsim' | 'chem' | 'batt' | ' vehicle' | 'flight' | 'rf' ;
1515
1616export interface Feature {
1717 title : string ;
@@ -190,6 +190,56 @@ scope.plot()`,
190190 { pip : 'pathsim-chem' , import : 'pathsim_chem' , pre : true }
191191 ]
192192 } ,
193+ batt : {
194+ id : 'batt' ,
195+ name : 'PathSim-Batt' ,
196+ shortName : 'batt' ,
197+ description : 'Battery cell blocks with PyBaMM integration for coupled electrothermal simulation.' ,
198+ logo : 'pathsim_batt_logo.png' ,
199+ docs : 'batt' ,
200+ api : 'batt/api' ,
201+ examples : null ,
202+ pypi : `${ external . pypi } /pathsim-batt` ,
203+ conda : null ,
204+ github : `${ external . github } /pathsim-batt` ,
205+ features : [
206+ { title : 'PyBaMM Backend' , description : 'Wraps SPM and SPMe lithium-ion models behind the PathSim block interface' } ,
207+ { title : 'Electrothermal Coupling' , description : 'CellElectrothermal integrates electrical and thermal dynamics in one block' } ,
208+ { title : 'External Thermal' , description : 'CellElectrical + LumpedThermal for multi-cell packs and custom cooling models' } ,
209+ { title : 'Parameter Sets' , description : 'Use any PyBaMM ParameterValues — defaults to Chen2020' }
210+ ] ,
211+ installation : [
212+ { name : 'pip' , command : 'pip install pathsim-batt' }
213+ ] ,
214+ quickstart : {
215+ description : 'PathSim-Batt cell blocks plug into PathSim simulations. Drive the cell with a current source and observe terminal voltage.' ,
216+ code : `from pathsim import Simulation, Connection
217+ from pathsim.blocks import Source, Scope
218+ from pathsim_batt import CellElectrothermal
219+
220+ # Default Chen2020 parameter set, SPMe model
221+ cell = CellElectrothermal(initial_soc=0.8)
222+
223+ # Constant 2 A discharge
224+ i_src = Source(func=lambda t: 2.0)
225+ scope = Scope()
226+
227+ sim = Simulation(
228+ [i_src, cell, scope],
229+ [Connection(i_src, cell), Connection(cell, scope)]
230+ )
231+ sim.run(1800)
232+ scope.plot()` ,
233+ title : 'Example'
234+ } ,
235+ apiModules : [
236+ { name : 'pathsim_batt' , description : 'Cell blocks (CellElectrothermal, CellElectrical, LumpedThermal)' }
237+ ] ,
238+ pyodidePackages : [
239+ { pip : 'pathsim' , import : 'pathsim' , pre : true } ,
240+ { pip : 'pathsim-batt' , import : 'pathsim_batt' , pre : true }
241+ ]
242+ } ,
193243 vehicle : {
194244 id : 'vehicle' ,
195245 name : 'PathSim-Vehicle' ,
@@ -274,7 +324,7 @@ scope.plot()`,
274324} ;
275325
276326// Ordered list for tabs/navigation
277- export const packageOrder : PackageId [ ] = [ 'pathsim' , 'chem' , 'vehicle' , 'flight' , 'rf' ] ;
327+ export const packageOrder : PackageId [ ] = [ 'pathsim' , 'chem' , 'batt' , ' vehicle', 'flight' , 'rf' ] ;
278328
279329// Sidebar navigation (auto-generated from package config)
280330export interface SidebarItem {
0 commit comments