2017-01-17 1 views
0

J'ai préparé un script Python pour obtenir les données initiales d'un fichier CAE et le modifier pour une autre analyse. Pour ce faire, j'ai créé une commande historyOutput pour obtenir le facteur d'intensité de contrainte et j'ai besoin d'utiliser ces valeurs au post-traitement du code python, mais j'ai un problème avec la définition de historyRegion, pourriez-vous me donner un avis? ?Comment définir la région de l'historique dans la définition de sortie de l'historique pour les scripts Abaqus Python?

Voici les lignes correspondantes de code:

pointe de fissure fixés

myAssembly.Set (nœuds = crackTipNode, name = 'Cracktip')

Contour définitions Integral:

un .engineeringFeatures.ContourIntegral (name = 'Crack-1', symétrique = OFF, crackFront = crackFront, crackTip = fissure, extensionDirectionMethod = Q_VECTORS, qVectors = ((v11 [7], a.instances ['crackedPart']. edge = e11 [ 8], règle = MIDDLE)),), midNodePosition = 0,5, collapsedElementAtTip = NONE)

Demande de sortie de l'historique de la fissure

myModel.HistoryOutputRequest (name = 'SIF', createStepName = crackStep, contourIntegral = 'Crack-1', numberOfContours = contours, contourType = K_FACTORS, kFactorDirection = KII0, les barres d'armature = EXCLURE, sectionPoints = DEFAULT)

lues à partir de la sortie de l'historique

crackODB = session.openOdb (name = jobName, piste = jobName + '.odb', readOnly = True) histRegion = crackODB.steps [crackStep] .historyRegions ['Crack-1']

Je mets le nom contourIntegral pour historyRegions, mais j'obtiens l'erreur "KeyError: Crack-1". Je ne sais pas quoi faire d'autre? Tout conseil serait vraiment apprécié.

Merci,

Répondre

0

Problème résolu! J'ai dû utiliser 'ElementSet. ALL ELEMENTS 'au lieu de' ElementSet ALL ELEMENTS ', dans cette ligne:

histRegion = crackODB.steps [crackStep] .historyRegions [' ElementSet. TOUS LES ELEMENTS ']