|
|
from typing import List |
|
|
from pydantic import BaseModel, Field |
|
|
|
|
|
class AllBInput(BaseModel): |
|
|
cathode_name: str |
|
|
|
|
|
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)") |
|
|
|
|
|
|
|
|
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)") |
|
|
|
|
|
|
|
|
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)") |
|
|
|
|
|
|
|
|
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)") |
|
|
|
|
|
|
|
|
|