» 블로그 » 블로그 » Abaqus Python 스크립팅 전체 가이드

Abaqus Python 스크립팅 전체 가이드

In this article you will read

목차

Main Article

Last updated on:

동일한 Abaqus 분석을 약간의 변경만으로 50번 실행해야 한다고 상상해 보세요. 이를 수동으로 수행하려면 몇 시간 또는 며칠이 걸릴 수 있습니다. Abaqus 스크립팅, 몇 분 정도 걸릴 수 있습니다.

Abaqus 파이썬 스크립트를 사용하면 Abaqus에 단계별로 수행할 작업을 지시할 수 있습니다.
끝없이 클릭하지 않고도 모델 생성을 자동화하고, 매개변수 연구를 실행하고, 결과를 처리할 수 있습니다.
마치 Abaqus에 루틴을 가르치는 것과 같아서 커피를 마시는 동안에도 작동합니다.

이 가이드에서는 처음부터 시작합니다. 실제로 필요한 Python의 기본 사항을 배우고, Abaqus와 Python의 연결 방식을 이해하고, 스크립팅을 가능하게 하는 핵심 파일들을 살펴봅니다. 그런 다음, 코드를 한 번도 작성해 본 적이 없더라도 직접 스크립트를 읽고, 수정하고, 실행하는 방법을 단계별로 살펴보겠습니다.

결국, 당신은 알게 될 뿐만 아니라 무엇 Abaqus 스크립팅은 그렇지만 어떻게 프로젝트를 더 빠르고, 스마트하고, 효율적으로 만드는 데 활용하세요. 지오메트리 생성을 자동화하거나, 매개변수를 즉석에서 조정하거나, 사용자 지정 도구를 구축하려는 경우, 이 튜토리얼을 통해 이를 실현할 수 있는 기반을 마련할 수 있습니다.

수업 1: Abaqus 스크립팅이 중요한 이유는?

Abaqus는 강력합니다.
하지만 반복적인 작업을 위해 메뉴를 클릭하는 것은 시간 낭비입니다.

먼저, 다음 질문에 답해 보겠습니다.
“"Abaqus 스크립팅이란 무엇을 의미하나요?"”
스크립팅은 소프트웨어의 기능을 확장, 가속화 또는 자동화하기 위해 Python과 같은 스크립팅 언어로 명령과 지침을 작성하는 것을 의미합니다.
그래서 우리가 말할 때 Abaqus 스크립팅, 즉, 작업 자동화, 워크플로우 사용자 정의, Abaqus 기능 확장을 의미합니다.
간단히 말해서, Abaqus에 무엇을 해야 할지 정확히 알려주면 Abaqus는 한 단계도 놓치지 않고 그 지시를 따릅니다.

Abaqus 파이썬 당신에게 그러한 통제권을 줍니다.
작은 스크립트를 한 번만 작성하면 여러 번 실행할 수 있습니다.
하나의 부품을 100가지나 변형해야 하나요? 스크립트가 당신이 디자인에 집중하는 동안 그 일을 대신해 줄 수 있습니다.

요리법이라고 생각해 보세요.
단계가 작성되면 Abaqus는 이를 완벽하게 반복할 수 있습니다. 오타나 클릭 건너뛰기가 없습니다.

무엇을 자동화할 수 있나요?

  • 기하학과 어셈블리를 만듭니다.
  • 하중 및 경계 조건 설정.
  • 다양한 매개변수를 사용하여 분석을 실행합니다.
  • 결과 추출 및 표시.
  • 파일 준비 중 3D 프린팅.
  • 사용자 정의 만들기 플러그인 Abaqus 내부에서 일상적인 작업의 속도를 높입니다.
  • 자동화 복잡한 미세역학 모델 (수백 개의 섬유를 시뮬레이션하는 것과 같음).
  • 대용량 결과 집합 처리 데이터 분석.

파이썬 스크립팅을 사용하면 시뮬레이션의 여러 측면을 자동화하고 사용자 정의할 수 있지만, 사용자 정의 재료 모델, 요소 공식 또는 심층적인 솔버 제어와 같은 일부 고급 요구 사항은 다른 방법을 통해 처리하는 것이 가장 좋습니다. Abaqus 서브루틴. Abaqus 서브루틴 작성 방법을 배우고 시뮬레이션 기능을 더욱 확장하고 싶다면 저희 자료를 확인해 보세요. 단계별 가이드 Abaqus 서브루틴 개발.

첫 번째 운동

우리는 큰 프로젝트부터 시작하지 않을 거예요.
대신 Abaqus에서 10 × 10 × 10 mm 큐브를 만드는 작은 스크립트를 만들어 보겠습니다.

