DE10150914C1 - Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems - Google Patents

Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems

Info

Publication number
DE10150914C1
DE10150914C1 DE10150914A DE10150914A DE10150914C1 DE 10150914 C1 DE10150914 C1 DE 10150914C1 DE 10150914 A DE10150914 A DE 10150914A DE 10150914 A DE10150914 A DE 10150914A DE 10150914 C1 DE10150914 C1 DE 10150914C1
Authority
DE
Germany
Prior art keywords
nodes
bipartite graph
node
equation
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10150914A
Other languages
English (en)
Inventor
Jochen Mades
Diana Estevez Schwarz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10150914A priority Critical patent/DE10150914C1/de
Priority to US10/273,520 priority patent/US7272543B2/en
Application granted granted Critical
Publication of DE10150914C1 publication Critical patent/DE10150914C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Eine Beschreibung eines physikalischen Systems liegt in Form von Gleichungen, insbesondere von Differentialgleichungen, als Computerprogramm auf einem Computersystem vor. Mit dem erfindungsgemäßen Verfahren werden geeignete Bipartite Graphen (16) zur Untersuchung der Lösbarkeit der Gleichungen erzeugt. Durch Betrachtung dieser Bipartiten Graphen (16) sind fehlerhafte Beschreibungen feststellbar und gegebenenfalls korrigierbar.

Description

Die Erfindung betrifft ein Verfahren zur Analyse und zur Kor­ rektur eines mittels einer Computersprache beschriebenen Dif­ ferentialgleichungssystems. Verschiedene, beliebig umfangrei­ che, technische bzw. physikalische Systeme insbesondere elek­ trische Schaltungen, die durch eine Vielzahl von Gleichungen insbesondere durch Differentialgleichungen beschreibbar sind, werden häufig durch Verwendung von Hardwarebeschreibungsspra­ chen auf einem Computersystem simuliert.
Dabei kommen Simulatoren zum Einsatz, die das Gleichungssystem eines real vorliegenden technischen bzw. physikalischen Sy­ stems lösen. Solche Simulatoren liegen als Computerprogramme vor und verwenden gängige numerische Verfahren. Bei der Analy­ se elektrischer Systeme sind die gängigsten Verfahren die DC- Analyse sowie die TR-Analyse. Bei der DC-Analyse handelt es sich um eine Gleichstromanalyse zum Finden eines Arbeitspunk­ tes des elektrischen Systems im eingeschwungenen Zustand. Die TR-Analyse stellt eine transiente Analyse zur Zeitsimulation des Systems dar.
Fehlerhafte Beschreibungen eines technischen bzw. physikali­ schen Systems weisen häufig singuläre Matrizen auf. Dies führt in der Regel zu einem Fehler bei der betreffenden Analyse, insbesondere zu einem Konvergenzversagen oder zu einem Simula­ tionsabbruch.
Eine manuelle Detektion der Position solcher Fehler innerhalb der Beschreibung des technischen bzw. physikalischen Systems sowie eine manuelle Korrektur der Beschreibung des technischen bzw. physikalischen Systems gestalten sich sehr zeitaufwendig und in Abhängigkeit der Größe und der Dimension des zugrunde­ liegenden Gleichungssystems sogar als unmöglich.
Marktübliche Simulatoren bieten dem Anwender keinerlei Unter­ stützung bei der Charakterisierung oder beim Auffinden solcher Fehler in der Beschreibung des physikalischen Systems. Weiter­ hin sind im Stand der Technik keine marktüblichen Simulatoren bekannt, die Regularisierungsroutinen zur Korrektur von in ei­ ner Computersprache beschriebenen Differentialgleichungssy­ stems verwenden.
Im Stand der Technik (vgl. Literaturangabe am Schluss der Beschreibung) sind strukturelle Diagnoseverfahren be­ kannt, die zur Analyse von Fehlern in Gleichungssytemen insbe­ sondere in Differentialgleichungssystemen einen Bipartiten Graphen benutzen, der die Besetztheit der Systemmatrix reprä­ sentiert. Solche Diagnoseverfahren werden zur Korrektur von Fehlern in Differentialgleichungssystemen bisher nicht einge­ setzt.
Es ist Aufgabe der Erfindung, ein Verfahren bereitzustellen, mit dem Fehler in einer Beschreibung eines physikalischen Sy­ stems zuverlässig erkannt und innerhalb der Beschreibung des physikalischen Systems eindeutig bestimmt werden können. Dabei sollen mögliche Korrekturen für solche Fehler innerhalb der Beschreibung des physikalischen Systems durch das Computerprogramm automatisch gemacht werden.
Diese Aufgabe wird gelöst durch den Gegenstand des Anspruchs 1. Vorteilhafte Weiterbildungen ergeben sich aus den abhängigen Ansprüchen.
Bei dem Verfahren gemäß der Erfindung wird ein Modell bzw. eine Beschreibung ei­ nes realen physikalischen Systems betrachtet.
Die Beschreibung dieses realen physikalischen Systems liegt in Form eines Computerprogramms vor, welches das Verhalten des Systems in Form eines Gleichungssystems oder Differentialglei­ chungssystems beschreibt. Dieses Computerprogramm liegt auf einem Computersystem vor. Die dabei zum Einsatz kommenden Pro­ grammiersprachen sind häufig durch Spracheigenschaften bei­ spielsweise durch Sichtbarkeitsbereiche bzw. Gültigkeitsberei­ che von Deklarationen geprägt.
In dem in einer Programmiersprache vorliegenden Computerpro­ gramm wird das zugrundeliegende reale physikalische System durch ein Gleichungssystem beschrieben, das aus expliziten und aus strukturellen Gleichungen sowie aus Gleichungen besteht, welche die dynamischen Größen wie z. B. die zeitlichen Ablei­ tungen einer Größe des Gleichungssystems charakterisieren.
Das erfindungsgemäße Verfahren verwendet zwei Bipartite Gra­ phen zur Behandlung des Gleichungssystems des zugrundeliegen­ den physikalischen Systems.
Die Bipartiten Graphen sind unter Verwendung der Informationen des Gleichungssystems aufstellbar und berücksichtigen die Sichtbarkeitsbereiche bzw. die Gültigkeitsbereiche der der Be­ schreibung zugrundeliegenden Computersprache. Eine Definition der Sichtbarkeitsbereiche einer Computersprache ist in Doku­ ment [1] enthalten.
Ein Bipartiter Graph ist durch eine Vielzahl von Knoten und Kanten gekennzeichnet. Dabei gliedern sich die Knoten des Bi­ partiten Graphen in zwei Partitionen. Jede Kante verbindet ge­ nau einen Knoten der ersten Partition mit genau einem weiteren Knoten der zweiten Partition. Eine solche Verbindung zweier Knoten mittels einer Kante besagt, daß zwischen den beiden Knoten eine Beziehung ausgebildet ist, insbesondere daß eine durch den zweiten Knoten dargestellte Unbekannte in der durch den zweiten Knoten dargestellten Gleichung enthalten ist.
Da bestimmte Gleichungen des Gleichungssystems des realen phy­ sikalischen Systems nicht explizit in der Computersprache for­ muliert sind, gehören diese keinem Sichtbarkeitsbereich der zugrundeliegenden Computersprache an.
Die Sichtbarkeitsbereiche des Bipartiten Graphen entsprechen den Sichtbarkeitsbereichen der zugrundeliegenden Computerspra­ che. Dabei bilden die Sichtbarkeitsbereiche des Bipartiten Graphen jeweils eine Menge von Knoten des Bipartiten Graphen, die eine Unbekannte oder eine Gleichung in der zugrundeliegen­ den Computersprache darstellen, die einem Sichtbarkeitsbereich der zugrundeliegenden Computersprache angehören. Die Kanten des Bipartiten Graphen sind dadurch gekennzeichnet, daß sie entweder innerhalb eines oder zwischen mehreren Sichtbarkeits­ bereichen angeordnet sind.
Bei einem Matching handelt es sich um eine Menge unabhängiger Kanten eines Bipartiten Graphen, bei der jeder Knoten mit ei­ ner Kante inzident ist. Ein Knoten wird als gematcht bezeich­ net, wenn eine Kante, die einem Matching angehört, an ihm an­ setzt. Ein maximales Matching innerhalb eines Bipartiten Graphen ist dann gegeben, wenn die Anzahl der gematchten Knoten innerhalb des Bipartiten Graphen maximal ausgebildet ist.
In dem ersten Schritt des erfindungsgemäßen Verfahrens werden die Gleichungen klassifiziert. Hierbei werden drei Typen von Gleichungen unterschieden. Der erste Gleichungstyp, die expli­ ziten Gleichungen, entsprechen den im Computerprogramm zur Be­ schreibung des physikalischen Systems verwendeten Gleichungen. Der zweite Gleichungstyp, die strukturellen Gleichungen des Differentialgleichungssystems, stellen die Erhaltungsgleichun­ gen des physikalischen Systems dar. Der dritte Gleichungstyp entspricht denjenigen Gleichungen des Gleichungssystems, wel­ che die dynamischen Größen des physikalischen Systems be­ schreiben. Diese Gleichungen lassen sich unter bestimmten Be­ dingungen modifizieren und dienen der strukturellen Regulari­ sierung des Differentialgleichungssystems des erfindungsgemä­ ßen Verfahrens. Dieser Gleichungstyp wird im folgenden als mo­ difizierbare Gleichung bezeichnet.
Ausgehend von einem solchen Gleichungssystem wird nun ein er­ ster Bipartiter Graph erzeugt. Für jede Gleichung des Glei­ chungssystems wird ein Knoten der ersten Partition, für jede Unbekannte des Gleichungssystems wird je ein Knoten der zwei­ ten Partition des ersten Bipartiten Graphen aufgestellt. Für jede Unbekannte, die in einer entsprechenden Gleichung enthal­ ten ist, werden die betreffenden Knoten mittels einer Kante verbunden.
Beim Aufstellen des ersten Bipartiten Graphen werden die Sichtbarkeitsbereiche der zugrundeliegenden Computersprache berücksichtigt, indem die Knoten denjenigen Sichtbarkeitsbe­ reichen im Bipartiten Graphen zugeordnet werden, die den Sichtbarkeitsbereichen der zugrundeliegenden Unbekannten und Gleichungen in der Computersprache entsprechen.
Die Knoten der strukturellen Gleichungen, die in der Regel Un­ bekannte mehrerer Sichtbarkeitsbereiche aufweisen, werden au­ ßerhalb der Sichtbarkeitsbereiche des Bipartiten Graphen ange­ ordnet.
Im nächsten Schritt des erfindungsgemäßen Verfahrens werden die Knoten und Kanten der strukturellen Gleichungen aus dem ersten Bipartiten Graphen entfernt. Für den so veränderten er­ sten Bipartiten Graphen wird ein maximales Matching bestimmt. Hierbei kommen Standard-Matching-Algorithmen zum Einsatz.
Gemäß einer Ausführungsform können auch die Zusammenhangskom­ ponenten des veränderten ersten Bipartiten Graphen betrachtet werden. Eine Definition von Zusammenhangskomponenten ist in Dokument [3] gegeben.
Ausgehend von dem ersten Bipartiten Graphen erfolgt nun die Erstellung eines zweiten Bipartiten Graphen.
Das erfindungsgemäße Verfahren verwendet den ersten Bipartiten Graphen und die Eigenschaften des maximalen Matchings des ver­ änderten ersten Bipartiten Graphen, um einen zweiten Biparti­ ten Graphen aufzustellen, der zur Korrektur bzw. zur Regulari­ sierung des zugrundeliegenden Gleichungssystems dient.
Die erste Partition dieses zweiten Bipartiten Graphen besteht aus Knoten, die Mengen ermittelter modifizierbarer Gleichungs­ knoten des ersten Bipartiten Graphen zusammenfassen und aus den strukturellen Gleichungsknoten.
Die zweite Partition des zweiten Bipartiten Graphen wird aus Knoten gebildet, die Mengen ermittelter Unbekanntenknoten des ersten Bipartiten Graphen zusammenfassen.
Wie bei dem ersten Bipartiten Graphen, so werden auch bei dem zweiten Bipartiten Graphen die Sichtbarkeitsbereiche berück­ sichtigt und auf den zweiten Bipartiten Graphen übertragen. Die Sichtbarkeitsbereiche des zweiten Bipartiten Graphen ent­ sprechen den Sichtbarkeitsbereichen des ersten Bipartiten Gra­ phen.
Für jeden ungematchten Knoten des ersten Bipartiten Graphen, der einer modifizierbaren Gleichung entspricht, wird je ein Knoten in demjenigen Sichtbarkeitsbereich des zweiten Biparti­ ten Graphen eingefügt, in dem der entsprechende Knoten des er­ sten Bipartiten Graphen enthalten ist. Solche Knoten gehören der ersten Partition des zweiten Bipartiten Graphen an und werden gemäß einer Ausführungsform im folgenden als Selector- Quantity-Knoten bezeichnet.
Für jeden ungematchten Knoten im ersten Bipartiten Graphen, der einer Unbekannten entspricht, wird je ein Knoten im zwei­ ten Bipartiten Graphen eingefügt. Dieser Knoten wird in demje­ nigen Sichtbarkeitsbereich angeordnet, in dem der entsprechen­ de Knoten des ersten Bipartiten Graphen enthalten ist. Solche Knoten gehören der zweiten Partition des zweiten Bipartiten Graphen an und werden gemäß einer Ausführungsform im folgenden als Break-Quantity-Knoten bezeichnet.
Zusätzlich werden weitere modifizierbare Gleichungsknoten so­ wie weitere Unbekannten-Knoten des ersten Bipartiten Graphen ermittelt und den Selector-Quantity-Knoten bzw. den Break- Quantity-Knoten des zweiten Bipartiten Graphen hinzugefügt. Dabei werden alternierende Pfade verwendet.
Ein alternierender Pfad ist in einem Bipartiten Graphen dann gegeben, wenn ein zusammenhängender Pfad von Kanten abwech­ selnd einem Matching angehört.
Im Anschluß an das Erzeugen von Selector-Quantity-Knoten im zweiten Bipartiten Graphen für ungematchte Knoten des ersten Bipartiten Graphen erfolgt das Ermitteln weiterer modifizier­ barer Gleichungsknoten, die den entsprechenden Selector- Quantity-Knoten der ersten Partition des zweiten Bipartiten Graphen hinzugefügt werden. Dabei wird von dem ungematchten und der modifizierbaren Gleichung im ersten Bipartiten Graphen entsprechenden Knoten des Selector-Quantity-Knoten ausgegangen und alle Knoten, die modifizierbare Gleichungen repräsentieren und die über alternierende Pfade erreichbar sind, dem Selec­ tor-Quantity-Knoten der ersten Partition des zweiten Biparti­ ten Graphen hinzugefügt.
Des weiteren werden weitere Unbekannten-Knoten ermittelt, die den entsprechenden Break-Quantity-Knoten der zweiten Partition des zweiten Bipartiten Graphen hinzugefügt werden. Dabei wird ausgehend von demjenigen ungematchten Knoten des Break- Quantity-Knotens, welcher der Unbekannten im ersten Bipartiten Graphen entspricht, unter Verfolgung von alternierenden Pfaden je ein weiterer Unbekannten-Knoten des ersten Bipartiten Gra­ phen dem Break-Quantity-Knoten des zweiten Bipartiten Graphen hinzugefügt.
Durch diese Ausführungsform der Erfindung können einfach und zuverlässig mehrere gültige Alternativknoten des ersten Bipar­ titen Graphen über alternierende Pfade bestimmt werden. Diese Alternativknoten werden zusammen mit den ursprünglich gefunde­ nen Knoten jeweils durch einen Knoten des zweiten Bipartiten Graphen zusammengefaßt.
Im nächsten Schritt werden die Kanten von gematchten, modifi­ zierbaren Gleichungsknoten des ersten Bipartiten Graphen aus­ gewählt und aus dem ersten Bipartiten Graphen gelöscht.
Der so reduzierte erste Bipartite Graph weist nun einen unge­ matchten modifizierbaren Gleichungsknoten sowie einen zusätz­ lichen ungematchten Unbekanntenknoten auf.
Für den durch das Löschen der matchenden Kante entstandenen ungematchten, modifizierbaren Gleichungsknoten wird nun gemäß einer Ausführungsform ein Selector-Quantity-Knoten in der er­ sten Partition des zweiten Bipartiten Graphen erzeugt. Der Sichtbarkeitsbereich dieses Selector-Quantity-Knotens ent­ spricht dem Sichtbarkeitsbereich des ausgewählten ungematchten Gleichungsknotens des ersten Bipartiten Graphen.
Ausgehend von dem ungematchten Unbekanntenknoten, der zuvor durch das Löschen der matchenden Kante entstanden ist, ist ei­ ne weitere Menge von Unbekannten-Knoten zu bestimmen, die durch einen gemäß einer Ausführungsform bezeichneten Break- Quantity-Knoten in der zweiten Partition des zweiten Biparti­ ten Graphen repräsentiert wird. Der Sichtbarkeitsbereich die­ ses Break-Quantity-Knotens entspricht dem Sichtbarkeitsbereich des ungematchten Unbekanntenknotens des ersten Bipartiten Gra­ phen.
Dieser neu bestimmte Break-Quantity-Knoten weist den unge­ matchten Unbekanntenknotens, der zuvor durch das Löschen der matchenden Kante entstanden ist, sowie diejenigen Unbekanntenknoten auf, die von diesem ungematchten Unbekanntenknoten aus über alternierende Pfade erreichbar sind.
Durch diesen Schritt werden dem erfindungsgemäßen Verfahren zusätzliche Freiheitsgrade für die Regularisierung gegeben.
Der Schritt des Einfügens der Break-Quantity-Knoten kann auch vor dem Schritt des Einfügens der Selector-Quantity-Knoten er­ folgen.
Die Schritte
  • - des Bestimmens der ungematchten, einer modifizierbaren Gleichung entsprechenden Knoten des ersten Bipartiten Gra­ phen,
  • - des Erzeugens je eines Selector-Quantity-Knotens der er­ sten Partition des zweiten Bipartiten Graphen für jeden im vorigen Schritt bestimmten Knoten,
  • - des Ermittelns weiterer Knoten im ersten Bipartiten Gra­ phen, die einer modifizierbaren Gleichung entsprechen, un­ ter Verfolgung von alternierenden Pfaden und
  • - des Hinzufügens der im vorigen Schritt ermittelten Knoten des ersten Bipartiten Graphen zu den zuvor erzeugten Se­ lector-Quantity-Knoten der ersten Partition des zweiten Bipartiten Graphen
