본문으로 건너뛰기
cccskills
무료GitHub에 공개

pybamm

Simulate lithium-ion battery charging, discharging, and rest with PyBaMM. Track voltage and capacity, record parameter sources, check how numerical settings affect predictions, and compare simulated curves with measured cycling data.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Simulates lithium-ion battery charge, discharge and rest experiments with PyBaMM, records parameter-set provenance, checks mesh and solver sensitivity, and compares predicted voltage curves with measured cycling data. Use for SPM or DFN electrochemical battery modeling, C-rate protocols, voltage cutoffs, parameter studies and numerical validation of battery simulations.

설치 방법 보기

이럴 때 유용합니다

  • Predicting voltage changes during charge, discharge, and rest
  • Comparing simulation results with measured cycling data
  • Checking how numerical settings affect predictions
  • Studying the effects of current and voltage cutoffs

포함된 파일(4)

  • SKILL.md7.1 KB
  • assets/chen2020-protocol.json340 B
  • references/protocol-and-comparison.md8.1 KB
  • scripts/simulate_battery.py12.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

PyBaMM battery experiments

When to use

Use this skill to model single-cell constant-current charge/discharge and rest, examine voltage and charge trajectories, or compare SPM/DFN predictions to cycling measurements. The helper runs real PyBaMM experiments and three numerical resolutions; it does not control a battery cycler or establish an operating envelope for hardware.

Runtime and tested case

uv venv --python 3.12 battery-env
uv pip install --python battery-env/bin/python pybamm==26.9.0.0 pybammsolvers==0.10.0

This release requires pybammsolvers>=0.10.0, NumPy 2 or newer, and CasADi 3.8.1. The tested environment used Python 3.12.10, NumPy 2.5.3 and SciPy 1.18.1. IDAKLU is the recommended solver; CasadiSolver and ScipySolver are deprecated in this release. Refer to the 26.9.0.0 manual below, since latest can describe unreleased APIs.

The included assets/chen2020-protocol.json is a synthetic isothermal 298.15-K SPM case: 80% initial SOC, discharge at 0.5C for 600 s, rest for 120 s, charge at 0.5C for 600 s. Chen2020 supplies an LG M50 parameterization with 5-Ah nominal capacity; here 0.5C means 2.5 A. This is an executable reference example, not a claim that an arbitrary user's cell has those parameters. The helper disables PyBaMM usage telemetry unless the caller has already explicitly configured that variable.

Workflow

  1. Establish the cell chemistry, geometry, nominal capacity, initial state, temperature and current-sign convention. Use an appropriate parameter set and explain its source. Distinguish a paper's fitted parameters from measurements of this particular cell. Do not transplant degradation parameters without checking their meaning and applicable conditions.
  2. Convert the requested protocol to the JSON contract in references/protocol-and-comparison.md. Positive simulation current discharges; negative current charges. Every step has a finite duration. A specified voltage cutoff can end it earlier; the report records actual termination times. C-rates use the selected set's nominal capacity. A change in that capacity changes current.
  3. Choose SPM when its reduced transport assumptions are adequate; use DFN when resolving electrolyte/electrode transport matters. The helper's tested models are isothermal and exclude aging, mechanics, plating and pack control. Increasing rate can invalidate SPM predictions even if numerical convergence is excellent.
  4. Run the helper. It validates protocol fields, rejects unknown or overridden-by-protocol parameter inputs, uses IDAKLU, and snapshots the base parameters after SOC initialization. Keep the protocol with that snapshot: experiment steps supply their own currents. Infeasible or skipped steps are errors, rather than silently presenting a partial protocol as complete.
  5. Read the two numerical comparisons separately: baseline versus tighter tolerances isolates solver error; tight tolerances on the original versus doubled mesh isolates discretization. Compare voltage differences and event-time differences against the accuracy the question needs. Refine again when these are too large; one doubling does not prove convergence.
  6. If measurements are available, check current, time origin, temperature, SOC and capacity before interpreting residuals. Supply matching seconds, volts and amps. The helper reports voltage RMSE/MAE/bias and current RMSE, preserving residuals. A small voltage error under a mismatched input current does not validate the model. This workflow compares curves; it does not claim to identify unique kinetic parameters from voltage alone.

Run and inspect

From the skill directory, point battery-env/bin/python at the environment created above:

battery-env/bin/python scripts/simulate_battery.py assets/chen2020-protocol.json \
  --output battery-reference

