Skip to content

FrancescaWatson/BCL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BCL

Battery Cycling Language

Study of BCL Structure

Example Snippet of a JSON File with BCL Structure

{
  "parameters": {
    "Capacity": 2.5,
    "UpperCutoffVoltage": 4.2
  },
  "instructions": [
    {
      "sequence": [
        {
          "type": "ElectricCurrent",
          "value": -1,
          "unit": "CRate",
          "termination": [
            {
              "type": "Voltage",
              "value": "UpperCutoffVoltage",
              "unit": "Volt"
            }
          ]
        }
      ]
    }
  ],
    "name": "MinimalExample",
}

Example Snippet of the Linked JSON-LD Format

{
  "@context": "https://w3id.org/emmo/domain/battery/context",
  "schema:name": "Cyclelifecondition",
  "schema:subjectOf": "LG Chem INR18650 MJ1",
  "@id": "https://www.wikidata.org/wiki/Q120766894",
  "schema:citation": "Specification INR18650MJ1 22.08.2014.pdf",
  "description": "Example cycling procedure for a battery.",
  "uniqueIdentifier": "123e4567-e89b-12d3-a456-426614174000",
  "hasTask": [
    {
      "@type": ["ConstantCurrentConstantVoltageCycling", "IterativeWorkflow"],
      "rdfs:label": "HighDrainrateChargeDischargecondition",
      "rdfs:comment": "A cycling test using high drain rate",
      "hasMeasurementParameter": {
        "@type": "NumberOfIterations",
        "hasNumericalPart": {
          "@type": "Real",
          "hasNumericalValue": 400
        },
        "hasMeasurementUnit": "emmo:UnitOne"
      },
      "hasTask": {
        "@type": "ConstantCurrentCharging",
        "hasMeasurementParameter": [
          {
            "@type": "ChargingCurrent",
            "hasNumericalPart": {
              "@type": "Real",
              "hasNumericalValue": 1.5
            },
            "hasMeasurementUnit": "emmo:Ampere"
          },
          {
            "@type": "UpperVoltageLimit",
            "hasNumericalPart": {
              "@type": "Real",
              "hasNumericalValue": 4.2
            },
            "hasMeasurementUnit": "emmo:Volt"
          }
        ],
        "nextTask": [
          {
            "@type": "RestingStep",
            "hasMeasurementParameter": [
              {
                "@type": "RestingTime",
                "hasNumericalPart": {
                  "@type": "Real",
                  "hasNumericalValue": 600
                },
                "hasMeasurementUnit": "emmo:Second"
              }
            ],
            "nextTask": [
              {
                "@type": "ConstantCurrentDischarging",
                "hasMeasurementParameter": [
                  {
                    "@type": "DischargingCurrent",
                    "hasNumericalPart": {
                      "@type": "Real",
                      "hasNumericalValue": 4.0
                    },
                    "hasMeasurementUnit": "emmo:Ampere"
                  },
                  {
                    "@type": "LowerVoltageLimit",
                    "hasNumericalPart": {
                      "@type": "Real",
                      "hasNumericalValue": 2.5
                    },
                    "hasMeasurementUnit": "emmo:Volt"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}

Metadata

The optional Metadata section should contain additional information about the cell/battery.

Property Type Description
Description str Optional. Brief description of the synthesis.
UniqueIdentifier str Optional. For example with UUID.
AnodeChemistry str Optional. Chemistry of the anode
CathodeChemistry str Optional. Chemistry of the cathode

Hardware

The optional Hardware section should contain extra information about the equipment the test was performed on or is intended to run on.

Property Type Description
Manufacturer str Optional. Manufacturer of the test equipment.
Maximum Current str Optional. Maximum current of the test equipment.
Current Accuracy str Optional. Accuracy of the current measurement of a calibrated device according to the manufacturer.

Parameters

The Parameters section defines parameters of the battery to be used in the test.

Property Type Description
Capacity float Nominal or rated Capacity in Ah of either battery. Necessary to use C-Rates.
NumberOfCellsConnectedInSeries int How many cells are in series. If single cell, it is 1.
StandardVoltageCell float Nominal or standard voltage
LowerCutoffVoltage float Optional. Minimum cell voltage limit at which an applied signal is reversed or terminated.
UpperCutoffVoltage float Optional. Voltage in V attained at the end of a charging step.

Instructions for BatteryCycling

All steps included may be given within the BatteryCycling block of a BCL file.

The instruction consists of sequences. Sequences can have loops but the default is no repetition (1).

There are several types of blocks within a sequence: "ElectricCurrent", "Voltage", "Rest". #Update

Block within a Sequence

Property Type Description
type string "ElectricCurrent", "Voltage", "Rest"
value float Value of the block
unit string Example ElectricCurrent:Ampere, Voltage:Volt, Rest:Second for also CRate for "ElectricCurrent"
termination block See below

Termination

Property Type Description
type string "ElectricCurrent", "Voltage", "Rest"
value float Value of the block
unit string Example ElectricCurrent:Ampere, Voltage:Volt, Rest:Second

About

Battery Cycle language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 85.7%
  • Python 14.3%