Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  PYTHON SCRIPTING

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  PYTHON SCRIPTING (1608 mal gelesen)
Stuttgarter87
Mitglied
Student

Sehen Sie sich das Profil von Stuttgarter87 an!   Senden Sie eine Private Message an Stuttgarter87  Schreiben Sie einen Gästebucheintrag für Stuttgarter87

Beiträge: 3
Registriert: 07.04.2014

ABAQUS

erstellt am: 07. Apr. 2014 08:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute!

Vorab ich bin neu hier und auch ein neuling was Python betrifft, seid bitte nachsichtig wenn ich nicht die schlausten Fragen stelle 

Meine Problem ist folgendes: Ich habe ein Skript für eine Finite Elemet Analyse eines Fachwerks erhalten, dass ich mittels ABAQUS SCRIPTING ablaufen lassen kann und es funktioniert auch alles so wie gewünscht, nur glaube ich dass bestimmte Zeilen bzw Befehle anders formuliert werden könnte (siehe unten)

x=(Xcoordin[3]+Xcoordin[4])/2
y=(Ycoordin[3]+Ycoordin[4])/2
myEdgekey=myWire.edges.getClosest(coordinates=((x,y,0),))
myEdgeinfo=myEdgekey[0]
myEdge=myEdgeinfo[0]
h=myEdge.index
trusshalfSet=myWire.Set(name='Stabhalbset', edges=myEdges[h:h+1])

myWire.SectionAssignment(region=trusshalfSet, sectionName='Stabhalb-section')

Hier soll ein Stab ausgewählt werden und dann diesem eine Section zugewiesen werden. Nur wird der ausgewählte Stab (myEdgekey) dann erneut deklariert mit (-info) und dann im Set "edges" auf den index "h" geschoben.
Ich dachte mir dieser Umweg wäre unnötig und ich könnte bei der Sectionzuweisung direkt...

myWire.SectionAssignment(region=myEdgekey, sectionName='Stabhalb-section')

... eingeben.
Jedoch mag das Programm dies nicht.
Meine Frage: gibt es hier eine bessere Methode einem einzelnen Stab im Set "edges" gesondert eine Section zuzuweisen? Das selbe Problem habe ich beim setzen der Randbedinungen, auch hier wird ein Umweg über eine Indizierung gemacht, statt direkt die Punkte für die jeweilige RB einzusetzen. Meine Befürchtung ist, dass das Programm für "region=" nicht jeden Wert bzw Formal nimmt.


Ich hoffe, dass ich mein Problem erklären konnte und mir jmd behilflich sein kann.

Viele Grüße aus Stuttgart!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FEM User 2011
Mitglied



Sehen Sie sich das Profil von FEM User 2011 an!   Senden Sie eine Private Message an FEM User 2011  Schreiben Sie einen Gästebucheintrag für FEM User 2011

Beiträge: 25
Registriert: 01.12.2011

erstellt am: 07. Apr. 2014 14:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stuttgarter87 10 Unities + Antwort hilfreich

Hallo Stuttgarter87,

hier ist ein Code-Ausschnitt aus "Python scripts for Abaqus" von Gautam M. Puri. Die Koordinaten repräsentieren den Mittelpunkt der Stäbe/Balken.

# ---------------------------------------------------------------------------------------
# Create a section and assign the truss to it
import section

trussSection = trussModel.TrussSection(name='Truss Section', material ='AISI 1005 Steel', area=3.14E-4)

edges_for_section_assignment = trussPart.edges.findAt(((1.0, 0.0, 0.0), ),
  ((3.0, 0.0, 0.0), ),
  ((5.0, 0.0, 0.0), ),
  ((1.0, -1.5, 0.0), ),
  ((3.0, -1.5, 0.0), ),
  ((1.0, -0.75, 0.0), ),
  ((3.0, -0.75, 0.0), ),
  ((5.0, -0.75, 0.0), ),
  ((2.0, -0.75, 0.0), ),
  ((4.0, -0.75, 0.0), ))

truss_region = regionToolset.Region(edges=edges_for_section_assignment)
trussPart.SectionAssignment(region=truss_region, sectionName='Truss Section')

Ich hoffe es hilft Dir weiter.

MfG

FEM User 2011

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stuttgarter87
Mitglied
Student

Sehen Sie sich das Profil von Stuttgarter87 an!   Senden Sie eine Private Message an Stuttgarter87  Schreiben Sie einen Gästebucheintrag für Stuttgarter87

Beiträge: 3
Registriert: 07.04.2014

ABAQUS

erstellt am: 09. Apr. 2014 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke dir, FEM User 2011!

Soweit ich verstehe dient die Funktion "regionToolset" den von mir gewünschten Stab in die passende Form "Region" für die SectionAssignment zu bringen, stimmt das?

Beim Setzen der Randbedingungen habe ich nun gleiches Problem und versuche es mit der Funktion "regionToolset" zu lösen:

hier möchte ich an Knoten 1 eine Lagerung setzen und eine Kraft aufbringen

#Punkt1 Lagerung Last
x=Xcoordin[0]
y=Ycoordin[0]
myVertice=myWire.vertices.findAt(coordinates=(x,y,0))
myBCregion = regionToolset.Region(vertices=myVertice)
myModel.DisplacementBC(name='horizontale Lagerung 1', createStepName='Initial',
        region=myBCregion, u1=UNSET, u2=SET, ur3=UNSET, amplitude=UNSET,
        distributionType=UNIFORM, fieldName='', localCsys=None)
myModel.ConcentratedForce(name='F',
        createStepName='Belastung 1', region=myBCregion, cf2=-f,
        distributionType=UNIFORM, field='', localCsys=None)

doch beim fett gedruckten code, kommt ein Fehler auf "Vertices, found Vertex, expecting Geo. Sequence". Was mach ich hier falsch?

Grüße

Stuttgarter 87

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

adaptiveMesh
Mitglied



Sehen Sie sich das Profil von adaptiveMesh an!   Senden Sie eine Private Message an adaptiveMesh  Schreiben Sie einen Gästebucheintrag für adaptiveMesh

Beiträge: 67
Registriert: 25.05.2006

erstellt am: 09. Apr. 2014 11:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stuttgarter87 10 Unities + Antwort hilfreich

regionToolset.Region(vertices=myWire.vertices[myVertice.index:myVertice.index+1])

found Vertex, expecting Geo. Sequence

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz