August 3, 2016

[Tutorial] Abaqus SPH법을 활용한 Sloshing 해석

 우리는 일상 생활에서 알루미늄 캔 또는 유리로 된 병에 담긴 음료를 마시며 갈증을 해소합니다. 자동차는 연료 탱크 내 가솔린을 연소하여 주행을 하며, 선박은 LNG와 같은 액체를 화물창에 저장하여 수송을 합니다. 이와 같이 액체는 항상 용기에 담아 그 목적을 위해
header
Avatar 다쏘시스템코리아

우리는 일상 생활에서 알루미늄 캔 또는 유리로 된 병에 담긴 음료를 마시며 갈증을 해소합니다. 자동차는 연료 탱크 내 가솔린을 연소하여 주행을 하며, 선박은 LNG와 같은 액체를 화물창에 저장하여 수송을 합니다. 이와 같이 액체는 항상 용기에 담아 그 목적을 위해 사용하게 되는데, 자동차가 거친 도로를 운행하거나 순간적으로 가속도를 받을 때 또는 선박이 파고가 매우 높은 황천을 항해하면 액체는 매우 크게 불안정한 동요를 합니다.



실험 출처: 대한조선학회논문집 (서울대학교, 2013)




이렇게 유체와 유체를 담고 있는 용기 사이에서 발생하는 상대적인 운동을 “sloshing” 이라 정의하며, 상기 기술한 극한 상황에 놓이게 되면 유체 충격하중이 발생하여 용기의 벽면을 비롯한 구조에 상당한 손상을 초래할 수 있습니다.


따라서 설계자는 sloshing 현상에 대해 정확한 유체-구조 연성해석을 통하여, 유체 충격하중에 대한 정량적 구조안전성 검토를 반드시 수행해야 합니다. Abaqus/Explicit의 CEL(Coupled Eulerian-Lagrangian Analysis)이나 SPH(Smoothed Particle Hydrodyanamics)를 이용하여, 유체-구조 연성 해석을 수행할 수 있습니다. 본 기사에서는 SPH, 즉 유체를 입자로 표현하는 유체-구조 연성해석을 통해 보다 효율적이고 정도 높게 sloshing 현상을 예측할 수 있는 방법에 대해 소개 드리겠습니다.


Analysis Steps 1. Abaqus/CAE 시작 후에 new model database 생성합니다. 2. Model tree에서 “Parts” 마우스 더블 클릭합니다. 3. Part dialog box “Steel_Internal” 입력하여 용기를 만듭니다. a. Modeling Space에서 “3D” 선택 b. Type에서 “Deformable” 선택 c. Shape에서 “Shell” 선택 d. Type에서 “Extrusion” 선택 e. Approximate size에서 1000 입력 f. “Continue…” 클릭



4. 아래 그림과 같이 기하하적 모델을 생성합니다. 모델의 단위는 밀리미터(millimeters)입니다. a. 길이는 500, 높이는 250으로 입력 b. Sketch 완료 후 extrude depth 75 입력 후 완성된 모델 확인



5. 다음으로 “Steel_External”을 입력하여 용기의 격벽을 만듭니다.


a. Modeling Space에서 “3D” 선택 b. Type에서 “Deformable” 선택 c. Shape에서 “Shell” 선택 d. Type에서 “Extrusion” 선택 e. Approximate size에서 1000 입력 f. “Continue…” 클릭



6. 상기 4번처럼 기하하적 모델을 생성합니다.


a. 높이는 250 입력 b. Sketch 완료 후 extrude depth 500 입력 후 완성된 모델 확인



7. 이제 “Water”을 입력하여 유체로 변환할 Part를 만듭니다.


a. Modeling Space에서 “3D” 선택 b. Type에서 “Deformable” 선택 c. Shape에서 “Solid” 선택 d. Type에서 “Extrusion” 선택 e. Approximate size에서 1000 입력 f. “Continue…” 클릭



8. 상기 4번과 6번처럼 기하하적 모델을 생성합니다. a. 길이는 500, 높이는 75로 입력 b. Sketch 완료 후 extrude depth 500 입력 후 완성된 모델 확인



2. Property 정의


9. 용기와 유체의 재료 물성 입력을 위한 순서입니다. 새로운 재료 모델을 생성하기 위하여 model tree에서 “Material”을 더블 클릭합니다. 먼저 용기 부분부터 설정하겠습니다.


a. 새로운 재료 모델 이름으로 “Steel” 작성 b. “Mechanical” 탭에서Elasticity >> Elastic c. 탄성계수(Young’s Modulus) = 200000와 프와송 비(Poisson’s Ratio) = 0.29를 입력 d. “General” tab에서 Density 선택 후에 밀도 7.8E-9를 입력 e. “OK” 클릭


10. 다음으로 액체 부분을 설정합니다.


a. 새로운 재료 모델 이름으로 “Water”를 작성b. “General” tab에서 Density 선택 후에 밀도 1.0E-9를 입력c. “Mechanical” 탭의Eos에서 선형 상태방정식인 “Us–Up” 선택 후에 c0 = 148200, s = 0, Gamma0 = 0 입력d. 마찬가지로“Mechanical” 탭의Viscosity를 선택하여 1.0E-9을 입력e. “OK” 클릭



