1.5 파이썬 API를 이용한 격자 생성 자동화
quickstart • 2024.08.19 • 박정규
원본: Automated Meshing with Python API
Flow360은 Python API를 통해 자동 메쉬 생성도 지원합니다. 이 연습에서는 다시 한 번 ONERA M6 Wing 케이스를 예로 사용합니다. 형상은 Engineering Sketch Pad (ESP)에서 만들어지며 Python API를 사용하여 메쉬를 생성하고 시뮬레이션을 실행합니다.
설치 지침은 Engineering Sketch Pad 및 Python API 참조 섹션을 참조하십시오.
ESP에서 ONERA M6 Wing 모델은 om6wing.csm 파일에 있습니다.
ESP를 통해 사용자는 엣지 및 페이스 속성을 포함한 메쉬링 매개변수를 제어할 수 있습니다. 표면 메쉬 매개변수는 om6SurfaceMesh.json 파일에 정의되어 있습니다.
아래의 부피 메쉬 매개변수 JSON 파일에서는 필드 제한을 사용하여 비구조 메쉬의 최대 엣지 길이와 해상도를 제어합니다. 마찬가지로, 벽 경계에서 이기향 메쉬의 초기 높이는 firstLayerThickness 및 growthRate로 표시됩니다. 부피 메쉬 매개변수는 om6VolumeMesh.json 파일에 정의되어 있습니다.
ONERA M6 Wing 시뮬레이션의 케이스 구성 매개변수는 om6Case.json 파일에 있습니다.
Flow condition
-
Reynolds Number: 14.6e+6
-
Mach: 0.84
-
AoA: 3.06°
1.5.1 격자와 Case 제출
이전의 웹 UI 연습과 마찬가지로, 우리는 먼저 CSM 파일에서 표면 메쉬를 생성하고, 그 다음 표면 메쉬에서 부피 메쉬를 생성하고, 마지막으로 시뮬레이션을 실행합니다.
Python API를 사용하여 이 세 가지 단계를 다음 명령을 사용하여 실행합니다:
surfaceMeshId = flow360client.NewSurfaceMeshFromGeometry(
"om6wing.csm",
"om6SurfaceMesh.json")
volumeMeshId = flow360client.NewMeshFromSurface(
surfaceMeshId=surfaceMeshId,
config="om6VolumeMesh.json")
caseId = flow360client.NewCase(
meshId = volumeMeshId,
config="om6Case.json",
caseName='QuickStart_OM6_AutomaticMeshing')
이 연습을 위해 아래에 제공된 예제 Python 스크립트를 사용하십시오. 이 스크립트는 시뮬레이션의 입력 구성 매개변수로 CSM, 메쉬 및 케이스 입력 JSON 파일을 사용합니다. submitCase.py. 이 스크립트는 다음 내용을 가진 구성 JSON 파일을 통해 입력을 필요로 합니다:
1{
2 "geometry": {
3 "csm": "path/to/modelFile.csm"
4 },
5 "mesh": {
6 "surface": "path/to/SurfaceMesh.json",
7 "volume": "path/to/VolumeMesh.json"
8 },
9 "flow360": {
10 "case": "path/to/simulationCase.json"
11 }
12}
위의 내용을 "simConfiguration.json"이라는 JSON 파일에 복사한 후, CSM 파일, 표면 및 부피 메쉬 JSON 파일 및 케이스 JSON 파일의 개별 경로를 수정하십시오. 마지막으로 다음과 같이 제출하십시오:
python3 submitCase.py -json simConfiguration.json
1.5.2 해석 결과 다운로드
후처리를 위해 표면 및 부피 솔루션을 다운로드하기 위해 Flow360 Python API도 사용됩니다. 예제 스크립트인 downloadCase.py는 JSON 파일 입력을 가져와 흐름 결과 및 힘 및 모멘트 수렴 히스토리 파일을 다운로드합니다. 입력 JSON 파일은 다음과 같은 내용을 가지고 있습니다.
1{
2 "flow360": {
3 "caseId": "case_id",
4 "caseName": "CaseName_QuickStartSimulation"
5 }
6}
위의 내용을 "getCase.json"이라는 JSON 파일에 복사한 후 "downloadCase.py"를 실행하여 결과를 다운로드하십시오.
python3 downloadCase.py -json getCase.json