Mass-Momentum Sources / 질량모멘텀소스
질량 모멘텀소스는 실제 소스형상을 모델링 하지 않고 지정된(시간에따라변하는) 유량과 속도에서 계산영역으로 임의의 위치와 방향을 갖는 유체를 도입할 수 있게 한다. 질량 모멘텀소스는 평면에서 한 특별한 형태의 입자 배열로 나타난다. 사용자는 단지 소스표면의 위치, 형태, 향배만을 정의할 필요가 있으며 코드가 이런 입자들을 자동적으로 특정위치에서 사용자가 지정한 형상과 방향을 갖는 양상으로 생성될 것이다. 추가로, 질량 모멘텀소스는 사용자가 정의한 속도로 움직일 수 있다. 이들은 노즐, 배기관, 파이프 등과 같은 물체들을 나타내는데 이용된다. 이런 접근방법은 영역의 크기에 비해 소스 크기가 작을 때 특히 유용하다.
질량모멘텀소스는 유체를 방출하거나(유량이 양일 경우) 또는 제거할 수 있다(유량이 음일 경우). 다음에서 유체를 방출하는 질량모멘텀소스는 소스, 이를 제거하는 소스는 싱크라고 부를 것이다. 다수의 소스와 싱크가 한 모사(simulate)에서 있을 수 있으며 각각은 질량 또는 체적유량, 유체형태(유체1,2 또는 이의 혼합물), 유체농도 그리고 온도 같은 고유의 물성치 세트로 특성화될 수 있다.
다음을 주목한다.
- 질량/체적 유량은 시간에 따라 변할 수 있다. 결과적으로 한 모사(simulate)중에 소스가 싱크가 되고 또 역으로될 수도 있다.
- 두 유체문제에서 이 유체들은 소스/싱크에서 증가/제거될 수 있다. 추가로 두 유체혼합물은 싱크에서 제거될 수 있다.
- 한 유체문제에서 유체가 아닌 기포공간이 추가 또는 제거되면 추가되거나 제거된 체적은 소스/싱크에 인접한 공간에 상응하는 압력변화로 변환될 수 있다.
- 유체1과 유체2(또는기포)가 싱크에서 제거될 때 제거되는 각 유체의 양은 자동적으로 싱크에 인접한 혼합물의 체적율에 비례하여 시간에 따라 각 점에서 결정된다. 예를 들면, 혼합물의 유체분율이1이면 체적상으로 유체1의 10%와 유체2의 90%가싱크에서 제거된다. 유체분율이 1이면 유체2는 제거되지 않는다. 혼합물의 양은 모사(simulate)동안에 변할 수 있으므로 각 유체의 제거율도 변할 것이다.
- 열전달이 있는 모사(simulate)에서 싱크에서의 온도는 자동으로 싱크에 인접한 셀 내의 평균온도로 계산되므로 사용자가 정의하지 않는다.
다른 모델링의 경우 질량/모멘텀소스의 거동에 대한 기술은 Mass Sources 부분을 참조한다. 예를 들면 기름의 물로 유출을 모델링하기 위해서는 모사(simulate)는 물을 유체#1로 , 공기는 기포로 모델하는1-유체 자유표면의 경우로 지정되어야 하며 기름의 상은 변동밀도모델(Flows with Density Variations 부분 참조)을 사용하여 모델링 된다. 이 경우 기름밀도와 같은 소스유체밀도를 갖는 소스로 물로의 기름의 유동을 나타낼 수 있다. 질량-모멘텀소스의 생성을 위한 상세한 내용은 Model Setup 장의 Mass-Momentum Sources 를 보거나 이 다음 부분을 참조한다.
Spray bar 질량/모멘텀 소스는 개념적으로 균일한 간격의 축 위치에서 원주둘레에 일련의 구멍을 갖는 원통형 파이프이다. 좌표원점에 중심이 있고 z 방향으로 향하여 초기화된 이 원통형 막대기는 임의의 원하는 위치로 회전되고 이동될 수 있다.
다른 질량/모멘텀소스와는 달리 Spray bar 소스는 지정된 질량 또는 체적유량을 갖는 mass particles 를 생성한다. 유량은 바에 있는 구멍에서 나가는 연속적 액체 제트가 대부분이 구멍의 직경의 1.89배(Lord Rayleigh 의 이론적 예측에 의해)되는 방울들로 빠르게 부서진다는 가정하에서 입자들로 변환된다. 이런 입자들은 많은 수의 계산 사이클 동안에 지정된 유량이 나가는 것으로 확실케 해주는Monte Carlo 견본추출법에 의해 특정 구멍의 위치에서 나가도록 지정된다.
Note:
- 질량모멘텀소스를 정확히 격자경계나 요소에 위치시키는 것을 피하도록 하는데 이는 질량모멘텀소스 일부가 약간의 영역외부에 또는 요소의 내부에 위치할 때 반올림 에러가 발생할 수 있기 때문이다. 이는 질량모멘텀소스의 형상을 바꾸고 질량모멘텀소스에서 유속 또는 유량에 영향을 미칠 수 있다. 대신에 질량모멘텀소스를 약간의 영역 내에 또 물체로부터 떨어져서 위치하도록 한다
- spray bar 는 항상 정지하고 있다
- 질량모멘텀소스는 동일한 유량을 갖는 균일한 간격의 입자들을 생성한다. 균일한 격자에서 이는 소스상에서 균일한 유동을 발생시킨다. 그러나 격자가 불 균일할 때 균일한 입자 간격이 셀에 따라 다른 수의 입자를 발생시킬 수 있는데 이는 소스상의 속도분포를 불 균일하게 만든다. 이는 특히 특성상 중심 가까이에 더 작은 셀을가지는 원통형 격자에 해당된다
Activate Mass-Momentum Source / 질량모멘텀소스 활성화
질량모멘텀소스 모델은 Activate fluid source model 를 체크함으로써 Model Setup → Physics → Fluid sources 에서 활성화된다.