bilden einen ersten Abschnitt des erfindungsgemäßen Verfah­ rens.
Die Schritte
  • - des Bestimmens der ungematchten, einer Unbekannten ent­ sprechenden Knoten des ersten Bipartiten Graphen,
  • - des Erzeugens je eines Break-Quantity-Knotens der zweiten Partition des zweiten Bipartiten Graphen für jeden im vo­ rigen Schritt bestimmten Knoten,
  • - des Ermittelns weiterer Knoten im ersten Bipartiten Gra­ phen, die einer Unbekannten entsprechen, unter Verfolgung von alternierenden Pfaden, ausgehend von den zuvor be­ stimmten Knoten und
  • - des Hinzufügens der im vorigen Schritt ermittelten Knoten des ersten Bipartiten Graphen zu den zuvor erzeugten Break-Quantity-Knoten des zweiten Bipartiten Graphen
bilden einen zweiten Abschnitt des erfindungsgemäßen Verfah­ rens.
Die Schritte
  • - des Bestimmens der gematchten, einer modifizierbaren Glei­ chung entsprechenden Knoten des ersten Bipartiten Graphen,
  • - des Löschens der matchenden Kante der im vorigen Schritt bestimmten Knoten,
  • - des Erzeugens je eines Selector-Quantity-Knotens der er­ sten Partition des zweiten Bipartiten Graphen für die zu­ vor bestimmten Knoten des ersten Bipartiten Graphen,
  • - des Erzeugens je eines Break-Quantity-Knotens der zweiten Partition des zweiten Bipartiten Graphen für jeden unge­ matchten, einer Unbekannten im ersten Bipartiten Graphen entsprechenden Knoten, der durch das Löschen der matchen­ den Kante entstanden ist,
  • - des Ermittelns weiterer Knoten im ersten Bipartiten Gra­ phen, die einer Unbekannten entsprechen, unter Verfolgung von alternierenden Pfaden, ausgehend von den ungematchten, einer Unbekannten im ersten Bipartiten Graphen entspre­ chenden Knoten und
  • - des Hinzufügens der im vorigen Schritt ermittelten Knoten des ersten Bipartiten Graphen zu den vorher erzeugten Kno­ ten des zweiten Bipartiten Graphen