Abaqus Cube Model
# myblock.py
from abaqus import mdb
from abaqusConstants import *
# Create a new model
model = mdb.Model(name=’CubeModel’)
# Create a sketch
s = model.ConstrainedSketch(name=’cube_sketch’, sheetSize=50.0)
s.rectangle(point1=(0.0, 0.0), point2=(10.0, 10.0))
# Create the part
p = model.Part(name=’Cube’, dimensionality=THREE_D, type=DEFORMABLE_BODY)
p.BaseSolidExtrude(sketch=s, depth=10.0)
print(“Cube created successfully!”)

실행하려면:

  1. 이 코드를 py로 저장하세요.
  2. Abaqus/CAE에서 파일 → 스크립트 실행으로 가서 py를 선택합니다.
  3. 큐브가 모델 트리에 나타납니다.

이 작은 단계는 당신에게 방법을 보여줍니다 Abaqus 파이썬 몇 줄의 코드만으로 완성된 모델을 만들 수 있습니다. 수동으로 클릭할 필요가 없습니다.

2과: Abaqus 스크립팅을 위한 Python 기초

우리가 뛰어들기 전에 Abaqus 파이썬, 파이썬 기술을 위한 작은 툴킷이 필요합니다. 이것들을 Abaqus와 "대화"하는 데 사용할 알파벳이라고 생각해 보세요.
언어 전체를 완벽하게 익힐 필요는 없습니다.
Abaqus에서 스크립팅을 시작하기에 충분합니다.

Python에서는 데이터 유형이 핵심 개념입니다.
그들은 변수에 어떤 종류의 정보를 저장할 수 있는지, 그리고 그 정보를 어떻게 활용할 수 있는지를 결정합니다.
예를 들어, 숫자를 더하고, 텍스트를 결합하고, 목록을 반복할 수 있습니다.

Python에는 각각 고유한 용도를 가진 내장 데이터 유형이 있습니다. 아래 표에서 한눈에 확인할 수 있습니다.

 

유형 카테고리 수업 설명
숫자형 정수, 실수, 복소수 정수, 부동 소수점, 복소수 숫자 값을 보유합니다
순서 리스트, 튜플, 범위, 문자열 리스트, 튜플, 범위, 문자열 아이템 컬렉션을 보유합니다
이진법 바이트, 바이트 배열, 메모리 뷰 바이트, 바이트 배열, 메모리 뷰 이진 데이터의 시퀀스를 나타냅니다.
매핑 사전 사전 키-값 쌍 형태로 데이터를 보관합니다.
부울 부울 부울 참 또는 거짓을 유지합니다
세트 세트, 냉동 세트 설정, 고정 설정 독특한 요소들의 컬렉션

Numeric Data Type

숫자형 데이터 유형은 Python에서 숫자 값을 나타내며 정수, 부동 소수점, 복소수의 세 가지 범주로 분류됩니다.

정수

정수는 양수, 음수 또는 0을 가질 수 있는 정수 데이터 유형입니다. Python에서 정수는 "int" 클래스로 표현됩니다. 다음은 정수 값의 예입니다.

Integer Example
# Integer
x = 5
y = -10
z = 0

복잡한

복소수는 실수와 허수 성분을 모두 갖는 숫자입니다. 이 데이터 유형은 복소수를 나타냅니다. Python의 "complex" 클래스는 복소수를 표현하는 데 사용됩니다. 다음은 그 예입니다.

Complex Example
# Complex
d = 2 + 3j
e = -4j
f = 0 + 1j

뜨다

이는 양수, 음수 또는 0을 가질 수 있는 10진수 데이터 유형입니다. Python에서 부동 소수점 숫자는 float 클래스로 표현됩니다. 다음은 예시입니다.

Float Example
# Float
a = 3.14
b = -2.5
c = 0.0

Mathematical Operations On Numeric Data

Python에서 다양한 숫자형 데이터 유형을 가진 변수에 수학 연산을 적용할 수도 있습니다. 가장 "복잡한" 데이터 유형이 결과를 자동으로 변환하는 데 사용됩니다. 예를 들면 다음과 같습니다.

Numeric Operations
# Integer and float
result = 5 + 2.5
print(result)
# Float and complex
result = 3.14 + (-2.5j)
print(result)
# Integer and complex
result = 5 + 3j
print(result)

시퀀스 데이터 유형

파이썬에서 시퀀스는 순서가 있는 항목들의 집합을 나타내는 데이터 유형입니다. 즉, 파이썬 프로그래밍 언어에서는 시퀀스 데이터 유형을 사용하여 데이터를 컨테이너에 저장합니다. 리스트, 튜플, 문자열, 범위는 데이터를 저장하는 데 사용되는 다양한 유형의 컨테이너입니다.