Model Setup →Meshing & Geometry 에서 Massmomentum source 창을 불러오기 위해 질량 모멘텀 소스 아이콘을 클릭한다. 밑의 그림에서 보여주는 바와 같이 질량모멘텀소스 /싱크를 추가하기 위해 Mass-momentum sources 상에서 오른쪽을 클릭한다. Enabled 앞의 체크상자가 체크 되어야 한다. 밑에서와 같이 사용자는 소스/싱크에 이름을 주어도 된다.

Define Geometry for Mass-Momentum Source / 질량모멘텀 소스의 형상정의
질량모멘텀 소스는 예를 들면 파이프의 입구/출구 또는 공기배관 또는 노즐의 관 같은 평면소스를 나타내는데 이용된다. 소스는 배플을 이용하여 표준 형상 (정사각형, 직사각형, 원형 또는 타원형)또는 임의의 형상을 가지도록 지정될 수 있다.
Specifying Standard Shapes for Sources / 소스를위한 표준형상 정의
표준 형상(정사각형, 직사각형, 원형 또는 타원형)을 갖는 소스를 지정하기 위해 확장표시를 열어 Geometries 를 클릭하고 Shape 상자에서 적절한 형상을 선택한다. 그 후에 크기변수를 입력하여 소스의 크기를 정의한다.

표준형상을 갖는 소스의 디폴트 방향은 평면에 있으며 중심이 좌표원점에 놓여있다. 소스 표면의 디폴트 외부 수직 방향(디폴트 유동방향인)은 +Z 방향이다. 소스는 지정된 방향으로 회전될 수 있고 회전 및 이동변수를 지정함으로써 원하는 위치로 이동될 수 있다. 회전은 축에 대한 지정된 각(도)에따라 오른손 법칙을 이용하여 X, Y 그리고 Z의 순서로 이루어진다. 소스유체의 유동방향은 이에 따라 회전된다. 일단 회전이 이루어지면 소스표면의 외부수직벡터의 X, Y 그리고and Z 성분은 Normal X, Normal Y 그리고 Normal Z 로 보여진다. 밑의 그림은 변환이 어떻게 이루어지는지를 보여준다.

