WeStatiX Dokumentation DE

  1. Home
  2. Docs
  3. WeStatiX Dokumentation DE
  4. Beispiele und Tutorials
  5. Bogenbrücke aus Stahlbeton

Bogenbrücke aus Stahlbeton

Hat Ihr Modell eine komplexe Geometrie? Wir möchten Ihnen zum Beispiel zeigen, wie wir das Modell einer Stahlbetonbogenbrücke nach dem Vorbild der Bisantis-Brücke gebaut haben.

Beachten Sie, dass der Start der Simulation dieses Modells einige fortgeschrittene WeStatiX-Funktionen erfordert, die möglicherweise nicht im “Free” Plan enthalten sind. Sie können jedoch den nachstehenden Hinweisen folgen, um ein einfacheres Modell zu erstellen oder zu einem anderen Plan wechseln.

bisantis bridge reinforced concrete

Anstatt die grafische Benutzeroberfläche von WeStatiX zu verwenden, können Sie auch eine JSON-Datei schreiben und importieren.

Im Folgenden erläutern wir kurz, wie eine JSON-Eingabedatei strukturiert ist und wie Sie die Geometrie, Eigenschaften, Auflager und Lasten Ihres Finite-Elemente-Modells definieren.


Struktur der JSON-Datei

Alles, was Sie tun müssen, ist, Strings zu schreiben, die den untenstehenden ähnlich sind.

