유체 네트워크 모델링 및 시뮬레이션하기
Simscape™ Fluids™ 블록을 사용하여 유체 시스템을 나타내는 모델을 구축할 수 있습니다. Simscape Fluids 컴포넌트 라이브러리는 여러 물리 모델링 도메인에서 펌프, 밸브, 열 교환기, 파이프와 같은 요소를 나타냅니다.
네트워크 연결
다른 Simscape 모델에서와 같이, 일련의 연결된 유체 블록이 네트워크를 형성합니다. Simscape Fluids 블록은 1차원 유동을 모델링하고, 유체는 네트워크 연결 선을 따라 양방향으로 흐릅니다. 많은 Simscape Fluids 블록이 반대 방향의 유동을 지원합니다. 이러한 유동은 음수 질량 유량과 같은 음수 변수를 사용하여 지정할 수 있습니다.
각 Simscape Fluids 도메인에는 Across 변수와 Through 변수가 있습니다. Through 변수는 블록을 통과하면서 보존되는 반면, Across 변수의 실질적인 값(net value)은 블록을 거치면서 바뀔 수 있습니다.
| 유체 도메인 | Across 변수 | Through 변수 |
|---|---|---|
| 등온 유체 | 절대 압력 | 질량 유량 |
| 열 유체 | 절대 압력 및 온도 | 질량 유량 및 에너지 유량 |
| 2상 유체 | 절대 압력 및 비내부에너지 | 질량 유량 및 에너지 유량 |
| 기체 | 절대 압력 및 온도 | 질량 유량 및 에너지 유량 |
| 습윤 공기 | 절대 압력, 온도, 비습도(수증기 질량 분율), 습윤 공기에 대한 물방울의 질량비, 미량 기체 질량 분율 | 혼합물 질량 유량, 혼합물 에너지 유량, 수증기 질량 유량, 물방울 질량 유량, 미량 기체 질량 유량 |
| 유압(등온) | 게이지 압력 | 체적 유량 |
별도로 명시되지 않는 한, 블록에서 사용되는 모든 압력과 온도는 정압과 정온입니다.
유체 부피를 모델링하는 블록을 하나 이상 포함함으로써 유체 네트워크를 그라운드할 수 있습니다. 유체 부피를 모델링하는 블록은 내부 부피를 가지며, 이는 내부적으로 정의된 상태가 있음을 의미합니다. 이러한 블록을 네트워크에 연결할 때, 컴포넌트의 블록 파라미터를 지정하여 모델의 초기 조건을 설정할 수 있습니다. 컴포넌트는 내부 부피의 유체 상태를 나타내는 내부 노드를 사용하여 블록 전체에서 질량, 운동량, 에너지 균형을 계산합니다. 변수를 내부 노드 또는 포트에서 측정하도록 선택할 경우 서로 다른 값이 관측될 수 있습니다. 네트워크를 그라운드하는 데 대한 자세한 내용은 네트워크 및 네트워크 연결 항목을 참조하십시오.
블록 연결, 포트, 변수 유형에 대한 자세한 내용은 Basic Principles of Modeling Physical Networks 항목을 참조하십시오.
모델 구축하기
MATLAB® 명령줄에 sscnew를 입력하여 권장 설정이 적용된 Simscape 모델 템플릿을 엽니다. MATLAB 명령줄에 SimscapeFluids_lib를 입력하면 Simscape Fluids 블록 라이브러리를 볼 수 있습니다. Simulink 라이브러리 브라우저나 Simscape Fluids 블록 라이브러리에서 블록을 추가하여 모델을 생성합니다. 블록 간의 신호는 실제 시스템에서 컴포넌트 사이에 존재하는 물리적 연결을 나타냅니다. 물리 시스템의 요소를 결합하듯이 모델 블록을 결합합니다.
모델을 시뮬레이션하기 전에 초기 조건을 정의해야 합니다. Configure the Variable Viewer에서 초기 조건을 확인할 수 있습니다. Simscape Fluids 모델의 초기 조건은 도메인에 따라 다릅니다.
등온 유체 도메인에서는 초기 압력을 제공하십시오.
열 유체 도메인에서는 초기 압력과 온도를 제공하십시오.
기체 도메인에서는 초기 압력과, 밀도 또는 온도를 제공하십시오.
습윤 공기 도메인에서는 초기 압력, 온도, 습도, 미량 기체량을 제공하십시오.
2상 유체 도메인에서는 초기 압력과 함께 증기 품질, 온도, 엔탈피 또는 내부 에너지 중 하나를 제공하십시오.
모델을 초기화하고 변수 우선 순위를 설정하는 방법에 대한 자세한 내용은 Block-Level Variable Initialization 항목을 참조하십시오.
sscnew를 사용하여 모델을 생성하는 경우 디폴트 솔버는 많은 모델에서 잘 동작하는 VariableStepAuto로 설정됩니다. 자동 솔버는 일반적으로 Simscape Fluids 모델에 대해 daessc를 사용하며, 이는 권장되는 견고한 솔버입니다. 모델의 정확한 수치 해와 시뮬레이션 시간 사이의 균형을 맞추기 위해 솔버를 조정해야 할 수도 있습니다. 가변 스텝 솔버인 ode23t와 ode15s는 다양한 동역학에 적합하며 더 적은 계산량을 필요로 합니다. 시스템에 적합한 솔버를 선택하고 구성하는 방법에 대한 자세한 내용은 Setting Up Solvers for Physical Models 항목을 참조하십시오. 코드 생성과 같이 고정 스텝 솔버가 필요한 응용 분야에는 ode1be 또는 ode14x 솔버를 사용하십시오. 고정 스텝 솔버를 사용하는 경우 Solver Configuration 블록에서 로컬 솔버 사용을 선택하여 로컬 솔버를 켜는 것도 고려해 보십시오. 코드 생성에 대한 자세한 내용은 시뮬레이션 속도 향상을 위한 코드 생성하기 항목을 참조하십시오.
블록 파라미터화하기
모델에 있는 블록을 파라미터화하여 블록 동작을 변경하고 제어합니다. 데이터시트나 측정값에서 얻은 정보를 기반으로 파라미터 값을 선택하거나, 결과에 맞게 파라미터를 조정합니다. 다음을 사용하여 블록을 파라미터화할 수 있습니다.
해석적 정식화 — 해석적 표현식을 사용하는 블록은 지정된 파라미터로부터 블록 특성을 계산합니다. 예를 들어, Fixed-Displacement Pump (IL) 블록을 사용하고 누설 및 마찰 파라미터화를
해석적으로 설정할 경우 블록은 샤프트 속도, 압력 이득 및 마찰 토크의 공칭 값으로부터 누설과 마찰을 계산합니다.테이블 형식 데이터 — 테이블 형식의 데이터를 사용하는 블록은 특정 범위의 값에 대해 정의된 데이터를 사용하여 블록 특성을 정의합니다. 데이터 테이블은 2차원 또는 3차원일 수 있으며, 예를 들어 테스트 행렬에서 가져온 독립적인 벡터들로 구성됩니다. 예를 들어, Fixed-Displacement Pump (IL) 블록을 사용하고 누설 및 마찰 파라미터화를
테이블 형식 데이터 - 체적 손실 및 기계적 손실로 설정할 경우 블록은 각 파라미터의 범위에 대해 압력 이득과 샤프트 속도에 대한 각 테스트 지점에서의 체적 손실로 체적 손실 테이블, q_loss(dp,w) 파라미터를 채웁니다.모델을 시뮬레이션하기 전에 PS Lookup Table (1D) 블록과 PS Lookup Table (2D) 블록을 사용하여 룩업 테이블의 데이터를 시각화하고 확인할 수 있습니다. 자세한 내용은 Plot Lookup Tables 항목을 참조하십시오.
입력 신호 — 입력 신호를 사용하는 블록은 입력 포트를 사용하여 블록 특성을 정의합니다. 예를 들어, Fixed-Displacement Pump (IL) 블록을 사용하고 누설 및 마찰 파라미터화를
입력 신호 - 체적 효율 및 기계적 손실로 설정할 경우 블록은 물리 신호 포트를 통해 누설 유량과 마찰을 받습니다.부품 컬렉션 — 일부 블록은 Simscape Fluids 부품 컬렉션의 부품을 포함합니다. 블록 파라미터화 관리자를 사용하여 이러한 부품 중 하나를 블록에 손쉽게 적용할 수 있습니다. Simscape Fluids 부품 컬렉션의 부품이 포함된 블록을 알아보려면 Simscape Fluids Part Collection 항목을 참조하십시오. 예를 들어, Fixed-Displacement Pump (IL) 블록은 여러 제조업체에서 제공하는 부품을 포함합니다.
파라미터 값을 런타임에 구성 가능한 경우 시뮬레이션 중에 이러한 값을 수정할 수 있습니다. 구성 가능한 파라미터와 설정에 대한 자세한 내용은 About Simscape Run-Time Parameters 항목을 참조하십시오.
모델을 시뮬레이션하고 검증하기
모델 구축과 파라미터화를 마치면 모델을 실행할 수 있습니다. 모델에서 오류가 반환되는 경우 잠재적인 모델 오류 해결 방법에 대한 자세한 내용은 유체 시뮬레이션 문제 해결하기 항목을 참조하십시오. 시뮬레이션한 후에 결과를 검증하여 예상대로 동작하는지 확인할 수 있습니다. Simulink® 환경에서 Simscape Fluids 네트워크를 시뮬레이션하고 분석하는 방법에는 다음과 같이 여러 가지가 있습니다.
시뮬레이션 시작 시 네트워크 변수를 확인하고 검사하려면 Configure the Variable Viewer를 사용하십시오.
일부 블록은 블록 파라미터화 또는 특성에 대한 정보를 표시할 수 있습니다. 예를 들어, Compressor (2P) 블록과 Compressor (G) 블록의 압축기 맵을 시각화하려면 블록 대화 상자에서 압축기 맵 옆에 있는 플롯 버튼을 클릭하십시오.
Scope 블록을 사용하여 특정 신호의 결과를 확인합니다. Scope 블록은 Simulink 신호를 플로팅합니다. PS-Simulink Converter 블록을 사용하여 Simscape 물리 신호를 Simulink 신호로 변환합니다. Probe 블록을 사용하여 모델의 블록에서 변수를 선택하고 이 변수를 Simulink 신호로 출력할 수도 있습니다. 자세한 내용은 Simscape 다이어그램을 Simulink 소스 및 스코프에 연결하기 항목을 참조하십시오.
2상 유체 도메인에서 P-H Diagram (2P) 블록은 비엔탈피에 대한 압력의 p-h 다이어그램을 플로팅하고 가장 최근 시뮬레이션에서 애니메이션을 재생할 수 있습니다.
데이터 기록을 활성화하고 Simscape 결과 탐색기 또는 시뮬레이션 데이터 인스펙터에서 결과를 표시하여 블록이나 전체 모델의 결과를 확인합니다.
모든 블록에 대해 데이터 기록을 켜려면 Simulink 툴스트립에서 모델링 > 모델 설정 > 모델 설정을 선택합니다. 구성 파라미터 대화 상자에서 Simscape를 선택합니다. 오른쪽 창의 데이터 기록 아래에서 시뮬레이션 데이터 기록을
모두로 설정하고 시뮬레이션 후 뷰어 열기를 선택합니다.특정 블록에 대해 데이터 기록을 켜려면 해당 블록을 클릭합니다. Simscape Block 탭에서 데이터 기록을 클릭하고 데이터 기록, 선택한 블록만 기록 및 시뮬레이션 후 뷰어 열기를 선택합니다.
모델을 시뮬레이션한 후에 신호의 결과를 보려면 Simscape 결과 탐색기를 사용하고, 시뮬레이션 간의 결과를 비교하려면 시뮬레이션 데이터 인스펙터를 사용하십시오.
모델의 정확도, 속도, 효율 간 균형 맞추기
시뮬레이션의 정확도, 속도 및 효율을 변경하려면 구성 파라미터 대화 상자의 솔버 창에서 다음 파라미터 중 하나 이상을 조정할 수 있습니다.
고정 스텝 솔버를 사용하는 경우 Solver Configuration 블록에서 로컬 솔버 사용을 선택하고 솔버 설정을 조정해 보십시오. 자세한 내용은 Solver Configuration 블록을 참조하십시오.
대부분의 경우, 디폴트 허용오차 값과 스텝 크기 값은 모델의 정확도와 속도 간에 적절한 균형을 유지합니다. 구성 파라미터 대화 상자의 솔버 창에서 상대 허용오차 파라미터와 절대 허용오차 파라미터를 조정하여 속도와 정확도 간에 균형을 맞출 수 있습니다. 솔버가 중요한 거동을 놓치는 경우 허용오차 파라미터에 더 작은 값을 선택할 수 있지만, 그러면 시뮬레이션 시간이 늘어납니다.