Thevenin Model#
- class pybamm.equivalent_circuit.Thevenin(name='Thevenin Equivalent Circuit Model', options=None, build=True)#
The classical Thevenin Equivalent Circuit Model of a battery as described in, for example, Barletta et al.[1].
This equivalent circuit model consists of an OCV element, a resistor element, and a number of RC elements (by default 1). The model is coupled to two lumped thermal models, one for the cell and one for the surrounding jig. Heat generation terms for each element follow equation (1) of Nieto et al.[2].
- Parameters:
name (str, optional) – The name of the model. The default is “Thevenin Equivalent Circuit Model”.
options (dict, optional) –
A dictionary of options to be passed to the model. The default is None. Possible options are:
- ”number of rc elements”str
The number of RC elements to be added to the model. The default is 1.
- ”calculate discharge energy”: str
Whether to calculate the discharge energy, throughput energy and throughput capacity in addition to discharge capacity. Must be one of “true” or “false”. “false” is the default, since calculating discharge energy can be computationally expensive for simple models like SPM.
- ”diffusion element”str
Whether to include the diffusion element to the model. Must be one of “true” or “false”. “false” is the default.
- ”operating mode”str
Sets the operating mode for the model. This determines how the current is set. Can be:
”current” (default) : the current is explicity supplied
”voltage”/”power”/”resistance” : solve an algebraic equation for current such that voltage/power/resistance is correct
”differential power”/”differential resistance” : solve a differential equation for the power or resistance
”CCCV”: a special implementation of the common constant-current constant-voltage charging protocol, via an ODE for the current
callable : if a callable is given as this option, the function defines the residual of an algebraic equation. The applied current will be solved for such that the algebraic constraint is satisfied.
build (bool, optional) – Whether to build the model on instantiation. Default is True. Setting this option to False allows users to change any number of the submodels before building the complete model (submodels cannot be changed after the model is built).
Examples
>>> model = pybamm.equivalent_circuit.Thevenin() >>> model.name 'Thevenin Equivalent Circuit Model'
Extends:
pybamm.models.base_model.BaseModel
- property default_geometry#
Returns a dictionary of the default geometry for the model, which is empty by default.
- property default_parameter_values#
Returns the default parameter values for the model (an empty set of parameters by default).
- property default_quick_plot_variables#
Returns the default variables for quick plotting (None by default).
- property default_spatial_methods#
Returns a dictionary of the default spatial methods for the model, which is empty by default.
- property default_submesh_types#
Returns a dictionary of the default submesh types for the model, which is empty by default.
- property default_var_pts#
Returns a dictionary of the default variable points for the model, which is empty by default.
- set_external_circuit_submodel()#
Define how the external circuit defines the boundary conditions for the model, e.g. (not necessarily constant-) current, voltage, etc
References