tueniuu's picture
Upload 48 files
78fefe8 verified
raw
history blame
2.04 kB
from typing import List
from pydantic import BaseModel, Field
class AllBInput(BaseModel):
cathode_name: str
# ─── V–Q & dQ/dV inputs ───────────────────────────────────────
V: List[float] = Field(..., description="Measured voltage at each time step (V)")
I: float = Field(..., description="Applied current (mA/g)")
t: List[float] = Field(..., description="Time array matching V (h or s)")
# ─── Rate capability inputs ───────────────────────────────────
Q_nominal: float = Field(..., description="Nominal low‑rate capacity (mAh/g)")
C_rates: List[float] = Field(..., description="List of C‑rates (e.g. [0.1,0.5,1,2,5])")
t_discharge: List[float] = Field(..., description="Discharge times at each C‑rate (hours)")
# ─── CC–CV charge time inputs ────────────────────────────────
Q_nominal_mAh: float = Field(..., description="Nominal cell capacity (mAh or Ah)")
I_lim: float = Field(..., description="Constant current limit during CC (A or mA)")
alpha: float = Field(..., description="Fraction of total capacity charged at CC (0.0–1.0)")
I_end: float = Field(..., description="End‐of‐charge current for CV termination (A or mA)")
tau: float = Field(..., description="Time constant for CV current decay (seconds)")
# ─── GITT‑style diffusion inputs ───────────────────────────────
L: float = Field(..., description="Diffusion length (cm)")
tau_pulse: float = Field(..., description="Pulse duration Ο„ (s)")
delta_E_tau: List[float] = Field(..., description="Voltage change during pulse Ξ”EΟ„ (V)")
delta_E_s: List[float] = Field(..., description="Steady‑state voltage change Ξ”Es (V)")