목록
다양한 데이터 유형을 가진 사물들의 집합은 리스트를 사용하여 표현됩니다. 각 항목은 쉼표로 구분되고 대괄호("[]") 안에 표시됩니다. 아래 예를 참조하세요.
목록
# List
my_list = [1, 2, “three”, 4.0, True]

각 항목에는 0부터 시작하는 고유 인덱스("[a0, a1, …, an-1]")가 할당됩니다. 목록의 각 요소에 접근할 수 있습니다. 다음 예제는 인덱스 표기법을 사용하여 목록을 생성하고 요소를 가져오는 방법을 보여줍니다. 양수 인덱싱과 음수 인덱싱 방법을 모두 사용했습니다. 음수 인덱싱은 끝에서부터 시작하여 -1은 마지막 항목, -2는 끝에서 두 번째 항목을 나타냅니다.

List Indexing
my_list = [1, 2, “three”, 4.0, “True”, “best”, “good”]
print(my_list[0])
print(my_list[3])
print(my_list[-2])
print(my_list[-1])
print(my_list[0:2]) # elements in [0, 2)

목록에서 추가, 제거, 삽입, 확장, 역방향, 정렬 등 여러 작업을 수행할 수 있습니다. 이러한 작업은 필요에 따라 수정하고 실행할 수 있습니다. 예:

List Append & Reverse
my_list = [1, 2, “three”, 4.0, “True”, “best”, “good”]
my_list.append(3) # insert at the end of the list
print(my_list)
# Another example:
my_list = [1, 2, “three”, 4.0, “True”, “best”, “good”]
my_list.reverse() # reverse the order
print(my_list)

문자열은 파이썬에서 텍스트 데이터를 표현하는 데 사용됩니다. 문자열은 작은따옴표('…') 또는 큰따옴표("…")로 작성되며, 문자, 숫자, 특수 문자를 자유롭게 조합하여 사용할 수 있습니다. 공백은 의미가 있습니다.

또한 문자열 데이터에 대해 다양한 작업을 수행할 수 있습니다.

Combining Strings
str1 = “Hello”
str2 = “World”
result = str1 + ” ” + str2
print(result)
Uppercase & Lowercase
str = “Hello World”
result = str.upper()
print(result)
result = str.lower()
print(result)

튜플

리스트와 달리 튜플은 변경 불가능하므로, 일단 생성되면 내용을 변경할 수 없습니다. 각 항목은 쉼표로 구분하고 괄호("()") 안에 작성합니다.

튜플
# Tuple
my_tuple = (10, 20, 30, “forty”, 50.0)

범위

Python에서 일련의 숫자는 range 데이터 유형을 사용하여 표현됩니다. range는 메모리에 저장하지 않고 즉시 숫자를 생성하는 불변 시퀀스의 한 형태입니다. 필요할 때마다 숫자를 생성하기 때문에 긴 시퀀스를 처리할 때 효율적입니다. range 유형은 start, stop, step의 세 가지 인수를 받습니다. start 인수는 시퀀스의 시작 값(시작 값 포함), stop 인수는 시퀀스의 종료 값(종료 값 제외), step 인수는 시퀀스의 각 숫자 간의 차이를 지정합니다. 아래 예를 참조하세요.

범위
print(list(range(10)))
print(list(range(2, 20, 4)))

매핑 데이터 유형

에이 매핑 데이터 유형 Python에서는 정보를 키-값 쌍으로 저장하는 방식입니다. 열쇠 고유하며 해당 항목에 액세스하는 데 사용됩니다. . 가장 흔한 예는 다음과 같습니다. 사전 (사전), 실제 사전처럼 작동합니다. 단어(키)를 찾아서 그 의미(값)를 찾습니다.

키는 일반적으로 문자열이나 숫자이고, 값은 숫자, 문자열, 리스트 또는 다른 사전 등 무엇이든 될 수 있습니다. Python 3.7 이상에서 사전은 항목이 추가된 순서를 기억하지만, 핵심은 여전히 키를 사용한 빠른 조회입니다.

알아야 할 기본 사항

  • 키는 고유해야 합니다. 동일한 키를 다시 추가하면 이전 값이 대체됩니다.
  • 키는 해시 가능해야 합니다. 문자열, 숫자 또는 튜플은 사용할 수 있지만 목록이나 다른 사전은 사용할 수 없습니다.
  • 값은 모든 유형이 될 수 있습니다. 여기에는 제한이 없습니다.
  • 변하기 쉬운: 사전을 만든 후에 항목을 추가, 변경 또는 제거할 수 있습니다.

아래 표는 이러한 유형의 데이터에 적용할 수 있는 일반적인 작업을 보여줍니다.

