동적 시뮬레이션

Dynamic simulation

동적 시뮬레이션(또는 동적 시스템 시뮬레이션)은 컴퓨터 프로그램을 사용하여 동적 시스템의 시간 변동 동작을 모델링하는 것이다.시스템은 일반적으로 일반적인 미분 방정식 또는 부분 미분 방정식으로 설명된다.시뮬레이션 실행은 특정 기간 동안 상태 변수의 동작을 찾기 위해 상태 평가 시스템을 해결한다.방정식은 수치적 통합 방법을 통해 해결되어 상태 변수의 과도적 동작을 생성한다.동적 시스템의 시뮬레이션은 모델 시스템 상태 변수가 과거 상태 값에 의해 결정되기 때문에 모델 시스템 상태 변수의 값을 예측한다.이 관계는 시스템의 모델을 창조함으로써 발견된다.[1]

개요

시뮬레이션 모델은 일반적으로 연속 시간 수학 모델의 이산 시간 근사치를 통해 얻는다.[2]수학적 모델에는 기어 백래시, 하드 스톱으로부터의 반발과 같은 실제 세계의 제약조건이 통합되므로 방정식은 비선형적이 된다.이를 위해서는 방정식을 풀기 위한 수치적 방법이 필요하다.[3]수치적 시뮬레이션은 시간 간격을 밟고 수치적 통합을 통해 파생상품의 적분을 계산하는 방식으로 이루어진다.어떤 방법은 간격을 통하여 고정된 단계를 사용하며, 다른 방법들은 허용 가능한 오류 허용 오차를 유지하기 위해 자동으로 축소되거나 증가할 수 있는 적응 단계를 사용한다.일부 방법은 시뮬레이션 모델의 다른 부분에서 다른 시간 단계를 사용할 수 있다.

시뮬레이션해야 할 시스템 모델에는 두 가지 유형이 있다: 차이 등가 모델과 차등 등가 모델이다.고전 물리학은 보통 미분 방정식 모델에 기초한다.대부분의 구형 시뮬레이션 프로그램이 단순히 미분방정식 해결사, '절차 프로그램 세그먼트'에 대한 딜러 해결 차등화인 이유다.일부 동적 시스템은 암묵적 형태로만 표시할 수 있는 미분 방정식으로 모델링된다.이러한 차동 앨브레이크 등가 시스템은 시뮬레이션을 위한 특별한 수학적 방법을 필요로 한다.[4]

일부 복잡한 시스템의 동작은 초기 조건에 상당히 민감할 수 있으며, 이는 올바른 값에서 큰 오류를 초래할 수 있다.이러한 가능한 오류를 방지하기 위해 엄격한 접근법을 적용할 수 있으며, 여기서 원하는 정밀도까지 값을 계산할 수 있는 알고리즘이 발견된다.예를 들어 상수 e는 주어진 정밀도까지 상수를 생성할 수 있는 알고리즘이 있기 때문에 계산 가능한 숫자다.[5]

적용들

동적 시스템에 대한 컴퓨터 시뮬레이션의 첫 번째 적용은 항공우주산업에 있었다.[6]동적 시뮬레이션의 상업적 용도는 원자력, 증기 터빈, 6도 자유형 차량 모델링, 전기 모터, 계량기 모델, 생물학적 시스템, 로봇 암, 질량 스프링 댐퍼 시스템, 유압 시스템, 인체를 통한 약물 투여량 이동 등 다양하고 다양하다.이러한 모델은 종종 실제 시스템에 가까운 가상 응답을 제공하기 위해 실시간으로 실행될 수 있다.이는 프로세스 제어메카트로닉 시스템에서 실제 시스템에 연결되기 전에 자동 제어 시스템을 튜닝하거나, 실제 시스템을 제어하기 전에 사람 훈련을 할 때 유용하다.시뮬레이션은 컴퓨터 게임과 애니메이션에서도 사용되며 물리적 특성을 시뮬레이션하기 위해 3ds Max, Maya, Lightwave와 같은 많은 강력한 컴퓨터 그래픽 소프트웨어 프로그램에서 사용되는 기술인 물리 엔진을 사용함으로써 가속될 수 있다.컴퓨터 애니메이션에서, 머리카락, , 액체, , 입자와 같은 것들은 쉽게 모델링될 수 있는 반면, 인간 애니메이터는 더 단순한 물체에 애니메이션을 만들어낸다.컴퓨터를 기반으로 한 역동적인 애니메이션은 1989년 픽사 단편 영화 크닉 트릭에서 스노글로브 속 가짜 눈과 어항 속 조약돌을 옮기는 데 처음으로 아주 간단한 수준으로 사용되었다.