# measured.csv is user data with time_s,voltage_V,current_A columns.
battery-env/bin/python scripts/simulate_battery.py protocol.json \
  --measured measured.csv --mesh-points 30 --output battery-comparison

The first command was executed as written with an external output location. The second uses illustrative user filenames; the measurement path was exercised against a frozen synthetic reference curve in the tests. Output directories must be new.

ArtifactInterpretation
curve.csvBaseline time, step, voltage, current and net discharge capacity
tight-tolerance.csvSame mesh, tighter solver
refined-mesh.csvDoubled mesh with tighter solver
parameters.jsonBase parameters after SOC initialization; step currents remain in the protocol
report.jsonProtocol/checksum, package versions, parameter source, numerical comparisons and terminations
measurement-residuals.csvPrediction minus measurement and current mismatch, when measurements were supplied

The reference case conserved integrated charge: 600 s at 2.5 A yielded 0.4166667 Ah, then equal charge returned net discharge capacity to zero. Voltage stayed within the Chen2020 limits in this case. Tightening tolerances changed voltage by about 1 microvolt; doubling mesh from 20 to 40 points changed it by about 2.17 mV, so claiming sub-millivolt mesh accuracy would be unjustified. A separate real DFN test stopped at the requested 3.9-V event and verified its charge integral. Native tests also exercise charge cutoff, infeasible discharge, capacity-to-current conversion, and replay of the exported SOC-adjusted parameters without reinitializing SOC. The frozen reference is numerical regression evidence, not measured-cell validation.

Primary references

The linked release manuals, bundled helper, parameter serialization and optional DataLoader recipe in the reference were verified against PyBaMM 26.9.0.0.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Estimate intracellular reaction rates from steady-state carbon-13 tracing measurements. Validate carbon atom mappings and measurement inputs, simulate labeling, fit constrained fluxes, and diagnose which pathway rates the data can meaningfully constrain.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Estimate metabolic fluxes from carbon-13 labeling
  • Validate atom mappings and measurement inputs
  • Simulate labeling for proposed reaction rates
K-Dense-AI/scientific-agent-skills5.4만2026년 10월 19일 업데이트

adaptyv

무료

Plan protein characterization experiments with Adaptyv's cloud laboratory, estimate costs, submit sequences, track progress, and retrieve measured results. Supports binding, thermal stability, expression, fluorescence, and enzyme activity workflows through the API and Python SDK.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Plan binding screens for candidate protein sequences
  • Estimate experiment costs before submission
  • Track laboratory progress and retrieve results
K-Dense-AI/scientific-agent-skills5.4만2026년 10월 19일 업데이트

aeon

무료

Analyze time series with aeon, a Python toolkit for data that changes over time. Supports classification, regression, clustering, forecasting, anomaly detection, and pattern search, with guidance on preprocessing, algorithm selection, and evaluation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Classify time series and predict continuous outcomes
  • Group time series with similar patterns
  • Forecast future values
K-Dense-AI/scientific-agent-skills5.4만2026년 10월 19일 업데이트

Investigate how DNA variants may affect gene activity using precomputed AlphaGenome Atlas results and model predictions. Rank candidate variants, examine tissue-specific effects, and inspect the features behind scores to develop research hypotheses about biological mechanisms.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Ranking candidate variants from a VCF
  • Examining tissue-specific effects on gene activity
  • Comparing reference and altered DNA predictions
K-Dense-AI/scientific-agent-skills5.4만2026년 10월 19일 업데이트

Plan and document studies that assess whether an analytical procedure suits its intended use. Select the governing framework, evaluate calibration, accuracy, precision, and detection limits, and compare methods using acceptance criteria defined before data collection.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Planning analytical validation studies and acceptance criteria
  • Evaluating calibration, accuracy, and precision
  • Estimating and confirming detection and quantitation limits
K-Dense-AI/scientific-agent-skills5.4만2026년 10월 19일 업데이트

anndata

무료

Organize single-cell measurements with cell and gene metadata, read and write h5ad or Zarr files, and prepare subsets or combined datasets. Includes guidance on handling large annotated matrices without loading all measurement values into memory.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Read and write h5ad or Zarr datasets
  • Combine experimental batches with source labels
  • Select cells or genes using metadata
K-Dense-AI/scientific-agent-skills5.4만2026년 10월 19일 업데이트

K-Dense-AI의 스킬 모두 보기

이 스킬의 문제 신고