작업 Description0 파이썬 예제
키로 값에 접근 키를 사용하여 값을 검색합니다. numbers[‘one’]
항목 추가 또는 업데이트 새로운 키-값 쌍을 삽입하거나 기존 값을 변경합니다. numbers[‘four’] = 4
키가 존재하는지 확인하세요 키가 사전에 있는지 테스트합니다 ‘two’ in numbers
키로 항목 제거 키-값 쌍 삭제 del numbers[‘two’]
값을 제거하고 반환합니다. 키를 삭제하고 값을 가져옵니다 numbers.pop(‘three’)
모든 키를 가져오세요 모든 사전 키를 반환합니다 숫자.키()
모든 값을 가져옵니다 모든 사전 값을 반환합니다 숫자.값()
모든 아이템을 받으세요 모든 키-값 쌍을 반환합니다. 숫자.항목()
사전 지우기 사전에서 모든 항목을 제거합니다 숫자.clear()

Dictionary Operations
# Creating a dictionary
numbers = {‘one’: 1, ‘two’: 2, ‘three’: 3}
print(“Original dictionary:”, numbers)
# 1. Access value by key
print(“Value for ‘one’:”, numbers[‘one’])
# 2. Add or update item
numbers[‘four’] = 4 # Add new key–value pair
numbers[‘one’] = 11 # Update existing value
print(“After adding/updating:”, numbers)
# 3. Check if key exists
if ‘two’ in numbers:
print(“‘two’ exists in the dictionary”)
# 4. Remove item by key
del numbers[‘two’]
print(“After deleting ‘two’:”, numbers)
# 5. Remove and return value
removed_value = numbers.pop(‘three’)
print(“Removed value for ‘three’:”, removed_value)
print(“After popping ‘three’:”, numbers)
# 6. Get all keys, values, and items
print(“Keys:”, numbers.keys())
print(“Values:”, numbers.values())
print(“Items:”, numbers.items())
# 7. Clear dictionary
numbers.clear()
print(“After clearing:”, numbers)

부울 데이터 유형

파이썬에서 부울 데이터 타입은 참(True)과 거짓(False)을 나타내는 내장 데이터 타입입니다. 부울은 논리 표현식과 조건문에서 조건의 참 또는 거짓을 나타내는 데 사용됩니다. 아래에서 몇 가지 예를 볼 수 있습니다.

Boolean Data Type Examples
# Boolean Data Type Examples
# Equality check
print(5 == 3 + 2) # Expected output: True
# Inequality check
print(5 != 3 * 2) # Expected output: False
# Greater-than check
print(5 > 3 * 2) # Expected output: False
# Logical OR combining two comparisons
print(5 > 3 * 2 or 5 < 3 * 2) # Expected output: False

Sets Data Type

파이썬에서 집합 데이터 타입은 고유한 요소의 집합을 나타내는 내장 데이터 타입입니다. 집합은 순서가 없고 변경 가능하므로, 집합에 요소를 추가하거나 제거할 수 있지만 인덱스로 접근할 수는 없습니다.

Here’s an example of using sets in Python:

Set Example
# Define a set
my_set = {1, 2, 3, 4, 5}
# Print the set
print(my_set)
# Add an element to the set
my_set.add(6)
# Print the set again
print(my_set)
# Remove an element from the set
my_set.remove(3)
# Print the set again
print(my_set)

또한, 설정된 데이터에 대해 일부 작업을 수행할 수 있습니다.

Set Operations Example
# Define two sets
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# Use set operations
union_set = set1.union(set2)
print(union_set)
intersection_set = set1.intersection(set2)
print(intersection_set)
difference_set = set1.difference(set2)
print(difference_set)

톱니 모양

파이썬에서는 들여쓰기가 중요합니다.
이는 단순히 보기 좋은 것만이 아닙니다. Python에게 어떤 줄이 함께 있어야 하는지 알려줍니다.
공백이 잘못되면 스크립트가 실행되지 않습니다.

잘못된 들여쓰기는 요리법의 한 단계를 건너뛰는 것과 같습니다.

요리(또는 대본)가 실패합니다.

이제 Abaqus 스크립팅에 필요한 Python 기본 사항을 알게 되셨습니다. 하지만 더 자세히 알아보고 싶고, Abaqus 스크립팅에 함수나 루프 등 더 많은 기능이 필요하다고 생각되시면 저희의 전체 튜토리얼 이 문제에 도움이 될 수 있는 정보가 있습니다.

3과: Abaqus Python 용어 및 Python의 역할

