MBSim ist ein Simulationstool zur Analyse von dynamischen Systemen. Sein Ursprung liegt
in der Modellierung von nichtglatten Mehrkörpersystemen, woraus sich auch der Name "MBSim" ableitet.
Der mathematische Hintergrund wurde in den letzten Jahrzehnten am Lehrstuhl für Angewandte Mechanik der
Technischen Universität München entwickelt. Eine gute Zusammenfassung ist die Doktorarbeit und das Vorlesungsskript von Martin Förg [1,2]. Roland Zander
diskutiert Erweiterungen hinsichtlich flexibler Körper [3]. In [4] erhält man einen Überblick über die Forschung am
Lehrstuhl für Angewandte Mechanik auf dem Gebiet der
nichtglatten Mechanik. Dort sind auch Simulationsergebnisse von akademischen und
industriellen Beispielen zu finden. Erweiterungen bezüglich Hydraulik und Regelungstechnik sowie
Parallelisierung und Co-Simulation sind einzigartig im Bereich der nichtglatten Dynamik.
Martin Förg. Mehrkörpersysteme mit mengenwertigen Kraftgesetzen - Theorie und Numerik.
PhD thesis, TU München, 2007.
Martin Förg. Mehrkörpersimulation - Vorlesungsskript, München, 2006, Version 19.06.2008.
Roland Zander. Flexible Multibody Systems with Set-Valued Force Laws. PhD thesis,
TU München, 2008.
Roland Zander, Thorsten Schindler, Markus Friedrich, Robert Huber, Martin Förg, and Heinz
Ulbrich. Non-smooth dynamics in academia and industry: recent work at TU München.
Acta Mechanica, 195:167–183, 2008.
The upper nomenclature defines a XML element named ElementName with (if given) a minimal occurance of 0 and a maximal occurance of 2. The element is of type elementType.
A occurance of optional means 0-1.
The element has two attributes named attrName1 and attrName2 of type typeOfTheAttribute. A attribute can be optional or required.
The upper nomenclature defines a choice of elements. Only one element of the given ones can be used. The choice has, if given, a minimal occurance of 1 and a maximal maximal occurence of 2.
A occurance of optional means 0-1.
The upper nomenclature defines a sequence of elements. Each element must be given in that order. The sequence has, if given, a minimal occurance of 0 and a maximal maximal occurence of 3.
A occurance of optional means 0-1.
Das Attribut name gibt den Namen des Elements an. Dieser Name wird für die Referenzierung des
Elements benötig. Die Plotausgaben verwenden ebenfalls diese Namen.
TODO
Kinematische Zwangsbedingung durch geschlossene Schleifen. Die Auflösung der kinematischen Schleife erfolgt durch die Lösung eines Gleichungssystems. Durch die inertiale generalisierte Lage kann ein Startvektor für den Lösungsalgorithmus vorgegeben werden.
Richtungen
\( \mathbf{D}_T=\left(\mathbf{d}_{T,1},\ldots\right) \)
der Zwangskräfte des Gelenks in normierten Vektoren dargestellt im Koordinatensystem frameOfReference (standarmäßig das erste KOS).
Richtungen
\( \mathbf{D}_R=\left(\mathbf{d}_{R,1},\ldots\right) \)
der Zwangsmomente des Gelenks in normierten Vektoren dargestellt im Koordinatensystem frameOfReference (standarmäßig das erste KOS).
Abstrakte Klasse zur Beschreibung kontinuierlicher Konturen.
Die Konturen werden in Abhängigkeit eines Parameters
\( \alpha \, \left(\alpha_{Start} \leq \alpha \leq \alpha_{End} \right) \)
beschrieben. Für eine effiziente Abstandsberechnung müssen vom Benutzer zusätzliche Stützstellen angegeben werden, anhand derer eine erste Abschätzung des Kontaktbereiches erfolgt.
Kontur eines Kegelstumpfes, die über Variation der zu definierenden Größen auch Kegel und Zylinder abdeckt.
Die Symmetrieachse fällt mit der y-Achse des Referenzkoordinationsystems zusammen. Zu definierende geometrische Größen sind in der Zeichnung eingetragen.
Orientierung und geometrische Größen einer Frustum-Kontur
Einfache, unendlich ausgedehnte Linienkontur.
Die Linie verläuft in Richtung der y-Achse des Referenzkoordinatensystems, die Normale weist in die Richtung der x-Achse des Referenzkoordinatensystems.
Einfache Linienkontur mit endlicher Ausdehnung.
Die Linie verläuft in Richtung der y-Achse des Referenzkoordinatensystems, die Normale weist in die Richtung der x-Achse des Referenzkoordinatensystems.
Kurvenkontur, bei der die Parametrisierung analytisch durch einen funktionalen Zusammenhang beschrieben werden kann:
\[
\mathbf{f}:\,\mathbf{R}\rightarrow\mathbf{R}^3;\quad\alpha\mapsto\mathbf{f} \left(\alpha\right)=
\left(\begin{array}{c}
f_x\left(\alpha\right) \\
f_y\left(\alpha\right) \\
f_z\left(\alpha\right)
\end{array}\right)
\]
Eine Kontur, die aus einer Ebene und einem Kegelstumpf (Frustum) besteht.
Die Ebene wird wie gezeichnet durch die y- und z-Achse des Referenzkoordinatensystems aufgespannt, die Rotationsachse des Kegelstumpfes ist die x-Achse des Referenzkoordinatensystems. Für eine Kegelstumpf-Höhe h>0 erstreckt sich die Kegelstumpfkontur in Richtung der positiven x-Achse des Referenzkoordinatensystems.
\( \rho \)
ist der Radius der Verrundung zwischen Ebene und Kegelstumpf und am Kopf des Kegelstumpfes.
Kurvenkontur, bei der die Parametrisierung analytisch durch einen funktionalen Zusammenhang beschrieben werden kann:
\[
\mathbf{f}:\,\mathbf{R}\rightarrow\mathbf{R}^3;\quad\alpha\mapsto\mathbf{f} \left(\alpha\right)=
\left(\begin{array}{c}
f_x\left(\alpha\right) \\
f_y\left(\alpha\right) \\
f_z\left(\alpha\right)
\end{array}\right)
\]
Definiert die Parameter der Querschnittskontur. Bei einer kreisförmigen Kontur ist der Radius bei einer elliptischen Kontur die 2 Halbachsen anzugeben.
Definiert eine neue Hierarchieebene in Form einer Gruppe.
Eine Gruppe stellt dabei einen
Kontainer für andere Group's, Object's (Körper) und Link's
(Verbindungselemente) bereit. Mithilfe von Gruppen können somit hierarchische Modelle erzeugt werden.
Jede Gruppe definiert automatisch ein statisches KOS mit den Namen "I".
DynamicSystemSolver ist das oberste Herarchie-Element eines Modells, ein Integrierbares Gesamtsystem.
Da DynamicSystemSolver von Group abgeleitet ist, besitzt es Gruppenstruktur und kann mit anderen Gruppen, Objekten und Link's gefüllt werden. Darüberhinaus werden
innerhalb von DynamicSystemSolver die Umgebungsgrößen der einzelnen verwendeten Domains definiert.
Da das oberste XML Element auch stets den Namespace der folgenden Elemente definieren muss,
sind die ersten Zeilen eines Modells zumeist durch
Lösungsverfahren für Nebenbedingungsgleichungen auf Beschleunigungsebene in glatten Bereichen (offnen und schließen von Kontakten wird nicht verfolgt).
"fixedpoint"
Fixpunktiteration mit Relaxationsstrategie (Anwendungsfall: Räumliche Coulombreibung; Eigenschaften: mäßige Konvergenz).
[DEFAULT] Lösung per minimaler Fehlerquadrate für lineare Gleichungssysteme (Anwendungsfall: nur zweiseitige Bindungen; Eigenschaften: exakte Lösung in einem Schritt).
"rootfinding"
Gedämpftes und globalisiertes Newton-Verfahren (Anwendungsfall: Räumliche Coulombreibung; Eigenschaften: sehr robust).
"directNonlinear"
Lösung mittels iterativem Newton-Löser für nicht-lineare Gleichungssystem, Lösung der Iterationschritte per minimaler linearer Fehlerquadrate (Anwendungsfall: nur zweiseitige Bindungen; Eigenschaften: nicht-lineare Abhängigkeiten von lambda möglich).
Lösungsverfahren für Nebenbedingungsgleichungen auf Beschleunigungsebene in glatten und stoßhaften Bereichen (offnen und schließen von Kontakten wird verfolgt).
"fixedpoint"
[DEFAULT] Fixpunktiteration mit Relaxationsstrategie (Anwendungsfall: Räumliche Coulombreibung; Eigenschaften: mäßige Konvergenz).
Lösung per minimaler Fehlerquadrate für lineare Gleichungssysteme (Anwendungsfall: nur zweiseitige Bindungen; Eigenschaften: exakte Lösung in einem Schritt).
"rootfinding"
Gedämpftes und globalisiertes Newton-Verfahren (Anwendungsfall: Räumliche Coulombreibung; Eigenschaften: sehr robust).
"directNonlinear"
Lösung mittels iterativem Newton-Löser für nicht-lineare Gleichungssystem, Lösung der Iterationschritte per minimaler linearer Fehlerquadrate (Anwendungsfall: nur zweiseitige Bindungen; Eigenschaften: nicht-lineare Abhängigkeiten von lambda möglich).
Cholesky-Zerlegung für reguläre Gleichungssysteme (Anwendungsfall: nur zweiseitige Bindungen; Eigenschaften: exakte Lösung in einem Schritt).
"rootfinding"
Gedämpftes und globalisiertes Newton-Verfahren (Anwendungsfall: Räumliche Coulombreibung; Eigenschaften: sehr robust).
"directNonlinear"
Lösung mittels iterativem Newton-Löser für nicht-lineare Gleichungssystem, Lösung der Iterationschritte per minimaler linearer Fehlerquadrate (Anwendungsfall: nur zweiseitige Bindungen; Eigenschaften: nicht-lineare Abhängigkeiten von lambda möglich).
Deprecated: only a value of false is allowed for this property! Anything else is an error.
(Definiert, ob die mengenwertigen Kraftgesetze auch während der glatten Bewegung mit dem definierten Lösungsverfahren aus <constraintSolver> berechnet werden sollen (true), oder ob während der glatten Bewegung immer der direkte Löser aus <smoothSolver> verwendet werden soll (false).)
Definiert, ob die mengenwertigen Kraftgesetze auch in der Plot-Routine mit dem definierten Lösungsverfahren berechnet aus <constraintSolver> werden sollen (true), oder ob für den Plot immer der direkte Löser aus <smoothSolver> verwendet werden soll (false).
Base Function object for MBSim. Adds just some XML functionallity to the fmatvec::Function. Also derives from FunctionBase (to have a none templated base for all functions) which is itself derived from Element.
Definiert, ob die Koeffizienten
\( a_i \)
und
\( b_i \)
als Amplitude
\( A_i \)
und Phasenwinkel
\( \varphi_i \)
interpretiert werden sollen. Die Fourierreihe hat dann die Form
\( y=\frac{a_0}{2}+\sum_{i=1}^n a_i\,\cos(i*2*pi*f*t - b_i) \)
.
Konstitutive Funktion für zweiseitige Bindungen.
Die Bindungskraft ergibt sich zu
\( \lambda=-cg-d\dot{g} \)
mit dem Abstand g und der relativen Geschwindigkeit
\( \dot{g} \)
.
Konstitutive Funktion für einseitige Bindungen.
Die Bindungskraft ergibt sich zu
\( \lambda=\begin{cases}0\ \text{bei}\ g\geq 0\\-cg-d\dot{g}\ \text{bei}\ g\leq 0\ \text{und}\ \dot{g}\leq 0\\-cg\ \text{bei}\ g\leq 0\ \text{und}\ \dot{g}\geq 0\end{cases} \)
mit dem Abstand g und der relativen Geschwindigkeit
\( \dot{g} \)
.
Lineares funktionelles Feder- / Dämpfergesetz.
Die resultierende Kraft ergibt sich zu
\( f=c\,s+d\,\dot{s} \)
mit der Auslenkung
\( s \)
und der relativen Geschwindigkeit
\( \dot{s} \)
.
Mehrdimensionale lineare Funktion.
\[ y=a_0 + \boldsymbol{a_1}^T \boldsymbol{x} \]
wobei
\( a_0 \)
ein Skalar und
\( \boldsymbol{a_1} \)
ein Vektor ist.
Nichtlineares funktionelles Feder- / Dämpfergesetz.
Die resultierende Kraft ergibt sich zu
\( f=f_s\left(s\right)+f_{\dot{s}}\left(\dot{s}\right) \)
mit der Auslenkung
\( s \)
und der relativen Geschwindigkeit
\( \dot{s} \)
.
Klasse zur Definition von vektorwertigen, univariaten Funktionen über Spline-Interpolation.
Die zu interpolierenden Punkte
\( \mathbf{Y}_i \)
werden dabei bez. des Spline mit der skalaren Größe
\( x_i \)
parametrisiert.
Zum einen ist es möglich, die Parameter
\( \mathbf{x} \)
als (Spalten-)Vektor und die Punkte
\( \mathbf{Y} \)
-zeilenweise in einer Matrix angeordnet- in getrennten Matrizen vorzugeben, zum anderen ist deren Angabe auch in einer Matrix möglich.
Die Angabe von verschiedenen interpolationsmethoden und Randbedingungen ist dabei über interpolationMethod möglich.
Alternativ kann auch direkt die Stützwerte (breaks) und die Spline Koeffizienten angeben werden. Daruch können beliebige polynom-splines definiert werden.
Vorzugsweise werden die Koeffizenten dabei z.B. mittels Python scipy berechnet. Siehe dazu die definition von breaks und coefficients.
Polynom Stützpunkte.
Bei Verwendung des Python evaluators und Nutzung von scipy entspricht der Wert des Vectors breaks = scipy.interpolate.PPoly.x
<coefficientsArray>
Das piecewise Polynom wird mittels "local power basis" dargestellt.
\[
y = \sum_{m=0}^{k} C_{i,m} * (x - breaks_i)^{k-m}
\]
Wobei i die Werte für das Spline-interval x[i] bis x[i+1] darstellen
und k den Polynomgrad definiert.
Die Matrix C entspricht dabei dem Wert des XML-Elements "ele". Wenn PiecewisePolynomFunction anstatt eines Skalars
einen Vector zurückliefert, muss für jede Komponente des Vektors ein entsprechendes XML-Element "ele" angegeben werden.
Bei Verwendung des Python evaluators und Nutzung von scipy entspricht für skalare PiecewisePolynomFunction
der Wert der Matrix C = scipy.interpolate.PPoly.c.T und für vektorielle PiecewisePolynomFunction
der Wert der Matrix C = scipy.interpolate.PPoly.c[:,:,comp].T wobei comp die Komponente des Vectors ist oder 0 für ein Skalar.
Veraltetes Interface. Die Matrix C entspricht hier dem Wert dieses XML-Elements.
Wenn PiecewisePolynomFunction anstatt eines Skalars einen Vektor zurückliefert, muss für jede Komponente des Vektors
ein weiteres XML-Element angegeben werden.
Vektorwertige Funktion generiert aus linearer Interpolation von Tabellenwerten
\( \boldsymbol{y}=\begin{cases}\boldsymbol{c_0}\ \text{bei}\ x\leq x_0\\\frac{\boldsymbol{c}_{i+1}-\boldsymbol{c}_{i}}{x_{i+1}-x_i}\left(x-x_i\right)\ \text{bei}\ x_i \leq x\leq x_{i+1}\ \text{und}\ 0\leq i\leq n-1\\\boldsymbol{c_n}\ \text{bei}\ x_n \leq x\end{cases} \)
.
Zum einen ist es möglich, die Parameter
\( \mathbf{x} \)
als (Spalten-)Vektor und die Punkte
\( \mathbf{c} \)
-zeilenweise in einer Matrix angeordnet- in getrennten Matrizen vorzugeben, zum anderen ist deren Angabe auch in einer Matrix möglich.
z-Werte. Die Anzahl der Spalten der Matrix muss mit der Größe des x-Vektors und die Anzahl der Zeilen der Matrix muss mit der Größe des y-Vektors übereinstimmen.
z-Werte. Die Anzahl der Spalten der Matrix muss mit der Größe des x-Vektors und die Anzahl der Zeilen der Matrix muss mit der Größe des y-Vektors übereinstimmen.
Definiert einen Kontakt als Interaktion zwischen mehreren Körpern.
Bei der Simulation von Mehrkörpersystemen kann es aufgrund der Bewegung der Körper zu Kontakten zwischen einzelnen Körpern, aber auch zwischen einem Körper und der Umwelt kommen. Kommen zwei Körper in Kontakt, bildet sich an den sich berührenden Konturen (siehe <Contour>) eine Kontaktfläche aus, in der die Kontaktkräfte zwischen den Kontaktpartnern übertragen werden.
Idealisiert wird davon ausgegangen, dass nur punktförmige Kontakte existieren; dies ist für eine Vielzahl von Problemstellungen ausreichend. Bei flächenhaften Kontakten muss die Oberfläche durch eine endliche Anzahl von Punkten diskretisiert werden.
Es wird zwischen Kontaktkinematik und -kinetik unterschieden. In der Kontaktkinematik wird die relative Lage und Bewegung von zwei Konturen, also potentielle Kontaktpunkte, Abstand, relative Geschwindigkeiten in Konturnormalenrichtung und in der Tangentialebene der Kontur sowie u.U. auch Beschleunigungsgrößen bestimmt. Sie sind Eingangsgrößen der Kontaktkinetik und bestimmen somit anschließend die Kontaktkräfte über konstitutive Gesetze.
Definiert das konstitutive Gesetz bez. der Kontaktkräfte auf Beschleunigungsebene in Konturnormalenrichtung (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird).
Definiert das konstitutive Gesetz bez. der Kontaktkräfte auf Geschwindigkeitsebene in Konturnormalenrichtung (nötig wenn Stöße im System auftreten oder das System mit Timestepping-Verfahren integriert wird).
Definiert das konstitutive Reibgesetz bez. der Kontaktkräfte auf Beschleunigungssebene (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird).
Definiert das konstitutive Reibgesetz bez. der Kontaktkräfte auf Geschwindigkeitssebene (nötig wenn Stöße im System auftreten oder das System mit Timestepping-Verfahren integriert wird).
Indizes der generalisierten Lagekoordinaten, deren Werte vorgegeben werden. Default: Die Werte aller generalisierten Lagekoordinaten werden vorgegeben.
Indizes der generalisierten Geschwindigkeitskoordinaten, deren Werte vorgegeben werden. Default: Die Werte aller generalisierten Geschwindigkeitskoordinaten werden vorgegeben.
Definiert das konstitutive Gesetz bez. der Kontaktkräfte auf Beschleunigungsebene in Konturnormalenrichtung (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird).
Definiert das konstitutive Gesetz bez. der Kontaktkräfte auf Geschwindigkeitsebene in Konturnormalenrichtung (nötig wenn Stöße im System auftreten oder das System mit Timestepping-Verfahren integriert wird).
Definiert das konstitutive Reibgesetz bez. der Kontaktkräfte auf Beschleunigungssebene (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird).
Definiert das konstitutive Reibgesetz bez. der Kontaktkräfte auf Geschwindigkeitssebene (nötig wenn Stöße im System auftreten oder das System mit Timestepping-Verfahren integriert wird).
Definiert das konstitutive Gesetz bez. der Kontaktkräfte auf Beschleunigungsebene in Konturnormalenrichtung (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird).
Definiert das konstitutive Gesetz bez. der Kontaktkräfte auf Geschwindigkeitsebene in Konturnormalenrichtung (nötig wenn Stöße im System auftreten oder das System mit Timestepping-Verfahren integriert wird).
Definiert das konstitutive Reibgesetz bez. der Kontaktkräfte auf Beschleunigungssebene (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird).
Definiert das konstitutive Reibgesetz bez. der Kontaktkräfte auf Geschwindigkeitssebene (nötig wenn Stöße im System auftreten oder das System mit Timestepping-Verfahren integriert wird).
Definiert den Angriffspunkt dieser kinetischen Anregung auf einen Körper. Als Angriffspunkt
muss dabei ein KOS des entsprechenden Körpers angegeben werden.
Bei inneren Kräften und Momenten können alternativ die KOS beider Schnittufer angegeben werden.
Definiert ein Feder-Dämpfer Element als Verbindung zwischen zwei Körpern. Es wird zwischen einer gerichteten Verbindung und einer Punkt-zu-Punkt-Verbindung unterschieden.
Punkt-zu-Punkt-Verbindung. Die Kraft des Feder-Dämpfer-Elements wird aus dem Abstand der verbundenen Punkte und der in diese Richtung projezierten relativen Geschwindigkeit berechnet. Der Abstand ist dabei immer positiv. Die Kraft wird ebenfalls in diese Richtung aufgebracht.
Gerichtete Verbindung. Die Kraft des Feder-Dämpfer-Elements wird aus dem in die Richtung der angegebenen Projektionsrichtung projezierten Verbindungsvektor der beiden verbundenen Punkte sowie der in diese Richtung projezierten Relativgeschwindigkeit berechnet. Die Kraft wird in der angegebenen Projektionsrichtung aufgebracht. Achtung! Durch eine falsche Wahl der Projektionsrichtung wird unter Umständen das Momentengleichgewicht nicht mehr erfüllt.
A spring damper force law. This class connects two frames and applies a force in it, which depends in the distance and relative velocity between the two frames.
Definiert die Wirkrichtung der Kraftanregung(en).
Die Spalte i dieser Matrix definiert den Wirkrichtungsvektor des i-ten Eintrags der Kraftfunktion angegeben
im KOS frameOfReference. Um eine Skalierung der skalaren Kraft (i-ter Eintrag der Kraftfunktion)
zu umgehen, sollte jede Spalte dieser Matrix normiert sein.
Definiert die Kraftfunktion in Abhängigkeit der relativen Auslenkung der Kraftangriffspunkte
und der relativen Geschwindigkeit zwischen den Kraftangriffspunkten.
Set function for the force calculation. The first input parameter to that function is the distance relative to the unloaded length. The second input parameter to that function is the relative velocity.
The return value of that function is used as the force of the SpringDamper.
Richtungen
\( \mathbf{D}_T=\left(\mathbf{d}_{T,1},\ldots\right) \)
der Zwangskräfte des Gelenks in normierten Vektoren dargestellt im Koordinatensystem frameOfReference (standarmäßig das erste KOS).
Richtungen
\( \mathbf{D}_R=\left(\mathbf{d}_{R,1},\ldots\right) \)
der Zwangsmomente des Gelenks in normierten Vektoren dargestellt im Koordinatensystem frameOfReference (standarmäßig das erste KOS).
Definiert, ob die generalisierte relative Position der Rotation durch Integration der generalisierten relativen Geschwindigkeit der Rotation berechnet werden soll.
Definiert ein Gelenk als Verbindung zwischen zwei Körpern oder zwischen Körper und Umwelt.
Aufgabe von Gelenken ist es, die Relativbewegung zwischen einzelnen Körpern eines Mehrkörpersystems einzuschränken und somit nur bestimmte Bewegungsmöglichkeiten zuzulassen. Die Relativbewegungen, die zwei Körper im ungebundenen Zustand durchführen könnten, werden dabei durch Gelenkkräfte und -momente verhindert.
Dabei wird idealisiert davon ausgegangen, dass Zwangsreaktionen punktuell zwischen zwei Koordinatensystemen übertragen werden.
Wie der Betrag der Zwangsreaktionen berechnet wird, bestimmt das zugrunde liegende konstitutive Gesetz.
Die Richtungen der Zwangsreaktion sind vom Benutzer anzugeben und bestimmen den Typ des Gelenks (z.B. Schub- / Drehgelenk usw.).
Richtungen
\( \mathbf{D}_T=\left(\mathbf{d}_{T,1},\ldots\right) \)
der Zwangskräfte des Gelenks in normierten Vektoren dargestellt im Koordinatensystem frameOfReference (standarmäßig das erste KOS).
Definiert das konstitutive Gesetz bez. der Zwangskräfte auf Beschleunigungsebene (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird)
Richtungen
\( \mathbf{D}_R=\left(\mathbf{d}_{R,1},\ldots\right) \)
der Zwangsmomente des Gelenks in normierten Vektoren dargestellt im Koordinatensystem frameOfReference (standarmäßig das erste KOS).
Definiert das konstitutive Gesetz bez. der Zwangsmomente auf Beschleunigungsebene (ausreichend für alle funktionellen Gesetze / ausreichend wenn keine Stöße im System auftreten und das System ereignisgesteuert integriert wird)
Definiert, ob die generalisierte relative Position der Rotation durch Integration der generalisierten relativen Geschwindigkeit der Rotation berechnet werden soll. Default: False
Auswahl der Winkelmessmethode (nur relevant wenn integrateGeneralizedRelativeVelocityOfRotation auf False gesetzt ist):
smallAngles: (Default) Die Winkelmessung verfolgt nach Kleinwinkelnäherung.
cardan: Die Winkelmessung erfolgt in nach "cardan" Winkeln.
Für alle Methoden werden entsprechende "Warning" Nachrichten ausgegeben welche den Gültigkeitsbereich der Methode beschreibt.
Im Zweivelsfall sollte die Winkelmessung nicht benutzt werden und integrateGeneralizedRelativeVelocityOfRotation auf True gesetzt werden.
Deaktiviert die "Warning" Nachrichten je nach Einstellung von "integrateGeneralizedRelativeVelocityOfRotation" und "angleMode". Default: False
Sollte nur aktiviert werden wenn die entsprechenden "Warnings" für den Anwendungsfall nicht relevant sind.
Definiert die Wirkrichtung der Kraftanregung(en).
Die Spalte i dieser Matrix definiert den Wirkrichtungsvektor des i-ten Eintrags der Kraftfunktion angegeben
im KOS frameOfReference (standardmäßig das zweite KOS). Um eine Skalierung der skalaren Kraft (i-ter Eintrag der Kraftfunktion)
zu umgehen, sollte jede Spalte dieser Matrix normiert sein.
Definiert die Wirkrichtung der Momentenanregung(en).
Die Spalte i dieser Matrix definiert den Wirkrichtungsvektor des i-ten Eintrags der Momentfunktion angegeben
im KOS frameOfReference (standardmäßig das zweite KOS). Um eine Skalierung des skalaren Moments (i-ter Eintrag der Momentfunktion)
zu umgehen, sollte jede Spalte dieser Matrix normiert sein.
Isotropic rotational spring damper. This class connects two frames and applies a torque which depends on the relative rotation and velocity between the two frames.
Definiert ein Feder-Dämpfer Element als Verbindung zwischen zwei Körpern. Es wird zwischen einer gerichteten Verbindung und einer Punkt-zu-Punkt-Verbindung unterschieden.
Punkt-zu-Punkt-Verbindung. Die Kraft des Feder-Dämpfer-Elements wird aus dem Abstand der verbundenen Punkte und der in diese Richtung projezierten relativen Geschwindigkeit berechnet. Der Abstand ist dabei immer positiv. Die Kraft wird ebenfalls in diese Richtung aufgebracht.
Gerichtete Verbindung. Die Kraft des Feder-Dämpfer-Elements wird aus dem in die Richtung der angegebenen Projektionsrichtung projezierten Verbindungsvektor der beiden verbundenen Punkte sowie der in diese Richtung projezierten Relativgeschwindigkeit berechnet. Die Kraft wird in der angegebenen Projektionsrichtung aufgebracht. Achtung! Durch eine falsche Wahl der Projektionsrichtung wird unter Umständen das Momentengleichgewicht nicht mehr erfüllt.
A spring damper force law. This class connects two frames and applies a force in it, which depends in the distance and relative velocity between the two frames.
Definiert die Kraftfunktion in Abhängigkeit der relativen Auslenkung der Kraftangriffspunkte
und der relativen Geschwindigkeit zwischen den Kraftangriffspunkten.
Set function for the force calculation. The first input parameter to that function is the distance relative to the unloaded length. The second input parameter to that function is the relative velocity.
The return value of that function is used as the force of the SpringDamper.
Definiert das KOS an dem die Stützkraft und das Stützmoment eingeleitet werden. Wird kein KOS angegeben, wird das Referenzsystem des ersten Körpers verwendet.
base class for all mechanical bodies with mass and generalised coordinates
author
Martin Foerg
date
2009-04-06 object and body divided (Markus Schneider)
The following part is only a test for equation and image output for the XML documentation. A not inline equation
\[
\int_a^b\sin(x)dx
+5
\]
And a inline equation
\( x_a+\cos(x) \)
. And a image
An dieser Stelle werden die Anfangslagen von zustandsbehafteten Objekten angegeben. Bei Starrkörpern muss die Länge dieses Vektors der Anzahl der angegebenen Translations- und Rotationsrichtungen entsprechen, wobei zunächst die translatorischen Lagen und danach die rotatorischen Lagen anzugeben sind.
Definiert das KOS bezüglich dessen die Bewegung (Kinematik; generalisierte Lagen) des Körpers angegeben wird.
Ist dieses Referenz-KOS ein KOS einer Gruppe (statisches KOS) so wird der Körper mit absoluten Koordinaten parametriert.
Ist das Referenz-KOS eine KOS eines anderen Körpers (bewegtes KOS),
so handelt es sich um einen Körper mit relativer Parametrierung (Baumstruktur).
Definiert einen Starrkörper.
Grundlage zur Definition aller kinematischen Zusammenhänge bei Starrkörpern sind zwei Koordinatensysteme, das frameOfReference (siehe <Object>) und das frameForKinematics. Das frameOfReference gehört entweder zu einer Gruppe und ist somit inertial fest oder es gehört zu einem anderen Körper und kann somit bewegt sein. Das frameForKinematics ist ein beliebiges körperfestes Koordinatensystem. Schließlich wird die Bewegung des Starrkörpers mittels generalisierter Koordinaten oder zeitabhängiger Funktionen als Bewegung des frameForKinematics relativ zum frameOfReference definiert.
Zur rekursiven Definition weiterer körperfester Koordinatensystem hat jeder Starrkörper automatisch ein Koordinatensystem "C" in seinem Schwerpunkt.
Definiert das KOS, dessen relative Bewegung bezüglich des frameOfReference
(siehe
Object
) sich unmittelbar aus den
generalisierten Koordinaten dieses Körpers ergibt.
Es kann sich somit entsprechend der angegebenen translatorischen und rotatorischen Freiheitsgrade
relativ gegenüber dem frameOfReference bewegen und ist zu Beginn der Simulation um die
angegebenen generalisierten Startwerte gegenüber dem frameOfReference ausgelenkt.
Definiert das KOS für den Trägheitstensor (standardmäßig das Schwerpunktkoordinatensystem "C").
optional
<generalTranslation>
Gibt die Vorschrift zur Berechnung des Translationsvektors
\( \boldsymbol{r}_q=f(\boldsymbol{q},t) \)
in Abhängigkeit der
generalisierten Lagen und der Zeit an.
Der Translationsvektor
\( \boldsymbol{r}_q \)
ist
im KOS frameOfReference dargestellt und stellt die
Relativverschiebung zwischen dem KOS frameOfReference und dem KOS frameForKinematics dar.
Wird Translation nicht angegeben, so besitzt der Körper keine translatorischen Freiheitsgrade.
Gibt die Vorschrift zur Berechnung des Translationsvektors
\( \boldsymbol{r}_q=f(t) \)
in Abhängigkeit der
generalisierten Lagen und der Zeit an.
Der Translationsvektor
\( \boldsymbol{r}_q \)
ist
im KOS frameOfReference dargestellt und stellt die
Relativverschiebung zwischen dem KOS frameOfReference und dem KOS frameForKinematics dar.
Wird Translation nicht angegeben, so besitzt der Körper keine translatorischen Freiheitsgrade.
Gibt die Vorschrift zur Berechnung des Translationsvektors
\( \boldsymbol{r}_q=f(\boldsymbol{q}) \)
in Abhängigkeit der
generalisierten Lagen und der Zeit an.
Der Translationsvektor
\( \boldsymbol{r}_q \)
ist
im KOS frameOfReference dargestellt und stellt die
Relativverschiebung zwischen dem KOS frameOfReference und dem KOS frameForKinematics dar.
Wird Translation nicht angegeben, so besitzt der Körper keine translatorischen Freiheitsgrade.
Gibt die Vorschrift zur Berechnung der Transformationsmatrix
\( \boldsymbol{A}_q=f(\boldsymbol{q},t) \)
in Abhängigkeit der
generalisierten Lagen und der Zeit an.
Die Transformationsmatrix
\( \boldsymbol{A}_q \)
stellt dabei die
Transformation vom KOS frameForKinematics in das KOS frameOfReference dar.
Wird Rotation nicht angegeben, so besitzt der Körper keine rotatorischen Freiheitsgrade.
Gibt die Vorschrift zur Berechnung der Transformationsmatrix
\( \boldsymbol{A}_q=f(t) \)
in Abhängigkeit der
generalisierten Lagen und der Zeit an.
Die Transformationsmatrix
\( \boldsymbol{A}_q \)
stellt dabei die
Transformation vom KOS frameForKinematics in das KOS frameOfReference dar.
Wird Rotation nicht angegeben, so besitzt der Körper keine rotatorischen Freiheitsgrade.
Gibt die Vorschrift zur Berechnung der Transformationsmatrix
\( \boldsymbol{A}_q=f(\boldsymbol{q}) \)
in Abhängigkeit der
generalisierten Lagen und der Zeit an.
Die Transformationsmatrix
\( \boldsymbol{A}_q \)
stellt dabei die
Transformation vom KOS frameForKinematics in das KOS frameOfReference dar.
Wird Rotation nicht angegeben, so besitzt der Körper keine rotatorischen Freiheitsgrade.
Auswahl der generalisierten Geschwindigkeiten der Rotation.
derivativeOfGeneralizedPositionOfRotation: Ableitung der generalisierten Lagekoordinaten der Rotation.
coordinatesOfAngularVelocityWrtFrameOfReference: Kartesische Koordinaten der Winkelgeschwindigkeit bzgl. des KOS frameOfReference.
coordinatesOfAngularVelocityWrtFrameForKinematics: Kartesische Koordinaten der Winkelgeschwindigkeit bzgl. des KOS frameForKinematics.
<frames>
Kontainer für lokale Koordinatensysteme dieses Körpers.
Da es sich um einen Starrkörper
handelt, ist die relative Lage dieser KOS untereinander (und auch zum KOS "C") während
der gesamten Simulation konstant.
Kontainer für lokale Kontaktkonturen dieses Körpers.
Da es sich um einen Starrkörper handelt, ist die relative Lage dieser Kontaktkonturen
untereinander (und auch zum KOS "C") während der gesamten Simulation konstant.
Definiert das MBSim KOS, mit dem das Referenz-KOS des OpenMBV Körpers zusammenfällt.
Wird dieses Element nicht angegeben, so wird das KOS "C" verwendet.
<enableOpenMBVFrameC>optional
Aktiviert die Visualisierung des Schwerpunktskoordinatensystems "C" dieses Körpers in OpenMBV.
<plotFeatureFrameC>0-unbounded
Definiert die Plotfeatures des Schwerpunktskoordinatensystems "C" dieses Körpers.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
<enableOpenMBVForce>optional
<enableOpenMBVMoment>optional
<enableOpenMBVContactPoints>optional
Aktiviert die Visualisierung von zwei OpenMBV Koordinatensystemen in den jeweiligen Kontaktpunkten zur Repräsentation der begleitenden Dreibeine
\( \left(\boldsymbol{n},\boldsymbol{t}_1,\boldsymbol{t}_2\right) \)
bestehend aus Normale und den beiden Tangenten.
Bei geschlossenem Kontakt fallen die Kontaktpunkte zusammen.
Bei offenem Kontakt liegen die Kontaktpunkte auf den Konturen und haben minimalen Abstand.
<enableOpenMBVNormalForce>optional
Wenn angegeben, wird die Kontaktkraft in Normalenrichtung durch einen OpenMBV Pfeil mit Wirkung auf die Kontur des zweiten Körpers in OpenMBV visualisiert.
<enableOpenMBVTangentialForce>optional
Wenn angegeben, wird die Reibkraft durch einen OpenMBV Pfeil mit Wirkung auf die Kontur des zweiten Körpers in OpenMBV visualisiert.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
<enableOpenMBVForce>optional
<enableOpenMBVMoment>optional
<enableOpenMBVContactPoints>optional
Aktiviert die Visualisierung von zwei OpenMBV Koordinatensystemen in den jeweiligen Kontaktpunkten zur Repräsentation der begleitenden Dreibeine
\( \left(\boldsymbol{n},\boldsymbol{t}_1,\boldsymbol{t}_2\right) \)
bestehend aus Normale und den beiden Tangenten.
Bei geschlossenem Kontakt fallen die Kontaktpunkte zusammen.
Bei offenem Kontakt liegen die Kontaktpunkte auf den Konturen und haben minimalen Abstand.
<enableOpenMBVNormalForce>optional
Wenn angegeben, wird die Kontaktkraft in Normalenrichtung durch einen OpenMBV Pfeil mit Wirkung auf die Kontur des zweiten Körpers in OpenMBV visualisiert.
<enableOpenMBVTangentialForce>optional
Wenn angegeben, wird die Reibkraft durch einen OpenMBV Pfeil mit Wirkung auf die Kontur des zweiten Körpers in OpenMBV visualisiert.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
Aktiviert die Visualisierung von zwei OpenMBV Koordinatensystemen in den jeweiligen Kontaktpunkten zur Repräsentation der begleitenden Dreibeine
\( \left(\boldsymbol{n},\boldsymbol{t}_1,\boldsymbol{t}_2\right) \)
bestehend aus Normale und den beiden Tangenten.
Bei geschlossenem Kontakt fallen die Kontaktpunkte zusammen.
Bei offenem Kontakt liegen die Kontaktpunkte auf den Konturen und haben minimalen Abstand.
Alle kartesischen Plotausgaben werden in diesem Koordinatensystemen ausgegeben. Wenn nicht angegeben wird das I-System von DynamicSystemSolver verwendet.
<enableOpenMBVWeight>optional
Wenn angegeben, wird die Gewichtskraft durch einen OpenMBV Pfeil in OpenMBV visualisiert.
<enableOpenMBVJointForce>optional
Wenn angegeben, wird die Gelenkkraft durch einen OpenMBV Pfeil in OpenMBV visualisiert.
<enableOpenMBVJointMoment>optional
Wenn angegeben, wird das Gelenkmoment durch einen OpenMBV Pfeil in OpenMBV visualisiert.
<enableOpenMBVAxisOfRotation>optional
<enableOpenMBVMomentum>optional
Wenn angegeben, wird der Impuls durch einen OpenMBV Pfeil in OpenMBV visualisiert.
<enableOpenMBVAngularMomentum>optional
Wenn angegeben, wird der Drehimpuls durch einen OpenMBV Pfeil in OpenMBV visualisiert.
Reibgesetze der Form
\( \boldsymbol{F}_R=\boldsymbol{F}_R\left(\dot{\boldsymbol{g}}_T,\left\|\boldsymbol{F}_N\right\|\right) \)
basierend auf tangentialer relativer Geschwindigkeit und Betrag der Normalkraft
Set the friction force function for use in regularisized constitutive friction laws The first input parameter to the friction force function is gd. The second input parameter to the friction force function is laN. The return value is the force vector.
Konstitutive zweiparametrige Funktion
\( \lambda=\lambda\left(g,\dot{g}\right) \)
zur Auswertung der Reaktion basierend auf relativer Distanz g und Geschwindigkeit
\( \dot{g} \)
.
Set the force function for use in regularisized constitutive laws The first input parameter to the force function is g. The second input parameter to the force function is gd. The return value is the force.
Lösen des nichtlinearen Gleichungssystems in reduzierter Form. Das differentielle System muss dazu die spezielle Struktur dq(i)/dt = u(i) für i=1,...,nq haben.
Livermore Solver for Ordinary Differential Equations. Integrator zur Lösung von Anfangswertproblemen für gewöhnliche Differentialgleichungssysteme. Das Verfahren enthält eine Schrittweitensteuerung und ist für steife und nicht-steife DGL-Systeme geeignet.
Definiert die Schanke ab welcher eine Projektion der Bindungsgleichung auf Lageebene durchgefürt wird wenn diese
Schranke überschritten ist (Positions-Drift). Wird dise überschritten wird unmittelbar danach automatisch auch
eine Projektion der Bindungsgleichungen auf Geschwindigkeitsebene durchgeführt.
Ist der Wert < 0 ist die Projektion auf Lageebene ausgeschaltet.
Definiert die Schanke ab welcher eine Projektion der Bindungsgleichung auf Geschwindigkeitsebene durchgefürt wird wenn diese
Schranke überschritten ist (Geschwindigkeits-Drift).
Ist der Wert < 0 ist die Projektion auf Geschwindigkeitsebene ausgeschaltet.
Absolute Fehlertoleranz bezogen auf die Zwangskräfte-Zustandsgrößen der Differentialgleichung.
(Bei GGL Formalismus auch für die zusätzlichen Zwangskräfte zur Stabilisierung verwendet)
Relative Fehlertoleranz bezogen auf die Zwangskräfte-Zustandsgrößen der Differentialgleichung.
(Bei GGL Formalismus auch für die zusätzlichen Zwangskräfte zur Stabilisierung verwendet)
Livermore Solver for Ordinary Differential Equations (Implicit form). Integrator zur Lösung von Anfangswertproblemen für differential-algebraische Systeme vom Index 2.
Livermore Solver for Ordinary Differential Equations (Implicit form). LSODI solves the initial-value problem for differential-algebraic systems of index 2. This integrator uses ODEPACK (http://www.netlib.org/odepack).
Implizites Runge-Kutta Verfahren der Ordnung 5 (Radau IIA) mit 'dense output'.
Das Verfahren ist für steife Differentialgleichungen bestimmt und verwendet automatische Schrittweitenbestimmung.
Lösen des nichtlinearen Gleichungssystems in reduzierter Form. Das differentielle System muss dazu die spezielle Struktur dq(i)/dt = u(i) für i=1,...,nq haben.
Faktor welcher angiebt wie häufig ein update der Jacobi-Matrix stattfinden soll. [Default: 0.001]
Bei Faktor <=0 wird in jedem Zeitschritt eine neue Jacobi-Matrix berechnet.
Bei Faktor 1-eps (1 ist ein Fehler) wird so selten wie möglich eine neue JAcobi-Matrix berechnet.
Der original RADAU5 code führt bei jedem rejected-step einen update der Jacobi-Matrix durch. [Default: true]
Dies kann mit dieser Option abgeschaltet werden. Dann wird nach einen rejecte-step nur ein Jacobi-Matrix update
durchgeführt wenn Bedingung wie bei accepted-steps (mittels jacobianRecomputation) erfüllt ist.
Implizites Runge-Kutta Verfahren (Radau IIA) mit variabler Ordnung (5,9,13) und 'dense output'.
Das Verfahren ist für steife Differentialgleichungen bestimmt und verwendet automatische Schrittweitenbestimmung.
Lösen des nichtlinearen Gleichungssystems in reduzierter Form. Das differentielle System muss dazu die spezielle Struktur dq(i)/dt = u(i) für i=1,...,nq haben.
Faktor welcher angiebt wie häufig ein update der Jacobi-Matrix stattfinden soll. [Default: 0.001]
Bei Faktor <=0 wird in jedem Zeitschritt eine neue Jacobi-Matrix berechnet.
Bei Faktor 1-eps (1 ist ein Fehler) wird so selten wie möglich eine neue JAcobi-Matrix berechnet.
Der original RADAU5 code führt bei jedem rejected-step einen update der Jacobi-Matrix durch. [Default: true]
Dies kann mit dieser Option abgeschaltet werden. Dann wird nach einen rejecte-step nur ein Jacobi-Matrix update
durchgeführt wenn Bedingung wie bei accepted-steps (mittels jacobianRecomputation) erfüllt ist.
Lösen des nichtlinearen Gleichungssystems in reduzierter Form. Das differentielle System muss dazu die spezielle Struktur dq(i)/dt = u(i) für i=1,...,nq haben.
Lösen des nichtlinearen Gleichungssystems in reduzierter Form. Das differentielle System muss dazu die spezielle Struktur dq(i)/dt = u(i) für i=1,...,nq haben.
Explizites Runge-Kutta Verfahren der Ordnung 8(5,3) mit 'dense output'.
Das Verfahren ist nur für nicht-steife Differentialgleichungen bestimmt und verwendet automatische Schrittweitenbestimmung.
Explizites Runge-Kutta Verfahren der Ordnung 5(4) mit 'dense output' der Ordnung 4.
Das Verfahren ist nur für nicht-steife Differentialgleichungen bestimmt und verwendet automatische Schrittweitenbestimmung.
Livermore Solver for Ordinary Differential Equations. Integrator zur Lösung von Anfangswertproblemen für gewöhnliche Differentialgleichungssysteme. Das Verfahren enthält eine Schrittweitensteuerung und wählt automatisch die Integrationsmethode, je nach dem ob ein steifes oder nicht-steifes DGL-System vorliegt.
Livermore Solver for Ordinary Differential Equations, with Automatic method switching for stiff and nonstiff problems. LSODA solves the initial-value problem for stiff or nonstiff systems of first-order ODE's. This integrator uses ODEPACK (http://www.netlib.org/odepack).
Livermore Solver for Ordinary Differential Equations. Integrator zur Lösung von Anfangswertproblemen für gewöhnliche Differentialgleichungssysteme. Das Verfahren enthält eine Schrittweitensteuerung und ist für steife und nicht-steife DGL-Systeme geeignet.
Livermore Solver for Ordinary Differential Equations. LSODE solves the initial-value problem for stiff or nonstiff systems of first-order ODE's. This integrator uses ODEPACK (http://www.netlib.org/odepack).
Extrapolations-Verfahren (GBS), basierend auf der 'explicit midpoint rule'.
Das Verfahren ist nur für nicht-steife Differentialgleichungen bestimmt und verwendet automatische Schrittweitenbestimmung.
Halb-explizites Verfahren nach Murua der Ordnung 5 mit 'dense output' der Ordnung 4.
Das Verfahren ist nur für nicht-steife Differentialgleichungen bestimmt und verwendet automatische Schrittweitenbestimmung.
Gibt an, ob zu Beginn der Integration eine Projektion auf die Index-3-Nebenbedingungen (Nebenbedingungen auf Lageebene) durchgeführt werden soll.
Wenn initialProjection auf DSS eingeschaltet ist, dann ist dies normalerweiße nicht notwendig da ansonsten zwei inertiale Projektionen durchgeführt werden.
Gibt an, nach wievielen Schritten die nächste Projektion auf die Index-3-Nebenbedingungen (Nebenbedingungen auf Lageebene) durchgeführt werden soll. Bei Angabe von 0 wird keine Projektion durchgeführt.
Um eine Projektion je nach Fehler durchzuführen ist hier 0 zu verwenden und stattdessen toleranceForPositionConstraints zu setzen.
Gibt an, ob nach jedem Schritt eine Projektion auf die Index-1-Nebenbedingungen (Nebenbedingungen auf Beschleunigungsebene) durchgeführt werden soll.
Um eine Projektion je nach Fehler durchzuführen ist hier 0 zu verwenden und stattdessen toleranceForVelocityConstraints zu setzen.
Half-explicit time-stepping integrator of first or higer order with StepSize Control (SSC) important options / settings :
a) setMaxOrder(int order, int method=0) order: maximum order of integration scheme 1 to 3 with SSC by extrapolation (method=0) (order=4 without SSC) 1 to 4 with embedded SSC (1=1(2), ... 4=4(5)) (method=1 or 2) method: method used for error estimation and step size control 0: step size control by extrapolation (steps wit dt and dt/2 are compared) DEFAULT 1: embedded method (compare maxOrder maxOrder+1); proceed with maxOrder (recommended) 2: embedded method with local extrapolation (integration is continued with maxOrder+1)
b) setFlagErrorTest(int Flag, bool alwaysValid= true) Flag: for scaling variables for the purpose of error estimation
0: include velocities u for error test 2: scale velocities u with stepsize for error test 3: exclude velocities u for error test alwaysValid: true : u is scaled resp. exluded during smooth and nonsmooth steps alwaysValid: false : u is scaled resp. exluded only during nonsmooth steps
c) deactivateSSC(bool flag=false) : maximum order: 1 to 4
d) setGapControl(bool FlagGapControl=true, int GapControlStrategy=0)
FlagGapControl activate / deactivate gap control GapControlStrategy choose strategy for Gap Control (1:maximal Stepsize to 4:minimal Penetration) 1: uses biggest root (maximal dt) 2: score for all roots are evaluated 3: gapTol is used 4: uses smallest root (minimal penetration) 0: gap control deactivated
set method extrapolation: SSC by extrapolation (recommended!!); embedded,embeddedHigherOrder: embedded SSC; proceed with maxOrder [1] (recommended if you don't want to use 0) or with maxOrder+1 [2]
Flag zur Steuerung, ob für die Plotausgabe die vom Integrator angefahrenen Zeitpunkte verwendet werden oder ob auf die vorgegebenen Plotzeitpunkte interpoliert werden soll (default: false)
Set Flag to optimise dt for minmal penetration of unilateral links; choose strategy for Gap Control (1:maximal Stepsize to 4:minimal Penetration) 1: uses biggest root (maximal dt) 2: score for all roots are evaluated 3: gapTol is used 4: uses smallest root (minimal penetration) 0: gap control deactivated with statistic calculations -1: gap control deactivated without statistic calculations
Definiert eine Pfadangabe zu einem <Constraint> an beliebiger
Position im Modell. Gültige Werte sind z.B. ../../Group[X]/Group[X]/Constraint[Y], wobei X und
Y geweils einen Element-Namen darstellt. Der Pfadteil ..
kann dabei beliebig oft auftreten und wechselt eine Hierarchieebene nach oben. Der Pfadteil Group
kann beliebig oft oder nicht auftreten und wechselt eine Hierarchieebene tiefer in die Group mit dem
Element-Namen X. Als letzter Pfadteil wird das Constraint Y ausgewählt. Alternativ kann die
Pfadangabe anstatt mit .. mit / beginnen, in diesem Fall beginnt die Referenzierung beim
obersten Element (DynamicSystemSolver) des Modells.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.
Definiert eine Pfadangabe zu einem
<Contact>
an beliebiger
Position im Modell. Gültige Werte sind z.B. ../../Group[X]/Group[X]/Contact[Y], wobei X und
Y geweils einen Element-Namen darstellt. Der Pfadteil ..
kann dabei beliebig oft auftreten und wechselt eine Hierarchieebene nach oben. Der Pfadteil Group kann
beliebig oft oder nicht auftreten und wechselt eine Hierarchieebene tiefer in die Group mit dem
Element-Namen X. Als letzter Pfadteil wird der Contact Y ausgewählt. Alternativ kann die
Pfadangabe anstatt mit .. mit / beginnen, in diesem Fall beginnt die Referenzierung beim
obersten Element (
DynamicSystemSolver
) des Modells.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.
Definiert eine Pfadangabe zu einer
<Contour>
an beliebiger
Position im Modell. Gültige Werte sind z.B. ../../Group[X]/Group[X]/Object[Y]/Contour[Z], wobei X,
Y und Z geweils einen Element-Namen darstellt. Der Pfadteil
.. kann dabei beliebig oft auftreten und wechselt eine Hierarchieebene nach oben. Der Pfadteil
Group kann beliebig oft oder nicht auftreten und wechselt eine Hierarchieebene tiefer in die
Group mit dem Element-Namen X. Als letzter Pfadteil kann die Contour Z des
Object's Y ausgewählt werden oder die Contour Z der Group wenn die Angabe von
Object weggelassen wird. Alternativ kann die Pfadangabe anstatt mit .. mit / beginnen,
in diesem Fall beginnt die Referenzierung beim obersten Element
(
DynamicSystemSolver
) des Modells.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.
Definiert eine Pfadangabe zu einem
<Frame>
im aktuellen Kontext.
Gültige Werte sind Frame[X], wobei X den Element-Namen des
zu referenzierenden Frames darstellt.
Definiert eine Pfadangabe zu einem
<Frame>
an beliebiger
Position im Modell. Gültige Werte sind z.B. ../../Group[X]/Group[X]/Object[Y]/Frame[Z], wobei X,
Y und Z geweils einen Element-Namen darstellt. Der Pfadteil
.. kann dabei beliebig oft auftreten und wechselt eine Hierarchieebene nach oben. Der Pfadteil
Group kann beliebig oft oder nicht auftreten und wechselt eine Hierarchieebene tiefer in die
Group mit dem Element-Namen X. Als letzter Pfadteil kann der Frame Z des
Object's Y ausgewählt werden oder der Frame Z der Group wenn die Angabe von
Object weggelassen wird. Alternativ kann die Pfadangabe anstatt mit .. mit / beginnen,
in diesem Fall beginnt die Referenzierung beim obersten Element
(
DynamicSystemSolver
) des Modells.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.
Definiert eine Pfadangabe zu einem
<Link>
an beliebiger
Position im Modell. Gültige Werte sind z.B. ../../Group[X]/Group[X]/Link[Y], wobei X und
Y geweils einen Element-Namen darstellt. Der Pfadteil ..
kann dabei beliebig oft auftreten und wechselt eine Hierarchieebene nach oben. Der Pfadteil Group
kann beliebig oft oder nicht auftreten und wechselt eine Hierarchieebene tiefer in die Group mit dem
Element-Namen X. Als letzter Pfadteil wird das Link Y ausgewählt. Alternativ kann die
Pfadangabe anstatt mit .. mit / beginnen, in diesem Fall beginnt die Referenzierung beim
obersten Element (
DynamicSystemSolver
) des Modells.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.
Definiert eine Pfadangabe zu einem
<Object>
an beliebiger
Position im Modell. Gültige Werte sind z.B. ../../Group[X]/Group[X]/Object[Y], wobei X und
Y geweils einen Element-Namen darstellt. Der Pfadteil ..
kann dabei beliebig oft auftreten und wechselt eine Hierarchieebene nach oben. Der Pfadteil Group
kann beliebig oft oder nicht auftreten und wechselt eine Hierarchieebene tiefer in die Group mit dem
Element-Namen X. Als letzter Pfadteil wird das Object Y ausgewählt. Alternativ kann die
Pfadangabe anstatt mit .. mit / beginnen, in diesem Fall beginnt die Referenzierung beim
obersten Element (
DynamicSystemSolver
) des Modells.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.
Definiert eine Pfadangabe zu einem
<Frame>
des Vorgängers
des aktuellen Kontext (Vorgänger in der Hierarchieebene). Gültige Werte sind ../Frame[X], wobei X den
Element-Namen des Frames des Vorgangers darstellt.
Die Hierarchieebenen entsprechend prinzipiell den Ebenen von XML. Als neue Hierarchieebenen zählen jedoch NUR
Elemente die mit einem Großbuchstaben beginnen.