이동 격자(Dynamic Mesh)

격자의 이동을 정의하는 방법은 다음의 3가지가 있다.

  • Moving Cell Zone : cell zone 혹은 전체 격자를 움직인다.
  • Moving Boundary : 경계면을 이동시키고 내부 격자를 재구성한다.
  • Rigid Body Dynamics : 여러물체의 6자유도 운동을 계산한다.

Motion Type의 Change 버튼을 누르면 다음과 같은 설정 창이 나타나고 원하는 것을 선택한다.


운동 함수(Motion Function)

물체의 운동을 정의하는 운동 함수는 Rotating, Rotating Oscillation, Linear Translation, Linear Oscillation, Manual Position의 다섯 가지가 있다.

Rotating

회전 중심의 좌표와 회전축의 방향, 각속도를 입력한다.

Rotating Oscillation

회전 중심의 좌표와 진폭, 각속도를 입력한다.

Linear Translation

x, y, z 방향의 속도를 입력한다.

Linear Oscillation

진폭과 주파수를 입력한다.

Manual Position

중력 중심의 좌표와 시간에 따른 surge, sway, heave, roll, pitch, yaw를 테이블로 입력한다.


Moving Cell Zone

계산 영역 전체가 움직이거나 cell zone이 interface 면을 경계로 움직이는 운동으로 격자의 변형(deformation)은 일어나지 않는 운동이다. 회전체의 sliding mesh 운동이나 탱크의 슬로싱 운동이 대표적인 예이다.

Cell zone 별로 여러 개의 운동을 정의할 수 있다. 아래쪽의 Add Motion 버튼을 이용하여 운동을 추가하면 Motion Definitions에 나타난다.

운동의 정의(Motion Definition)

각각의 운동은 이름(Name), 운동 함수(Motion Function), 셀 존(CellZones)의 세 가지를 설정한다.

하나의 운동에 여러 개의 운동 함수를 설정할 수 있다. cellZones에 아무것도 선택하지 않으면 전체 도메인의 운동으로 정의된다.


Moving Boundary

경계면 격자의 운동을 운동 함수(Motion Function)를 이용해 구현한다. 경계면이 이동함에 따라 내부의 공간 격자도 변형 된다.

각 경계면 별로 격자 이동 방법을 지정한다. Fixed, Slip, Prescribed Motion 3가지를 선택할 수 있다.

Fixed

격자를 움직이지 않는다

Slip

경계면에 수직한(normal) 방향으로는 격자를 움직이지 않고, 접선(tangential) 방향으로만 격자를 움직인다.

‘Use Fixed Normal Vector’ 옵션을 사용할 수 있다. 이 옵션이 활성화 되면 사용자가 지정한 벡터를 수직 방향 벡터로 사용하고, 비활성화 되면 모든 표면 격자 각각의 수직 방향을 내부적으로 계산하여 사용한다. 이 조건을 사용하면 좀 더 확실하게 수직 방향으로 격자를 고정할 수 있다.

Prescribed Motion

운동 함수를 이용해 경계면의 운동을 설정한다.

경계조건이 Wall로 되어 있고 Wall Motion이 Moving Wall – Mesh Motion으로 되어 있는 경우에만 사용할 수 있다.

운동 함수(Motion Function)은 Moving Cell Zone 에서와 같이 Rotating, Rotating Oscillation, Linear Translation, Linear Oscillation, Manual Position의 다섯 가지를 사용할 수 있다.


Rigid Body Dynamics

강체의 운동에 다양한 동역학 법칙들을 적용할 수 있는 운동 구현 방법이다. 여러 물체의 6차유도 운동을 구현할 수 있다.

Solver

시간 적분 방법은 Newmark, Crank-Nicolson, Symplectic 세 가지를 지원한다.

Newmark

