Locations
Wie Sie Dr.Q auf eine Region Ihres Bauteils zeigen lassen: Flächen, einen Körper oder einen Raumbereich.
Eine Location ist die Art, wie Sie Dr.Q sagen, auf welche Region eines Bauteils etwas wirkt: eine Menge von Flächen, ein Volumen oder ein Raumbereich. Sie beantwortet die Frage "wo wirkt das?". Sie hängen an jede Randbedingung eine Location (wo eine Kraft, ein Lager, ein Druck oder ein Moment wirkt), und Sie können damit auch eine Konvergenzstudie auf die Region einschränken, die Sie interessiert.
Intern löst sich jede Location gleich auf: gegen das tatsächliche Netz, in eine Menge von Knoten (und, für Flächen-Operationen, Flächen). Sie fassen die Knoten nie selbst an, Sie beschreiben die Region geometrisch und Dr.Q erledigt die Zuordnung. Deshalb kann eine Location auch leer zurückkommen, siehe Location-Probleme.
Zwei Arten, eine Location anzugeben
Geometriebasierte Locations verweisen auf die CAD-Datei und ihre Flächen- oder Körper-IDs:
| So schreiben Sie es | Was es auswählt |
|---|---|
Location(file) | die gesamte Außenfläche des Bauteils |
Location(file, surfaces={1, 4}) | nur diese CAD-Flächen-IDs |
Location.body(file, [0]) | einen ganzen Körper über seine Region-ID (ein Volumen) |
Location.cavity(known_internal, boundary) | einen inneren Hohlraum: ein Startpunkt darin plus die Flächen, die ihn abschließen |
Raumbasierte Locations beschreiben eine Form in Koordinaten, unabhängig von der CAD-Kennzeichnung:
| So schreiben Sie es | Was es auswählt |
|---|---|
Location.sphere(center, radius, surface_only=False) | alles innerhalb einer Kugel (oder nur deren Oberflächenknoten) |
Location.box(center, dimensions, x_direction, y_direction, surface_only=False) | eine orientierte Box: ein Ursprung, volle Abmessungen und zwei Richtungen, die ihre Drehung festlegen |
Location.everywhere() wählt das ganze Modell. (Bei einer Konvergenzstudie bedeutet "keine Location" bereits überall, everywhere() brauchen Sie also selten explizit.)
Ein paar Details, die man kennen sollte:
- Box-Abmessungen sind volle Ausdehnungen, keine Halbweiten, und die beiden Richtungsvektoren dürfen nicht parallel sein: Sie definieren ein rechtshändiges System (x entlang
x_direction, y senkrecht dazu in der Ebene). - Alle Koordinaten-Eingaben sind physikalische Größen (Distanzvektoren mit Einheiten), keine bloßen Zahlen, im Sinne von Dr.Qs typisierter Einheiten-Philosophie.
surface_onlylässt eine Sphere oder Box nur die Oberflächenknoten darin erfassen statt das volle Volumen. Das ist wichtig, wenn die Region eine Flächenlast oder ein Flächenlager trägt.
Wofür eine Location verwendet wird
- Randbedingungen. Jede Randbedingung (Kraft, Verschiebung/Lager, Druck, Moment, Temperatur) trägt eine Location, die sagt, wo sie wirkt. Flächen-Randbedingungen (ein Druck, ein Normal-Lager) brauchen eine Location, die sich tatsächlich zu einer Fläche auflöst, daher werden
everywhere, ein ganzer Körper oder eine Voll-Volumen-Sphere/Box dort abgelehnt. Nutzen Sie eine Flächenauswahl odersurface_only=True. - Einschränken einer Konvergenzstudie. Sie können einer Frage eine Location geben, damit Dr.Q Genauigkeit und Ergebnisse nur in dieser Region misst und aggregiert, statt Konvergenz über das ganze Bauteil zu verfolgen.
Die Hauptachse
Eine Location kann auch ihre Hauptachse liefern: einen Einheitsvektor entlang der dominanten geometrischen Achse der ausgewählten Flächen (die Normale einer ebenen Fläche oder die Achse einer gekrümmten bzw. ganzen Körperoberfläche). Zwei Einschränkungen:
- Sie ist nur für flächen- und körperbasierte Auswahlen verfügbar. Eine Cavity, Sphere, Box oder
everywherehat keine einzelne Achse und löst einen Fehler aus, siehe Location-Probleme. - Das Ergebnis ist vorzeichen-mehrdeutig: Es ist eine Geradenrichtung (aus einem Eigenvektor des Trägheitstensors), keine nach außen zeigende Normale.
Um eine Randbedingung auszurichten, nutzen Sie bevorzugt eine AxisSpecification, statt die Achse direkt von der Location abzulesen.