Mesh Boundary Conditions / 격자경계조건
1. Boundaries with a Hydrostatic Pressure Distribution / 정수압분포 경계
정수압분포는 입력으로 유체1의 높이를 이용하여 격자 어느 경계에서나 지정될 수 있다. 이런 경계 에서의 유체의 높이는 z 방향으로 정의되고 유체분율, 밀도 및 경계를 따른 압력분포로 전환될 수 있다.
경계에서 정수압을 정의하기 위해 Model Setup–>Meshing & Geometry 탭에있는 Mesh Operations widget 에서 격자 블럭과 경계를 선택한다. 이 경계는 Specified pressure 형태이어야 하고 Fluid Elevation(실제 z 높이에서) 또한 정의되어야 한다.
유체의 높이는 시간의 함수로 Fluid elevation 버튼 밑의 시간표를 사용하여 정의될 수 있다. 높이는 격자의 상단보다 높을 수 있는데 이 경우 경계는 유체로 차 있을 것이다.
유체높이가 정의될 때마다 격자블록 안 경계에 있는 셀에서의 압력 P(z) 는 P(z) = PBCT − gz · RHO(z) · (Fluid Elevation − z)로 지정되는데 여기서
- z 는 셀 중심에서의 z 위치
- gz 는 z 방향에서의 중력성분
- Fluid Elevation 은 경계조건에서 사용자가 지정한 유체높이
- PBCT 는 경계조건에서 사용자가 지정한 압력
- RHO(z) 는 경계를 따른 특정셀 내의 유체의 밀도
Note:
- 격자상단이 공간압력경계(즉 상단에서 유체분율이 0)인 압력을 갖는 자유표면문제에서 사용자는 상단에서의 압력에 상응하는 공간압력을 지정해야 한다.
- 자유표면이 없는 제한된 1-유체유동(confined flow)에서 유체높이는 격자블록 상단보다 높아야 하며 유체분율은 경계면에서 모두1이어야 한다.
2. Rating Curve and Natural Inlet / 수위유량곡선과 자연입구
수위유량곡선이나 자연입구조건을 사용하는 목적은 수위가 알려져 있지 않을 경우 물리적으로 또는 자연적으로 격자경계에서의 수위를 정의하기 위함이다.
Rating curve 수위유량곡선
수위유량곡선은 하천 단면에서의 수위와 유량간의 관계를 나타낸다. 사용자가 지정한 수위유량곡선은 Xmin, Xmax, Ymin 또는 Ymax 에서 체적유량경계 또는 압력경계로 적용될 수 있다. 이러한 경계에서 수위는 사용자가 지정한 체적유량(체적유량경계) 또는 수위유량곡선을 이용하여 코드 내에서 계산된 체적유량 (압력경계)에 따라서 계산된다.
수위를 지정하기 위한 유량곡선을 사용하기 위해 Model Setup → Meshing & Geometry 로 가서 그래픽 창 왼쪽에 있는 격자아이콘을 선택한다. Mesh Operations 창에서 격자블록과 경계를 선정한다. Use fluid elevation 를 선택하고 유량곡선 창을 보기 위해 Rating curve 를 클릭한다. 수위유량곡선 데이터는 데이터표에 직접 입력하거나 외부 데이터파일에서 정의할 수 있다. Rating curve(수위유량곡선)을 위한 외부파일을 정의하기 위해 Import from simulation directory 를 체크하고 Import values 를 클릭하며 데이터파일을 선택한다. 파일에서 수위를 나타내는 데이터 열 또한 선택되어야 한다.
Rating curve(수위유량곡선)은 정상 또는 준 정상상태에서 하천에서 측정을 해 얻어지므로 단지 정상유동 또는 시간에 느리게 변화하는 유동에서만 이용될 수 있다. Rating curve(수위유량곡선)이 체적유량경계에서 사용되면 유량은 일정하거나 느리게 시간에 따라 변화해야 한다. 초기조건은 영역 내에 유체와 같이 정의되며 초기유동은 가능한 한 실제유동과 같아야 한다. 해석 수행시 유체가 없는 영역 또는 유체 정지하고 있는 영역을 가지고 시작하면 비물리적 또는 불안정성을 초래할 수 있다.
Natural inlet 자연 입구
체적유량 경계조건이 Xmin, Xmax, Ymin 또는 Ymax 의 입구경계에서 사용될 때 Rating curve(수위유량곡선)를 모르면 경계조건은 자연입구(natural inlet)로 정의될 수 있다. 자연 입구에 대해 FLOW-3D는 자동적으로 영역내의 인접한 격자 셀의 수심과 같도록 경계의 수심을 설정한다. 이렇게 처리하면 입구경계에 가까운 수심의 급격한 변화를 피할 수 있다. 이와 같이 입구에서의 수위는 영역 내에서 증가하면 증가하고 또 역으로 감소하면 감소한다.
자연입구를 정의하기 위해 Use fluid elevation 가 선택되어야 한다. 경계에서의 유동 범주는 상류(sub-critical flow, Fr < 1.0), 사류(super-critical flow, Fr > 1.0), 한계류(critical flow, Fr = 1.0) 또는 automatic flow regime로 선정될 수 있다. Fr은 Froude 수이고 여기서 V 는 물의 속도, g 는 중력가속도크기 그리고 D 는 수심이다. 주어진 속도에 대해 Fr = 1.0이면 수심은 임계수심이다. 자연입구에서 FLOW-3D 코드는 두 유동 범주중의 하나가 선택되면 각기 sub-critical flow 하한에서 또는 super-critical 상한에서의 임계수심을 사용한다. critical flow 범주에대해 자연입구에서의 수심은 항상 임계수심과 같다. automatic flow regime 가 선정되면 수심은 임계수심에 의해 제한되지 않고 입구에서의 유동범주는 코드 내에서 계산되고 시간에 따라 변한다.
사용자는 상류에서의 수심을 추가로 제한하기 위해 자연입구경계에서의 최대최소 높이를 정의할 수 있다. 기본 값은 해석 영역 내 최대 및 최소 z 좌표 값이다. 이들은 상응하는 입력창을 통해 입력될 수 있다.
See also:
Rating Curve and Natural Inlet Boundary section in the Theory chapter.
3. Wave Boundary Condition / 파도경계조건
파랑경계조건은 데카르트좌표계의 자유표면문제를 위한 좌 (X Min), 우 (X Max), 전(Y Min) 그리고 후(Y Max) 격자경계에서 정의될 수 있다. 이런 경계에서 표면파는 계산영역으로 들어가서 경계에 수직한 방향으로 전파된다. 파랑은 Linear, Stokes, Stokes 와 Cnoidal wave, Solitary, 또는 Random wave 일 수 있다.
파랑도경계조건을 갖는 해석은 중력가속도가 Model Setup → Physics → Gravity → Gravity components → Z component 에서 정의된 음의 z 방향을 가리켜야 한다. 파동경계를 설정하기 위해 Model Setup → Meshing & Geometry → Mesh – Cartesian → Mesh block → Boundaries 로 간다. 경계 조건 창을 불러오기 위해 원하는 격자경계 옆의 버튼을 누른다. Wave 를 선택하고 Fluid elevation 을 지정한다. 경계에서의 Fluid elevation 은 파랑운동이 중첩될, 파랑의 영향을 배제한 자유수면의 z 좌표이다.
Linear Wave 선형파
선형파는 사인파 표면형상을 갖고 선형파의 진폭은 파장과 수심에 비해 작다. 이는 Airy 선형파 이론을 이용하여 생성된다. 선형파 경계에서 규칙 선형파에 추가하여 사용자가 독립적인 주기, 진폭, 그리고 초기위상을 가지는 임의파형을 갖는 다수(1000개까지)의 사인 선형파를 이용하는 불규칙 선형파를 정의할 수 있다.(또 다른 불규칙파를 생성하는 방법은 Random Wave 부분에서 기술된 파 에너지 스펙트럼에 의거한 무작위 조파장치를 이용하는 것이다) 선형 성분 파동의 높이는 다음과 같다.
η = Asin(ωt + ϕ)
여기서 A, ω 그리고 ϕ 는 각각 파의 진폭, 각주기 및 초기위상이다.
경계조건 창에서 선형파나 다수의 선형파로 이루어진 불규칙파를 정의하기 위해 Wave Definition으로 가서 드롭다운 상자에서 Linear 를 선택하고 Definition 위를 클릭하여 Wave Definition 창을 나타나게 한다. Wave Attributes 부분에서 Number of wave components (선형 규칙파가 하나이면 1)를 위한 입력상자 안에서 사인파 요소의 전체 수를 지정한다. 그리고 데이터 표에 있는 각 파 요소에 대해 Wave amplitude, Wave period 그리고 Phase shift (각도로 나타낸 초기위상)를 입력한다. 기본 값으로 위상 변위는 0이며, 이는 시간 t = 0 일 때 파고가 0이며 상승중임을 뜻한다)
선형파는 계산영역 외부에 존재하며 격자경계에 붙어 있다고 가정한, 평평한 바닥의 무한 저수공간(infinite reservoir)으로 부터 얻어진 것이다.. 이 모델에서 Mean fluid depth 는 저수공간의 평균 유체 깊이를 정의한다. 기본 값은 Fluid elevation (원상 표면의 z 좌표)과 계산 영역의 최소 z 좌표간의 차이이다. Mean fluid depth 가 기본 값과 다르면 사용자가 입력상자 안에서 적절한 값을 주어야 한다.
파랑경계에서 이모델은 어느 수평방향으로 일정한 순유동(유입 또는 유출)을 고려할 수 있으나, 파랑경계가 효력을 나타내려면 유동 속도는 선형파의 속도보다 작아야 한다. Current velocities → X Velocity and Y velocity 를 찾아서 각 x 와 y 방향으로 유동의 속도성분을 입력한다. 이 유동은 경계면에서 균일하다고 가정된다.
See also:
Periodic Linear Wave Generator in the Theory manual.
Stokes Wave and Cnoidal Wave Stokes 파 및 Cnoidal 파
Stokes 파는 심해의 비선형파이며 선형파보다 첨예한 마루와 평평한 골을 갖는다. FLOW-3D 에서는 Fenton’s Fourier 급수나 Fenton 의 5차 자릿수 이론을 이용하여 생성된다. 전자는 후자보다 더 높은 정확성을 가지므로 전자가 Stokes 파 생성에 권장된다. 격자경계에서 Stokes 파를 정의하기 위해 경계조건 창에서 Wave Definition 로 가서 Stokes and Cnoidal (Fourier 급수 방법) 나 Stokes (Fenton의 5차 이론) 를 선택하고 Wave Definition 창을 불러오기위해 Definition 을 클릭한다.
Cnoidal 파는 천해의 비선형파이다. Stokes 파보다 한층더 첨예한 마루와 평평한 골을 갖는다. FLOW-3D 에서는 Fenton’s Fourier 급수를 이용하여 생성된다. Cnoidal 파를 정의하기 위해 경계조건 창에서 Stokes and Cnoidal (Fourier 급수 방법)을 선택하고 Wave Definition 창을 불러오기 위해 Definition 을 클릭한다.
파동 정의 창의 Wave Attributes 영역에서 입력상자 안에 있는 Wave height (골에서 마루까지의 수직거리) 와 Wave period또는 Wavelength 를 지정한다. 파동주기와 파장은 서로 독립적이 아니므로 동시에 주어질 수 없다.
선형파와 유사하게 Stokes 와 cnoidal 파의 해답은 계산영역 외부에 존재하며 격자경계에 바로 인접하다고 가정된 바닥이 평평한 무한한 크기의 저수공간에 대해 얻어진다. 경계에서의Mean fluid depth 는 저수공간의 원상의 유체 깊이를 정의한다. 디폴트값은 Fluid elevation (원상 표면의 z 좌표)과 계산 영역의 최소 z 좌표간의 차이이다. Mean fluid depth 가 디폴트 값과 다르면 사용자가 입력상자 안에서 적절한 값을 주어야 한다.
파동경계에서 이모델은 어느 수평방향으로 일정한 순유동(유입 또는 유출)을 고려할 수 있으나 유동속도는 유효하기 위해 파동 해석의 파동 속도보다 작아야 한다. Current velocities → X Velocity and Y velocity 를 찾아서 각 x 와 y 방향으로 유동의 속도성분을 입력한다. 이 유동은 경계 면에서 균일하다고 가정된다.
Stokes 그리고 cnoidal 파를 포함하는 모든 진동파의 한 파동주기 동안에는 더 많은 유체가 영역에서보다 나가는 것보다 파동경계에서 영역내로 들어온다. 이는 나갈 때보다 들어올 때 유체의 높이가 더 높기 때문이다. 더구나 Stokes 와 cnoidal 파에서는 유체가 골에서보다 마루에서 더 빨리 움직인다. 이는 어떤 상황에서 시간에따라 유체 체적의 순수 증가를 야기한다. 선택으로 사용자는 Numerics → Wave boundary condition 로가서 Eliminate net volume flux 를 체크함으로써 경계에서의 파동운동으로인한 순수 체적증가를 자동적으로 보상하도록 선택할 수 있다. 다른 방법으로는 Include net volume flux at wave boundaries 를 체크한다. 이 선택은 모사(simulate)시 모든 파동경계에 적용된다.
See also:
Stokes Wave Generator and Stokes and Cnoidal Waves Generator (Fourier Series Method) in the Theory manual.
Solitary Wave 고립파
격자경계에서 고립파를 정의하기 위해 Wave Definition 로 가서 Solitary 를 선택하고 Solitary Wave Definition 창을 불러오기위해 Definition 를 클릭한다. Wave Attributes 영역에서 원상 수위에서 파도마루까지의 수직거리인 Wave height 를 지정한다. 다른 파형과 유사하게 고립파의 해답은 계산영역 외부에 존재하며 격자경계에 바로 인접 하다고 가정된 바닥이 평평한 무한한 크기의 저수공간에 대해 얻어진다. Mean fluid depth 는 저수공간의 원상의 유체 깊이를 정의한다. 디폴트 값은 Fluid elevation (원상 표면의 z 좌표)과 계산 영역의 최소 z 좌표간의 차이이다. Mean fluid depth 가 디폴트 값과 다르면 사용자가 Mean fluid depth 를 정의해야 한다.
고립파는 초기에 계산영역 외부에 존재한다. 디폴트로 마루에서 파동경계까지의 초기거리는 파장의 반이다. 고립파의 파장은 진행방향에서의 파의 크기이다. 이는 표면변위가 파고의 1%인 마루의 반대방향에 있는 두 점 사이로 측정된다. 이 거리가 디폴트와 다르면 이를 입력상자에서 지정한다.
파동경계에서 고립파 모델은 어느 수평방향으로 일정한 순유동(유입또는유출)을 고려할 수 있으나 유동속도는 유효하기 위해 고립파 해의 파동 속도보다 작아야 한다. 이러한 유동이 존재하면 Current velocities → X Velocity and Y velocity 로 가서 유동의 각 x 와 y 속도성분을 입력한다. 이 유동은 경계면에서 균일하다고 가정된다.
See also:
Solitary Wave Generator in the Theory manual.
Random Wave 임의 파형
임의 파형은 다른 파랑주기, 진폭 및 초기위상을 갖는 많은 선형파들의 중첩으로 간주된다. FLOW-3D 에서 임의 파형모사(simulate)를 위해 코드는 자동적으로 파동 경계에서 1000개의 선형성분파동을 생성한다. 주기는 균일하게 0.2초에서 2초까지 분포된다. 초기위상은 임의로 0과 2π 사이에서 선정된다. 파의 진폭은 파형에너지 스펙트럼을 이용하여 계산된다. 두 개의 내부에서 정의된 에너지스펰트라를 사용할 수 있다: Pierson-Moskowitz (P-M) spectrum 과 JONSWAP spectrum. 사용자는 또한 외부 데이터 파일에서 그들의 고유의 에너지 스펙트럼을 정의할 수 있다.
경계조건창에서 임의파를 정의하기 위해 Wave Definition 로 가서 Random 을 선택하고 Random Wave Definition 창을 불러오기 위해 Definition 를 클릭한다. Energy spectrum type 밑에서 파 에너지스펙트럼의 형태를 선택한다. Pierson-Moskowitz (P-M) 나 JONSWAP 의 스펙트라가 사용되면 풍속입력상자에서 해발 10m에서의 풍속을 지정한다. JONSWAP 스펙트럼에 대해 사용자는 Fetch length 와 Peak enhancement factor 를 정의할 필요가 있다. Peak enhancement factor 의 디폴트 값은 3.3이다. Fetch length 는 디폴트가 없으므로 정의되어야 한다. 이와 다른 변수에 대한 세부사항은 Random Wave 에서 찾을 수 있다.
사용자가 그들의 고유한 파에너지 스펰트럼을 사용하기 원한다면 선택하고, 파 스펙트럼을 정의하는 기존 데이터파일을 입력한다. 파일에는 두 열의 데이터가 있어야 한다. 좌측은 파의 일련의 각주기(rad/시간으로)이고 우측은 상응하는 에너지 값이다. 전체 행의 수는1000개를 넘지않아야 한다. 파일 이름의 확장자에는 제한이 없다.
See also:
Random Wave in the Theory manual.
Initialization of Wave Motion 초기 파동
파동은 또한 초기조건으로 정의될 수 있다. 이는 파가 초기에 계산영역 내부에 존재하게 할 수 있어서 정상상태 파동에 도달하는 계산시간이 단축될 수 있다. 초기파고와 유체속도는 파 경계에서와 같은 조파기와 조파변수를 이용하여 생성된다. 파동을 초기화하기 위해 Model Setup → Meshing & Geometry 로가서 초기조건에 대한 아이콘 (t =0) 을 클릭한다. 그리고 나서 Initial →Global → Fluid initialization 로 가서 펼쳐지는 입력상자 안에서 wave boundary 선택한다. Reference mesh block 과 Reference mesh boundary 에서 격자블럭과 초기파동을 정의하는데 이용되는 파 경계를 선택한다.
Minimizing Wave Reflections from Mesh Boundaries격자경계에서의 파반사 최저화
모든 출구경계는 선택된 경계조건에 상관없이 입사파의 일부를 반사하고 반사파의 일부는 해석에 부정적 영향을 미칠 수 있다. 파반사는 출구 앞에 파흡수층(스폰지층)을 설치함으로써 최소화될 수 있다. 어떻게 파흡수층을 지정하는지에 대해서는 Wave-absorbing Layer (Sponge Layer) at Outflow Boundary 부분을 참조한다.
Using the shallow water model for wave simulations파모사(simulate)를위해 천해유동모델사용
천해유동모델은 유동의 수평규모가 수심보다 훨씬 깊다는 것을 전제한다. 특히 파랑 모사(simulate)에서 수평유동 규모는 영역의 수평길이보다 파장이다. 더 특별히, 단지 천해파(d/λ < 20, 로 정의되며 여기서 d 와 λ 는 각기 수심과 파장이다)만 천해 유동 모델을 이용하여 모사(simulate)될 수 있다. 중간파나 심해파가 천해 유동모델을 이용해 모사(simulate)되면 상당한 오류가 유발될 수 있다.