11. Section 생성을 위하여 model tree에서 “Sections”을 선택합니다.


a. 우선 용기의 section 이름은 “Steel_Sect”로 작성하고 category는 “Shell”, type에서는 “Homogeneous”를 선택 후 “Continue…” 클릭 b. Shell thickness에 1을 입력하고 9번에서 생성한 재료 모델 “Steel”을 선택 후“OK” 클릭 c.. 유체의 section 이름은 “Water_Sect”로 작성하고 category는 “Solid”, type에서는 “Homogeneous”를 선택 후 “Continue…” 클릭 d. 10번에서 생성한 재료 모델 “Water”을 선택 후 “OK” 클릭



12. 생성된 Section을 부여하기 위하여 “Section Assignments”를 클릭합니다.


a. Viewport에서 water의 geometry 선택 후에 prompt area에서 “Done” 클릭 b. Water_Sect 선택 후 “OK” 클릭 c. 용기는 다음 3장에서 assembly 완성 후 section assignment



3. Assembly


13. Model tree의 “Assembly”에서 “Create Instances” 창을 활성화하여 용기를 완성합니다.


a. Instance type에서 “Dependent” 선택 b. “Steel_External“와 “Steel_External” 선택 c. “Steel_External”을 한번 더 선택 후, Auto-offset from other instances 체크 d. “OK” 클릭



14. 두 격벽을 용기 구조로 회전 및 이동 시켜 용기를 완성합니다.


a. “Rotate Instance” 아이콘 클릭 b. Steel_External을 선택 c. 회전을 Y축 방향으로 설정하기 위하여 start point를 왼쪽 하부에 end point를 왼쪽 상부에 지정하고, angle을 90으로 입력 후 “Enter” 클릭 d. “Translate Instance” 아이콘 클릭 e. 각 격벽의 하부 point를 start로 설정하고 end를 용기로 지정하여 확인 후 “OK” 클릭 f. “Merge/Cut Instance” 아이콘 클릭 후 part name에 Steel이라 입력 g. Operation은 merge, geometry는 remove를 선택 후 “Continue…” 클릭 h. 전체를 드래그하여 prompt area에서 “Done” 클릭 à model tree에서 Steel part를 확인



15. 이제 완성된 용기와 유체를 assembly합니다.


a. Instance type에서 “Dependent” 선택 b. “Steel_External“와 “Water” 선택 후, Auto-offset from other instances 체크 c. “OK” 클릭



d. “Translate Instance” 아이콘 클릭 e. 유체 하부 point를 start로 설정하고 end를 용기로 지정하여 확인 후 “OK” 클릭



16. 이제 2장 12번 c에 기술한 바와 같이 완성된 용기에 property assign을 합니다.


a. “Section Assignments”를 클릭하여 Viewport의 steel geometry 선택 후에 prompt area에서 “Done” 클릭 b. Steel_Sect 선택 후 “OK” 클릭



4. Step 정의


17. Step을 생성하기 위하여 Model tree에서 “Steps”을 클릭합니다.


a. Sloshing 해석은 Abaqus/Explicit을 이용한 해석이기 때문에 step 이름 “Sloshing_Analysis” 입력 후, procedure 에서 “General”, “Dynamic, Explicit” 선택 그리고 마지막으로 “Continue…” 클릭 b. “Basic” tab에서 time period는 1 second로 입력하고, Nlgeom은 On으로 설정



18. 다음은 결과물 출력을 설정합니다.


a. Model tree에서 “Field Output Requests” 더블 클릭 후 “F‐Output‐1” 선택 b. Sloshing이 발생하는 동안의 결과를 출력하기 위해 “Interval”의 값을 20으로 설정 (결과물을 저장하는 시점과 odb 용량에 따라 interval 설정 필요) c. History의 경우에도 마찬가지로 “History output Requests” 동일한 방법으로 설정 가능



5. Interaction 설정


19. 용기와 유체의 접촉을 설정하기 위해 contact을 지정합니다


a. “Create Interaction Property” 아이콘을 클릭 후 이름을 Contact으로 입력하고 type을 Contact으로 선택 b. Edit 창에서 “OK” 클릭 c. “Create Interaction” 아이콘을 클릭 후 이름을 Contact로 설정하고 General contact (Explicit)를 선택 d. Contact domain을 All로 설정하고 Global property assignment에서 Contact를 선택



e. 용기에 움직임을 주기 위해 reference point를 설정 f. “Create Constraint” 아이콘 클릭하여 이름을 Coupling_RP로 입력 후 type을 Coupling 선택 g. Control point를reference point로, Surface를 아래 그림의 용기 측면을 선택 h. Type은 Kinematic, Constrained degrees of freedom은 모든 병진/회전구속 체크 후 “OK” 클릭



6. Load 설정


