Skip to content

Cells

Cell

Bases: Item

A model for representing electrochemical cells.

Attributes:

Name Type Description
active_ion_charge float
blocks_obj dict[str, DataBlockResponse]

A mapping from block ID to block data.

cell_format CellFormat | None

The form factor of the cell, e.g., coin, pouch, in situ or otherwise.

cell_format_description str | None

Additional human-readable description of the cell form factor, e.g., 18650, AMPIX, CAMPIX

cell_preparation_description str | None
characteristic_chemical_formula str | None

The chemical formula of the active material. Can be used to calculated molar mass in g/mol for normalizing capacities.

characteristic_mass float | None

The characteristic mass of the cell in milligrams. Can be used to normalize capacities.

characteristic_molar_mass float | None

The molar mass of the active material, in g/mol. Will be inferred from the chemical formula, or can be supplied if it cannot be supplied

collections list[Collection]

Inlined info for the collections associated with this item.

creator_ids list[PyObjectId]

The database IDs of the user(s) who created the item.

creators list[Person] | None

Inlined info for the people associated with this item.

date IsoformatDateTime | None

A relevant 'creation' timestamp for the entry (e.g., purchase date, synthesis date).

description str | None

A description of the item, either in plain-text or a markup language.

display_order list[str]

The order in which to display block data in the UI.

electrolyte list[CellComponent]
file_ObjectIds list[PyObjectId]

Links to object IDs of files stored within the database.

files list[File] | None

Any files attached to this sample.

group_ids list[PyObjectId]

The database IDs of the group(s) that have read-access to this item.

groups list[Group] | None

Inlined info for the groups with access to this item.

immutable_id PyObjectId

The immutable database ID of the entry.

item_id HumanReadableIdentifier

A locally unique, human-readable identifier for the entry. This ID is mutable.

last_modified IsoformatDateTime | None

The timestamp at which the entry was last modified.

name str | None

An optional human-readable/usable name for the entry.

negative_electrode list[CellComponent]
positive_electrode list[CellComponent]
refcode Refcode

A globally unique immutable ID comprised of the deployment prefix (e.g., grey)

relationships list[TypedRelationship] | None

A list of related entries and their types.

revision int

The revision number of the entry.

revisions dict[int, Any] | None

An optional mapping from old revision numbers to the model state at that revision.

status CellStatus

The status of the cells, indicating its current state.

type str
version int

The version number used by the version control system for tracking snapshots.

active_ion_charge

active_ion_charge: float = 1

blocks_obj

blocks_obj: dict[str, DataBlockResponse] = Field({})

A mapping from block ID to block data.

cell_format

cell_format: CellFormat | None

The form factor of the cell, e.g., coin, pouch, in situ or otherwise.

cell_format_description

cell_format_description: str | None

Additional human-readable description of the cell form factor, e.g., 18650, AMPIX, CAMPIX

cell_preparation_description

cell_preparation_description: str | None

characteristic_chemical_formula

characteristic_chemical_formula: str | None

The chemical formula of the active material. Can be used to calculated molar mass in g/mol for normalizing capacities.

characteristic_mass

characteristic_mass: float | None

The characteristic mass of the cell in milligrams. Can be used to normalize capacities.

characteristic_molar_mass

characteristic_molar_mass: float | None

The molar mass of the active material, in g/mol. Will be inferred from the chemical formula, or can be supplied if it cannot be supplied

collections

collections: list[Collection] = Field([])

Inlined info for the collections associated with this item.

creator_ids

creator_ids: list[PyObjectId] = Field([])

The database IDs of the user(s) who created the item.

creators

creators: list[Person] | None = Field(None)

Inlined info for the people associated with this item.

date

date: IsoformatDateTime | None

A relevant 'creation' timestamp for the entry (e.g., purchase date, synthesis date).

description

description: str | None

A description of the item, either in plain-text or a markup language.

display_order

