cideMOD.models

This module provides a wide variety of battery cell models, as well as the template to develop new ones.

Functions

models_info(model_method[, model_name, ...])

This method print the docstring of the specified model method/s.

register_model(cls)

New cell models can be added to cideMOD with the register_model() function decorator.

register_model_options(model_name)

New model options can be added to cideMOD with the register_model_options() function decorator.

register_model_type(mtype[, aliases])

New model types can be added to cideMOD with the register_model_type() method.

register_trigger(name, label, units[, ...])

Register a new trigger variable.

cideMOD.models.models_info(model_method: str, model_name: str | None = None, model_options: BaseModelOptions | None = None, not_exist_ok=True)[source]

This method print the docstring of the specified model method/s.

Parameters:
  • model_method (str) – Name of the model method to be described.

  • model_name (Optional[str]) – Name of the model on which we are interested.

  • model_options (BaseModelOptions) – Model options already configured by the user.

Notes

If model_name is specified, then print the information of the model method. Otherwise, print the information of the active models if model_options is given, else print the information of the method of every registered model.

cideMOD.models.register_model(cls)[source]

New cell models can be added to cideMOD with the register_model() function decorator.

For example:

@register_model
class ElectrochemicalModel(BaseCellModel):
    ...

Note

Notice that all models must implement the BaseCellModel interface.

cideMOD.models.register_model_options(model_name)[source]

New model options can be added to cideMOD with the register_model_options() function decorator.

For example:

@register_model_options(__model_name__)
class ElectroquemicalModelOptions(pydantic.BaseModel)
    ...
cideMOD.models.register_model_type(mtype: str, aliases: List[str] = [])[source]

New model types can be added to cideMOD with the register_model_type() method.

For example:

register_model_type('PXD', aliases=['P2D', 'P3D', 'P4D'])
cideMOD.models.register_trigger(name, label, units, need_abs=False, atol=1e-06)[source]

Register a new trigger variable.

Parameters:
  • name (str) – Name of the variable

  • label (str) – Label of the variable. It is used as an alias.

  • units (str) – Units of the trigger variable.

  • need_abs (bool) – Whether or not to check the absolute value of the trigger variable. Default to False.

  • atol (float) – Default absolute tolerance for the trigger. Default to 1e-6.

Modules

cideMOD.models.PXD

cideMOD.models.base

cideMOD.models.model_handler

cideMOD.models.model_options

cideMOD.models.particle_models