첫 번째 글을 쓰기 전에 Abaqus 파이썬 스크립트를 작성하려면 Abaqus 자체에서 사용하는 언어를 아는 것이 도움이 됩니다.
이건 아직 Python 코드가 아닙니다. Abaqus가 자체 부분, 동작, 파일을 설명하는 데 사용하는 용어입니다.
스크립팅할 때 사용하는 지도라고 생각하면 됩니다.

술어

계속하기 전에, 스크립팅을 하려는 사람이라면 누구나 알아야 할 Abaqus 스크립팅 용어 몇 가지가 있습니다. 이 용어들은 사용자가 Abaqus 환경을 파악하고 Abaqus 분석에서 Python과 Abaqus Python 스크립팅의 역할을 이해하는 데 도움이 됩니다.

그래픽 사용자 인터페이스(GUI): GUI 또는 그래픽 사용자 인터페이스는 사용자와 Abaqus CAE 커널 간의 그래픽 환경입니다. 이 인터페이스를 통해 사용자는 형상을 지정하고 대화 상자에서 옵션을 선택할 수 있습니다.

GUI는 아이콘, 메뉴와 같은 그래픽 요소와 마우스를 사용하여 소프트웨어와 상호 작용하는 운영 체제 인터페이스입니다. 사용자는 아이콘을 클릭하거나 메뉴를 끌어내려 부품 생성, 재료 속성, 분석 단계 등을 포함한 Abaqus와의 상호 작용을 관리할 수 있습니다.

명령줄 인터페이스(CLI): 사용자가 명령 프롬프트에 명령을 입력하여 Abaqus 소프트웨어와 상호 작용할 수 있도록 하는 텍스트 기반 인터페이스입니다. 명령줄 인터페이스(CLI)는 기본적으로 숨겨져 있지만, 메시지 영역과 동일한 공간을 사용합니다.

CLI는 아래 그림과 같이 화살표 모양 버튼(>>>)을 클릭하여 활성화됩니다. 사용자는 명령을 입력하여 시뮬레이션을 정의하고 실행하고, 결과를 확인하고, 기타 작업을 수행할 수 있습니다.

스크립트 및 스크립트 파일: 스크립트는 프로그래밍 언어로 작성된 명령 집합을 말합니다. 스크립트 파일에는 인터프리터나 컴퓨터 프로그램에서 명령을 실행하기 위해 사용할 수 있는 프로그래밍 언어로 작성된 프로그래밍 코드, 명령 또는 명령어 집합이 포함됩니다.

Abaqus의 스크립트 파일은 Python 프로그래밍 언어로 작성되었음을 나타내는 ".py" 확장자를 갖습니다. 이 스크립트 파일은 Abaqus PDE, Notepad++ 또는 기타 텍스트 편집 소프트웨어로 작성할 수 있으며 ".py" 확장자로 저장해야 합니다.

Abaqus 스크립팅 인터페이스(ASI): ASI는 Abaqus 스크립팅 인터페이스(Abaqus Scripting Interface)의 약자로, Abaqus를 위한 Python 기반 애플리케이션 프로그래밍 인터페이스(API)입니다. ASI 명령은 GUI, 명령줄 인터페이스 또는 스크립트를 통해 Abaqus Python 인터프리터로 전송됩니다.

애플리케이션 프로그래밍 인터페이스(API): API는 소프트웨어 애플리케이션 개발을 보다 쉽게 만들어 주는 루틴, 프로토콜, 도구의 집합입니다.

Abaqus/CAE 커널: Abaqus 소프트웨어의 핵심입니다. 스크립팅 명령을 받고, 모델의 내부 표현을 생성한 다음, 확장자가 ".inp"인 입력 파일로 저장합니다.“

Abaqus/CAE: Abaqus/CAE는 Abaqus/Standard 및 Abaqus/Explicit 시뮬레이션 결과를 생성, 제출, 모니터링 및 평가하기 위한 직관적이고 일관된 인터페이스를 제공하는 포괄적인 Abaqus 환경입니다. Abaqus/CAE의 명령은 Python으로 작성되었으며, Abaqus Python을 활용하여 Abaqus/CAE에서 생성된 스크립트를 개선할 수 있습니다.

Abaqus/CAE 세션 동안 수행되는 대부분의 작업은 일련의 Abaqus 스크립팅 인터페이스 명령이 포함된 스크립트(script_name.py)를 사용하여 복제할 수 있습니다. 마찬가지로, Abaqus/CAE에서 스크립트를 실행하는 것은 Abaqus/CAE에서 제공하는 다양한 메뉴, 도구 상자 및 대화 상자를 사용하여 관련 작업을 수행하는 것과 동일합니다.

Abaqus에서의 Python 역할 | Abaqus Python 스크립팅

