Ich denke, der folgende Beitrag ist besser für das Ende als Programm, also beziehen Sie sich bitte darauf.
Ich habe ein lineares elastisches zweidimensionales FEM-Spannungsanalyseprogramm von Python erstellt.
Das Element ist ein isoparametrisches Element mit 4 Knoten pro Element, und jedes Element hat 4 Gauß-Integrationspunkte.
Die Lasten, die gehandhabt werden können, sind wie folgt.
$ \ {\ boldsymbol {\ epsilon_0} \} $ ist eine Verzerrung aufgrund einer Temperaturänderung
$ \ {\ boldsymbol {\ epsilon} \} $ ist die Verzerrung eines beliebigen Punktes im Element
$ \ {\ boldsymbol {v} \} $ ist die Verschiebung eines beliebigen Punkts im Element
Da Python ein Interpreter ist, war ich besorgt, ob es in Bezug auf die Berechnungsgeschwindigkeit nützlich wäre, aber die Berechnungszeit im Modell mit der Anzahl der Knoten: 3417, der Anzahl der Elemente: 3257 und dem Freiheitsgrad: 6834 beträgt 7,9 Sekunden, was eine verwendbare Ebene ist. Es wurde das bestätigt.
Das Programm ist lang, daher habe ich einen Link zu dem eingefügt, was ich in Gist eingefügt habe. Darüber hinaus werden beim Konturzeichnen die Elemente je nach Spannungsniveau einfach in verschiedenen Farben gemalt. Für meinen Zweck ist es nicht erforderlich, es separat einzufügen und eine Konturlinie zu zeichnen.
npoin nele nsec npfix nlod NSTR #Grundbetrag
t E po alpha gamma gkh gkv #Materialeigenschaft
..... (1~nsec) .....
node1 node2 node3 node4 isec #Element-Knotenbeziehung, Materialeigenschaftsnummer
..... (1~nele) .....
x y deltaT #Knotenkoordinaten, Änderungen der Knotentemperatur
..... (1~npoin) .....
node kox koy rdisx rdisy #Verschiebungsbeschränkungsbedingung
..... (1~npfix) .....
node fx fy #Äußere Kraft
..... (1~nlod) .....
npoin, nele, nsec td> | Anzahl der Knoten, Anzahl der Elemente, Anzahl der Materialeigenschaften td> tr> |
npfix, nlod td> | Anzahl der Rückhalteknoten, Anzahl der Ladeknoten td> tr> |
NSTR td> | Spannungszustand (ebene Dehnung: 0, ebene Spannung: 1) td> tr> |
t, E, po, alpha td> | Plattendicke, Elastizitätskoeffizient, Poisson-Verhältnis, linearer Ausdehnungskoeffizient td> tr> |
gamma, gkh, gkv td> | Volumenvolumeneinheit, horizontale und vertikale Beschleunigung (Verhältnis von g) td> tr> |
x, y, Delta T td> | Knoten x-Koordinate, Knoten y-Koordinate, Knotentemperaturänderung td> tr> |
Knoten, kox, koy td> | Beschränken Sie die Knotennummer, das Vorhandensein / Fehlen von Einschränkungen in x- und y-Richtung (Einschränkung: 1, Freiheit: 0) td> tr> |
rdisx, rdisy td> | Verschiebung in x- und y-Richtung (geben Sie 0 ein, auch wenn dies nicht eingeschränkt ist) td> tr> |
Knoten, fx, fy td> | Knotennummer laden, Last in x-Richtung, Last in y-Richtung td> tr> |
npoin nele nsec npfix nlod NSTR
4 1 1 2 2 1
sec t E po alpha gamma gkh gkv
1 1.0000000e+00 1.0000000e+03 0.0000000e+00 1.0000000e-05 2.3000000e+00 0.000 0.000
node x y fx fy deltaT kox koy
1 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00 1 1
2 1.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00 0 1
3 1.0000000e+00 1.0000000e+00 0.0000000e+00 1.0000000e+01 0.0000000e+00 0 0
4 0.0000000e+00 1.0000000e+00 0.0000000e+00 1.0000000e+01 0.0000000e+00 0 0
node kox koy rdis_x rdis_y
1 1 1 0.0000000e+00 0.0000000e+00
2 0 1 0.0000000e+00 0.0000000e+00
elem i j k l sec
1 1 2 3 4 1
node dis-x dis-y
1 0.0000000e+00 0.0000000e+00
2 8.8817842e-19 0.0000000e+00
3 1.7763568e-18 2.0000000e-02
4 4.1448326e-18 2.0000000e-02
elem sig_x sig_y tau_xy p1 p2 ang
1 -7.4014868e-16 2.0000000e+01 1.1333527e-16 2.0000000e+01 0.0000000e+00 9.0000000e+01
n=8 time=0.044 sec
Knoten, dis-x, dis-y td> | Knotennummer, Verschiebung in x-Richtung, Verschiebung in y-Richtung td> tr> |
elme, sig_x, sig_y, tau_xy td> | Elementnummer, direkte Spannung in x-Richtung, direkte Spannung in y-Richtung, Scherspannung td> tr> |
p1, p2, ang td> | Erste Hauptspannung, zweite Hauptspannung, Richtung der ersten Hauptspannung td> tr> |
n, Zeit td> | Gesamtfreiheit, Berechnungszeit td> tr> |
das ist alles
Recommended Posts