Note:
복잡한 변환연산자를 사용하지 않고 유동의 방향을 바꾸는 간단한 방법은 PARTS namelist 에 있는 변수 IFLOWDIR(n) 를 사용하는 것이다. 그러나 현재 이 변수는 GUI 에서는 사용할 수 없고 단지 prepin.* 파일에서 지정되어야 한다.
Specifying Arbitrary Shapes for Sources Using Baffles / 배플을 사용하는 소스의 임의 형상 지정
위에 언급된 표준형상 이외에 임의의 평면형상을 갖는 소스를 정의하는 것 또한 가능하다. 이는 배플을 사용하여 가능하다. 배플을 이용하는 질량모멘텀소스는 STL 파일을 사용하거나 배플 limiters 를 이용하여 정의될 수 있다. 현재 배플을 이용하는 질량 모멘텀 소스는 GUI 에서는 사용할 수 없고 prepin.* 파일에서 지정될 수 있다. 다음 단계는 배플 이용 질량 모멘텀 소스를 정의하는 과정을 서술한다.
- PARTS namelist 에서 질량모멘텀 소스 입력을 생성하고 이의 형상은 배플에 의해 정의한다고 지정한다. 이는 이 소스에 대한 변수 nvtyp 값을 6으로 하면 된다.
- BF namelist 에서 배플지역을 생성하고 이를 변수 IFMMSRC 를 사용하여 위에 언급한 질량모멘텀 소스와 연계한다. 배플의 형상은 기존 배플 지정 변수에 의해 결정되며 STL 파일을 이용하여 형상을 지정하는 선택을 포함한다.
예를 들어 원점에 중심이 있는 단위 정사각형인 질량모멘텀 소스를 생성하기 위해 BF 와 PARTS namelists가 다음과 같이 지정되어야 한다
$BF nbafs=1, remark=’!! Baffle 1′,
fptitl(1)=’Mass momentum source baffle’, ibaf(1)=1, ifmmsrc(1)=1, bz(1)=0.0, bxl(1)=-0.5, bxh(1)=0.5, byl(1)=-0.5, byh(1)=0.5,
$END
$PARTS remark=’!! Mass Momentum Sources’, |
nvnts=1, remark=’!! Mass Momentum Source 1′, iaqsrp(1)=1, nvtyp(1)=6, tvfr(1,1)=50, tms(1)=0,
$END |
BF 와 PARTS namelists에서 관련된 입력변수 기술을 위해 Baffle Namelist – BF 와 Particle Setup: Mass-Momentum Sources 를 참조하라. 배플에 의한 질량모멘텀 소스는 아래에 명기된 것과 같이 특정한 제약이 있다.
- 질량모멘텀 소스 배플은 Z=0 인 평면에 평행한 평면이어야 한다. 그 후에 the BF namelist 에 있는 변수들을 이용하여 다른 방향/위치로 확대, 회전 그리고 이동될 수가 있다. 배플의 지역 limiters 나 primitives 를 사용하여 정의된 질량모멘텀 표면에서 표면은 Z=0 평면에 있어야 한다. STL 파일을 사용하여 정의된 질량모멘텀에서 표면을 포함하는 평면은 단지 Z=0 평면에 평행하면 되며, 반드시 Z=0 평면에 있을 필요는 없다.
- 질량모멘텀 소스에 연관된 배플 부위는 단지 한 개의 배플에만 연결되어야 하며 마찬가지로 이 배플은 한 배플 부위만 가질수 있고 다른 것에는 연결될 수가 없다.
- 배플에 의거한 질량모멘텀 소스의 확대, 회전 및 이동은 particle namelist (PARTS)가 아닌 단지 baffle (BF) namelist 에서만 되어야 한다. particle namelist (PARTS)에서의 배플에 의거한 질량모멘텀 소스의 확대, 회전 및 이동은 무시될 것이다. XSIZE(m) 와 YSIZE(m) 변수도 마찬가지이다.
- 이상적으로 질량모멘텀 소스를 지정하는데 이용되는 STL 파일은 유한한 체적을 가지 않아야 한다. 표면(surface )이 선호된다. 이는 FLOW-3D 에서 질량모멘텀 소스는 체적이 아닌 표면 위에 분포된 점소스이기 때문이다. STL 형상이 유한한 두께(z 방향)를 갖는 부분을 기술하면 얇은 체적 안에 어떤 표면이 질량모멘텀 소스를 생성하는데 이용될 지에 대한 모호성이 있다. 사용자가 질량모멘텀 소스를 나타내기 위해 z 방향으로의 유한한 두께를 갖는 STL 형상을 사용하려면 하나의 비법은 배플 확장인자 BMAGNZ(n)를 사용하여 STL 형상을 z 방향으로 압축해서 z 방향으로의 두께를 격자 내에서 가장 작은 셀보다 작게 하는것이다. 예를들면 z 방향으로 유한한 두께를 갖는 STL 형상을 원하는 위치(예로5)로 압축하려면 이는 BTRNZ(n) 를 원하는 z 위치(즉, BTRNZ(n) =0.5)로 지정하고 z 방향으로 커다란 압축지수(예를들면, BMAGNZ(n) =0.0001)를 지정함으로써 이루어질 수 있다.
Define Source Fluid Properties / 소스유체 물성정의
- 질량/체적 유량은 시간에 따라 변할 수 있다. 질량/체적 유량은 시간에 따라 변할 수 있다. 모사(simulate)동안에 소스는 싱크로 변할 수 있고 반대도 마찬가지이다. Properties → Source and Properties → Sink 밑에서 사용자는 소스에서의 유체형태(유체 1 또는 2) 밀도와 온도, 그리고 싱크에서의 유체형태(유체 1, 2또는 혼합물)과 밀도를 정의할 수 있다.