display_order: list[str] = Field([])

The order in which to display block data in the UI.

electrolyte

electrolyte: list[CellComponent] = []

file_ObjectIds

file_ObjectIds: list[PyObjectId] = Field([])

Links to object IDs of files stored within the database.

files

files: list[File] | None

Any files attached to this sample.

group_ids

group_ids: list[PyObjectId] = Field([])

The database IDs of the group(s) that have read-access to this item.

groups

groups: list[Group] | None = Field(None)

Inlined info for the groups with access to this item.

immutable_id

immutable_id: PyObjectId = Field(None, title='Immutable ID', alias='_id', format='uuid')

The immutable database ID of the entry.

item_id

item_id: HumanReadableIdentifier

A locally unique, human-readable identifier for the entry. This ID is mutable.

last_modified

last_modified: IsoformatDateTime | None = None

The timestamp at which the entry was last modified.

name

name: str | None

An optional human-readable/usable name for the entry.

negative_electrode

negative_electrode: list[CellComponent] = []

positive_electrode

positive_electrode: list[CellComponent] = []

refcode

refcode: Refcode = None

A globally unique immutable ID comprised of the deployment prefix (e.g., grey) and a locally unique string, ideally created with some consistent scheme.

relationships

relationships: list[TypedRelationship] | None = None

A list of related entries and their types.

revision

revision: int = 1

The revision number of the entry.

revisions

revisions: dict[int, Any] | None = None

An optional mapping from old revision numbers to the model state at that revision.

status

status: CellStatus = Field(default=ACTIVE)

The status of the cells, indicating its current state.

type

type: str = Field('cells', const='cells', pattern='^cells$')

version

version: int = 1

The version number used by the version control system for tracking snapshots.

add_missing_collection_relationships

add_missing_collection_relationships(values)

add_missing_electrode_relationships

add_missing_electrode_relationships(values)

Add any missing cell component constituents to parent relationships

check_id_names

check_id_names(values)

Slightly upsetting hack: this case should be covered by the pydantic setting for populating fields by alias names.

refcode_validator

refcode_validator(v)

Generate a refcode if not provided.

set_molar_mass

set_molar_mass(v, values)

to_reference

to_reference(additional_fields: list[str] | None = None) -> EntryReference

Populate an EntryReference model from this entry, selecting additional fields to inline.

Parameters:

Name Type Description Default
additional_fields list[str] | None

A list of fields to inline in the reference.

None

CellComponent

Bases: Constituent

Attributes:

Name Type Description
item EntryReference | InlineSubstance

A reference to item (sample or starting material) entry for the constituent substance.

quantity float | None

The amount of the constituent material used to create the sample.

unit str

The unit symbol for the value provided in quantity, default is mass

item

item: EntryReference | InlineSubstance

A reference to item (sample or starting material) entry for the constituent substance.

quantity

quantity: float | None = Field(..., ge=0)

The amount of the constituent material used to create the sample.

unit

unit: str = Field('g')

The unit symbol for the value provided in quantity, default is mass in grams (g) but could also refer to volumes (mL, L, etc.) or moles (mol).

check_itemhood

check_itemhood(v)

Check that the reference within the constituent is to an item type.

coerce_reference

coerce_reference(v)

CellFormat

Bases: str, Enum

Attributes:

Name Type Description
coin
cylindrical
in_situ_nmr
in_situ_optical
in_situ_squid
in_situ_xrd
other
pouch
swagelok

coin

coin = 'coin'

cylindrical

cylindrical = 'cylindrical'

in_situ_nmr

in_situ_nmr = 'in situ (NMR)'

in_situ_optical

in_situ_optical = 'in situ (optical)'

in_situ_squid

in_situ_squid = 'in situ (SQUID)'

in_situ_xrd

in_situ_xrd = 'in situ (XRD)'

other

other = 'other'

pouch

pouch = 'pouch'

swagelok

swagelok = 'swagelok'