Class in Zendir.Classes | Inherits from PhysicalObject
Declaration
class Battery;Description
A battery unit can be attached to a power circuit on an entity and is able to store power that can be both charged and discharged out of the system.
Properties
| Declared | Description |
|---|---|
| CalendarLife | The Age of the battery in years for the State of Health calculation |
| Capacity | The true Capacity of the battery in Amp hours based on NominalCapacity and State of Health |
| Charge | The current charge of the battery in Amp hours |
| ChargeEfficiency | Charging efficiency factor (eta). Applied when current flows into the battery.Typical values are 0.9-1.0 for Li-ion cells. |
| ChargeFraction | A value between 0 and 1 for the fraction of charge stored. |
| CurrentIn | The current coming in to the power model from the battery |
| CurrentOut | The current coming out of the power model from the battery |
| DischargeEfficiency | Discharging efficiency factor (eta). Applied when current flows out of the battery.Typical values are 0.95-1.0 for Li-ion cells. |
| IgnoreChargeFraction | Toggles if the ChargeFraction scales the Simulated Battery voltage.When true, only the Nominal Battery Voltage is used for the simulation. |
| MaxChargeCurrent | The maximum current flow that can charge the storage unit. Note it doesn’t limit the charge current. |
| MaxDischargeCurrent | The maximum current flow that leave the storage unit. Note it doesn’t limit the discharge current. |
| NetPower | Net power: a positive value is power supplied to the circuit; a negative value is power consumed from the circuit. |
| NominalCapacity | The NominalCapacity of the storage unit in amp-hours. |
| NominalTemperature | The Nominal Operating Temperature of the battery in Kelvin |
| NominalVoltage | The desired voltage that is produced from this storage unit. |
| OCVCoefficients | Polynomial coefficients for the Open Circuit Voltage (OCV) curve as a function of SOC.OCV(SOC) = a + bSOC + cSOC^2 + … where coefficients are [a, b, c, …].When null or empty, falls back to linear model: NominalVoltage * SOC.Use SetOCVCoefficients, SetOCVCoefficient, RemoveOCVCoefficient, and ClearOCVCoefficients for REST API usage. |
| Out_BatteryMsg | The battery message containing the current information of thestorage unit |
| PolarizationCapacitance | Polarization capacitance (C1) for the RC equivalent circuit model in Farads.Used to model transient voltage behavior. Set to 0 to disable. |
| PolarizationResistance | Polarization resistance (R1) for the RC equivalent circuit model in Ohms.Used to model transient voltage behavior. Set to 0 to disable. |
| PolarizationVoltage | Current polarization voltage (V_RC) from the RC equivalent circuit model.This is the voltage drop across the RC branch due to transient effects. |
| StateOfHealth | The State of Health of the battery, a value between 0 and 1. |
| StateOfHealthCalendarLifeWeight | The Calendar Life Weight for the State of Health calculation |
| StateOfHealthChargeRateWeight | The Charge Rate Weight for the State of Health calculation |
| StateOfHealthDepthOfDischargeWeight | The Depth of Discharge Weight for the State of Health calculation |
| StateOfHealthTemperatureWeight | The Temperature Weight for the State of Health calculation |
| TimeToRecharge | The estimated time in seconds until the battery is fully recharged (ChargeFraction = 1).Returns 0 if already full, or double.PositiveInfinity if not charging. |
| VoltageIn | The voltage coming in to the power model from the battery |
| VoltageOut | The voltage coming out of the power model from the battery |
| Inherited | Description |
|---|---|
| Behaviours | A collection of behaviours attached to this object. |
| CenterOfMassB_B | The center of mass of the component in respect to the body frame (B) of the component. This is isolated from anychildren and exists in isolation. |
| CenterOfMassDot_LB_B | The center of mass time-derivative of the component within its own local coordinates. This does not include anyof the sub-components and exists in isolation. |
| CenterOfMassDotB_B | The center of mass time-derivative of the component relative to the body frame (B). This does not include any ofthe sub-components and exists in isolation. |
| CenterOfMassL_L | The center of mass of the component within its own local coordinates. This does not include any of thesub-components and exists in isolation. |
| CenterOfMassPrime_LB_B | The center of mass general-derivative of the component within its own local coordinates. This does not includeany of the sub-components and exists in isolation. |
| CenterOfMassPrimeB_B | [m/s] The center of mass general-derivative of the component relative to the body frame (B). This does notinclude any of the sub-components and exists in isolation. |
| Children | A collection of children attached to this object. |
| DCM_BN | The rotational DCM matrix between the body frame (B) at the top of this component chain and the inertial frame (N). |
| DCM_LB | The rotational DCM matrix between the component frame of this object (L) relative to the body frame (B). |
| DCM_LN | The DCM rotational matrix of the component relative to the inertial origin (N) of the world. |
| DCM_LP | The DCM matrix of the component in the parent’s frame (P), taken from the Component Transform (PL). |
| IsEnabled | Is true if the object is currently enabled. |
| LocalForward | The direction of the transform frame’s forward vector, which is along the Y axis. |
| LocalRight | The direction of the transform frame’s right vector, which is along the X axis. |
| LocalUp | The direction of the transform frame’s up vector, which is along the Z axis. |
| Mass | The component mass defined in the object. This is independent of any parent or children objects and exists inisolation. |
| MassDot | The component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation. |
| Models | A collection of models attached to this object. |
| MomentOfInertia_LB | The moment of inertia of the component, measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaB_B | The moment of inertia of this component, measured in the body frame relative to the parented body. This isindependent of any children and exists in isolation. |
| MomentOfInertiaPrime_LB | The derivative of the moment of inertia of the component, measured at the local center of mass, represented withits own local coordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaPrimeB_B | The derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation. |
| Name | The display name or tag of this object. |
| Out_ComponentMassMsg | The component mass message defines the set of mass properties and states of the system within this componentlocally. This is independent of any parent or children properties or objects. |
| Out_TransformMsg | This defines the base transform message that stores the state of the transform of this object. |
| Parent | The currently attached parent object (if any). |
| Position | [m] The position of the object relative to the parent or to world origin, if no parent exists. |
| Position_BN_N | The position of the body (the root parent B) in the inertial frame relative to the inertial point (N). |
| Position_LB_B | The position of the component relative to the root object of this hierarchy. This is in the inertial frame and ifthe component is the root object, then there will be no position. |
| Position_LN_N | The position of the inertial world space. This position is derived from the world’s transform (N). |
| Position_LP_P | The position of the object relative to the parented object (P). If there is no parent object, then this will bein the inertial frame. |
| Root | The root object in the parent chain. |
| Rotation | [-] The rotation of the object relative to the parent or to the world origin, if no parent exists. |
| Thermal | [TEMPORARY] A reference to the thermal model that is attached to this object. This will allow the object to havethermal properties and be able to be used in thermal simulations. |
Methods
| Declared | Description |
|---|---|
| ClearOCVCoefficients | Clears all OCV coefficients. The battery then uses the linear model: NominalVoltage * SOC. Stored as empty array for REST/serialization compatibility. |
| RemoveOCVCoefficient | Removes the OCV coefficient at the given index. If the last coefficient is removed, clears to linear model when empty. |
| SetOCVCoefficient | Sets the full OCV coefficient array. Pass null or empty to clear and use linear model. Cleared state is stored as an empty array for REST/serialization compatibility. |
| SetOCVCoefficients | Sets the full OCV coefficient array. Pass null or empty to clear and use linear model. Cleared state is stored as an empty array for REST/serialization compatibility. |
| Inherited | Description |
|---|---|
| AddObject | Returns a new simulation object with the specified type. |
| Attach | Attempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object. |
| ContainsModelWithID | Returns true if an attached model satisfies the specified ID. |
| ContainsModelWithType | Returns true if an attached model satisfies the specified type. |
| Detach | This is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation. |
| FindBehavioursWithType | Returns all attached behaviours that satisfies the specified type. |
| FindBehaviourWithID | Returns an attached behaviour that satisfies the specified ID. |
| FindBehaviourWithType | Returns an attached behaviour that satisfies the specified type. |
| FindChildrenWithType | Returns all attached children that satisfies the specified type. |
| FindChildWithID | Returns an attached child that satisfies the specified ID. |
| FindChildWithType | Returns an attached child that satisfies the specified type. |
| FindModelsWithType | Returns all attached models that satisfies the specified type. |
| FindModelWithID | Returns an attached model that satisfies the specified ID. |
| FindModelWithType | Returns an attached model that satisfies the specified type. |
| FindParentWithID | Returns an attached parent that satisfies the specified ID. |
| FindParentWithType | Returns an attached parent that satisfies the specified type. |
| FindRootWithID | Returns a root object that satisfies the specified ID. |
| FindRootWithType | Returns a root object that satisfies the specified type. |
| GetModel | Returns a valid assigned model with the specified type. |
| GetWorldForward | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldRight | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldTransform | Returns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space. |
| GetWorldUp | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| ReadBodyTransform | This method will reset the dirty flag on the mass so that it has been read successfully and is valid. |
| SetWorldTransform | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| UpdateMassProperties | Updates the mass properties of the current physical object at a particular time. |