File size: 2,036 Bytes
78fefe8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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)")
|