지금까지 Abaqus Python 스크립팅이 무엇인지, 스크립팅 방법 및 몇 가지 필수 개념을 알아보았습니다. 하지만 이러한 개념이 어떻게 서로 연관되어 Abaqus에서 Python의 역할을 이해하는 데 도움이 될까요?

Python 인터프리터로 Python 명령을 전송하는 방법에는 GUI, CLI, 스크립트 등 세 가지가 있으며, 앞서 설명했습니다(아래 흐름도 참조). Python 인터프리터에서 명령을 해석한 후, 커널로 전송하여 입력 파일을 생성합니다. 또한, GUI를 사용하는 경우 Python 명령이 포함된 리플레이 파일이 생성됩니다.

명령어 작성부터 입력 파일 생성까지 이 모든 단계를 Abaqus/CAE라고 합니다(아래 순서도 참조). 입력 파일을 생성한 후, Abaqus 표준 또는 Abaqus 명시적 솔버로 전송하여 문제를 해결하고 출력 데이터베이스 파일을 작성합니다.

Python 스크립팅과 관련된 Abaqus 파일

The Abaqus creates several files for each modeling and analysis, such as “.cae“, “.inp“, “.jnl“, “.odb“, etc. In this section, the files related to Python scripting will be introduced.

  • “.rpy”(재생) 파일: GUI 동작을 Python 명령으로 기록합니다.
  • “abaqusMacro.py” 파일: Abaqus/CAE를 사용하면 Python 스크립트를 실행하여 반복적인 작업을 자동화할 수 있지만, 초보자에게는 이러한 스크립트를 처음부터 작성하는 것이 어려울 수 있습니다. 스크립트 생성 과정을 간소화하기 위해 Abaqus/CAE는 사용자가 일련의 동작을 기록하고 Python 스크립트로 저장할 수 있는 매크로 기록 기능을 제공합니다. 매크로가 생성되면 ABAQUS/CAE는 사용자가 소프트웨어와 상호 작용할 때 일련의 ABAQUS 스크립팅 인터페이스 명령을 매크로 파일에 저장합니다. 각 명령은 ABAQUS/CAE 내의 특정 동작에 해당하며, 매크로를 다시 실행하면 동일한 동작 순서가 다시 실행됩니다. 매크로는 abaqusMacros.py라는 파일에 저장됩니다.
  • “.inp”(입력) 파일: 모든 분석 지침이 담긴 텍스트 파일이 솔버에게 전송됩니다. 자세히 알아보세요.
  • “.jnl”(저널) 파일: Abaqus에서 저널 파일은 사용자가 Abaqus/CAE에서 수행한 명령 및 상호 작용의 순서를 기록하는 텍스트 파일입니다. 저널 파일은 사용자가 Abaqus/CAE에서 작업을 수행할 때 자동으로 생성되며, 선택한 메뉴 및 옵션, 열린 대화상자, 실행된 명령을 포함하여 수행된 작업에 대한 기록을 포함합니다. 저널 파일은 Abaqus/CAE에서 실행할 수 있는 Python 스크립트를 작성하는 시작점으로 사용할 수 있습니다. 저널 파일에 포함된 명령을 편집하고 수정하여 특정 작업을 자동화하는 맞춤형 Python 스크립트를 만들 수 있습니다.
  • “.py” 파일: 이는 이전 섹션에서 설명한 대로 우리가 직접 작성한 Python 스크립트입니다.

4과: 쉬운 방법으로 첫 번째 Abaqus Python 스크립트 작성하기

많은 초보자는 빈 Python 파일에서 Abaqus 스크립팅을 시작해야 한다고 생각합니다.
그건 마치 바다 한가운데서 수영하는 법을 배우려는 것과 같아요.
대신 Abaqus가 힘든 작업을 대신 처리해 드립니다. Abaqus가 여러분을 대신하여 스크립트를 작성해 드립니다.
그러면 당신은 그것을 읽고, 이해하고, 수정할 것입니다.

Let’s do this together in four simple steps:

1단계: 모델 스크립트를 얻는 세 가지 방법 

Abaqus/CAE에서 작업할 때 작업은 다음과 같은 여러 파일에 자동으로 기록됩니다.

  1. 리플레이 파일 (아바쿠스.rpy): 기록 모든 Python 명령어로 GUI 작업을 할 수 있습니다. 정확한 단계를 재현하는 데 유용합니다.
  2. 매크로 파일(매크로.파이): If you start recording a macro (File → Macro Manager → Record), Abaqus will save your steps into a script you name yourself.
  3. 저널 파일(.jnl): 모델을 저장할 때 생성됩니다. 저장된 상태를 재생성하는 데 필요한 명령에 중점을 둔 Python 기반 세션 기록이 포함되어 있습니다.