stellen einen dritten Abschnitt des erfindungsgemäßen Verfah­ rens dar.
Die Abfolge dieser drei Abschnitte innerhalb des erfindungsge­ mäßen Verfahrens kann beliebig vorgesehen werden. Beispiels­ weise können die Schritte des zweiten Abschnitts zuerst, die Schritte des dritten Abschnitts daran anschließend und die Schritte des ersten Abschnitts zuletzt ausgeführt werden.
In einem nächsten Schritt des erfindungsgemäßen Verfahrens wird für jede strukturelle Gleichung je ein Knoten in der er­ sten Partition des zweiten Bipartiten Graphen eingefügt. Diese Knoten befinden sich außerhalb der Sichtbarkeitsbereiche des zweiten Bipartiten Graphen.
Nun werden die Knoten der ersten Partition mit den Knoten der zweiten Partition mittels Kanten verbunden, wenn sie im je­ weils gleichen Sichtbarkeitsbereich angeordnet sind.
Der Schritt des Verbindens der Knoten der ersten Partition mittels Kanten mit den Knoten der zweiten Partition kann auch vor dem Schritt des Einfügens je eines Knotens für jede struk­ turelle Gleichung in der ersten Partition des zweiten Biparti­ ten Graphen ausgeführt werden.
Anschließend werden Knoten der strukturellen Gleichungen durch Kanten mit Break-Quantity-Knoten der zweiten Partition verbun­ den, wenn eine der durch den Break-Quantity-Knoten dargestell­ ten Unbekannten in der jeweils betreffenden strukturellen Gleichung enthalten ist.
Für den so erzeugten vollständigen zweiten Bipartiten Graphen wird nun ein maximales Matching bestimmt. Hierbei kommen Stan­ dard-Matching-Algorithmen zum Einsatz. Handelt es sich bei diesem maximalen Matching des zweiten Bipartiten Graphen um ein perfektes Matching, so ist das Gleichungssystem regulari­ sierbar. Ein perfektes Matching ist ein Matching, bei dem alle Knoten gematcht sind.
Die Kanten des perfekten Matchings des zweiten Bipartiten Gra­ phen repräsentieren die möglichen zur Regularisierung benötig­ ten Sprachkonstrukte. Unter Regularisierung wird dabei die Transformation des unlösbaren Gleichungssystems in ein lösba­ res Gleichungssystem verstanden.
Kann kein perfektes Matching im zweiten Bipartiten Graphen ge­ funden werden, so ist die Beschreibung des physikalischen Sy­ stems nicht allein durch Änderungen der modifizierbaren Glei­ chungen regularisierbar. In diesem Falle liefert das erfin­ dungsgemäße Verfahren analog bekannter Verfahren die Unbekann­ ten und Gleichungen, welche die strukturelle Unlösbarkeit des Gleichungssystems verursachen.
Kann ein perfektes Matching im zweiten Bipartiten Graphen ge­ funden werden, so wird im nächsten Schritt des erfindungsgemä­ ßen Verfahrens eine Bestimmung derjenigen Kanten vorgenommen, die dem perfekten Matching angehören und die sich zwischen den Break-Quantity-Knoten der zweiten Partition und den Selector- Quantity-Knoten der ersten Partition des zweiten Bipartiten Graphen befinden.
Für jede im vorherigen Schritt bestimmte Kante wird nun fol­ gendermaßen vorgegangen:
Für eine aus der Menge der Unbekanntenknoten des betreffenden Break-Quantity-Knotens ausgewählte Unbekannte wird nun ein Wert festgesetzt. Dieser Wert kann insbesondere durch einen Benutzer in Interaktion mit dem Computerprogramm vorgegeben werden.
Die aus der Menge der modifizierbaren Gleichungsknoten des zu­ gehörigen Selector-Quantity-Knotens ausgewählte, modifizierba­ re Gleichung des Gleichungssystems wird nun in der Beschrei­ bung des physikalischen Systems insbesondere im Quellcode des Computerprogramms verbessert.
Dabei wird die aus dem Selector-Quantity-Knoten ausgewählte, modifizierbare Gleichung durch eine Gleichung ersetzt, welche die ausgewählte Unbekannte des im vorigen Schritt bestimmten Break-Quantity-Knotens sowie den im vorigen Schritt für diese Unbekannte bestimmten Wert aufweist.
Die zuletzt genannten Schritte werden für jede weitere Kante des perfekten Matchings wiederholt, die sich zwischen den Break-Quantity-Knoten der zweiten Partition und den Selector- Quantity-Knoten der ersten Partition des zweiten Bipartiten Graphen befindet. Bei der Wiederholung dieser erfindungsgemä­ ßen Schritte werden die jeweils zuvor ausgewählten modifizier­ baren Gleichungen sowie die jeweils zuvor ausgewählten Unbe­ kannten berücksichtigt.
Der Schritt des Auswählens einer modifizierbaren Gleichung aus den Knoten der ersten Partition des zweiten Bipartiten Gra­ phen, die durch die zuvor bestimmten Kanten des perfekten Mat­ chings verbunden sind, kann auch nach dem Schritt des Auswäh­ lens einer Unbekannten aus den Knoten der zweiten Partition des zweiten Bipartiten Graphen, die durch die zuvor bestimmten Kanten des perfekten Matchings verbunden sind, oder nach dem Schritt des Festlegens eines numerischen Werts für die im vo­ rigen Schritt ausgewählte Unbekannte ausgeführt werden.
Die Korrektur der Beschreibung des physikalischen Systems wird abschließend durch Hinzufügen, durch Ändern oder durch Entfer­ nen von speziellen Sprachkonstrukten, welche die Modifikation der modifizierbaren Gleichungen ermöglichen, im Computerpro­ gramm vorgenommen.
Diese Sprachkonstrukte werden gemäß einer Ausführungsform als Break Statements bezeichnet und werden durch das erfindungsge­ mäße Verfahren an der entsprechenden Stelle im Computerpro­ gramm eingefügt, verändert oder entfernt.
Dabei sind auch andere Sprachkonstrukte zur Ergänzung und Kor­ rektur der Beschreibung des physikalischen Systems vorsehbar.
Durch die derart vorgenommene Korrektur wird das Gleichungssy­ stem regularisiert. Das bedeutet, daß die strukturelle Lösbar­ keit des Gleichungssystems durch die so vorgenommene Verände­ rung gegeben ist.
Gemäß einem Grundgedanken der Erfindung sind strukturell un­ lösbare Systeme von Gleichungen insbesondere Differentialglei­ chungen von physikalischen Systemen diagnostizierbar und durch das Ändern von speziellen Gleichungen gegebenenfalls korri­ gierbar bzw. strukturell regularisierbar.
Gemäß einem weiteren Grundgedanken berücksichtigt das erfin­ dungsgemäße Verfahren Spracheigenschaften der zur Beschreibung des zugrundeliegenden physikalischen Systems eingesetzten Pro­ grammiersprache. Dadurch ist ein geeigneter Bipartiter Graph aufstellbar, mit dem das Gleichungssystems, welches das zu­ grundeliegende physikalische System beschreibt, gegebenenfalls korrigiert bzw. strukturell regularisiert werden kann.
Das erfindungsgemäße Verfahren unterscheidet im Unterschied zu den herkömmlichen strukturellen Verfahren die Art der Knoten des Bipartiten Graphen in Knoten von expliziten Gleichungen, in Knoten von strukturellen Gleichungen und in Knoten von Gleichungen, die sich durch explizite Sprachkonstrukte modifi­ zieren lassen.
Durch Anwendung der Matching-Algorithmen auf geeignete Bipar­ tite Graphen wird gewährleistet, daß die Regularisierungsvor­ schläge zu einem strukturell lösbaren System führen.
Somit stellt das erfindungsgemäße Verfahren eine vorteilhafte Möglichkeit zur Analyse und Korrektur von Gleichungssystemen zur Verfügung, wie sie zur Beschreibung beliebiger physikali­ scher Systeme dienen.
Mittels des erfindungsgemäßen Verfahrens können Beschreibungen von physikalischen Systemen falls möglich sehr gezielt korri­ giert werden.
Bei dem erfindungsgemäßen Verfahren handelt es sich um ein schnelles strukturelles Verfahren, das effiziente Matching- Algorithmen nutzt.
Ferner kann das erfindungsgemäße Verfahren eine mögliche Kor­ rektur der Beschreibung des physikalischen Systems insbesonde­ re des Quellcodes bzw. des Computerprogramms, welches das phy­ sikalische System beschreibt, automatisch durchführen.
Gemäß einer Ausführungsform der Erfindung liegt das betrachte­ te physikalische System als elektrische Schaltung vor. Diese weist ein oder mehrere miteinander verbundene Schaltungselemente auf. Das erfindungsgemäße Verfahren kommt bei der Analy­ se und Korrektur von Abbildern von elektrischen Schaltungen besonders vorteilhaft zum Einsatz.
Eine weitere Ausführungsform der Erfindung sieht vor, daß das Computerprogramm, das als Beschreibung des physikalischen Sy­ stems auf dem Computersystem eingesetzt wird, in einer Hardwa­ rebeschreibungssprache vorliegt. Hierbei kommen analoge und Mixed-Signal-Hardwarebeschreibungssprachen insbesondere die Hardwarebeschreibungssprachen "VHDL-AMS" oder "Verilog AMS" zum Einsatz.
Solche Hardwarebeschreibungssprachen ermöglichen es, beliebige physikalische Vorgänge in Form von Gleichungen zu modellieren. Die Hardwarebeschreibungssprache stellt dabei nur eine beding­ te Einschränkung bei der Beschreibung von physikalischen Sy­ stemen auf einem solchen Computerprogramm dar, so daß das be­ schriebene Verhalten von physikalischen Systemen zu unlösbaren Gleichungssystemen führen kann.
Durch das erfindungsgemäße Verfahren wird die Möglichkeit der Regularisierung, die durch die Sprachkonstrukte der Hardware­ beschreibungssprache gegeben ist, vorteilhaft ausgenutzt. Das erfindungsgemäße Verfahren unterstützt besonders vorteilhaft Eigenschaften der zugrundeliegenden Hardwarebeschreibungsspra­ che. Dabei werden eventuelle Einschränkungen der Hardwarebe­ schreibungssprache wie beispielsweise Sichtbarkeitsbereiche berücksichtigt.
Die Hardwarebeschreibungssprache "VHDL-AMS" stellt eine beson­ ders umfangreiche und besonders flexible Bibliothek von vorde­ finierten Sprachkonstrukten zur Verfügung, die bei der Verwen­ dung für das erfindungsgemäße Verfahren besonders vorteilhaft zum Einsatz kommen. Eine zusammenfassende Darstellung der Sprachkonstrukte der Hardwarebeschreibungssprache "VHDL-AMS" ist in [2] enthalten.
Die Erfindung ist auch in einem Computerprogramm zur Ausfüh­ rung eines Verfahrens zur Analyse und zur Korrektur einer Be­ schreibung eines physikalischen Systems verwirklicht.
Das Computerprogramm ist dabei so ausgebildet, daß nach Einga­ be der Beschreibung des physikalischen Systems ein erfindungs­ gemäßes Verfahren in einer oben beschriebenen Ausführungsform durchführbar ist. Dabei ist als Ergebnis des Verfahrens eine Aussage darüber treffbar, ob die Beschreibung des zugrundelie­ genden physikalischen Systems durch Ergänzen oder Ändern von Sprachkonstrukten verbesserbar ist. Idealerweise läßt sich die Beschreibung des zugrundeliegenden Gleichungssystems durch Hinzufügen oder durch Ändern von bestimmten Sprachkonstrukten regularisieren. Ist das der Beschreibung zugrundeliegende Gleichungssystem nicht regularisierbar, erfolgt analog bekann­ ter Verfahren eine detaillierte Ausgabe der Gleichungen und Unbekannten, die strukturelle Verletzungen aufweisen.
Durch das auf dem Computersystem verwirklichte Verfahren kann die Beschreibung des physikalischen Systems besonders vorteil­ haft analysiert und gegebenenfalls korrigiert werden.
Die Erfindung betrifft außerdem ein Computerprogramm, das auf einem Speichermedium enthalten ist, das in einem Computerspei­ cher abgelegt ist, das in einem Direktzugriffsspeicher enthal­ ten ist oder das auf einem elektrischen Trägersignal übertra­ gen wird.
Weiterhin betrifft die Erfindung einen Datenträger mit einem solchen Computerprogramm sowie ein Verfahren bei dem ein sol­ ches Computerprogramm aus einem elektrischen Datennetz, wie beispielsweise aus dem Internet, auf einen an das Datennetz angeschlossenen Computer heruntergeladen wird.
Die Erfindung ist in den Figuren anhand eines Ausführungsbei­ spiels näher veranschaulicht.
Fig. 1 zeigt eine schematische Darstellung einer Regel­ strecke 1 mit einer Sinusquelle 2, mit einem Inte­ grator 3 und mit einem Ausgangssignal 4 gemäß einem Ausführungsbeispiel,
Fig. 2 zeigt ein Listing eines Sinusquellenquellcodes 5 der in Fig. 1 gezeigten Sinusquelle 2 gemäß dem Ausfüh­ rungsbeispiel,
Fig. 3 zeigt ein Listing eines Integratorquellcodes 6 des in Fig. 1 gezeigten Integrators 3 gemäß dem Ausfüh­ rungsbeispiel,
Fig. 4 zeigt ein Listing eines Regelstreckenquellcodes 7 der in Fig. 1 gezeigten Regelstrecke 1 gemäß dem Ausführungsbeispiel,
Fig. 5 zeigt eine Regelstreckenmatrix 8 der in Fig. 1 ge­ zeigten Regelstrecke 1 gemäß dem Ausführungsbei­ spiel,
Fig. 6 zeigt einen ersten Bipartiten Graphen 9 der Regel­ streckenmatrix 8 gemäß dem Ausführungsbeispiel,
Fig. 7 zeigt eine Sichtbarkeitsbereiche- und Glei­ chungstypendarstellung 16 des ersten Bipartiten Gra­ phen 9 gemäß dem Ausführungsbeispiel,
Fig. 8 zeigt eine Zusammenhangskomponentendarstellung 20 einer Regelstreckenmatrix 8 gemäß dem Ausführungs­ beispiel,
Fig. 9 zeigt eine Break-Quantity- und Selector-Quantity- Listendarstellung 21 des ersten Bipartiten Graphen 9 gemäß dem Ausführungsbeispiel,
Fig. 10 zeigt einen aus der Break-Quantity- und Selector- Quantity-Listendarstellung 21 sowie aus dem ersten strukturellen Gleichungsknoten 10, aus dem zweiten strukturellen Gleichungsknoten 11 und aus dem drit­ ten strukturellen Gleichungsknoten 12 erstellten zweiten Bipartiten Graphen 22 gemäß dem Ausführungs­ beispiel,
Fig. 11 zeigt ein perfektes Matching 23 des zweiten Biparti­ ten Graphen 22 gemäß dem Ausführungsbeispiel,
Fig. 12 zeigt ein Simulationslauflisting 24 zur Analyse und Korrektur des Sinusquellenquellcodes 5, des Integra­ torquellcodes 6 und des Regelstreckenquellcodes 7 gemäß dem Ausführungsbeispiel,
Fig. 13 zeigt einen durch die Ausführung des erfindungsgemä­ ßen Verfahrens auf dem Computerprogramm erzeugten regularisierten Integratorquellcode 25, der den in Fig. 3 gezeigten Integratorquellcode 6 ersetzt, ge­ mäß dem Ausführungsbeispiel,
Fig. 14 zeigt eine mit dem in Fig. 13 ermittelten "Break Statement" regularisierte Regelstreckenmatrix 26, welche die in Fig. 5 gezeigte Regelstreckenmatrix 8 ersetzt, gemäß einem Ausführungsbeispiel,
Fig. 15 zeigt eine graphische Simulationsdarstellung 27 mit einem Integratoreingangsspannungsverlauf 28 und mit einem Integratorausgangsspannungsverlauf 29 gemäß dem Ausführungsbeispiel.
Fig. 1 zeigt eine schematische Darstellung einer Regelstrec­ ke 1 mit einer Sinusquelle 2, mit einem Integrator 3 und mit einem Ausgangssignal 4 gemäß einem Ausführungsbeispiel.
Die Sinusquelle 2 ist als Wechselspannungsquelle ausgebildet und mit dem Integrator 3 verbunden. Die von der Sinusquelle 2 erzeugte Wechselspannung wird dem Integrator 3 zur Verarbei­ tung zugeführt. Dieser Integrator 3 integriert die von der Si­ nusquelle 2 erzeugte Wechselspannung über die Zeit. Der cosi­ nus-förmige Verlauf der vom Integrator 3 erzeugten Wech­ selspannung wird als Ausgangssignal 4 der Regelstrecke 1 aus­ gegeben.
Nachfolgend wird ein Abbild der Regelstrecke 1, der Sinusquel­ le 2 und des Integrators 3 unter Verwendung einer Programmier­ sprache auf einem Computersystem erzeugt. Dazu wird die Hard­ warebeschreibungssprache "VHDL-AMS" verwendet.
Fig. 2 zeigt ein Listing eines Sinusquellenquellcodes 5 der in Fig. 1 gezeigten Sinusquelle 2 gemäß dem Ausführungsbei­ spiel.
Mittels des in der Hardwarebeschreibungssprache "VDHL-AMS" vorliegenden Sinusquellenquellcodes 5 wird das Verhalten der Sinusquelle 2 beschrieben.
In der Zeile 1 ist die "Entity" mit dem Namen "Sinus" dekla­ riert. In der Zeile 2 ist die Ausgangsgröße "sout" deklariert. Dabei werden die "VHDL-AMS"-Sprachkonstrukte "Port Declarati­ on" und "Interface Quantity Declaration" verwendet. Zeile 3 beendet die Deklaration der "Entity Sinus".
Die Zeilen 4 bis 7 beschreiben das tatsächliche Verhalten der Sinusquelle 2. In "VHDL-AMS" wird das Verhalten einer Einheit innerhalb einer sogenannten "Architecture Declaration" be­ schrieben. Dementsprechend deklariert die vierte Zeile die "Architecture" mit dem Namen "Behave" mit Bezug auf die vor­ hergehende "Entity"-Deklaration "Sinus". Die fünfte Zeile stellt den Beginn der Verhaltensbeschreibung der Sinusquelle 2 dar. In der sechsten Zeile wird die in Zeile 2 deklarierte Ausgangsgröße "sout" in Form einer Gleichung durch eine sinus­ förmige Schwingung beschrieben. Hierzu wird das "VHDL-AMS"- Sprachkonstrukt "Simple Simultaneous Statement" verwendet.
Bei der Gleichung E1 handelt es sich um eine erste explizite Gleichung. Die Zeile 7 bildet das Ende der Verhaltensbeschrei­ bung der Sinusquelle 2.
Fig. 3 zeigt ein Listing eines Integratorquellcodes 6 des in Fig. 1 gezeigten Integrators 3 gemäß dem Ausführungsbeispiel.
Die Zeilen 1 bis 4 des Integratorquellcodes 6 definieren das Klemmenverhalten des Integrators 3. Zeile 1 deklariert die "Entity" mit dem Namen "Integrator". In der Zeile 2 wird die Eingangsgröße "inp" und in der Zeile 3 die Ausgangsgröße "outp" deklariert. Zeile 4 beendet die Deklaration der "Entity Integrator".
Die Verhaltensbeschreibung des Integrators 3 innerhalb des In­ tegratorquellcodes 6 erfolgt analog dem Sinusquellen­ quellcode 5 innerhalb einer "Architecture" in den Zeilen 5 bis 8. In der Zeile 5 wird die "Architecture" mit dem Namen "Behave" mit Bezug auf die vorhergehende "Entity"-Deklaration "Integrator" deklariert. Die Zeile 6 markiert den Beginn der Verhaltensbeschreibung des Integrators 3. In Zeile 7 wird in Form einer Gleichung bzw. eines "Simple Simultaneous Statement" die in Zeile 2 deklarierte Eingangsgröße "inp" mit der in Zeile 3 deklarierten Ausgangsgröße "outp" in ein differen­ tielles Verhältnis gesetzt, das die integrierende Wirkung des Integrators 3 definiert.
Bei der Gleichung E2 handelt es sich um die zweite explizite Gleichung. Die Ableitung einer Systemgröße nach der Zeit wird in "VHDL-AMS" durch das Sprachkonstrukt "DOT" ermöglicht. In der Zeile 8 ist das Ende der Verhaltensbeschreibung des Inte­ grators 3 erreicht.
Fig. 4 zeigt ein Listing eines Regelstreckenquellcodes 7 der in Fig. 1 gezeigten Regelstrecke 1 gemäß dem Ausführungsbei­ spiel.
Bei dem Regelstreckenquellcode 7 handelt es sich um eine Top- Level-Beschreibung, in der die beiden Komponenten der Regel­ strecke 1, und zwar die Sinusquelle 2 durch den Sinusquellen­ quellcode 5 sowie der Integrator 3 durch den Integrator­ quellcode 6 instantiiert werden. Dementsprechend erfolgt die Zusammenschaltung der Sinusquelle 2 und des Integrators 3 in einer dritten "VHDL-AMS"-Beschreibung, dem Regelstrecken­ quellcode 7. Das "VHDL-AMS"-Modell ist hierarchisch aufgebaut.
In Fig. 4 erfolgt die Deklaration der "Entity" mit dem Namen "Beispiel" in den Zeilen 1 und 2. Innerhalb der "Architecture Declaration" in den Zeilen 3 bis 11 erfolgt die Zusammenschal­ tung der Sinusquelle 2 und des Integrators 3. Die Zeile 3 de­ klariert die "Architecture" mit dem Namen "Struct" mit Bezug auf die vorhergehende "Entity"-Deklaration "Beispiel". In der Zeile 4 erfolgt die Deklaration der lokalen Variablen "input", "output", die zur Verschaltung der Sinusquelle 2 mit dem Inte­ grator 3 benötigt werden. Hierbei wird das "VHDL-AMS"- Sprachkonstrukt "Free Quantity Declaration" verwendet. Die Zeile 5 stellt den Beginn der strukturellen Beschreibung des Regelstreckenquellcodes 7 dar. In den Zeilen 6 und 7 wird die Sinusquelle 2 instantiiert und mit dem Label "SRC" gekenn­ zeichnet. Zur Instanziierung von Komponenten ist in "VHDL-AMS" das Sprachkonstrukt "Component Instantiation Statement" vorge­ sehen. Mittels des in Zeile 7 enthaltenen Sprachkonstrukts, dem "Port Map Aspect" wird die Ausgangsvariable "sout" des Si­ nusquellenquellcodes 5 mit der im Regelstreckenquellcode 7 lo­ kal deklarierten Variable "input" gleichgesetzt. Der Sprach­ konstrukt "Port Map Aspect" ist als Teil des "VHDL-AMS"- Sprachkonstrukts "Component Instantiation Statement" vorgese­ hen.
S1: sout = input
Bei der Gleichung S1 handelt es sich um eine erste strukturel­ le Gleichung. In den Zeilen 9 und 10 des in Fig. 4 gezeigten Regelstreckenquellcodes 7 wird der Integrator 3 instantiiert und mit dem Label "Int" gekennzeichnet. In Zeile 10 wird mit­ tels des "Port Map Aspect" die Eingangsvariable "inp" des In­ tegrators 3 mit der lokalen Variable "input" des Regelstrec­ kenquellcodes 7 gleichgesetzt.
S2: inp = input
Bei der Gleichung S2 handelt es sich um die zweite strukturel­ le Gleichung des vorliegenden Ausführungsbeispiels.
Weiterhin wird in Zeile 10 durch den Sprachkonstrukt "Port Map Aspect" die Ausgangsvariable des Integrators 3 "outp" mit der lokal deklarierten Variable "output" gleichgesetzt.
S3: outp = output
Bei der Gleichung S3 handelt es sich um die dritte strukturel­ le Gleichung des vorliegenden Ausführungsbeispiels. In der elften Zeile des Regelstreckenquellcodes 7 ist die strukturel­ le Beschreibung beendet.
Zusätzlich wird eine Gleichung aufgestellt, welche die zeitli­ che Ableitung der Ausgangsvariablen des Integrators 3 "out­ p'dot" enthält. Diese Gleichung lautet:
Die Regelstrecke 1 wird im Ruhezustand betrachtet. Dementspre­ chend wird die zeitliche Ableitung der Ausgangsvariable des Integrators 3 auf Null gesetzt. Die Gleichung nimmt folgende Form an:
A1: outp'dot = 0.0
Fig. 5 zeigt eine Regelstreckenmatrix 8 der in Fig. 1 ge­ zeigten Regelstrecke 1 gemäß dem Ausführungsbeispiel.
Das Gleichungssystem gliedert sich in die strukturellen Glei­ chungen S1, S2, S3, in die expliziten Gleichungen E1, E2 und in die Gleichung A1, die das Verhalten der dynamischen Größe "outp" des Integrators 3 bestimmt. Dieses Gleichungssystem ist vorgesehen zur Bestimmung des Ruhezustands der Regelstrecke 1 und ist in der Form A.u = b darstellbar. Dabei handelt es sich bei A um die Koeffizientenmatrix, bei u um den Unbekanntenvek­ tor und bei b um den Vektor der Absolutglieder. Der Unbekann­ tenvektor u gliedert sich in Fig. 5 in die Unbekannten "in­ put", "output", "sout", "inp", "outp" und "outp'dot".
Die Spalten 2 und 5 der Regelstreckenmatrix 8 weisen nur je einen Wert auf. Somit ist die Regelstreckenmatrix 8 singulär. Dementsprechend ist das Gleichungssystem A.u = b zur Bestimmung des Ruhezustands der Regelstrecke 1 unlösbar ausgebildet.
Bei dem erfindungsgemäßen Verfahren wird überprüft, ob durch eine Modifikation der die zeitliche Ableitung der Regelstrec­ ke 1 berücksichtigenden Gleichung A1 die Regelstreckenmatrix 8 derart verbessert werden kann, daß sie lösbar ist.
Zu diesem Zweck stellen analoge Hardwarebeschreibungssprachen spezielle Sprachkonstrukte zur Verfügung, mit denen die Glei­ chungen zur Bestimmung der zeitlichen Ableitungen modifiziert werden können. Bei der im Ausführungsbeispiel verwendeten Hardwarebeschreibungssprache "VHDL-AMS" wird ein solches Sprachkonstrukt, nämlich das "Break Statement" verwendet, um die Regelstreckenmatrix 8 zu regularisieren. Im Ausführungs­ beispiel wird solch ein "Break Statement" hinzugefügt, um die unlösbare Regelstreckenmatrix 8 in eine lösbare Regelstrecken­ matrix zu transformieren.
Fig. 6 zeigt einen ersten Bipartiten Graphen 9 der Regel­ streckenmatrix 8 gemäß dem Ausführungsbeispiel.
Der erste Bipartite Graph 9 gliedert sich in eine Menge von in Fig. 6 kreisförmig dargestellten Knoten und in eine Menge von in Fig. 6 als Verbindungslinien zwischen den einzelnen Knoten dargestellten Kanten.
Die in Fig. 6 auf der linken Seite dargestellten Knoten stel­ len die ersten Partition des ersten Bipartiten Graphen 9 dar. Jeder Knoten der ersten Partition des ersten Bipartiten Gra­ phen 9 steht für eine Zeile der Regelstreckenmatrix 8 bzw. für eine Gleichung des der Regelstreckenmatrix 8 zugrundeliegenden Gleichungssystems. Dementsprechend gliedert sich die erste Partition des ersten Bipartiten Graphen 9 in einen ersten strukturellen Gleichungsknoten 10, in einen zweiten struktu­ rellen Gleichungsknoten 11, in einen dritten strukturellen Gleichungsknoten 12, in einen ersten expliziten Gleichungskno­ ten 13, in einen zweiten expliziten Gleichungsknoten 14 sowie in einen zeitlichen Ableitungsgleichungsknoten 15.
Die auf der rechten Seite der Fig. 6 kreisförmig dargestell­ ten Knoten repräsentieren die zweite Partition des ersten Bi­ partiten Graphen 9. Diese zweite Partition des ersten Biparti­ ten Graphen 9 weist die Spalten der Regelstreckenmatrix 8 bzw. die Unbekannten des der Regelstreckenmatrix 8 zugrundeliegen­ den Gleichungssystems auf. Dementsprechend gliedert sich die zweite Partition des ersten Bipartiten Graphen 9 im Ausfüh­ rungsbeispiel in die Variablen "input", "output", "sout", "inp", "outp", "outp'dot".
Die in Fig. 6 gezeigten Kanten sagen aus, welche Unbekannte in welchen Gleichungen des der Regelstreckenmatrix 8 zugrunde­ liegenden Gleichungssystems enthalten sind. Enthält die Koeffizientenmatrix A der Regelstreckenmatrix 8 an der Positi­ on mit der Reihe i und mit der Spalte j einen von Null ver­ schiedenen Eintrag, so enthält der erste Bipartite Graph 9 ei­ ne Kante (vxi, vyj).
In Fig. 6 weist der erste strukturelle Gleichungsknoten 10 eine erste Kante zu der Unbekannten "input" und eine weitere Kante zu der Unbekannten "sout" auf. Der erste strukturelle Gleichungsknoten 10 befindet sich an der ersten Stelle der er­ sten Partition des ersten Bipartiten Graphen 9. Die Unbekannte "sout" befindet sich an der dritten Stelle der zweiten Parti­ tion des ersten Bipartiten Graphen 9. Dementsprechend ist an der dieser Kante zugehörigen Position in der Regelstreckenma­ trix 8 ein von Null verschiedener Wert enthalten. Dabei han­ delt es sich um den Wert "-1" an der Position der ersten Zeile und der dritten Spalte innerhalb der Koeffizientenmatrix A der Regelstreckenmatrix 8 in Fig. 5.
Der zweite strukturelle Gleichungsknoten 11 weist eine erste Kante zu der Unbekannten "input" sowie eine zweite Kante zu der Unbekannten "inp" auf. Der dritte strukturelle Gleichungs­ knoten 12 ist durch eine Kante mit der Unbekannten "output" und durch eine weitere Kante mit der Unbekannten "outp" ver­ bunden. Der erste explizite Gleichungsknoten 13 ist mittels einer Kante mit der Unbekannten "sout" verbunden. Der zweite explizite Gleichungsknoten 14 ist durch eine Kante mit der Un­ bekannten "inp" sowie durch eine weitere Kante mit der Unbe­ kannten "outp'dot" verbunden. Der zeitliche Ableitungsglei­ chungsknoten 15 weist eine gemeinsame Kante mit der Unbekann­ ten "outp'dot" auf.
Fig. 7 zeigt eine Sichtbarkeitsbereiche- und Gleichungstypen­ darstellung 16 des ersten Bipartiten Graphen 9 gemäß dem Aus­ führungsbeispiel.
Die Sichtbarkeitsbereiche- und Gleichungstypendarstellung 16 des ersten Bipartiten Graphen 9 ordnet die Knoten der Gleichungen und die Knoten der Unbekannten des ersten Bipartiten Graphen 9 auf drei verschiedenen Ebenen an und stellt zusätz­ lich einen ersten Sichtbarkeitsbereiche 17, einen zweiten Sichtbarkeitsbereich 18 und einen dritten Sichtbarkeitsbe­ reich 19 dar. Diese Sichtbarkeitsbereiche sind in Fig. 7 ho­ rizontal nebeneinander angeordnet und durch Quadrate darge­ stellt.
Auf der obersten der drei Ebenen sind der erste strukturelle Gleichungsknoten 10, der zweite strukturelle Gleichungskno­ ten 11 und der dritte strukturelle Gleichungsknoten 12 ange­ ordnet. Auf der mittleren der drei Ebenen sind der erste ex­ plizite Gleichungsknoten 13 und der zweite explizite Glei­ chungsknoten 14 angeordnet. Der zeitliche Ableitungsglei­ chungsknoten 15 liegt auf der untersten der drei Ebenen vor.
Der erste Sichtbarkeitsbereich 17 enthält die Knoten der Unbe­ kannten "input" und "output". Der zweite Sichtbarkeitsbe­ reich 18 weist den ersten expliziten Gleichungsknoten 13 sowie den Knoten der Unbekannten "sout" auf. Der dritte Sichtbar­ keitsbereich 19 beinhaltet den zweiten expliziten Gleichungs­ knoten 14, den zeitlichen Ableitungsgleichungsknoten 15 sowie die Knoten der Unbekannten "outp", "inp" und "outp'dot".
Der erste Sichtbarkeitsbereich 17 entspricht dem Sichtbar­ keitsbereich des Regelstreckenquellcodes 7, der die Zusammen­ schaltung der Sinusquelle 2 und des Integrators 3 vornimmt. Der zweite Sichtbarkeitsbereich 18 entspricht dem Sichtbar­ keitsbereich des Sinusquellenquellcodes 5. Der dritte Sicht­ barkeitsbereich 19 entspricht dem Integratorquellcode 6.
In der Regel enthalten strukturelle Gleichungen Unbekannte aus verschiedenen Sichtbarkeitsbereichen. Im vorliegenden Ausführungsbeispiel enthält die erste strukturelle Gleichung 10 Un­ bekannte aus dem ersten Sichtbarkeitsbereich 17 und aus dem zweiten Sichtbarkeitsbereich 18. Die zweite strukturelle Glei­ chung 11 sowie die dritte strukturelle Gleichung 12 weisen je­ weils Unbekannte aus dem ersten Sichtbarkeitsbereich 17 sowie aus dem dritten Sichtbarkeitsbereich 19 auf.
Fig. 8 zeigt eine Zusammenhangskomponentendarstellung 20 ei­ ner Regelstreckenmatrix 8 gemäß dem Ausführungsbeispiel.
Die Zusammenhangskomponentendarstellung 20 zeigt die Zusammen­ hangskomponenten des ersten Bipartiten Graphen 9, aus dem die Kanten zu dem ersten strukturellen Gleichungsknoten 10, zu dem zweiten strukturellen Gleichungsknoten 11 und zu dem dritten strukturellen Gleichungsknoten 12 entfernt wurden.
Der erste Sichtbarkeitsbereich 17, der zweite Sichtbarkeitsbe­ reich 18 und der dritte Sichtbarkeitsbereich 19 entsprechen jeweils den Sichtbarkeitsbereichen der in Fig. 7 dargestell­ ten Sichtbarkeitsbereiche- und Gleichungstypendarstellung 16 des ersten Bipartiten Graphen 9.
Des weiteren sind die Kanten zwischen der ersten expliziten Gleichung 13 und der Unbekannten "sout", zwischen der zweiten expliziten Gleichung 14 und der Unbekannten "inp" und zwischen der zeitlichen Ableitungsgleichung 15 und der Unbekannten "outp'dot" in Fig. 8 fett dargestellt. Diese fett dargestell­ ten Kanten entsprechen einem maximalen Matching innerhalb je­ der der Zusammenhangskomponenten des modifizierten ersten Bi­ partiten Graphen 9.
Fig. 9 zeigt eine Break-Quantity- und Selector-Quantity- Listendarstellung 21 des ersten Bipartiten Graphen 9 gemäß dem Ausführungsbeispiel.
Die Break-Quantity- und Selector-Quantity-Listendarstellung 21 gliedert sich in den ersten Sichtbarkeitsbereich 17, in den zweiten Sichtbarkeitsbereich 18 und in den dritten Sichtbar­ keitsbereich 19.
Der erste Sichtbarkeitsbereich 17 weist eine Break-Quantity- Liste bzw. "BQ-List" mit der Unbekannten "input" sowie eine weitere Break-Quantity-Liste mit der Unbekannten "output" auf.
Der zweite Sichtbarkeitsbereich 18 in Fig. 9 enthält keiner­ lei Break-Quantity- oder Selector-Quantity-Listen.
Der dritte Sichtbarkeitsbereich 19 weist eine Break-Quantity- Liste mit der Unbekannten "outp", eine weitere Break-Quantity- Liste mit den Unbekannten "outp'dot" und "inp" sowie eine Se­ lector-Quantity-Liste bzw. "SQ-List" mit der durch "A1" ge­ kennzeichneten zeitlichen Ableitungsgleichung 15 auf.
Bei der Selector-Quantity-Liste handelt es sich um eine Aufli­ stung spezieller modifizierbarer Gleichungsknoten des jeweili­ gen Sichtbarkeitsbereichs.
Ein Knoten ist gematcht, wenn er mit einer Kante eines Mat­ chings verbunden ist.
In den Selector-Quantity-Listen werden die modifizierbaren Gleichungsknoten zusammengefaßt. Bei der Bestimmung der modi­ fizierbaren Gleichungsknoten werden zunächst die ungematchten modifizierbaren Gleichungsknoten der Zusammenhangskomponenten gesucht und anschließend Selector-Quantity-Listen für diese ungematchten modifizierbaren Gleichungsknoten gebildet.
Im vorliegenden Ausführungsbeispiel ist kein ungematchter mo­ difizierbarer Gleichungsknoten vorhanden. Demnach kann zu­ nächst noch keine Selector-Quantity-Liste erzeugt werden.
Bei der Break-Quantity-Liste handelt es sich um eine Zusammen­ fassung der ungematchten Unbekanntenknoten und derjenigen ge­ matchten Unbekanntenknoten, die über alternierende Pfade er­ reicht werden können.
Die Break-Quantity-Liste wird ausgehend von einem ungematchten Unbekanntenknoten aufgebaut. Dabei werden alternierende Pfade zur Bestimmung weiterer Unbekanntenknoten verwendet.
Im vorliegenden Ausführungsbeispiel werden ausgehend von den ungematchten Unbekanntenknoten die Break-Quantity-Liste mit der Unbekannten "input" sowie die Break-Quantity-Liste mit der Unbekannten "output" in dem ersten Sichtbarkeitsbereich 17 so­ wie die Break-Quantity-Liste mit der Unbekannten "outp" in dem dritten Sichtbarkeitsbereich 19 erstellt.
Zu den so erstellten Break-Quantity-Listen gibt es im Ausfüh­ rungsbeispiel keine alternierenden Pfade bzw. keine Alterna­ tivknoten.
Neben den ungematchten modifizierbaren Gleichungsknoten der Zusammenhangskomponentendarstellung 20 werden auch die ge­ matchten modifizierbaren Gleichungsknoten betrachtet. Durch Löschen der matchenden Kante eines solchen gematchten Glei­ chungsknotens entsteht ein ungematchter modifizierbarer Glei­ chungsknoten sowie ein ungematchter Unbekanntenknoten.
Ausgehend von diesem ungematchten Unbekanntenknoten kann durch Verfolgen eines alternierenden Pfads eine Break-Quantity-Liste erstellt werden. Der jetzt ungematchte modifizierbare Glei­ chungsknoten wird als einziges Element einer Selector- Quantity-Liste hinzugefügt.
Durch die derartige Fortführung des erfindungsgemäßen Verfah­ rens wird im vorliegenden Ausführungsbeispiel diejenige Kante gelöscht, die den zeitlichen Ableitungsgleichungsknoten 15 mit dem Unbekanntenknoten "outp'dot" verbindet.
Dementsprechend wird aus dem gematchten zeitlichen Ableitungs­ gleichungsknoten 15 ein ungematchter Knoten. Dieser jetzt un­ gematchte zeitliche Ableitungsgleichungsknoten 15 wird als einziges Element der Selector-Quantity-Liste des dritten Sichtbarkeitsbereichs 19 hinzugefügt.
Aus dem vorher gematchten Unbekanntenknoten "outp'dot" wird ein ungematchter Unbekanntenknoten. Ausgehend von diesem unge­ matchten Unbekanntenknoten wird eine weitere Break-Quantity- Liste mit den Unbekannten "outp'dot" und "inp" durch Verfol­ gung des alternierenden Pfades (outp'dot, E2, inp) erstellt. Die so erzeugte Break-Quantity-Liste ist in dem dritten Sicht­ barkeitsbereich 19 in Fig. 9 dargestellt.
Im zweiten Sichtbarkeitsbereich 18 sind weder ungematchte Un­ bekanntenknoten noch modifizierbare Gleichungsknoten vorhan­ den. Dementsprechend werden im zweiten Sichtbarkeitsbereich 18 weder eine Selector-Quantity-Liste noch eine Break-Quantity- Liste erstellt.
Fig. 10 zeigt einen aus der Break-Quantity- und Selector- Quantity-Listendarstellung 21 sowie aus dem ersten strukturel­ len Gleichungsknoten 10, aus dem zweiten strukturellen Glei­ chungsknoten 11 und aus dem dritten strukturellen Gleichungs­ knoten 12 erstellten zweiten Bipartiten Graphen 22 gemäß dem Ausführungsbeispiel.
Der zweite Bipartite Graph 22 stimmt hinsichtlich des ersten Sichtbarkeitsbereichs 17 und des dritten Sichtbarkeitsbereichs 19 mit der Break-Quantity- und der Selector-Quantity-Listen­ darstellung 21 überein.
Der zweite Sichtbarkeitsbereich 18 beinhaltet weder eine Break-Quantity-Liste noch eine Selector-Quantity-Liste. Somit muß der leere zweite Sichtbarkeitsbereich 18 bei dem zweiten Bipartiten Graphen 22 nicht berücksichtigt werden.
Dem zweiten Bipartiten Graphen 22 wird der erste strukturelle Gleichungsknoten 10, der zweite strukturelle Gleichungsknoten 11 sowie der dritte strukturelle Gleichungsknoten 12 hinzuge­ fügt.
Die Selector-Quantity-Liste, der erste strukturelle Glei­ chungsknoten 10, der zweite strukturelle Gleichungsknoten 11 und der dritte strukturelle Gleichungsknoten 12 bilden die er­ ste Partition des zweiten Bipartiten Graphen 22. Die Break- Quantity-Listen bilden die zweite Partition des zweiten Bipar­ titen Graphen 22.
Die Elemente der ersten Partition und der zweiten Partition des zweiten Bipartiten Graphen 22 werden nun durch Kanten mit­ einander verbunden. Dabei werden Kanten zwischen denjenigen Selector-Quantity-Listen und denjenigen Break-Quantity-Listen vorgesehen, die im gleichen Sichtbarkeitsbereich liegen. Wei­ terhin werden Kanten zwischen strukturellen Gleichungsknoten und denjenigen Break-Quantity-Listen vorgesehen, die Unbekann­ te der jeweiligen strukturellen Gleichungen aufweisen.
Die Break-Quantity-Liste mit der Unbekannten "outp", die Break-Quantity-Liste mit den Unbekannten "outp'dot" und "inp" liegen ebenso wie die Selector-Quantity-Liste "A1" im dritten Sichtbarkeitsbereich. Somit wird die Selector-Quantity-Liste "A1" durch je eine Kante mit den genannten Break-Quantity- Listen verbunden.
Die erste strukturelle Gleichung S1 weist die Unbekannte "in­ put" auf. Dementsprechend wird der erste strukturelle Glei­ chungsknoten 10 durch eine Kante mit der Break-Quantity-Liste "input" verbunden. Die zweite strukturelle Gleichung S2 weist sowohl die Unbekannte "inp" als auch die Unbekannte "input" auf. Dementsprechend wird der zweite strukturelle Gleichungs­ knoten 11 durch je eine Kante mit der Break-Quantity-Liste "input" und mit der Break-Quantity-Liste "outp'dot, inp" ver­ bunden. Die dritte strukturelle Gleichung S3 weist die beiden Unbekannten "outp" und "output" auf. Somit werden Kanten zwi­ schen dem dritten strukturelle Gleichungsknoten 12 und den Break-Quantity-Listen "output" und "outp" eingefügt.
Fig. 11 zeigt ein perfektes Matching 23 des zweiten Biparti­ ten Graphen 22 gemäß dem Ausführungsbeispiel. Das perfekte Matching 23 ist durch die fett dargestellten Kanten illu­ striert.
Ausgehend von dem in Fig. 10 gezeigten zweiten Bipartiten Graphen 22 wird mittels Standard-Matching-Algorithmen ein per­ fektes Matching 23 gesucht. Da für den zweiten Bipartiten Graphen 22 ein perfektes Matching 23 gefunden werden kann, ist das dem zweiten Bipartiten Graphen 22 zugrundeliegende Glei­ chungssystem durch "VHDL-AMS"-Sprachkonstrukte regularisier­ bar. Solche "VHDL-AMS"-Sprachkonstrukte heißen "Break State­ ments".
Solche "Break Statements" werden aus denjenigen Kanten des perfekten Matchings bestimmt, die zwischen einer Selector- Quantity-Liste und einer Break-Quantity-Liste angeordnet sind. Die Kanten des perfekten Matchings zwischen den strukturellen Gleichungen und den Break-Quantity-Listen haben keinen Einfluß auf die Bestimmung von zur Regularisierung benötigten Break Statements.
Für den zweiten Bipartiten Graphen 22 liegt ein solches per­ fektes Matching 23 vor.
Die Selector-Quantity-Liste "A1" ist mit einer Kante des per­ fekten Matchings mit der Break-Quantity-Liste "outp" verbun­ den. Somit wird aus dieser Kante des perfekten Matchings für die zeitliche Ableitungsgleichung A1 das folgende Break State­ ment bestimmt:
Break Statement:
Selector-Quantity OUTP (zeitliche Ableitungsgleichung A1)
Break-Quantity OUTP
Dies bedeutet, daß die zeitliche Ableitungsgleichung A1 durch eine Gleichung, die sich aus der Unbekannten "outp" sowie aus einem durch einen Benutzer festgelegten Absolutwert zusammen­ setzt, ersetzt wird.
Fig. 12 zeigt ein Simulationslauflisting 24 zur Analyse und Korrektur des Sinusquellenquellcodes 5, des Integrator­ quellcodes 6 und des Regelstreckenquellcodes 7 gemäß dem Aus­ führungsbeispiel.
Das erfindungsgemäße Verfahren zur Analyse und Korrektur eines Modells eines physikalischen Systems wird im Ausführungsbei­ spiel für die Regelstrecke 1 auf dem Computersystem durchge­ führt.
Dabei erfolgt die Durchführung der in den Fig. 5 bis 11 ge­ zeigten Verfahrensschritte mittels eines zur Ausführung dieser Verfahrensschritte erstellten Computerprogramms. Das Simulati­ onslauflisting 24 dokumentiert den Ablauf des erfindungsgemä­ ßen Verfahrens zur Analyse und Korrektur des Modells der Re­ gelstrecke 1 auf dem Computersystem. Dabei liegt das Modell der Regelstrecke 1 in Form des Sinusquellenquellcodes 5, des Integratorquellcodes 6 sowie des Regelstreckenquellcodes 7 vor.
Die Zeilen des Simulationslauflistings 24 sind aufsteigend durchnumeriert. In den Zeilen 1 bis 4 sind Informationen über die Anordnung der Regelstreckenmatrix 8 auf dem Computersystem und Informationen über das verwendete Computerprogramm enthal­ ten.
In den Zeilen 5 bis 10 des Simulationslauflistings 24 ist der Start der Simulation der Regelstrecke 1 dokumentiert. Dabei wird in Zeile 5 der Regelstreckenquellcode 7 geladen, in Zeile 7 eine Standardanalyse zugrundegelegt, in Zeile 8 festge­ stellt, daß das System nicht DC-lösbar ist und in Zeile 9 kon­ statiert, daß die Simulation aufgrund des Vorliegens einer singulären Matrix abgebrochen wird.
In den Zeilen 11 bis 21 erfolgt die Ausführung des in den Fig. 6 bis 11 gezeigten erfindungsgemäßen Verfahrens.
In den Zeilen 22 bis 29 wird festgestellt, daß ein Break Statement gefunden wurde, und daß ein Absolutwert für die Un­ bekannte "outp" durch den Benutzer eingelesen wird.
In Zeile 30 erfolgt das Einlesen dieses Absolutwerts für die Unbekannte "outp". Der im Ausführungsbeispiel durch den Benut­ zer eingegebene Wert für diese Unbekannte beträgt: "4,0e-7".
In Zeile 31 ist die Analyse des Modells der Regelstrecke 1 ab­ geschlossen.
In den Zeilen 32 bis 35 erfolgt eine Abfrage durch das Compu­ terprogramm, ob die so geänderte Beschreibung der Regelstrec­ ke 1 kompiliert und gespeichert werden soll.
Fig. 13 zeigt einen durch die Ausführung des erfindungsgemä­ ßen Verfahrens auf dem Computerprogramm erzeugten regulari­ sierten Integratorquellcode 25, der den in Fig. 3 gezeigten Integratorquellcode 6 ersetzt, gemäß dem Ausführungsbeispiel.
Der regularisierte Integratorquellcode 25 entspricht dem in Fig. 3 gezeigten Integratorquellcode 6 mit dem Unterschied, daß die "Architecture" mit dem Bezug auf die "Entity"- Deklaration "Integrator" in Zeile 1 sieben Zeilen umfaßt und den Namen "BEHAVE_BA1" trägt.
Im Anschluß an die Zeile 7 ist das durch das Computerprogramm unter Verwendung des durch den Benutzer eingegebenen Absolut­ werts erzeugte "Break Statement" in den Zeilen 8 bis 10 eingefügt. In den Zeilen 8 und 9 ist der Hinweis aufgeführt, daß die Zeilen 8 bis 10 durch das Computerprogramm "Break Analy­ ser" zu dem in Zeile 9 aufgeführten Datum und Zeitpunkt er­ gänzt wurden. Das in Zeile 10 eingefügte Break Statement setzt die Unbekannte "outp" mit dem Absolutwert "4,0e-7" gleich.
Fig. 14 zeigt eine mit dem in Fig. 13 ermittelten "Break Statement" regularisierte Regelstreckenmatrix 26, welche die in Fig. 5 gezeigte Regelstreckenmatrix 8 ersetzt, gemäß einem Ausführungsbeispiel.
Die regularisierte Regelstreckenmatrix 26 stimmt mit der Re­ gelstreckenmatrix 8 überein mit dem Unterschied, daß die zeit­ liche Ableitungsgleichung:
A1: outp'dot = 0.0
im zugrundeliegenden Gleichungssystem durch die resultierende Gleichung des Break Statements:
outp = 4.0E-7
ersetzt ist.
Fig. 15 zeigt eine graphische Simulationsdarstellung 27 mit einem Integratoreingangsspannungsverlauf 28 und mit einem In­ tegratorausgangsspannungsverlauf 29 gemäß dem Ausführungsbei­ spiel.
Ausgehend von dem durch die Regelstreckenmatrix 26 gefundenen Arbeitspunkt sind der Integratoreingangsspannungsverlauf 28 sowie der Integratorausgangsspannungsverlauf 29 mittels geeig­ neter Verfahren berechenbar.
Die horizontale Achse des Integratoreingangsspannungsverlaufs 28 sowie des Integratorausgangsspannungsverlaufs 29 stellt je­ weils eine Zeitachse dar. Auf den vertikalen Achsen ist je­ weils die Spannung abgetragen.
Der Integratoreingangsspannungsverlauf 28 stellt eine harmoni­ sche Schwingung mit einer konstanten Amplitude von 5 V und mit einer konstanten Frequenz von 1 MHz dar.
Der Integratorausgangsspannungsverlauf 29 ist durch eine kon­ stante Amplitude von 7,9E-7 V und durch eine konstante Frequenz von 1 MHz gekennzeichnet. Dies entspricht der über der Zeit in­ tegrierten Eingangsspannung mit cosinus-förmigem Verhalten.
Im Rahmen dieses Dokuments wurden folgende Veröffentlichungen zitiert:
[1] A. V. Aho, R. Sethi, J. D. Ullman; Compilerbau Bd. 1, Olden­ bourg, 1999.
[2] The Institute of Electrical and Electronics Engineers. IEEE Standard 1076.1-1999. VHDL Language Reference Manual. IEEE, 1999.
[3] D. Jungnickel; Graphen, Netzwerke und Algorithmen, Pro­ gressdruck GmbH, Speyer, 1994.
Bezugszeichenliste
1
Regelstrecke
2
Sinusquelle
3
Integrator
4
Ausgangssignal
5
Sinusquellenquellcode
6
Integratorquellcode
7
Regelstreckenquellcode
8
Regelstreckenmatrix
9
erster Bipartiter Graph
10
erster struktureller Gleichungsknoten
11
zweiter struktureller Gleichungsknoten
12
dritter struktureller Gleichungsknoten
13
erster expliziter Gleichungsknoten
14
zweiter expliziter Gleichungsknoten
15
zeitlicher Ableitungsgleichungsknoten
16
Sichtbarkeitsbereiche- und Gleichungstypendarstellung
17
erster Sichtbarkeitsbereich
18
zweiter Sichtbarkeitsbereich
19
dritter Sichtbarkeitsbereich
20
Zusammenhangskomponentendarstellung
21
Break Quantity- und Selector Quantity-Listendarstellung
22
zweiter Bipartiter Graph
23
perfektes Matching
24
Simulationslauflisting
25
regularisierter Integratorquellcode
26
regularisierte Regelstreckenmatrix
27
graphische Simulationsdarstellung
28
Integratoreingangsspannungsverlauf
29
Integratorausgangsspannungsverlauf

Claims (11)

1. Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differential­ gleichungssystems (8), das ein physikalisches System (1) beschreibt, wobei das Differentialgleichungssystem (8) als Beschreibung in einer Computersprache (5-7) auf einem Com­ putersystem vorliegt, wobei das Verfahren die folgenden Schritte aufweist:
  • a) Klassifizieren der Gleichungen des Differentialglei­ chungssystems (8) in strukturelle Gleichungen, in ex­ plizite Gleichungen und in modifizierbare Gleichungen,
  • b) Aufstellen eines ersten Bipartiten Graphen (9) aus dem Gleichungssystem (8), wobei die Knoten der ersten Par­ tition (10-15) den Gleichungen und die Knoten der zwei­ ten Partition den Unbekannten entsprechen,
  • c) Entfernen der den strukturellen Gleichungen entspre­ chenden Knoten (10-12) sowie der zugehörigen Kanten aus dem ersten Bipartiten Graphen (9),
  • d) Bestimmen eines maximalen Matchings für den in Schritt c) veränderten ersten Bipartiten Gra­ phen (9),
  • e) Erstellen eines leeren zweiten Bipartiten Graphen (22),
  • f) Bestimmen der ungematchten, einer modifizierbaren Glei­ chung entsprechenden Knoten des ersten Bipartiten Gra­ phen (9),
  • g) Erzeugen je eines Knotens der ersten Partition des zweiten Bipartiten Graphen (22) für jeden in Schritt f) bestimmten Knoten,
  • h) Ermitteln weiterer Knoten im ersten Bipartiten Gra­ phen (9), die einer modifizierbaren Gleichung entsprechen, unter Verfolgung von alternierenden Pfaden, aus­ gehend von den in Schritt f) bestimmten Knoten,
  • i) Hinzufügen der in Schritt h) ermittelten Knoten des er­ sten Bipartiten Graphen (9) zu den in Schritt g) er­ zeugten Knoten der ersten Partition des zweiten Bipar­ titen Graphen (22),
  • j) Bestimmen der ungematchten, einer Unbekannten entspre­ chenden Knoten des ersten Bipartiten Graphen (9),
  • k) Erzeugen je eines Knotens der zweiten Partition des zweiten Bipartiten Graphen (22) für jeden in Schritt j) bestimmten Knoten,
  • l) Ermitteln weiterer Knoten im ersten Bipartiten Gra­ phen (9), die einer Unbekannten entsprechen, unter Ver­ folgung von alternierenden Pfaden, ausgehend von den in Schritt j) bestimmten Knoten,
  • m) Hinzufügen der in Schritt l) ermittelten Knoten des er­ sten Bipartiten Graphen (9) zu den in Schritt k) er­ zeugten Knoten des, zweiten Bipartiten Graphen (22),
  • n) Bestimmen der gematchten, einer modifizierbaren Glei­ chung entsprechenden Knoten des ersten Bipartiten Gra­ phen (9),
  • o) Löschen der matchenden Kante der in Schritt n) bestimm­ ten Knoten,
  • p) Erzeugen je eines Knotens der ersten Partition des zweiten Bipartiten Graphen (22) für die in Schritt n) bestimmten Knoten des ersten Bipartiten Graphen (9),
  • q) Erzeugen je eines Knotens der zweiten Partition des zweiten Bipartiten Graphen (22) für jeden ungematchten, einer Unbekannten im ersten Bipartiten Graphen (9) ent­ sprechenden Knoten,
  • r) Ermitteln weiterer Knoten im ersten Bipartiten Gra­ phen (9), die einer Unbekannten entsprechen, unter Ver­ folgung von alternierenden Pfaden, ausgehend von den ungematchten, einer Unbekannten im ersten Bipartiten Graphen (9) entsprechenden Knoten,
  • s) Hinzufügen der in Schritt r) ermittelten Knoten des er­ sten Bipartiten Graphen (9) zu den in Schritt q) er­ zeugten Knoten des zweiten Bipartiten Graphen (22),
  • t) Erzeugen je eines Knotens der ersten Partition des zweiten Bipartiten Graphen (22) für jede strukturelle Gleichung,
  • u) Verbinden der Knoten der ersten Partition des zweiten Bipartiten Graphen (22) durch eine Kante mit den in je­ weils demselben Sichtbarkeitsbereich (17-19) vorliegen­ den Knoten der zweiten Partition des zweiten Bipartiten Graphen (22),
  • v) Verbinden der in Schritt t) erzeugten Knoten der ersten Partition des zweiten Bipartiten Graphen (22) durch ei­ ne Kante mit den Knoten der zweiten Partition des zwei­ ten Bipartiten Graphen (22), falls eine der dem Knoten der zweiten Partition entsprechenden Unbekannten in der dem Knoten der ersten Partition entsprechenden struktu­ rellen Gleichung enthalten ist,
  • w) Bestimmen eines maximalen Matchings des zweiten Bipar­ titen Graphen (22).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß nach Schritt w) die folgenden Schritte w1) bis w5) durchgeführt werden, falls es sich bei dem in Schritt w) bestimmten maximalen Matching um ein perfektes Mat­ ching (23) handelt:
  • 1. Bestimmen der Kanten des in Schritt w) bestimmten per­ fekten Matchings (23), welche die in Schritt g) und in Schritt p) erzeugten Knoten der ersten Partition des zweiten Bipartiten Graphen (22) mit den Knoten der zweiten Partition des zweiten Bipartiten Graphen (22) verbinden,
  • 2. Auswählen einer modifizierbaren Gleichung aus den Kno­ ten der ersten Partition des zweiten Bipartiten Gra­ phen (22), die durch die in Schritt w1) bestimmten Kan­ ten des perfekten Matchings (23) verbunden sind,
  • 3. Auswählen einer Unbekannten aus den Knoten der zweiten Partition des zweiten Bipartiten Graphen (22), die durch die in Schritt w1) bestimmten Kanten des perfek­ ten Matchings (23) verbunden sind,
  • 4. Festlegen eines numerischen Werts für die in Schritt w3) ausgewählte Unbekannte,
  • 5. Ersetzen der in Schritt w2) ausgewählten modifizierba­ ren Gleichung des Gleichungssystems (8) durch eine Gleichung, die der in Schritt w3) ausgewählten Unbe­ kannten den in Schritt w4) festgelegten Wert zuweist,
  • 6. Wiederholen der Schritte w2) bis w5) für alle weiteren in Schritt w1) bestimmten Kanten.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das physikalische System als elektrische Schaltung mit ei­ nem oder mit mehreren Schaltungselementen vorliegt.
