← Back
Home › Systems › Chemistry and materials

battery-sim

battery electrochemistry modelling

PyBaMM

SystemTechniques · 20Primitives · 40 battery-sim JIT compilationcompilers · medium: Run cold code in a cheap tier, count executions, and compile only what gets hot, trading warm-up time and memory for peak speed.›Term rewritingcompilers · medium: Rewrite systems with pattern matching, confluence and termination ordersBattery state estimationembedded · medium: State of charge / health / power from coulomb counting, OCV curves and model-based observersEquivalent circuit battery modelembedded · medium: Thevenin RC-network battery models with OCV-SoC curves and parameter identificationBayesian optimizationml-training · medium: Surrogate model plus acquisition function (EI, UCB) to choose the next expensive evaluationFinite volume methodnumerics · medium: Conservative cell-averaged discretization with numerical fluxes on structured and unstructured meshesLevenberg marquardtnumerics · medium: Damped Gauss-Newton nonlinear least squares for model calibrationExtended Kalman filterrobotics · low: Kalman filter for nonlinear motion and measurement models: linearize f and h with Jacobians at the current estimate each step. The default estimator in robot navigation.›Cc cv chargingembedded · low: Constant-current then constant-voltage Li-ion charging with temperature derating and terminationPythonlanguages · low: The fastest language to write and the home of ML and data science; slow as an interpreter, fast when C/CUDA libraries do the work.›Reverse-mode automatic differentiat…ml-training · low: Record the forward computation on a tape, then sweep it backwards once to get the gradient of a scalar loss for all inputs.›Newton root findingnumerics · low: Linearize at the guess and jump to the tangent root; quadratic convergence near a simple root, made robust by brackets (1D) or line search.›Stiff solvers (implicit, BDF)numerics · low: Implicit steps solve a small nonlinear system so fast decaying modes stay stable at any step size; BDF methods are the stiff-ODE workhorse.›Bytecode interpretercompilers · low: Register/stack VM dispatch loop for executing compiled plans or rules (SQLite VDBE, nftables)Executable memory under W^Xcompilers · low: How JITs and code generators emit machine code under W^X: RW to RX flips, dual mappings, per-thread write toggles, and the instruction-cache flush.›Machine code emissioncompilers · low: Encode instructions to bytes for x86-64 and AArch64, branch relaxation, constant poolsSSA formcompilers · low: Give every variable exactly one definition, merging at joins with phi functions; def-use becomes explicit and optimizations turn sparse and cheap.›Tree pattern matchingcompilers · low: Matching AST patterns with metavariablesUnificationcompilers · low: First-order unification with union-find and occurs check; basis of type inference and logic programmingHash consingdata-structures · low: Intern structurally equal immutable terms so equality is pointer comparison and sharing is maximalSpline interpolationnumerics · low: Linear, bilinear/trilinear and cubic spline interpolation on grids and tablesExplicit Eulernumerics · low: Step an ODE forward by its current slope, y += h·f(t, y); first-order, one evaluation per step, the baseline every other integrator is measured against.›Gaussian processesmachine-learning · low: GP regression with kernels: posterior mean/variance via Cholesky, hyperparameters by marginal likelihood+ 13 more techniques+ 24 more primitives

Similar systems

Share the most building blocks with this one.