이러한 파일 중 하나는 Abaqus Python 스크립팅을 배우기 위한 시작점이 될 수 있습니다.

Step 2 Open the File and See the Real Code

Abaqus-generated Code (Original)
# -*- coding: mbcs -*-
#
# Abaqus/CAE Release 2024 replay file
# Internal use only
#
from abaqus import *
from abaqusConstants import *
import __main__
Mdb()
mdb.models[‘Model-1′] = mdb.Model(name=’Model-1’, modelType=STANDARD_EXPLICIT)
mdb.models[‘Model-1′].ConstrainedSketch(name=’__profile__’, sheetSize=200.0)
mdb.models[‘Model-1’].sketches[‘__profile__’].rectangle(point1=(0.0, 0.0), point2=(10.0, 10.0))
mdb.models[‘Model-1′].Part(dimensionality=THREE_D, name=’Block’, type=DEFORMABLE_BODY)
mdb.models[‘Model-1’].parts[‘Block’].BaseSolidExtrude(depth=5.0, sketch=mdb.models[‘Model-1’].sketches[‘__profile__’])

Abaqus Cleaned-up Version
from abaqus import *
from abaqusConstants import *
# Create a new model
mdb.models[‘Model-1′] = mdb.Model(name=’Model-1’)
# Create a sketch and draw a rectangle
s = mdb.models[‘Model-1′].ConstrainedSketch(name=’__profile__’, sheetSize=200.0)
s.rectangle(point1=(0.0, 0.0), point2=(10.0, 10.0))
# Create a 3D part from the sketch
p = mdb.models[‘Model-1′].Part(name=’Block’, dimensionality=THREE_D, type=DEFORMABLE_BODY)
p.BaseSolidExtrude(sketch=s, depth=5.0)

Step 3 Learn by Mathing

GUI에서 다른 모양을 만든 다음, 매크로/재생 파일을 다시 살펴보세요.
Abaqus가 클릭을 어떻게 변환하는지 확인해 보세요. Abaqus 스크립팅 명령.
이런 일을 몇 번 반복하면 패턴을 인식하게 될 겁니다.

Step 4 Modify the Script

Now, make a small change in our example; let’s say we change the rectangle size from (0,0) to (10,10)
(0,0)에서 (20,15)까지.

왼쪽 코드는 우리가 변경한 원본이고, 오른쪽 코드는 여러분의 이해를 돕기 위해 준비한 것입니다.

Abaqus Modified Clean Version
from abaqus import *
from abaqusConstants import *
# Create a new model
mdb.models[‘Model-1′] = mdb.Model(name=’Model-1’)
# Create a sketch and draw a bigger rectangle
s = mdb.models[‘Model-1′].ConstrainedSketch(name=’__profile__’, sheetSize=200.0)
s.rectangle(point1=(0.0, 0.0), point2=(20.0, 15.0)) # Changed size
# Create a 3D part with more depth
p = mdb.models[‘Model-1′].Part(name=’Block’, dimensionality=THREE_D, type=DEFORMABLE_BODY)
p.BaseSolidExtrude(sketch=s, depth=8.0) # Changed depth

레슨 5: Abaqus Python 스크립트 실행 방법

이제 첫 번째 스크립트가 생겼으니 실행할 차례입니다.
이를 위한 두 가지 주요 방법이 있습니다.
각 방법에는 장단점이 있습니다.

방법 1: Abaqus/CAE에서 실행

  1. 열려 있는 아바쿠스/CAE.
  2. Go to the menu → File → Run Script → choose block_modified.py. (block_modified is your file’s name)

장점:

  • 초보자에게는 쉽습니다.
  • GUI에서 모델 업데이트를 바로 볼 수 있습니다.

단점:

  • 대형 모델의 경우 속도가 느립니다.
  • CAE 인터페이스를 열어두어야 합니다.

방법 2: 시스템 명령줄(cmd)에서 실행

  1. Save the script as block_script.py in your working directory.
  2. 열려 있는 명령 프롬프트 (Windows: Press Windows + R, type cmd, and hit 입력하다.) 또는 단말기 (리눅스/맥).
  3. Navigate to the script folder with this command: cd “C:\Users\CAE Assistant Group\Desktop\New folder” (in the quotes paste your file’s path)
  4. 다음 명령을 사용하여 GUI 없이 Abaqus에서 스크립트를 실행합니다: abaqus cae noGUI=block_script.py

장점:

  • 대용량 스크립트의 경우 더 빠릅니다.
  • GUI를 열지 않고도 스크립트를 실행할 수 있습니다.
  • 자동화 및 일괄 처리에 유용합니다.

