2017-01-17 6 views
0

CAE 파일에서 초기 데이터를 가져 와서 다른 분석을 위해 파이썬 스크립트를 수정했습니다. 이렇게하려면 historyOutput 명령을 사용하여 응력 집중 계수를 얻었습니다. 파이썬 코드 내부의 사후 처리에서이 값을 사용해야하지만 historyRegion 정의에 문제가 있습니다. 왜 이런 일이 일어나는지 조언 해 주시겠습니까? ?Abaqus Python 스크립팅의 내역 출력 정의에서 내역 영역을 정의하는 방법은 무엇입니까?

균열 선단 설정

myAssembly.Set (노드 = crackTipNode 이름 = 'crackTip')

형상 적분 정의 :

여기서 코드들의 대응하는 라인이다

은 (v11 [7], a.instances [ 'crackedPart']. InterestingPoint (= InterestingPoint()) .engineeringFeatures.ContourIntegral (name = '크랙 -1', 대칭 = OFF, crackFront = 크랙 프런트, crackTip = 크랙 팁, extensionDirectionMethod = Q_VECTORS, qVectors = 에지 = e11 [ 8] 규칙 = MIDDLE))) midNodePosition = 0.5, collapsedElementAtTip가 = NONE) 균열에 대한

요청 내역 출력

myModel.HistoryOutputRequest (NAME = "SIF 'createStepName = crackStep, contourIntegral = '균열 1'numberOfContours의 = 윤곽을 contourType = K_FACTORS, kFactorDirection = KII0 철근 =

역사 출력

crackODB = session.openOdb (NAME = JOBNAME 경로로부터 읽어 sectionPoints = DEFAULT)을 배제 = jobName + '.odb', readOnly = True) histRegion = crackODB.steps [crackStep] .historyRegions [ 'Crack-1']

historyRegions의 contourIntegral 이름을 넣었지만 "KeyError : Crack-1"오류가 발생합니다. 내가 뭘해야하지? 조언을 주시면 감사하겠습니다.

감사합니다.

답변

0

문제가 해결되었습니다. 'ElementSet'을 사용해야했습니다. 모든 요소 '대신에'ElementSet ALL ELEMENTS '를 입력하십시오.

histRegion = crackODB.steps [crackStep] .historyRegions ['ElementSet. 모든 요소 ']