File size: 1,299 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 pydantic import BaseModel, Field

class NPCalcInput(BaseModel):
    cathode_name: str
    Q_anode_raw: float = Field(..., description="Specific capacity of anode (mAh/g)")
    m_anode: float = Field(..., description="Anode active mass (g or mg/cm²)")
    SEI_loss_fraction: float = Field(..., description="Fractional SEI loss (e.g. 0.1 for 10%)")
    Q_cathode_raw: float = Field(..., description="Specific capacity of cathode (mAh/g)")
    m_cathode: float = Field(..., description="Cathode active mass (g or mg/cm²)")
    vacancy_loss_fraction: float = Field(..., description="Fractional vacancy loss in cathode")

    # recommended loading
    Q_areal: float = Field(..., description="Target full‑cell areal capacity (mAh/cm²)")

    # — new CE inputs —
    Q_charge_anode: float = Field(..., description="Anode charge capacity (mAh)")
    Q_discharge_anode: float = Field(..., description="Anode discharge capacity (mAh)")
    Q_charge_cathode: float = Field(..., description="Cathode charge capacity (mAh)")
    Q_discharge_cathode: float = Field(..., description="Cathode discharge capacity (mAh)")
    Q_charge_full: float = Field(..., description="Full‑cell charge capacity (mAh)")
    Q_discharge_full: float = Field(..., description="Full‑cell discharge capacity (mAh)")