단점:

  • 시각적 피드백이 적습니다.
  • 완전 초보자에게는 디버깅하기가 더 어렵습니다.

요약: 당신이 배운 것

초보자 친화적인 이 여정에서 Abaqus Python 스크립팅, Abaqus에서 작업을 자동화하고 사용자 지정하는 데 필요한 모든 내용을 다루었습니다.

우리가 함께 탐구한 내용은 다음과 같습니다.

  • 수업 1 – Abaqus 스크립팅이 무엇인지, Python이 Abaqus와 어떻게 연결되는지, 3D 인쇄 자동화, 플러그인 생성, 워크플로 사용자 정의와 같은 실제 사용 사례에 대해 설명합니다.
  • 수업 2 – Abaqus를 위한 Python 기본 사항: 변수, 숫자, 문자열, 목록, 사전, 들여쓰기 및 간단한 예제.
  • 수업 3 – Abaqus의 주요 용어, Abaqus에서 Python 스크립팅의 역할, 중요한 관련 파일(.rpy, .jnl, 매크로 파일).
  • 4과 – Abaqus에서 생성된 스크립트를 학습 도구로 사용하는 방법: 모델 기록, 코드 읽기 및 이해, 정리, 변경 및 재사용.
  • 5과 – Abaqus/CAE와 시스템 명령줄에서 스크립트를 실행합니다. 바로 작동하는 정확한 복사-붙여넣기 명령이 제공됩니다.

최종 도전 연습

기술을 강화하려면:

  1. Abaqus에서 간단한 모델(압출이 있는 블록과 같은)을 만듭니다.
  2. 스크립트를 저장하세요 .rpy.jnl, 또는 매크로.파이 체재.
  3. 파일을 읽고 각 코드 섹션을 확인하세요.
  4. 최소한 하나의 매개변수(치수, 재료, 단계 등)를 수정합니다.
  5. 업데이트된 스크립트를 두 곳에서 실행하세요. 아바쿠스/CAE 그리고 시스템 명령줄.
  6. 결과를 관찰하고 변경 사항이 효과가 있는지 확인하세요.

이제 당신은 세상에 첫 발을 내디뎠습니다. Abaqus Python 스크립팅. 기본 사항 이해부터 직접 스크립트 실행까지, 시뮬레이션 자동화 및 맞춤 설정을 위한 탄탄한 기반을 마련하셨습니다. 이제 시작일 뿐입니다. 전체 튜토리얼 패키지, Abaqus 활용 능력을 한 단계 더 높여줄 고급 스크립팅 기법, 최적화 워크플로, 그리고 맞춤형 GUI 도구를 살펴보겠습니다. 끊임없이 실험하고, 호기심을 잃지 마세요. 그리고 기억하세요. 스크립팅을 많이 할수록 Abaqus의 활용도가 높아집니다.

당신은 우리의 모든 것을 얻을 수 있습니다 Abaqus Python 과정.

그만큼 CAE 보조원 저희는 고객님의 모든 CAE 요구 사항을 충족하기 위해 최선을 다하고 있으며, 고객님의 피드백은 이러한 목표 달성에 큰 도움이 됩니다. 궁금한 점이 있거나 문제가 발생하면 WhatsApp을 포함한 소셜 미디어 계정을 통해 언제든지 공유해 주세요.

Abaqus에 대해 더 자세히 알아보려면 다음 링크를 클릭하세요. Abaqus 문서.

모든 수준의 사용자를 위한 무료 PDF 가이드와 자세한 동영상이 포함된 포괄적인 Abaqus 튜토리얼 페이지를 살펴보세요. 무료 및 프리미엄 패키지와 함께 Abaqus를 효율적으로 마스터하는 데 필요한 필수 정보를 확인하세요. Abaqus 여정을 시작하세요. Abaqus 튜토리얼 지금!

 

Related 조항

Author

맷 베이스

맷 베이드는 15년 이상의 인상적인 경력을 자랑하는 뛰어난 기계 엔지니어입니다. 해당 분야의 전문성으로 정평이 난 맷은 선도적인 교육 웹사이트 회사의 핵심 구성원으로서 엔지니어링 교육계의 원동력이 되었습니다. 유한요소 소프트웨어에 대한 깊은 열정을 가진 맷은 소프트웨어의 복잡성을 이해하고 다른 사람들에게도 그 복잡성을 극복할 수 있도록 지원하는 데 헌신해 왔습니다. 그는 꼼꼼하게 설계된 교육 과정을 통해 야심 찬 엔지니어들에게 풍부한 지식과 실제 경험을 전수하여, 그들이 전문적인 커리어에서 성공하는 데 필요한 역량을 갖추도록 지원합니다.

Your 댓글