20. 이제 하중과 변위를 설정하는데 먼저 자중을 입력하겠습니다.


a. “Create Load” 아이콘을 클릭하여 이름은 Gravity로 작성, Step은 Sloshing_Analysis로 선택 b. Mechanical category에서 Gravity 선택하고 “Continue” 클릭 c. Component 2에 -9810을 입력하고 “OK” 클릭



21. 경계조건을 주기 위해 Create Boundary Condition 아이콘을 클릭합니다.


a. 이름에 Boundary를 입력하고 Displacement/Rotation을 선택 b. X방향으로 용기를 움직일 것이므로, U2와 U3를 구속하고 “OK” 클릭



22. Acceleration을 용기에 주기 위해 Create Boundary Condition 아이콘을 클릭합니다.


a. 이름에 Acceleration를 입력하고 Acceleration/Angular Acceleration을 선택 b. A1에 7000을 입력하고, Amplitude 아이콘을 클릭 c. Create Amplitude에서 이름을 Amp-1로 입력하고 Tabular 선택 d. 아래 테이블에 Time/Frequency와 Amplitude를 각각 입력 e. 모두 입력 후 아래 그림과 같이 하중과 변위 구속을 확인



7. Mesh 생성


23. 우선 용기부터 요소망을 만듭니다.


a. Steel을 선택하고 Seed Part 아이콘 클릭 후 Approximate global size를 5로 입력 b. Assign Mesh Controls를 클릭하여 Shape은 Quad, Technique는 Structured를 선택



c. Assign Element Type을 클릭하여 Library는 Standard, Geometry Order는 Linear, Family는 Shell을 선택 d. Mesh Part를 클릭하여 prompt area에서 “Yes” 클릭 후 작성된 요소망 확인



24. 다음은 본 기사에서 가장 강조를 하는 SPH법의 유체 요소망을 만듭니다.


a. Water를 선택하고 Seed Part 아이콘 클릭 후 Approximate global size를 10을 입력 b. Assign Mesh Controls를 클릭하여 Shape은 Hex, Technique는 Structured를 선택



c. Assign Element Type을 클릭하여 Library는 Explicit, Geometry Order는 Linear, Family는 3D Stress를 선택 d. Hex에서 Reduced integration을 체크하고 Conversion to particle을 Yes로 설정 후 PPD는 3, Kernel은 Cubic으로 선택 (PPD 개수에 따라 particle 수가 결정되므로 주의 필요) e. Mesh Part를 클릭하여 prompt area에서 “Yes” 클릭 후 작성된 요소망 확인



8. Job 생성


25. 지금까지의 일련의 절차에 의해 만들어진 모델에 대해, 이제 Sloshing 해석을 실행하기 위하여 model tree에서 “Job”을 생성합니다.


a. Job의 이름과 모델 선택 후, 설명을 입력하고 “Continue…” 클릭 b. Submission Job Type은 Full Analysis이고, defaults 설정 후에, “OK” 클릭 c. Parallelization tab에서 multiple processor 16 입력 (CPU 개수에 맞게 설정)



26. 생성된 job을 submit 하기 위하여 job에서 마우스 버튼 오른쪽 클릭 후에 “Submit”합니다.


a. 해석을 수행하고 있는 동안에 “Monitor”을 통하여 error 또는 warning 메시지를 확인 가능



27. 해석이 성공적으로 완료되었다는 메시지가 나타나면 결과를 확인하기 위하여 “Results”를 클릭합니다.


9. 결과 분석


28. 시간에 따른 유체 particle의 motion을 확인할 수 있고, 용기에 발생하는 응력 분포를 검토할 수 있습니다.


a. “Plot Contours on Deformed Shape” 클릭 b. “Animate: Time History”. 클릭 29. History output에서는 force와 moment curve를 확인할 수 있습니다.



그림 설명: 0.25s, 0.75s에서의 displacement contour plot



그림 설명: 1.00s에서의 Mises stress contour plot



그림 설명: Time에 따른 Force와 Moment curve


맺음말


이상 상기와 같이 Abaqus/Explicit의 SPH 기능을 활용하여 sloshing 해석을 수행하였습니다. 이렇게 유체-구조 연성해석을 통해, 시간에 따른 충격하중의 변화와 이에 대한 구조 응답을 예측할 수가 있습니다. 추가적으로 아래의 그림과 같이 시뮬리아의 fe-safe와 연계하여 고응력부의 피로수명이 예측 가능하며, 또한 Isight를 통해 충격하중을 줄이기 위한 baffle의 최적화 설계가 가능합니다.



Reference Abaqus/CAE User’s Guide Abaqus Analysis User’s Guide Abaqus Keywords Reference Guide



글/김영진, 연동윤 (다쏘시스템코리아 SIMULIA 솔루션 컨설턴트)


 시뮬리아  아바쿠스  SIMULIA  ABAQUS

최신 정보 확인하기

새로운 콘텐츠를 놓치고 싶지 않다면, 구독해주세요

구독하기

매월 새로운 콘텐츠를 받아보고 싶다면, 구독해주세요.