Define Flow Rate / 유량정의
사용자는 Properties → Flow rate type에서 소스/싱크의 전체mass flow rate, total volume flow rate 또는 velocity flow rate 정의하는 것을 선택할 수 있다
질량이나 체적유량이 일정하면 단순히 Properties → Flow rate type → Flow rate 에서 값을 넣는다. 그렇지 않으면 데이터표를 열기 위해 Flow rate → Tabular 를 클릭하고 밑에 보여진 것과 같이 시간대 유량을 입력한다. 유량은 소스에서는 양의 값이고 싱크에서는 음인데 시간에 따라 소스와 싱크가 바뀔 수 있다. 또 다른 방법으로 사용자는 Import Values 버튼을 이용하여 데이터 파일을 읽어 들여 유량대 시간을 정의할 수 있다. 이 파일은 두열의 데이터를 갖는데 이들은 각기 좌에서 우로 시간과 유량을 나타낸다. 이 파일은 csv 확장자를 가진다. FLOW-3D에서의 다른 시간 의존 변수와 마찬가지로 데이터는 구간 내 선형으로 시간 사이에서 보간 된다. 소스의 지정된 질량 유량과 면적에 의거하여 소스 수직 방향을 따른 유체소스 속도 성분이 자동적으로 FLOW-3D 에 의해 계산된다.
소스에서 속도를 지정하여 유량을 정의하기 위해 Properties → Flow rate type 메뉴에서 Velocity flow rate 를 선택한다. 수직(Z 방향), X-방향, 그리고 Y 방향의 속도 성분은 Properties → Flow rate type → Fluid Velocities 에서 지정될 수 있다. 단지 수직 속도성분만이 유량에 영향을 미친다는 것에 주목한다. 모든 3가지 속도 성분은 양이나 음이 될 수 있다. 지정된 수직 속도와 소스 면적에 따라 소스의 질량/체적 유량이 자동적으로 FLOW-3D 에 의해 계산된다.
현재의 GUI 에서는 유량(TVFR)이나 수직속도(WV) 중의 하나가 지정되어야지 둘 다는 될 수가 없다. 수직속도가 지정되면 유량은 이로부터 계산되고 유량이 지정되면 속도가 계산된다. 그러나 어떤 특정한 경우는 사용자가 유량 및 속도 둘 다 지정하기를 원한다. 이는 질량모멘텀 소스에 의해 생성되는 유동이 연속적이지 않을 때 즉 비가 내리는 경우와 같이 속도와 유동이 일치하지 않을 때 유용하다. 비록 GUI 에서는 현재 TVFR 와 WV 둘 다 같이 지정될 수 없지만 prepin.* 파일에서는 둘 다 지정될 수 있다. 그러나 TVFR 와 WV 값들은 완전히 독립적이지는 않다. 만약 WV 의 값이 유량을 유지하기 위한 최소속도보다 작으면 코드는 WV 의 값을 조절하여 최소 필요값(연속유동에 상응하는)을 반영하기 위해 WV의 값을 조절하고 경고문구가 쓰여질 것이다.
유량과 유동속도는 능동모사조절에 의해 모사(simulate)동안에 변경될 수 있다. 또한 더 상세한 것은 Active Simulation Control 를 참조하라.
Note:
- 지정된 유량은 영역외부의 입자를 포함하여 소스를 정의하는 초기의 입자열에 균일하게 분포된다. 다음 영역 내 질량모멘텀소스 입자와 연관된 유량부분이 막히지 않은 셀 내에 분포된다. 이 방법은 질량모멘텀소스의 유량을 수정할 필요가 없이 3차원과 대칭모사(simulate)간의 전이를 가능하게 해 준다.
- TVFR 와 WV 둘 다 수직속도 WV 가 지정된 유량 TVFR 을 유지하기 위해 필요한 최소 WV 값보다 크도록 지정되면 가끔 GUI 에서 iso-surface 를 선택하고 디폴트 유체분율 윤곽선을 이용하여 유동을 보는 것이 힘들 수 있다. 이런 경우에 유동을 보기 위해 유체분율 윤곽값은 Analyze 탭의 3차원 부속탭에서 “Iso-surface options” 의 the “Contour value” 상자에서 작은 값(예로1)으로 지정될 수 있다. 지정된 WV 값의 TVFR 에 상응하는 최소속도로부터 편차가 클수록 유체분율의 윤곽값이 작아야 한다.
Define Motion of Source / 소스운동정의
질량모멘텀소스/싱크는 정지해있거나 X, Y 와 Z 의 방향으로 시간에 따라 변하는 속도를 정의함으로써 이동운동을 할 수가 있다. 회전운동은 허용되지않는다. 소스속도는 소스에서 나오는 유체속도에 추가되지 않는다.
이동 시 소스는 형상이나 크기 변함없이 계산영역을 출입할 수가 있다. 모사(simulate)시에 소스가 부분적으로 영역 외부에 있거나 고체 요소에 의해 막혀있다면 소스에서의 유체유량은 이에 따라 축소될 것이다. 중요한 것은 시간이 0일 때 소스의 일부가 고체요소 내부에 있거나 격자 외부에 있다면 소스의 그 부분은 완전히 무시된다는 것이다: 지정된 유량은 시간이 0일 때 소스의 유효한 부분 위에 분포된다.
소스/싱크 운동의 X, Y 와 Z 속도는 각기 Source/Sink Motion → U velocity, V velocity and W velocity 에서 정의될 수 있다. 이들이 시간에 의존하면 상응하는 Tabular 버튼을 누르고 시간과 속도를 입력한다. 다른 방법으로는 소스/싱크 속도가 the Tabular → Import Values 버튼을 이용하여 읽혀질 수 있는 데이터파일을 통해 정의될 수 있다. 이들은 파일 내에 두 열을 가져야 하며 각기 좌에서 우로 시간과 속도를 나타낸다. 이 파일은 csv 확장자를 가져야 한다.
Define Scalars at Source / 소스에서의 스칼라정의
스칼라는 우선 Physics 댑 밑 Scalars 에서 활성화되어야 한다. 질량모멘텀소스에서 유체에 있는 스칼라양은 소스에서의 스칼라농도로 정의될 수 있는데 이는 계산영역에 들어오는 단위 체적당 스칼라의 질량이다. 영역 내로들어오는 스칼라의 질량유량은 지정된 스칼라농도에 소스에서 소스유체의 체적율을 곱한 값과같다. 메뉴선택: Mass-momentum source –> Properties –> Source –> Scalars –> User defined scalar 에서 스칼라농도를 입력한다. 시간에 따라 변하는 스칼라농도는 Time edit tables 창을 열기 위해 Scalars → User defined scalar → Tabular 를 클릭하고 시간대 스칼라농도를 입력한다. 다른 방법으로 스칼라농도가 Tabular → Import Values 버튼을 이용하여 읽혀질 수 있는 데이터파일을 통해 정의될 수 있다. 이들은 파일 내에 두 열을 가져야 하며 각기 좌에서 우로 시간과 스칼라농도를 나타낸다. 이 파일은 csv 확장자를 가져야 한다.
Customization(An Option) / 주문자(선택)
표준 기능에 추가로 사용자는 더 복잡한 속성과 형상을 갖는 질량 모멘트 소스를 도입할 수 있다. 이는 사용자가 수정 가능한 FORTRAN subroutine PARQSR (Subroutines Included in Distribution참조)를 편집하고 compiling함으로써 가능하다. IPQSR = 2 값은 유량이 변하거나 또는 이의 위치와 방향이 변하므로 최소한 PARQSR 에 있는 소스중의 하나가 시간에 따라 변한다는 것을 가리킨다.