File size: 1,198 Bytes
78fefe8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from typing import List
from pydantic import BaseModel, Field

class CapacityFadeInput(BaseModel):
    cathode_name: str
    cycle_numbers: List[int] = Field(..., description="List of cycle numbers")
    Q_discharge_list: List[float] = Field(..., description="List of discharge capacities (mAh/g)")

# New impedance growth inputs:
    cycle_numbers_imp: List[int] = Field(..., description="List of cycle numbers for impedance growth plot")
    impedance_list: List[float] = Field(..., description="List of impedance values (Ω)")
    parameter_name: str = Field("Rct", description="Parameter name for impedance (e.g., 'Rct')")

    # Calendar ageing inputs
    temperature_C:        float = Field(..., description="Storage temperature in °C")
    SOC_fraction:         float = Field(..., description="State of charge (0–1)")
    storage_time_hours:   float = Field(..., description="Storage time in hours")
    initial_capacity_mAh: float = Field(..., description="Initial full‑cell capacity (mAh)")

    k_fade: float = Field(..., description="Capacity fade constant k for cycle-life estimation")
    b_fade: float = Field(..., description="Exponent b for cycle-life estimation (0.3–0.7)")