동적 시뮬레이션 예제

이 애니메이션은 소프트웨어 시스템 역동성과 3D 모델러로 제작되었다.계산된 값은 로드 및 크랭크 파라미터와 연관된다.이 예에서 크랭크는 회전 속도, 반지름 및 로드 길이를 모두 변화시키고 피스톤은 이를 따른다.

참고 항목

  • 시스템 다이내믹 소프트웨어 비교 — 아래에 나열되지 않은 패키지 포함
  • Simulink — 동적 시스템의 모델링, 시뮬레이션 및 분석을 위한 MATLAB 기반 그래픽 프로그래밍 환경
  • MSC Adams — 멀티바디 다이내믹 시뮬레이션 소프트웨어
  • SimulationX - 다중 도메인 다이내믹 시스템을 시뮬레이션하는 소프트웨어
  • AMESim - 다중 도메인 동적 시스템 시뮬레이션 소프트웨어
  • AGX 다중물리학 — 다중 도메인 동적 시스템 시뮬레이션을 위한 물리 엔진
  • EcosimPro — 연속 배출 시스템 모델링을 위한 시뮬레이션 도구
  • Hopsan — 다중 도메인 동적 시스템 시뮬레이션 소프트웨어
  • MapleSim - 다중 도메인 동적 시스템 시뮬레이션을 위한 소프트웨어
  • Modelica - 동적 시뮬레이션을 위한 비수용적 객체 지향 방정식 기반 언어
  • 물리 엔진
  • VisSim - 비선형 동적 시뮬레이션을 위한 시각적 언어
  • EICASLAB — 비선형 동적 시뮬레이션을 지원하는 소프트웨어 제품군
  • PotterSwheel — 동적 시스템의 파라미터를 보정하는 Matlab 도구 상자
  • Simcad Pro - 동적 인터랙티브 이산 이벤트 시뮬레이션 소프트웨어

참조

  1. ^ 코른, 그래니노 A.고급 동적 시스템 시뮬레이션: 모델 복제 기술과 몬테 카를로 시뮬레이션.존 와일리 & 선즈, 2007년 2시
  2. ^ 클라이, 해롤드, 랜달 앨런.MATLAB 및 Simulink를 사용한 동적 시스템 시뮬레이션크랙 프레스, 2016. 페이지 3
  3. ^ 클라이, 해롤드, 랜달 앨런.MATLAB 및 Simulink를 사용한 동적 시스템 시뮬레이션크랙 프레스, 2016. 페이지 93.
  4. ^ 클라이, 해롤드, 랜달 앨런.MATLAB 및 Simulink를 사용한 동적 시스템 시뮬레이션크랙 프레스, 2016. 페이지 3
  5. ^ 갈라톨로, 스테파노, 마티외 호이럽, 크리스토발 로하스."동적 시스템, 시뮬레이션, 추상 연산." arXiv 사전 인쇄 arXiv:1101.0833(2011년)
  6. ^ 클라이, 해롤드, 랜달 앨런.MATLAB 및 Simulink를 사용한 동적 시스템 시뮬레이션크랙 프레스, 2016 페이지 Xii.

외부 링크