Bei der Modellierung von Akkusystemen ist die Angabe eines Lastprofils entscheidend für die genaue Darstellung der Funktionsweise des Akkus in einem realen Szenario. In der Software COMSOL Multiphysics® und dem Battery Design Module stehen mehrere Methoden zur Verfügung, um solche Profile in Ihrem Batteriemodell zu berücksichtigen. In diesem Blog-Beitrag werden wir die Herangehensweisen und ihre Implementierungen genauer erläutern. Um die Verwendung dieser Methoden zu demonstrieren, sehen wir uns Modellbeispiele aus den Application Libraries von COMSOL Multiphysics® an.
Einführung
In der Regel vervollständigen Sie Ihr Akkumodell in der COMSOL® Software, indem Sie die angelegte Last, basierend auf Strom, Leistung, Spannung oder einer Kombination dieser Variablen, definieren und vorschreiben. Je nachdem, welches Interface Sie in Ihrem Modell verwenden, können Sie dies erreichen, indem Sie die passende Randbedingung oder den passenden Betriebsmodus auswählen und den entsprechenden Wert so konfigurieren, dass er den Betriebsanforderungen des zu simulierenden Akkus entspricht.
Bei den Interfaces Lithium-Ion Battery, Battery with Binary Electrolyte und Lead–Acid Battery sowie bei der allgemeinen Stromverteilung stehen Ihnen verschiedene Optionen für die Elektrodenbedingungen zur Verfügung. Alternativ können Sie in vereinfachten Interfaces wie Single Particle Battery und Lumped Battery eine Betriebsart auswählen. Beim Interface Battery Pack kann die Last durch die Einstellung der Randbedingungen für die Gebiete Current Conductor innerhalb eines Akku-Packs vorgegeben werden.
In COMSOL Multiphysics® und dem Battery Design Module stehen mehrere Methoden zur Verfügung, um die Profildauer, die Variationen und die Zyklusmuster zu erfassen, sie in den von Ihnen erstellten Ausdruck zu integrieren und diese Informationen als angelegte Last an das Physik-Interface zu übergeben. Diese Methoden werden wir uns im Folgenden ansehen.
Temperaturprofil in einem luftgekühlten zylindrischen Lithium-Ionen-Akku während eines Lade-/Entladezyklus.
Funktionen
Verschiedene Funktionen innerhalb von COMSOL Multiphysics® bieten verschiedene Möglichkeiten zur Definition von Lastprofilen. Durch die Verwendung dieser Funktionen können Sie die Eigenschaften des Lastprofils, einschließlich der Muster und Schwankungen im Zeitverlauf, genau erfassen. Die Funktionen können in einen die Belastung abbildenden Ausdruck integriert werden, wie etwa der angelegte Strom, der in einem Akku-Modell verwendet wird. Im Beispielmodell 1D Isothermal Lithium-Ion Battery wird der angelegte Strom, der Lade- und Entladezyklen mit Konstantstrom (CC) und Ruhephasen erzeugt, mit einer Funktion Piecewise definiert. Diese Funktion ist besonders nützlich, um Lasten zu definieren, die sich in bekannten Intervallen ändern.
Auf ähnliche Weise wird die Funktion Piecewise in dem Beispielmodell 1D Isothermal Zinc-Silver Oxide Battery verwendet, um ein Pulsprofil mit Entladung, Strom und Dichte zu definieren. In den Beispielmodellen Thermal Modeling of a Cylindrical Lithium-Ion Battery in 2D und Thermal Modeling of a Cylindrical Lithium-Ion Battery in 3D wird die quadratische Funktion Waveform verwendet, um einen Wechselstrom mit Ladung und Entladung sowie darauffolgender Relaxationsphase zu erstellen. In dem Modell Soluble Lead–Acid Redox Flow Battery wird ein aus Lade-, Entlade- und Ruhephasen bestehender Lastzyklus mit drei Funktionen Rectangle definiert. Je nach den vorhandenen Eingaben und Ihrer Kenntnis des gewünschten Lastzyklus können Sie eine oder mehrere Funktionen verwenden und/oder mehrere verschiedene Funktionen kombinieren, um das gewünschte Profil zu erhalten.
Abrupte Änderungen oder Diskontinuitäten in Lastprofilen können zu numerischen Instabilitäten führen. Daher ist es wichtig, bei der Definition von Lastprofilen für verschiedene Funktionen im Einstellungsfenster der Funktion Smoothing zu aktivieren, um die Konvergenz zu gewährleisten. Der zeitabhängige Löser berechnet dann den durch das Smoothing definierten Übergang zwischen den Laststufen.
Das Fenster Settings der ein Lastprofil definierenden Funktion Piecewise zeigt die Anwendung des Smoothings zur Verbesserung des numerischen Verhaltens der Funktion.
Wenn Sie Zugang zu Messungen von experimentellen Lastzyklen haben und das experimentelle Lastprofil in Ihr Batteriemodell einbeziehen möchten, können Sie außerdem eine Funktion Interpolation verwenden, um die Daten in COMSOL Multiphysics® zu importieren. Diese Möglichkeit wird im Beispiel Parameter Estimation of a Time-Dependent Lumped Battery Model demonstriert, bei dem die experimentellen Daten zur dynamischen Belastung einer Batterie für Plug-in-Hybridfahrzeuge dem Interface Lumped Battery als angelegte Last dienen.
Experimentelle Fahrzyklus-Daten werden mittels einer Funktion Interpolation in COMSOL Multiphysics® importiert, um die angelegte Last zu definieren.
Ein Feature für vordefinierte Lade- und Entladezyklen
Wenn Sie ein Zyklusprofil mit Konstantstrom und Konstantspannung (CCCV) definieren möchten, können Sie das vordefinierte Feature Charge-Discharge Cycling verwenden, das bei Verwendung des Battery Design Module in allen Batterie- und allgemeinen Elektrochemie-Interfaces zu finden ist. Dieses Feature ermöglicht die Modellierung von aufeinanderfolgenden Lade- und Entladezyklen mit Konstantstrom und -spannung mit der Option, Ruhezeiten zwischen den Zyklen einzufügen. Wie in dem folgenden Screenshot gezeigt, kann der Nutzer die Reihenfolge der Modi anpassen, eine Ruhezeit zuweisen und die Spannungs- und Stromschwellenwerte für den Konstantstrom- bzw. Konstantspannungsmodus festlegen. Dieser vordefinierte Satz an Profilen wird so lange wiederholt, wie es die Simulationszeit erlaubt.
Das Fenster Settings für den Knoten Charge-Discharge Cycling enthält zwei getrennte Abschnitte für Lade- und Entlademodi, die es dem Benutzer ermöglichen, Stufen in das Profil aufzunehmen oder auszuschließen und die entsprechenden Werte einzugeben. Abhängig von der Einstellung Start Mode beginnt der Knoten den Zyklus mit dem Modus Charge oder Discharge.
Der Knoten enthält auch eine Variable für den Zykluszähler, auf die im Abschnitt Results zugegriffen werden kann und die auch zum Festlegen einer Stoppbedingung in einem zeitabhängigen Löser verwendet werden kann. Die Modelle Single Particle Model of a Lithium-Ion Battery und Capacity Fade of a Lithium-Ion Battery verwenden dieses Feature, um ein CCCV-Profil vorzuschreiben.
Der eingebaute Knoten Charge-Discharge Cycling ist mit gewissen Einschränkungen verbunden: Er verlässt sich hauptsächlich auf Spannungs- und Stromschwellenwerte, um zwischen den Modi zu wechseln, was möglicherweise nicht ganz mit Ihren Anforderungen übereinstimmt. Für komplexere Lastzyklen sollten Sie in Betracht ziehen, das Zyklusverhalten über das Interface Events zu konfigurieren.
Das Interface Events
Wie bereits im Abschnitt Funktionen erwähnt, kann die Anwendung des Smoothings bei der Verwendung verschiedener Funktionen zur Definition eines Lastprofils das numerische Verhalten des Lösers bei plötzlichen Belastungsänderungen verbessern. Diese Verbesserung ist bei der Definition eines Lastprofils über das Interface Events bereits integriert, so dass der Anwender darauf vertrauen kann, dass der Löser ein gleichmäßiges numerisches Verhalten beibehält. Das Interface Events ermöglicht es, verschiedene Belastungen mit mehreren Stufen und unterschiedlichen Kriterien für den Moduswechsel zu erstellen. Indem dem Lastausdruck einige über das Interface Events definierte Wechsel hinzugefügt werden, kann der Lastausdruck verschiedene Werte annehmen und so das Muster des Lastprofils effektiv widerspiegeln. Der Lastausdruck basiert auf einer Reihe von diskreten Zustandsvariablen, die ihren Wert ändern, um das gewünschte Lastprofil zu definieren.
Bevor wir uns damit beschäftigen, wie man das Interface Events verwendet, um das gewünschte Lastprofil zu definieren, sollten wir zunächst seine wichtigsten Features besser verstehen. Das Interface Events befindet sich unter der Verzweigung Mathematics > ODE and DAE in COMSOL Multiphysics®. Es dient in erster Linie dazu, Löser-Ereignisse zu erzeugen. Diese Ereignisse können in zwei Kategorien eingeteilt werden: explizit und implizit. Explizite Ereignisse sind auf bestimmte Zeitpunkte festgelegt, wie das geplante Abschalten der Belastung zu einem bestimmten Zeitpunkt. Implizite Ereignisse treten bei Erfüllung bestimmter Bedingungen ein, wie das Erreichen eines vordefinierten Schwellenwerts des Zellpotenzials, was eine Änderung des angelegten Stroms erforderlich macht oder die Zelle in einen Ruhezustand versetzt. Wenn ein Ereignis eintritt, hält der zeitabhängige Löser an, ändert die Werte einer oder mehrerer diskreter Zustandsvariablen und startet dann neu. Es ist erwähnenswert, dass das Feature Charge-Discharge Cycling auf der Grundlage von Ereignissen arbeitet, wobei implizite Ereignisse bereits „hinter den Kulissen“ vordefiniert sind.
Um mehr über das Interface Events und seine praktische Implementierung zu erfahren, können Sie den Blog-Beitrag Implementing a Thermostat with the Events Interface lesen.
Nachdem wir nun die Funktionsweise des Interface Events, seine Schlüsselkomponenten und die Art und Weise, wie es dem Benutzer die Änderung seines Modells auf der Grundlage bestimmter Bedingungen oder zu bestimmten Zeitpunkten ermöglicht, verstanden haben, können wir nun seine Verwendung bei der Definition von Lastprofilen untersuchen. Verschiedene Betriebsmodi oder Stufen im Lastprofil können durch eine Reihe von Discrete States dargestellt werden. Wenn diese Zustände unterschiedliche Werte erhalten, wirken sie wie eine Reihe von Schaltern und ändern, wie in der folgenden Abbildung gezeigt, die Definition des Lastausdrucks. Die Entscheidung, ob explizite oder implizite Ereignisse verwendet werden sollen, hängt von den spezifischen Merkmalen der vorliegenden Lastdefinition ab. Ein explizites Ereignis kann verwendet werden, wenn die Änderungen der Variablen, die das Profilmuster beeinflussen, zu einem bekannten Zeitpunkt erfolgen. In Fällen, in denen der Zeitpunkt nicht bekannt ist, können die Bedingungen und Kriterien, die das Einsetzen von Änderungen in diesen Variablen signalisieren, wie bestimmte Schwellenwerte für Zellleistungsfaktoren, durch eine Reihe von Indicator States detailliert werden. Diese Indicator States legen dann Zustandsvariablen fest, die der Löser verwendet, um implizite Ereignisse auszulösen.
Im Modell Lithium Plating with Deformation wird das Interface Events verwendet, um eine Event Sequence zu erstellen, die die Tastgrade für Vorwärts- und Rückwärtsströme enthält.
Die angelegte Elektrodenstromdichte, die im Abschnitt Variables als “i_app” definiert und im Interface Lithium-Ion Battery an die Bedingung Electrode Current übergeben wird, wird unter Berücksichtigung des Vorwärts- und Rückwärtszustandes berechnet. Diese Sequenz wird dann durch die Einstellung Loop wiederholt, die im Fenster Settings der Event Sequence im nächsten Bild zu sehen ist.
Die Knoten Implicit Event und Explicit Event werden zum angegebenen Zeitpunkt oder wenn die Bedingung erfüllt ist ausgelöst. Die Reihenfolge, in der sie im Interface definiert sind, stimmt möglicherweise nicht mit der erwarteten Reihenfolge der Änderungen im Profil überein. Es gibt jedoch eine weitere Option, die sogenannte Event Sequence, die mit einem Rechtsklick auf das Interface Events aufgerufen werden kann und die das Einbauen von aufeinanderfolgenden Schritten vereinfacht. Mit einer Event Sequence können Sie eine Abfolge von Ereignissen festlegen, die in der Reihenfolge aktiviert werden, in der sie aufgelistet sind. Sobald eine Event Sequence hinzugefügt wurde, können Sie mehrere Sequenzbestandteile einbeziehen, die jeweils auf der Grundlage von bedingten Ausdrücken oder einer bestimmten Dauer arbeiten. Außerdem kann bei der Verwendung einer Event Sequence das Feld Loop im Einstellungsfenster Event Sequence aktiviert werden. Dadurch können Ereignisse so lange wiederholt werden, wie es die Simulationszeit zulässt, was die Flexibilität bietet, sich wiederholende Zyklen zu definieren.
Wählen Sie das Feld Loop aus, wenn Sie die Ereignissequenz während der Studie kontinuierlich wiederholen möchten (siehe Plot).
Implizite Ereignisse können die Simulation auch beenden, indem sie für den Löser eine Stop Condition an dem Zeitpunkt des Ereignisses einrichten. Dieser Ansatz ist oft präziser als eine durch eine Stop Expression definierte Stopp-Bedingung. Wie in dem Screenshot des Modells Silicon-Graphite Blended Electrode with Thermodynamic Voltage Hysteresis zu sehen ist, werden alle im Modell definierten impliziten Ereignisse automatisch in der Tabelle aufgelistet und die Simulation stoppt, wenn ein als aktiv markiertes Ereignis ausgelöst wird.
Wenn das Elektrodenpotential das definierte Elektrodenpotential, das einem Ladezustand der Elektroden von 0% entspricht, überschreitet, wird Implicit Event 2 ausgelöst und signalisiert das Ende der Simulation.
Dieser Ansatz wird in verschiedenen Akkumodellen in COMSOL Multiphysics® verwendet:
- Lithium Plating with Deformation
- Lithium Battery Designer
- Lithium-Ion Battery Internal Resistance
- Lithium-Ion Battery Rate Capability
- Battery Over-Discharge Protection Using Shunt Resistances
Abschließende Bemerkungen
In diesem Blog-Beitrag haben wir verschiedene Herangehensweisen untersucht, die Nutzer zur Definition eines Lastzyklus in COMSOL Multiphysics® anwenden können. Diese Methoden werden in mehreren Modellbeispielen demonstriert, die Nutzern als wertvolle Ressourcen dienen können, um ihre Anwendung im Kontext der Batteriesimulation zu verstehen und Einblicke in Best Practices und Techniken zur genauen Darstellung von Lastprofilen in ihren Simulationsprojekten zu erhalten.
Kommentare (0)