4. Verfahren einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Computerprogramm in einer. Hardwarebeschreibungssprache insbesondere in "VHDL-AMS" oder in "Verilog-AMS" ausge­ führt ist.
5. Computerprogrammprodukt sowie Computerprogramm zur Ausfüh­ rung eines Verfahrens zur Analyse und Korrektur eines Ab­ bilds eines physikalischen Systems, das so ausgebildet ist, daß ein Verfahren gemäß einem der Ansprüche 1 bis 4 ausführbar ist.
6. Computerprogramm nach Anspruch 5, das auf einem Speicher­ medium enthalten ist.
7. Computerprogramm nach Anspruch 5, das in einem Computer­ speicher abgelegt ist.
8. Computerprogramm nach Anspruch 5, das in einem Direktzu­ griffsspeicher enthalten ist.
9. Computerprogramm nach Anspruch 5, das auf einem elektri­ schen Trägersignal übertragen wird.
10. Datenträger mit einem Computerprogrammprodukt bzw. Compu­ terprogramm nach Anspruch 5.
11. Verfahren, bei dem ein Computerprogrammprodukt bzw. Compu­ terprogramm nach Anspruch 5 aus einem elektronischen Da­ tennetz wie beispielsweise aus dem Internet auf einen an das Datennetz angeschlossenen Computer heruntergeladen wird.
DE10150914A 2001-10-18 2001-10-18 Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems Expired - Fee Related DE10150914C1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10150914A DE10150914C1 (de) 2001-10-18 2001-10-18 Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems
US10/273,520 US7272543B2 (en) 2001-10-18 2002-10-18 Method and computer system for structural analysis and correction of a system of differential equations described by a computer language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10150914A DE10150914C1 (de) 2001-10-18 2001-10-18 Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems

