abapys.boden

boden.py   v2.1 (2023-02)

 
Functions
       
Boden(modell, name, bodentiefe, voidhoehe, bodenbereich, gittergroessen, gitter_boden_vertikal, schichten, schichtmaterial, restmaterial, extrasets=False, netz=True, euler=True, xypartition=[True, True], partition_durchziehen=False, viertel=4, rotationsprofilpunkte=None)
Erzeuge einen Untergrund name im uebergebenen modell. Die folgende Skizze gibt einen
Ueberblick ueber die verwendeten geometrischen Groessen und Bestandteile intern verwendeter
Bezeichnungen (bspw. fuer Sets), wobei in der Darstellung alle bodenbereiche als rund angenommen
werden. Gibt [part<name>, inst<name>] zurueck.
 
       bodenbereich[0]
         ("Aussen")
    _|________________|_
     |                |
     | bodenbereich[1:-1]
     | ("Uebergaenge")|
     | _|__________|_ |
     |  |          |  |
     .  .          .  .
     .  .          .  .
     | bodenbereich[-1]
     |  | ("Innen")|  |
     |  | _|____|_ |  |
     |  |  |    |  |  |
     |                |
         ..------..
       .. ..----.. .. 
      /  /  .--.  \  \    
     |  |  (    )  |  |   ___|_
     |\ |\ |'--'| /| /|      |
     | '+ '+----+' +' |      |
     |  |''+----+''|  |      |
     |  |  |    |  |  |      | voidhoehe (nur bei euler=True)
     |  |..+----+..|  |      |
     | .+ .+----+. +. |      |
     |/ |/ |.--.| \| \|      |
     |  |  (    )  |  |   ___|__________________|_
     |\ |\ |'--'| /| /|      |                  |
     | '+ '+----+' +' |      |                  |
     |  |''+----+''|  |      |                  |
     |  |  |    |  |  |      | schichten[-1]    |
     |  |..+----+..|  |      | ("Schichten")    |
     | .+ .+----+. +. |      |                  |
     |/ |/ |.--.| \| \|      |                  |
     |  |  (    )  |  |   ___|_                 | bodentiefe
     |\ |\ |'--'| /| /|      |                  |
     | '+ '+----+' +' |      |                  |
     |  |''+----+''|  |      |                  |
     |  |  |    |  |  |      | ("Unten")        |
     |  |..+----+..|  |      |                  |
     | .+ .+----+. +. |      |                  |
     |/ |/ |.--.| \| \|      |                  |
     |  |  (    )  |  |   ___|__________________|_
      \  \  '--'  /  /       |                  |
       '' ''----'' ''
         ''------''
 
Der Vektor bodenbereich besteht entweder aus Eintraegen mit einem Element (Radius fuer runde
Geometrie/Partition) oder zwei Elementen (halbe Kantenlaenge fuer rechteckige Geometrie oder
Partition). Zur Vernetzung werden entsprechend viele Eintraege wie in schichten fuer
gittergroessen benoetigt. Dabei kann entweder ein Wert gegeben werden (konstante Gittergroesse)
oder zwei (linear veraendernde Gittergroesse). gitter_boden_vertikal gibt die vertikale
Gitterfeinheit fuer den Schichtenbereich und das Void an. Fuer jeden Eintrag in schichten muss
auch ein Material in schichtmaterial definiert sein. Zusaetzlich ist ein restmaterial, bspw. fuer
den Bereich unterhalb der Schichten, anzugeben. Optional koennen extrasets erstellt werden.
Optional kann der Boden als euler-Koerper oder Lagrange-Loerper ohne void-Bereich) erstellt
werden. Partitionen werden mit einer Standardpartitionierung in x/y-Richtung erzeugt. Das
Verhalten kann mit xypartition explizit deaktiviert werden. Optional kann nur Viertel- oder
Halbmodell mit dem Parameter viertel erzeugt werden (nur die Werte 1,2 und 4 werden
unterstuetzt). Falls nur ein halbes/viertel Modell erzeugt wird, werden Partitionen in der
Schnittebene nicht erzeugt (unabhaengig von den Angaben in xypartition).
Rechteckige Partitionen ziehen sich mit partition_durchziehen=True durch das komplette Modell,
standardmaessig aber nur bis zur naechstgroesseren Partition (ggfs. mit Verbindungen).
 
Zusaetzlich erlaubt die Uebergabe von rotationsprofilpunkte (x-y-Punktkoordinaten) die Erstellung
eines 3D-Profils auf Basis der Zeichnung (aus den Punkten) und einer Rotation um die vertikale
Achse der Zeichnung (experimentell).
BodenmaterialUndSectionErstellen(modell, verwendeteMaterialien, verfuegbareMaterialien, userroutine='', numDepVar=0, euler=True)
Erstelle im modell je nach euler eine EulerianSection oder mehrere HomogeneousSolidSections
mit allen verwendeteMaterialien. Die Abfolge der Materialschichten wird mit der Reihenfolge in
verfuegbareMaterialien festgelegt. Falls ein Stoffgesetz eine Userroutine benoetigt, muss die
Bezeichnung userroutine und die Anzahl der Rueckgabevariablen numDepVar uebergeben werden.
Gibt [benoetigtUserroutine, verwendeteBodenwerte] zurueck.
 
Jeder Eintrag von verfuegbareMaterialien enthaelt:
   [abqbodenname, dbbodenname, <optional: dbbodenbez,> saettigung, verdichtungsgrad, stoffgesetz]
BodenspannungDirektZuweisen(modell, bodenname, nullspannung, voidhoehe, schichten, bodentiefe, bodendichten, k0Werte)
Erzeuge im modell fuer den Bodenkoerper bodenname eine Bodenspannungsverteilung (in z-Richtung
mit GOK bei z=0). Nutze dazu eine konstante Vorbelastung nullspannung fuer den Voidbereich der
Hoehe voidhoehe. Fuer jede Schichttiefe in schichten bis bodentiefe werden die uebergebenen Werte
aus bodendichten und k0Werte direkt zugewiesen.
BodenspannungErstellen(modell, bodenname, nullspannung, voidhoehe, schichten, bodentiefe, materialschichten, verwendeteBodenwerte, verwendeteMaterialien, verbose=False)
Erzeuge im modell fuer den Bodenkoerper bodenname eine Bodenspannungsverteilung (in z-Richtung
mit GOK bei z=0). Nutze dazu eine konstante Vorbelastung nullspannung fuer den Voidbereich der
Hoehe voidhoehe. Fuer jede Schicht der uebergebenen schichten bis bodentiefe werden ueber die
Bezeichnungen in materialschichten die verwendeteBodenwerte fuer verwendeteMaterialien
zugewiesen. Optional kann eine Infoausgabe mit verbose=True erstellt werden.