Contenido principal

batteryActiveMaterial

Active material properties of electrode for battery P2D model

Since R2026a

    Description

    A batteryActiveMaterial object contains information about the active material properties of the battery electrode, including the particle radius, maximum solid-phase concentration of lithium ions, fraction of electrode volume occupied by active material, diffusion coefficient, reaction rate, open circuit potential, and stoichiometric limits.

    Creation

    Description

    electrodeMaterial = batteryActiveMaterial(PropertyName=Value) creates a batteryActiveMaterial object and specifies the active material properties of the electrode. For example, you can specify the particle radius, volume fraction, diffusion coefficient, and reaction rate.

    example

    Properties

    expand all

    Radius of the particles in the active material, specified as a positive number. Battery P2D modeling uses SI units of measurements, so the particle radius must be specified in meters (m).

    Data Types: double

    Maximum solid-phase concentration of lithium ions, specified as a positive number. The maximum solid-phase concentration represents the highest possible amount of lithium ions that can be intercalated into the solid active material of the electrode.

    Battery P2D modeling uses SI units of measurements, so the maximum solid-phase concentration must be specified in moles per cubic meter (mol/m3).

    Data Types: double

    Fraction of the electrode volume occupied by the active material, specified as a positive number.

    Data Types: double

    Rate at which lithium ions diffuse through the active material, specified as a positive number or a function handle. Battery P2D modeling uses SI units of measurements, so the diffusion coefficient must be specified in square meters per second (m2/s).

    Data Types: double | function_handle

    Rate constant for the electrochemical reactions occurring at the anode and cathode surfaces, specified as a positive number. The reaction rate determines how quickly the battery can deliver power or charge.

    Battery P2D modeling uses SI units of measurements, so the reaction rate must be specified in m5/(mols).

    Data Types: double

    Potential of the electrode material as a function of stoichiometry, specified as a function handle. Open circuit potential is the potential measured in the absence of current flow and external potential. This value determines the voltage profile of the battery during charging and discharging.

    Battery P2D modeling uses SI units of measurements, so the open circuit potential must be specified in Volts (V).

    Data Types: function_handle

    Range of stoichiometric values, specified as a two-element numeric vector. Stoichiometric limits refer to the maximum amount of a specific chemical component (for example, the lithium in Li-ion batteries) that can be incorporated into a battery electrode without causing structural or electrochemical damage. These limits define the usable capacity range of the electrode.

    Data Types: double

    Examples

    collapse all

    Create a model for the battery P2D analysis, and specify the parameters of the electrodes as the Anode and Cathode properties of the model.

    Both the anode and cathode materials require the open circuit potential specification, which determines the voltage profile of the battery during charging and discharging. The open circuit potential is a voltage of electrode material as a function of the stoichiometric ratio, which is the ratio of intercalated lithium in the solid to maximum lithium capacity. You can specify this ratio by interpolating the gridded data set.

    sNorm = linspace(0.025, 0.975, 39);
    ocp_n_vec = [.435;.325;.259;.221;.204; ...
                 .194;.179;.166;.155;.145; ...
                 .137;.131;.128;.127;.126; ...
                 .125;.124;.123;.122;.121; ...
                 .118;.117;.112;.109;.105; ...
                 .1;.098;.095;.094;.093; ...
                 .091;.09;.089;.088;.087; ...
                 .086;.085;.084;.083];
    ocp_p_vec = [3.598;3.53;3.494;3.474; ...
                 3.46;3.455;3.454;3.453; ...
                 3.4528;3.4526;3.4524;3.452; ...
                 3.4518;3.4516;3.4514;3.4512; ...
                 3.451;3.4508;3.4506;3.4503; ...
                 3.45;3.4498;3.4495;3.4493; ...
                 3.449;3.4488;3.4486;3.4484; ...
                 3.4482;3.4479;3.4477;3.4475; ...
                 3.4473;3.447;3.4468;3.4466; ...
                 3.4464;3.4462;3.4458];
    
    anodeOCP = griddedInterpolant(sNorm,ocp_n_vec,"linear","nearest");
    cathodeOCP = griddedInterpolant(sNorm,ocp_p_vec,"linear","nearest");

    Create objects that specify active materials for the anode and cathode.

    anodeMaterial = batteryActiveMaterial( ...
        ParticleRadius=5E-6, ...
        MaximumSolidConcentration=30555, ...
        VolumeFraction=0.58, ...
        DiffusionCoefficient=3.0E-15, ...
        ReactionRate=8.8E-11, ...
        OpenCircuitPotential=@(st_ratio) anodeOCP(st_ratio), ...
        StoichiometricLimits=[0.0132 0.811]);
    
    cathodeMaterial = batteryActiveMaterial(...
        ParticleRadius=5E-8, ...
        MaximumSolidConcentration=22806, ...
        VolumeFraction=0.374, ...
        DiffusionCoefficient=5.9E-19, ...
        ReactionRate=2.2E-13, ...
        OpenCircuitPotential=@(st_ratio) cathodeOCP(st_ratio), ...
        StoichiometricLimits=[0.035 0.74]);

    Next, create objects that specify both electrodes.

    anode = batteryElectrode(...
        Thickness=34E-6, ...
        Porosity=0.3874, ...
        BruggemanCoefficient=1.5, ...
        ElectricalConductivity=100, ...
        ActiveMaterial=anodeMaterial);
    
    cathode = batteryElectrode(...
        Thickness=80E-6, ...
        Porosity=0.5725, ...
        BruggemanCoefficient=1.5, ...
        ElectricalConductivity=0.5, ...
        ActiveMaterial=cathodeMaterial);

    Create a battery pseudo-2D model using these objects to specify the Anode and Cathode properties of the model.

    model = batteryP2DModel( ...
        Anode=anode, ...
        Cathode=cathode)
    model = 
      batteryP2DModel with properties:
    
       Components
                       Anode: [1×1 batteryElectrode]
                     Cathode: [1×1 batteryElectrode]
                   Separator: [1×1 batterySeparator]
                 Electrolyte: [1×1 batteryElectrolyte]
    
       Configurations
           InitialConditions: [1×1 batteryInitialConditions]
                 CyclingStep: [1×1 batteryCyclingStep]
               SolverOptions: [1×1 batterySolverOptions]
    
       Constants
             FaradayConstant: 96487
        UniversalGasConstant: 8.3140
    
    

    Version History

    Introduced in R2026a