Publications (1)

Publication Number Publication Date
DE10150914C1 true DE10150914C1 (de) 2003-01-30

Family

ID=7702594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10150914A Expired - Fee Related DE10150914C1 (de) 2001-10-18 2001-10-18 Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems

Country Status (2)

Country Link
US (1) US7272543B2 (de)
DE (1) DE10150914C1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904280B2 (en) * 2003-04-16 2011-03-08 The Mathworks, Inc. Simulation of constrained systems
US7461073B2 (en) * 2006-02-14 2008-12-02 Microsoft Corporation Co-clustering objects of heterogeneous types
US7484195B1 (en) * 2006-08-30 2009-01-27 Sun Microsystems, Inc. Method to improve time domain sensitivity analysis performance
US7743058B2 (en) * 2007-01-10 2010-06-22 Microsoft Corporation Co-clustering objects of heterogeneous types
US8483999B2 (en) 2010-11-18 2013-07-09 Toyota Motor Engineering & Manufacturing North America, Inc. Method and system for simplifying models
US8943113B2 (en) 2011-07-21 2015-01-27 Xiaohua Yi Methods and systems for parsing and interpretation of mathematical statements

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1076.1-1999 IEEE Standard VHDL Analog and Mixed-Signal Extension, New York: IEEE, 1999, ISBN: 0-7381-1640-8 *
AHO, A.V., SETHI, R., ULLMAN, J.D.: Compilerbau, Teil 1, 2. Aufl. München: Oldenbourg, 1999, ISBN: 3486252941 *
JUNGNICKEL, D.: Graphen, Netzwerke und Algorithmen, 3. Aufl. Heidelberg: Spektrum Akademischer Verlag, 1994, ISBN: 3860254340 *