Jede Datei startet mit:

   {
  "apiVersion": "0.0.1",

Definieren Sie dann die Knoten. Die Informationen, die Sie angeben müssen, sind natürlich die gleichen, die Sie beim Anlegen über die grafische Oberfläche angeben müssen. Weisen Sie dann einen Namen und die x-, y- und z-Koordinaten zu. Siehe unten für ein Beispiel

  "nodes": [
    {
      "name": "AR1",
      "x": -7,
      "y": -120,
      "z": 0
    },
    {
      .....
    },
    {
      "name": "AR5_O",
      "x": 4,
      "y": 132,
      "z": 0
    }
  ],

Beachten Sie, dass Knoten und Elemente von 0 an nummeriert werden, und nicht wie in der grafischen Benutzeroberfläche von 1 an!

Wenn also i die Zahl ist, die den Knoten hier identifiziert, und j die Zahl ist, die denselben Knoten in der grafischen Oberfläche identifiziert, sind die beiden durch die Beziehung i = j – 1 verbunden.

Sie können Members definieren, indem Sie Anfangs- und Endknoten angeben.

"members": [
    {
      "name": "P1",
      "startNode": 23,
      "endNode": 135
    },
    {
      ....
    },
    {
      "name": "AR5_O",
      "startNode": 211,
      "endNode": 194
    }
  ],

Um Schalenelemente zu erstellen, schreiben Sie die Knoten, die sie definieren, der Reihe nach auf.

"shells": [
    {
      "name": "AR_11",
      "nodes": [
        0,
        1,
        22,
        21
      ]
    },
    {
      ...
    },
    {
      "name": "D_5",
      "nodes": [
        199,
        198,
        202,
        203
      ]
    }
  ],

Wenn Sie die JSON-Datei zu diesem Zeitpunkt importieren, erscheint die Geometrie, wenn Sie keine Fehler gemacht haben, im Viewport 3D.

Natürlich können Sie auch Materialien und Querschnitte definieren! Um jedoch der internen Kodierung von WeStatiX zu entsprechen, kann es für Sie bequemer sein, diese über die grafische Benutzeroberfläche zu definieren.

"materials": [
    {
      "name": "C35_45",
      "materialType": "Standard",
      "materialId": 300048
    }
  ],
  "sections": [
    {
      "name": "AR",
      "sectionType": "Rectangle",
      "material": 0,
      "width": 6,
      "height": 3,
      "holeWidth": 3,
      "holeHeight": 1,
      "fillet": 0
    },
    {
      "name": "P",
      "sectionType": "Rectangle",
      "material": 0,
      "width": 1,
      "height": 2,
      "holeWidth": 0,
      "holeHeight": 0,
      "fillet": 0
    }
  ],

Definieren Sie jetzt die Knoten-Randbedingungen.

Denken Sie daran, dass, wenn i die Zahl ist, die den Knoten hier identifiziert, und j die Zahl ist, die denselben Knoten in der grafischen Oberfläche identifiziert, die beiden durch die Beziehung i = j – 1 verbunden sind.

  "nodeSupports": [
    {
      "name": "FFF0",
      "node": 0,
      "dx": "F",
      "dy": "F",
      "dz": "F",
      "rx": "F",
      "ry": "F",
      "rz": "F"
    },
    {
      ....
    },
    {
      "name": "FFF211",
      "node": 211,
      "dx": "F",
      "dy": "F",
      "dz": "F",
      "rx": "F",
      "ry": "F",
      "rz": "F"
    }
  ],

Definition der Eigenschaften von Members. Zwischen den eckigen Klammern, die auf “Members” folgen, können Sie die Elemente auflisten, denen Sie die Eigenschaft zuweisen möchten.

Denken Sie daran, dass, wenn i die Zahl ist, die das Element hier identifiziert, und j die Zahl ist, die dasselbe Element in der grafischen Oberfläche identifiziert, die beiden durch die Beziehung i = j – 1 verbunden sind.

"memberProperties": [
    {
      "name": "AR",
      "members": [
        0,
        1,
        .,
        .,
        .,
        25
      ],
      "section": 1,
      "rotation": 0,
      "startJointDx": "F",
      "startJointDy": "F",
      "startJointDz": "F",
      "startJointDrx": "F",
      "startJointDry": "F",
      "startJointDrz": "F",
      "endJointDx": "F",
      "endJointDy": "F",
      "endJointDz": "F",
      "endJointDrx": "F",
      "endJointDry": "F",
      "endJointDrz": "F"
    }
  ],

Definition der Shell-Eigenschaften

  "shellProperties": [
    {
      "name": "DECK",
      "shells": [
        80,
        .,
        .,
        .,
        139
      ],
      "material": 0,
      "thickness": 2
    },
    {
      "name": "AR",
      "shells": [
        0,
        1,
        .,
        .,
        .,
        79
      ],
      "material": 0,
      "thickness": 3
    }
  ],

Auch bei Lasten müssen Sie nur das Element, auf das sie sich beziehen, und die verschiedenen Komponenten angeben.

"gravity": {
    "name": "",
    "group": "default",
    "gx": 0,
    "gy": 0,
    "gz": -9.80665
  },
  "shellPressures": [
    {
      "name": "traffic 9",
      "group": "q_traffic",
      "shell": 80,
      "reference": "Global",
      "px": 0,
      "py": 0,
      "pz": -9,
      "mx": 0,
      "my": 0,
      "mz": 0
    },

   ....
    {
      "name": "traffic 9",
      "group": "q_traffic",
      "shell": 103,
      "reference": "Global",
      "px": 0,
      "py": 0,
      "pz": -9,
      "mx": 0,
      "my": 0,
      "mz": 0
    },
    {
      "name": "traffic 2.5",
      "group": "q_traffic",
      "shell": 104,
      "reference": "Global",
      "px": 0,
      "py": 0,
      "pz": -2.5,
      "mx": 0,
      "my": 0,
      "mz": 0
    },
    ....
    {
      "name": "traffic 2.5",
      "group": "q_traffic",
      "shell": 139,
      "reference": "Global",
      "px": 0,
      "py": 0,
      "pz": -2.5,
      "mx": 0,
      "my": 0,
      "mz": 0
    }
  ]
}
}

Sind Sie fertig? Importieren Sie die JSON-Datei (Import) und führen Sie die Analyse durch!