Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  FEM allgemein
  Python-Skript zur automatischen Erstellung von LOADS

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

Anzeige:

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

Dieser Beitrag ist erfolgreich in das Forum SIMULIA/ABAQUS verschoben worden.

nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys
  
Erste Schritte mit PyAnsys anhand eines End-to-End Beispiels, ein Fachartikel
Autor Thema:  Python-Skript zur automatischen Erstellung von LOADS (1447 mal gelesen)
Mono Seb
Mitglied
Berechnungsingenieur (Dipl.-Ing. TU)


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

Beiträge: 20
Registriert: 23.12.2014

erstellt am: 23. Dez. 2014 13:19    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

Guten Tag zusammen,

ich bin gerade ein bisschen ratlos und frage hier mal nach Rat/ Denkanstößen. Es geht um folgendes: Ich setze gerade eine transiente FEM-Rechnung in ABAQUS auf. Nun muss ich die PRESSURE LOADs definieren. Das Problem: ich möchte das via Python-Skript erledigen, da ich manuell 155 Surfaces jeweils einen Druck zuweisen muss und das Ganze dann auch noch für 5 Steps, macht also schlappe 775 LOADs, welche manuell zu setzen sind... dies ist mir aber zu blöd und kann ja prinzipiell wunderbar automatisiert werden 

Übrigens: Ich bin Python-Neuling.

Meine Idee:

ein Dictionary bauen, mit einer "Spalte" SURFACES, der Spalte, die den Namen der Belastung enthält und der Magnitude.

Dafür möchte ich dann einfach eine FOR-Schleife generieren, welche mir dann 155 LOADs für meine 155 verschiedenen Flächen erzeugt. Leider stehe ich gerade komplett auf dem Schlauch, da ich irgendwie keine Ahnung habe, wie ich korrekt auf die Spalteneinträge im Dictionary zugreifen kann. 

Hier noch ein Code-Schnipsel, welcher noch nicht funktioniert:

# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__

# deklaration

myLOAD_P1={}
myLOAD_P1['SURF']=['HP STAGE 01 1',
'HP STAGE 01 2',
'HP STAGE 01 3',
'HP STAGE 01 4']

myLOAD['name']=['P1 HP STAGE 01 1',
'P1 HP STAGE 01 2',
'P1 HP STAGE 01 3',
'P1 HP STAGE 01 4'
]

myLOAD['magnitude']=[3800000,
3800000,
3800000,
3610000]

import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
       
a = mdb.models['Model-1'].rootAssembly
for SURF in myLOAD.items():
region = a.instances['INNER_CASING-1'].surfaces[myLOAD.items()]
mdb.models['Model-1'].Pressure(name='P1_Load-1', createStepName='Step-1',
region=region, distributionType=UNIFORM, field='', magnitude=3800000.0,
        amplitude='AMP-ALPHA P0->P1')

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

Pam Crash
Mitglied
Moderator


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

Beiträge: 445
Registriert: 29.04.2008

erstellt am: 24. Dez. 2014 11:26    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 Mono Seb 10 Unities + Antwort hilfreich

Guude

Der python -Weg erscheint mir übertrieben aufwendig. Dein Dictionary sieht doch schon so aus wie das Abaqus Inputfile Format. Du könntest den Text also direkt manuell via editor ins Inputdeck einbauen oder alternativ über den abaqus cae preprozessor in dein Modell importieren.

------------------
Pam

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

Callahan
Moderator
Administrator PDMLink


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

Beiträge: 5611
Registriert: 12.09.2002

Windchill PDMLink 11.1 M020
Creo Parametric 8.0.2.0 (produktiv)
Creo Parametric 9.0.0.0 (Test)
SimuFact Forming 2022

erstellt am: 29. Dez. 2014 06:24    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 Mono Seb 10 Unities + Antwort hilfreich

Ich verschiebe mal in den Abaqus-Bereich. Hier gehts weiter.

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


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

Administrative Optionen: Beitrag öffnen | Archivieren/Bewegen | Beitrag melden!

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

(c)2025 CAD.de | Impressum | Datenschutz