2차 정확도 음해법(2nd order implicit) 방법이며, 속도와 변위에 대한 두 개의 Integration Coefficient를 사용한다. 속도를 계산할 때 사용하는 계수(gamma)의 값이 크면 수치 감쇠가 증가하고, 변위를 계산할 때 사용하는 계수(beta)는 값이 크면 안정성이 높지만 정확도가 떨어질 수 있다.

Crank-Nicolson

2차 정확도 음해법(2nd order implicit) 방법이며, 현재 시점과 다음 시점의 값을 평균하여 시간 미분을 이산화하는 방식이다. 진동 발생을 억제하기 위한 두 개의 Off-centering Coefficient를 사용한다. Acceleration off Centering Coefficient(aoc)는 0과 1 사이의 값인데, 0이면 완전 explicit 조건이고 1이면 backward Euler 조건이 되며, 0.5에서 1사이의 값을 추천한다. Velocity off-centering coefficient(beta)는 크면 수치 진동이 감소하지만 시간 정확도가 줄어들 수 있다.

symplectic

2차 정확도 양해법(Second order explicit) 방법이며, 장시간 적분이 중요한 문제에서 많이 사용된다.

Acceleration Factors

가속도를 조절해서 수치적 안정성을 확보하는 장치인데 relaxation과 damping 두 가지를 사용한다. Relaxation은 이전 시간의 값을 이용해서 변화를 완화시키는 장치이며 Damping은 값을 줄여주는 방법이다. 다음의 식을 사용한다.

$\ddot{q} = d \cdot (\alpha \cdot \ddot{q} + (1-\alpha ) \ddot{q}_{prev})$

$\alpha$ : relaxation factor

$d$ : damping factor

Rigid Bodies

물체의 운동을 정의하기 위해 상위 물체와 종속 여부, 격자 변형 범위, 관성력, 물체 좌표계, 구속조건 등을 설정한다.

Parent

해당 강체가 속한 계층 구조에서의 상위 강체를 선택한다.

Mesh Deformation Range

강체가 움직이면 주변 격자를 같이 변형시켜야 하는데 어떻게 움직일지를 정의하는 기준 거리이다.

  • Offset from surface : 여기까지는 격자가 강체와 동일하게 움직이는 영역으로 격자 deformation은 없고 이동만 있다.
  • Outer Distance : 여기부터 바깥쪽 영역은 격자를 움직이지 않는다. 즉 offset from surface와 outer distance 사이의 격자만 변형(deformation) 된다.

Inertia

질량, 질량 중심, 관성 모멘트를 설정한다.

Local Coordinate Frame(transform)

강체의 상대 좌표계를 지정한다. restraint는 이 상대 좌표계를 기준으로 정의된다.

Joint

rigid body는 3개의 병진과 3개의 회전의 6 자유도를 갖는데 특정 방향으로 움직임을 제한하는 기능이다.

Prismatic

특정 방향으로만 이동하는 조건으로 방향(direction)을 설정한다.

Revolute

특정 축을 중심으로 회전하는 조건으로 회전축(Axis)를 설정한다.

Spherical

한 점에 고정되지만 모든 방향으로 회전하는 조건이다. 별도의 설정은 없다.

Restraint

힘이나 토크를 추가하여 움직임을 억제하거나 유도하기 위해 사용하며, 자유도는 그대로 유지된다.

댐퍼(Damper)

일정한 댐핑 상수를 설정한다.

$F_d = c \cdot v$

스프링(Spring)

강체를 특정 지점에 스프링 + 댐퍼로 연결하는 모델이다.

  • Attachment point : 강체에 스프링이 연결되는 위치이다.
  • anchor : 움직이지 않는 기준점
  • Rest Length : 스프링의 자연 길이
  • Spring constant : 스프링의 강성, stiffness
  • Damping constant : 속도에 비례하는 감쇠 계수

Rotational Spring

회전운동에 적용되는 스프링 모델이다. 회전축과 spring constant, damping constant를 입력한다.