Also Published As

Publication number Publication date
US7272543B2 (en) 2007-09-18
US20030084421A1 (en) 2003-05-01

Similar Documents

Publication Publication Date Title
DE3856079T2 (de) Verfahren für einen Blockdiagramm-Simulator
DE69031758T2 (de) Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
DE69017785T2 (de) Verfahren zur Herstellung eines Expertensystems für Systemfehlerdiagnose.
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE69934467T2 (de) Verfahren und Vorrichtung zur Auswahl von selektierten Komponenten in einem Test mit begrenztem Zugang
DE10150914C1 (de) Verfahren zur strukturellen Analyse und Korrektur eines mittels einer Computersprache beschriebenen Differentialgleichungssystems
DE3854636T2 (de) Automatischer Prüfprozess für logische Geräte.
EP1062604B1 (de) Verfahren und vorrichtung zur ermittlung einer störung eines technischen systems
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE102019008598A1 (de) Identifikation und Visualisierung von Assoziationen zwischen Code, der von einem Modell generiert ist, und Quellen, welche die Codegeneration beeinflussen
DE10133670A1 (de) Verfahren zur automatischen Erzeugung einer Wissensbasis für ein Diagnosesystem
DE19924242C2 (de) Vektorrestauration mit beschleunigter Validation und Verfeinerung
EP1166215B1 (de) Verfahren zur automatischen wiedergewinnung von engineeringdaten aus anlagen
DE102004003098A1 (de) Verfahren zum Auflösen fehlender graphischer Symbole bei einem rechnergestützten Entwurf für integrierte Schaltungen
DE19914819B4 (de) Verfahren zur Unterstützung von Entwicklungprozessen
DE10126018A1 (de) Verfahren zum Bereitstellen von Fehlerinformationen über Inkonsistenzen in einem System von Differentialgleichungen
DE10325513B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation
DE102009019442A1 (de) Testdatengenerator
EP0662226B1 (de) Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem
WO1999050766A1 (de) Verfahren zum vergleich elektrischer schaltungen
EP1212691B1 (de) Rechnergestütztes verfahren zur parallelen berechnung des arbeitspunktes elektrischer schaltungen
EP2194457A2 (de) Vorrichtung zum Erzeugen eines markierten Referenzdatenstroms
WO2004070632A2 (de) Eigenschaftsnachweis (formale verifikation) für ein mischsystem mit analogen und digitalen teilsystemen
DE102004020873A1 (de) System und Verfahren zum Bestimmen von anwendbaren Konfigurationsinformationen zur Verwendung bei einer Analyse eines computergestützten Entwurfs
WO1999017238A9 (de) Reduktionsverfahren für simulationen zur wissensdatenerzeugung

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8304 Grant after examination procedure
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee