KR20190139161A - 단계전 공동-시뮬레이션 방법 및 디바이스 - Google Patents

단계전 공동-시뮬레이션 방법 및 디바이스 Download PDF

Info

Publication number
KR20190139161A
KR20190139161A KR1020190067456A KR20190067456A KR20190139161A KR 20190139161 A KR20190139161 A KR 20190139161A KR 1020190067456 A KR1020190067456 A KR 1020190067456A KR 20190067456 A KR20190067456 A KR 20190067456A KR 20190139161 A KR20190139161 A KR 20190139161A
Authority
KR
South Korea
Prior art keywords
parameter
subsystem
simulation
error
simulating
Prior art date
Application number
KR1020190067456A
Other languages
English (en)
Inventor
마틴 베네딕토
시몬 젠서
요스트 베르나치
Original Assignee
콤페텐쩬트룸 - 다스 비르투엘레 파르제우그, 포르슝스게젤샤프트 엠베하
콤페텐?트룸 - 다스 비르투엘레 파르제우그, 포르슝스게젤샤프트 엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 콤페텐쩬트룸 - 다스 비르투엘레 파르제우그, 포르슝스게젤샤프트 엠베하, 콤페텐?트룸 - 다스 비르투엘레 파르제우그, 포르슝스게젤샤프트 엠베하 filed Critical 콤페텐쩬트룸 - 다스 비르투엘레 파르제우그, 포르슝스게젤샤프트 엠베하
Publication of KR20190139161A publication Critical patent/KR20190139161A/ko

Links

Images

Classifications

    • G06F17/5009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning
    • G06F2217/16

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

대체 서브시스템들의 편도함수들을 사용하는, 몇몇 서브시스템들의 공동-시뮬레이션을 위한 단계전 공동-시뮬레이션 방법 및 디바이스가 개시된다. 이것에 기초하여, 개별적인 서브시스템들의 출력 변수들의 정확한 솔루션들은 근사화된 정확한 출력 변수들의 미래의 진행을 추정하기 위하여 오차 미분 방정식의 평가에 의해 근사화되고; 대응하는 입력 변수들은 현재의 공동-시뮬레이션 시간 증분 이전에 최적화에 의해 결정된다. 단계전 공동-시뮬레이션 방법은 컴퓨터-실행가능 프로그램 내에서 실현되고, 컴퓨팅 노드들의 네트워크에서 구현된다.

Description

단계전 공동-시뮬레이션 방법 및 디바이스{PRE-STEP CO-SIMULATION METHOD AND DEVICE}
본 발명은 단계전 공동-시뮬레이션 시스템(pre-step co-simulation system)에 기초하여 실제 물리적 모델을 시뮬레이팅하기 위한 방법, 및 단계전 공동-시뮬레이션 시스템에 기초하여 실제 물리적 모델을 시뮬레이팅하기 위한 시뮬레이팅 디바이스에 관한 것이다.
요즘에는, 기술적 시스템들의 설계, 분석, 및 제작(engineering)을 위한 수치 시뮬레이션의 사용은 산업에서의 보편적인 실시이고, 많은 상이한 모델링 접근법들 및 맞춤형 수치 솔버(tailored numerical solver)들이 이용가능하다. 물리적 시스템들의 거동은 상미분 방정식(ordinary differential equation; ODE)들 또는 미분 대수 방정식(differential algebraic equation; DAE)들에 의해 전형적으로 설명된다. 수치 솔버들은 전용 시간 포인트들에서 그 분석적 솔루션(solution)들을 근사화하기 위하여 이용되는 반면, 이산화 오차(discretization error)가 도입된다. 상이한 접근법들은 정정을 위하여 존재하고, 가장 흔히, 반복적(묵시적) 솔버들이 적용된다. 실시간 시뮬레이션, 즉, 시간 동시 시뮬레이션(time concurrent simulation)의 경우에, 반복들은 미정의된 실행시간 거동을 초래하고, 이에 따라, 정정 척도(correction measure)들이 명시적 시뮬레이션 시간 증분(time increment) 후에 적용된다. 그러나, 유사한 상황이 공동-시뮬레이션 시에 발생한다.
공동-시뮬레이션은 특수한 시뮬레이션 규율(simulation discipline)을 표현하고, 여기서, 몇몇 서브시스템들은 공동-시뮬레이션 시간 증분들 상에서 독립적으로 시뮬레이팅되고, 데이터는 전용 시간 포인트들에서 동기화 목적들을 위하여 교환된다. 이 접근법은 단일 시뮬레이션 툴(simulation tool) 내의 전체적인 시스템의 모델링 또는 시뮬레이션이 불가능할 경우들에 있어서, 총체적 시스템 시뮬레이션을 위하여 전형적으로 이용된다.
위에서 언급된 고전적인 수치 시뮬레이션 접근법과 대조적으로, 공동-시뮬레이션의 경우에, 추가적인 마스터 알고리즘들, 즉, 더 높은-레벨의 수치 솔버들은 전체적인 시스템 시뮬레이션을 구하기 위하여 필요하다. 관여된 시뮬레이션 툴들의 제한된 또는 한정된 인터페이싱(interfacing) 및 공동-시뮬레이션 능력들로 인해, 반복적(묵시적) 공동-시뮬레이션 접근법들은 일반적으로 적용가능하지 않고; 그것들은 약간의(전형적 2 또는 3 개의) 서브시스템 시뮬레이션들의 전용 통합(integration)을 위하여 오직 이용된다. 다른 한편으로, 비-반복적 공동-시뮬레이션은 더 높은 마스터 알고리즘 레벨 상에서 상당한 결합 오차(coupling error), 즉, 공동-시뮬레이션 이산화 오차를 도입하는 그 단점을 갖는 보편적인 실시이다. 고전적인 수치 시뮬레이션 접근법과 대조적으로, 이 공동-시뮬레이션 이산화 오차의 완화는 관여된 시뮬레이션 툴들의 제한된 인터페이싱 및 공동-시뮬레이션 능력들, 예컨대, 서브시스템-내부 시스템 상태들에 대한 액세스 없음 또는 서브시스템 시뮬레이션 증분들의 재설정으로 인해 한정된다. 공동-시뮬레이션이 상이한 산업들에서 점점 더 관련되므로, 최근 몇몇 접근법들은 이 특정 문제에 대처하기 위하여 개발되었다.
EP 2 442 248 B1은 수정들이 후속 공동-시뮬레이션 시간 증분들 상에서의 공동-시뮬레이션 이산화 오차의 보상을 위한 서브시스템 입력들에 적용되는 접근법을 설명한다. 최근에, Sadjina-2016은 추가적인 모델 정보, 즉, 인터페이스-자코비안(Interface-Jacobian)들로서 지칭된 출력 및 입력 편도함수(partial derivative)들이 관련된 서브시스템 입력들의 수정을 위하여, 특히, 대수 루프들을 취급하기 위하여 사용되는 이 접근법에 대한 확장을 제안하였다. 인터페이스-자코비안 행렬들의 교환 및 사용은 EP 2 680 157 A1에 의해 예시적으로 이용된다. 이 추가적인 서브시스템 정보는 마스터 알고리즘들이 강성도(stiffness) 또는 대수 루프들과 같은 시스템 시뮬레이션 임계적 속성들에 관련된 안정성 쟁점들에 대처하는 것을 가능하게 한다.
그러나, 비-반복적 공동-시뮬레이션에서의 공동-시뮬레이션 이산화 오차를 완화하기 위한 현재 현존하는 접근법들은 결합 시간 순간에서의 현재의 공동-시뮬레이션 시간 증분 후에, 즉, 단계후(post-step)에 배타적으로 적용되고, 지연된 방식으로 전체적인 시스템 시뮬레이션에 영향을 준다. 이것은 전체적인 공동-시뮬레이션의 안전성 쟁점들 또는 감소된 정확도를 초래할 수도 있다. 또한, 현재의 접근법들은 공동-시뮬레이션 성능을 제한할 수도 있는 중앙집중화된 방식들에 기초한다.
본 발명의 목적은 실제 물리적 모델이 더 정밀하게 그리고 더 효율적인 방법으로 시뮬레이팅될 수 있는 방법 및 디바이스를 제공하는 것일 수도 있다.
상기 목적은 독립항들의 발명 요지에 따른, 실제 물리적 모델을 시뮬레이팅하기 위한 방법 및 시뮬레이션 디바이스에 의해 해결될 수도 있다.
본 발명의 제1 양태에 따르면, 단계전 공동-시뮬레이션 시스템에 기초하여 실제 물리적 모델을 시뮬레이팅하기 위한 방법이 제시된다. 방법에 따르면, 제1 방정식 시스템(예컨대, 거동 모델)(국소적)에 기초하여 실제 물리적 모델의 적어도 하나의 제1 파라미터(예컨대, 차량의 속력 v)를 시뮬레이팅하는 제1 서브시스템이 제공되고, 여기서, 제1 방정식 시스템은 적어도 하나의 제2 파라미터(예컨대, 차량의 추력(propulsion force) F)에 기초하여 제1 파라미터(v)를 결정하도록 구성된다.
또한, 제2 방정식 시스템(국소적)에 기초하여 실제 물리적 모델의 적어도 하나의 제2 파라미터(F)를 시뮬레이팅하는 제2 서브시스템이 제시되고, 여기서, 제2 방정식 시스템은 적어도 하나의 제1 파라미터(v)에 기초하여 제2 파라미터(F)를 결정하도록 구성된다. 제2 서브시스템에서의 제1 파라미터(v)의 제1 입력 값(v_in) 및 제1 서브시스템에서의 제2 파라미터(F)의 제2 입력 값(F_in)은 제1 결합 시간 포인트에서의 외삽(extrapolation)에 의해 추정된다. 방법은 제1 서브시스템에 의한 제1 파라미터(v)의 제1 출력 값(v_out) 및 제2 서브시스템에 의한 제2 파라미터(F)의 제2 출력 값(F_out)을 결정하는 것을 더 포함한다.
방법은 후속 제2 결합 시간 포인트에서, 추정된 제1 입력 파라미터(v_in)와 결정된 제1 출력 파라미터(v_out) 사이의 제1 오차, 및 추정된 제2 입력 파라미터(F_in)와 결정된 제2 출력 파라미터(F_out) 사이의 제2 오차를 결정하는 것을 더 포함한다.
또한, 방법에 따르면, 제1 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 제1 국소적 대체 모델(local replacement model)이 정의되고, 제2 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 제2 국소적 대체 모델이 정의된다.
이에 의하여, 국소적 대체 모델들은 추상적이고 단순화된 모델들을 표현하고, 대응하는 시뮬레이팅된 실제 물리적 서브시스템들의 거동(수학식 10 내지 수학식 11 참조)을 모방하고, 여기서, 제1 국소적 대체 모델 및 대응하는 제1 서브시스템을 시뮬레이팅하는 것은 동일한 제2 입력 변수들에 기초한 거의 유사한 제1 출력 변수들을 초래하고, 여기서, 제2 국소적 대체 모델 및 대응하는 제2 서브시스템을 시뮬레이팅하는 것은 동일한 제1 입력 변수들에 기초한 거의 유사한 제2 출력 변수들을 초래한다. 국소적 대체 모델들은 대응하는 입력 및 출력 파라미터들에 대한 서브시스템 출력 파라미터들 변경들의 감도를 필수적으로 설명한 편도함수들에 기초한다.
제1 국소적 대체 모델 및 제2 국소적 대체 모델에 기초하여, 오차 미분 방정식(Error Differential Equation)이 정의되고, 여기서, 오차 미분 방정식은 제1 결합 시간 포인트와 후속 제2 결합 결합 시간 포인트 사이에서, 시간 상에서의 제1 파라미터의 제1 특성 및/또는 시간 상에서의 제2 파라미터의 제2 특성을 결정하기 위한 제1 오차 및 제2 오차를 수신하도록 구성된다. 제1 파라미터의 제1 특성 및/또는 제2 파라미터의 제2 특성에 기초하여, 후속 결합 시간 포인트에서의 제1 파라미터(v)의 제1 입력 값(v_in) 및/또는 제2 파라미터(F)의 제2 입력 값(F_in)은 제1 서브시스템에서의 제1 파라미터(v) 및/또는 제2 서브시스템에서의 제2 파라미터(F)를 시뮬레이팅하기 위하여 제2 결합 포인트에서 최적화된다.
이에 의하여, 오차 미분 방정식은 제1 오차 및 제2 오차에 기초하여, 대응하는 제1 및/또는 제2 출력 값들에 대한 제1 파라미터의 제1 특성 및/또는 제2 파라미터의 제2 특성의 편차(deviation)를 각각 설명한다.
추가의 양태에 따르면, 단계전 공동-시뮬레이션 시스템에 기초하여 실제 물리적 모델을 시뮬레이팅하기 위한 시뮬레이팅 디바이스가 제시된다. 시뮬레이팅 디바이스는 위에서 설명된 방법을 프로세싱하기 위한 유닛들을 포함한다. 따라서, 시뮬레이팅 디바이스는 제1 방정식 시스템에 기초하여 실제 물리적 모델의 적어도 하나의 제1 파라미터를 시뮬레이팅하는 제1 서브시스템을 가지는 제1 서브시스템 유닛을 포함하고, 여기서, 제1 방정식 시스템은 적어도 하나의 제2 파라미터에 기초하여 제1 파라미터를 결정하도록 구성된다. 디바이스는 제2 방정식 시스템에 기초하여 실제 물리적 모델의 적어도 하나의 제2 파라미터를 시뮬레이팅하는 제2 서브시스템을 가지는 제2 서브시스템 유닛을 더 포함하고, 여기서, 제2 방정식 시스템은 적어도 하나의 제1 파라미터에 기초하여 제2 파라미터를 결정하도록 구성된다.
또한, 디바이스는 제1 결합 시간 포인트(Tk-1)에서의 외삽에 의해 제2 서브시스템에서의 제1 파라미터의 제1 입력 값 및 제1 서브시스템에서의 제2 파라미터의 제2 입력 값을 추정하도록 구성된 추정 유닛을 포함하고, 여기서, 제1 파라미터의 제1 출력 값은 제1 서브시스템에 의해 결정가능하고, 제2 파라미터의 제2 출력 값은 제2 서브시스템에 의해 결정가능하다.
또한, 디바이스는 후속 제2 결합 시간 포인트에서, 제1 파라미터의 추정된 제1 입력 값과 제1 파라미터의 결정된 제1 출력 값 사이의 제1 오차, 및 제2 파라미터의 추정된 제2 입력 값과 제2 파라미터의 결정된 제2 출력 값 사이의 제2 오차를 결정하는 것을 포함한다.
디바이스는, 제1 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 제1 국소적 대체 모델을 정의하고, 제2 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 제2 국소적 대체 모델을 정의하기 위한 오차 미분 방정식 유닛을 더 포함하고, 여기서, 제1 국소적 대체 모델 및 제2 국소적 대체 모델에 기초하여, 오차 미분 방정식은 오차 미분 방정식 유닛에 의해 정의가능하다.
오차 미분 방정식은 제1 결합 시간 포인트와 후속 제2 결합 결합 시간 포인트 사이에서, 시간 상에서의 제1 파라미터의 제1 특성 및/또는 시간 상에서의 제2 파라미터의 제2 특성을 결정하기 위한 제1 오차 및 제2 오차를 수신하도록 구성된다.
디바이스는 제1 서브시스템에서의 제1 파라미터 및/또는 제2 서브시스템에서의 제2 파라미터를 시뮬레이팅하기 위한 제1 파라미터의 제1 특성 및/또는 제2 파라미터의 제2 특성에 기초하여, 후속 결합 시간 포인트에서, 제1 파라미터의 제1 입력 값 및/또는 제2 파라미터의 제2 입력 값을 최적화하도록 구성된 최적화 유닛을 더 포함한다.
본 발명에 의해, 서브시스템들을 위한 대체 모델들을 확립하기 위한 편도함수들을 사용하는, 몇몇 서브시스템들의 공동-시뮬레이션을 위한 단계전 공동-시뮬레이션 방법 및 디바이스가 설명된다. 이것에 기초하여, 개별적인 서브시스템들의 출력 변수들의 정확한 솔루션들, 즉, 특성들은 근사화된 정확한 출력 변수들의 미래의 진행을 추정하기 위하여 오차 미분 방정식의 평가에 의해 근사화되고; 대응하는 입력 변수들은 현재의 공동-시뮬레이션 시간 증분 이전에 최적화에 의해 결정된다. 단계전 공동-시뮬레이션 방법은 컴퓨터-실행가능 프로그램 내에서 실현되고, 컴퓨팅 노드들의 네트워크에서 구현된다.
또한, 관련 방법들에서의 종래 기술의 과정에서, 시뮬레이션 결과는 더 고속의 프로세서들 및 더 대형의 스토리지(storage)들과 같은 더 많은 하드웨어 자원들이 제공될 경우에 더 정확해진다. 본 발명에 의해, 더 정확한 시뮬레이션 결과들은 더 많은 하드웨어 자원들의 필요성 없이 달성된다. 또한, 발명은 더 큰 결합 스텝-크기(step-size)들을 허용하고, 이에 따라, 결합 시간 포인트들에서의 데이터 교환들 - 제1 및 제2 파라미터들의 교환 - 의 감소된 양을 초래하고, 이는 단계전 공동-시뮬레이션 방법이 더 효율적으로 되게 한다.
실제 물리적 모델은 예를 들어, 실제 조건들 및 실제 파라미터들 하에서 시뮬레이팅되어야 하는 자동차와 같은 차량일 수도 있다. 실제 물리적 모델은 시뮬레이팅하기가 매우 복잡하다. 이 때문에, 공동-시뮬레이션 기법이 이용되고, 여기서, 복잡한 실제 물리적 모델은 개개의 서브시스템들에서 분리된다. 각 개개의 서브시스템은 희망된 파라미터를 계산한다. 그러나, 때때로 서브시스템은 입력 파라미터로서, 결합 시간 포인트에서 개개의 입력 파라미터의 값을 계산하지 않은 추가의 서브시스템의 파라미터의 계산된 출력 값을 필요로 하고, 여기서, 서브시스템은 파라미터의 개개의 입력 값을 필요로 한다.
이 때문에, 특히, 제1 서브시스템 및 제2 서브시스템은 그 개개의 파라미터들에 의해 서로에 종속적일 경우에, 개개의 서브시스템의 파라미터의 입력 값들이 근사화되어야 하거나 연산되어야 한다. 파라미터들의 개개의 입력 값들의 매우 정확한 근사화를 제공하는 것이 목적이다.
개개의 서브시스템들은 희망된 파라미터를 시뮬레이팅한다. 이 때문에, 개개의 제1 시스템에 의해 파라미터를 시뮬레이팅한 후에, 개개의 파라미터의 출력 값이 결정된다. 파라미터는 예를 들어, 속력, 제동력, 항력(drag), 차량 축의 토크(torque), 충돌력들, 차량의 연료 소비 등일 수도 있다.
각각의 서브시스템은 복수의 방정식들로 구성될 수도 있는 서브시스템 거동을 설명하는 개개의 방정식 시스템을 포함한다. 그러나, 실제적으로, 파라미터들에 대한 모든 필요한 입력 값들이 주어지는 것이 아니므로, 방정식 시스템은 적당하게 구해질 수 없다.
이 때문에, 본 발명에 따르면, 제2 서브시스템에서의 제1 파라미터의 제1 입력 값 및 제1 서브시스템에서의 제2 파라미터의 제2 입력 값은 제1 결합 시간 포인트에서의 외삽에 의해 추정된다. 이 때문에, 외삽에 의해, 개개의 파라미터들의 기본적인 제1 및 제2 입력 값들은 제1 및 제2 서브시스템들에 의한 제1 시뮬레이션 단계를 제공하기 위하여 주어진다. 따라서, 제1 서브시스템에 의한 제1 파라미터의 제1 출력 값 및 제2 서브시스템에 의한 제2 파라미터의 제2 출력 값이 결정될 수 있다.
후속하여, 제2 서브시스템에서의 제1 파라미터의 추정된 제1 입력 값과 제1 서브시스템으로부터의 제1 파라미터의 시뮬레이팅된 제1 출력 값 사이의 제1 오차가 결정된다. 따라서, 제1 서브시스템에서의 제2 파라미터의 추정된 제2 입력 값과 제2 서브시스템으로부터의 제2 파라미터의 시뮬레이팅된 제2 출력 값 사이의 제2 오차가 결정된다.
또한, 제1 서브시스템 및 제2 서브시스템의 편도함수들에 기초한 개개의 국소적 대체 모델들이 결정될 수 있다. 국소적 대체 모델들의 편도함수들은 원래의 서브시스템 행렬들에 기초하여 연산된다. 제1 및 제2 대체 모델들에 기초하여, 오차 미분 방정식이 정의된다. 제1 오차 및 제2 오차는 제1 결합 시간 포인트와 후속 제2 결합 시간 포인트 사이에서, 시간 상에서의 제1 파라미터의 제1 특성 및 시간 상에서의 제2 파라미터의 제2 특성을 결정하기 위한 오차 미분 방정식에서 입력되는 것이 가능하다. 제1 파라미터 및 제2 파라미터의 특성은 2 개의 결합 시간 포인트들, 즉, 서브시스템들의 제1 시뮬레이션이 개시되었던 제1 결합 시간 포인트와 후속 제2 결합 시간 포인트 사이의 개개의 파라미터들의 정확한 솔루션 및 거동을 정의한다.
결합 시간 포인트들은 개개의 파라미터들의 개개의 값들이 서브시스템들 사이에서 교환되는 시간 포인트들을 정의한다. 제2 결합 시간 포인트는 제1 결합 시간 포인트를 시간적으로 뒤따른다. 제1 결합 시간 포인트는 시뮬레이션의 초반부에서의 초기 결합 시간 포인트 또는 시뮬레이션 동안의 특정 결합 시간 포인트일 수도 있다.
개개의 파라미터들의 제1 및 제2 특성들에 기초하여, 후속 제2 결합 시간 포인트에서의 제1 파라미터의 제1 입력 값 및 제2 파라미터의 제2 입력 값이 최적화된다. 이에 의하여, 제1 서브시스템으로부터의 제1 파라미터 및 제2 서브시스템으로부터의 제2 파라미터의 시뮬레이션이 마찬가지로 최적화된다.
이 때문에, 본 발명에 의해, 국소적 대체 모델들은 2 개의 결합 시간 포인트들 사이의 개개의 파라미터들의 특성이 결정될 수 있도록 편도함수들에 의해 정의된다. 이것은 실제 물리적 모델의 더 정밀한 시뮬레이션이 가능하도록, 개개의 서브시스템들에서의 파라미터들의 입력 값들의 더 정확한 추정을 초래한다. 또한, 증가된 정확도로 인해, 확대된 결합 스텝-크기들(예컨대, 결합 시간 포인트들 사이의 시간 증분들)이 가능하여, 전체적인 공동-시뮬레이션이 더 효율적으로 되도록, 데이터 교환의 감소된 양을 초래한다. 이 때문에, 더 복잡한 실제 물리적 모델들이 시뮬레이팅될 수도 있고, 이 때문에, 더 복잡한 실제 물리적 모델들이 현실적으로 제작될 수 있다. (자동차들 또는 항공기들과 같은) 실제 물리적 모델들의 증가하는 시스템 복잡도로 인해, 하드웨어 자원들은 실제 물리적 모델들을 시뮬레이팅할 수 없다. 이 때문에, 본 발명에 의해, (현재 현존하는 프로세서(CPU)들과 같은) 현존하는 하드웨어 자원들은 점점 더 복잡한 실제 물리적 모델들의 시뮬레이션 및 이 때문에 개발을 실현할 수 있다.
추가의 예시적인 실시예에 따르면, 제1 서브시스템의 편도함수들 및 제2 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 광역적 대체 모델(global replacement model)이 정의되고, 여기서, 광역적 대체 모델은 제2 결합 시간 포인트에서의 제1 파라미터의 다음 제1 입력 파라미터 및 제2 파라미터의 다음 제2 입력 파라미터가 결정될 수 있도록, 제2 결합 시간 포인트와 후속 제3 결합 시간 포인트 사이에서 제1 파라미터 및/또는 제2 파라미터의 미래의 특성을 추정하도록 구성된다. 제3 결합 시간 포인트는 제1 및 제2 결합 시간 포인트를 시간적으로 뒤따른다.
추가의 예시적인 실시예에 따르면, 광역적 대체 모델은 제1 파라미터의 제1 출력 값(v out) 및 제2 파라미터의 제2 출력 값(F out)의 시간 미분(time derivation)에 의한 제1 서브시스템 및 제2 서브시스템의 변환에 기초한다.
추가의 예시적인 실시예에 따르면, 오차 미분 방정식의 솔루션은 명시적 또는 묵시적 수치 솔버에 의해 근사화된다(예컨대, 수학식 21 참조).
추가의 예시적인 실시예에 따르면, 외삽에 의한 추정은 개개의 파라미터들의 근사화된 정확한 출력 변수들/값들의 예측을 위한 모델-기반 외삽인 것이 사용된다.
이 맥락에서, 모델-기반 외삽은 대응하는 국소적 대체 모델들의 편도함수들이 광역적 대체 모델을 구축하기 위하여 사용되고 이 광역적 대체 모델은 제1 및 제2 입력 파라미터들에 기초하여 미래로 시뮬레이팅되는 접근법으로 지칭된다. 결과적인 제1 및 제2 출력 파라미터들은 그 다음으로, 모델-기반 외삽된 파라미터들을 각각 표현한다.
추가의 예시적인 실시예에 따르면, 외삽에 의한 추정은 근사화된 정확한 출력 변수들의 예측을 위한 신호-기반 외삽인 것이 사용된다.
추가의 예시적인 실시예에 따르면, 입력 변수들의 최적화는 변동적 접근법(variational approach)에 기초한다.
예를 들어, 입력 변수들의 최적화를 위하여, 전이 행렬(transition matrix)들(수학식 29)은 대체 시스템 행렬들(수학식 10 내지 수학식 11)에 기초하여 연산된다.입력 변수들의 최적화는 에너지-보존(energy-preservation) 양태들에 기초할 수도 있다.
추가의 예시적인 실시예에 따르면, 제1 서브시스템의 편도함수들 및 제2 서브시스템의 편도함수들은 특히, 서브공간 시스템 식별 알고리즘(subspace system identification algorithm)을 이용함으로써 순간적으로 계산된다. 서브시스템들/모델들의 편도함수들(예를 들어, 수학식 10 내지 수학식 11 참조)은 순간적으로(즉, 온라인으로) 식별된다.
이에 의하여, 서브공간 시스템 식별 알고리즘들은 실제 물리적 서브시스템들의 입력 및 출력 값들의 시간 시리즈(time series)로부터 선형 대체 모델들을 결정하기 위한 접근법을 표현하고, 여기서, 대응하는 실제 물리적 서브시스템들의 가장 중요한 동역학(dynamic)들은 알고리즘에 의해 자동적으로 식별되고, 기초적인 선형 대체 모델들의 행렬들은 원래의 서브시스템들의 편도함수들을 표현한다.
추가의 예시적인 실시예에 따르면, 제1 결합 시간 포인트와 제2 결합 시간 포인트 사이의 시간 증분은 제1 오차 및 제2 오차에 기초하여 적응(adapt)된다. 이 때문에, 개개의 제1 또는 제2 파라미터들의 추정된 입력 값들과 각각 결정된 출력 값들 사이의 제1 오차 및 제2 오차가 작을 경우에, 2 개의 결합 시간 포인트들 사이의 시간 증분은 후속 시뮬레이션, 즉, 후속 결합을 위하여 증가될 수 있다. 따라서, 개개의 제1 또는 제2 파라미터들의 추정된 입력 값들과 각각 결정된 출력 값들 사이의 제1 오차 및 제2 오차가 클 경우에, 2 개의 결합 시간 포인트들 사이의 시간 증분은 후속 시뮬레이션, 즉, 후속 결합을 위하여 감소될 수 있다. 이 때문에, 근사화된 정확한 출력 변수들로부터의 출력 변수들의 편차(수학식 19)를 사용하여 오파 표시자(수학식 22 내지 수학식 24)에 기초하여 결정된 현재의 공동-시뮬레이션 시간 증분이 적응될 수 있다.
추가의 예시적인 실시예에 따르면, 시뮬레이팅 디바이스는 통신 네트워크를 통해 컴퓨팅 노드들의 네트워크에 접속된 단일 또는 다수의 컴퓨팅 노드들, 제1 및 제2 파라미터의 입력 값들, 편도함수들, 제1 및 제2 파라미터의 출력 값들, 및 특히, 출력 미분 변수들, 서브시스템들의 연산된 편도함수들, 및 제1 및 제2 방정식들을 저장하기 위한 메모리 영역, 및 컴퓨팅 노드들의 메모리들을 액세스하고 위에서 설명된 방법을 실행하도록 구성된 적어도 하나의 프로세서를 포함한다.
시뮬레이팅 디바이스의 추가의 예시적인 실시예에 따르면, 컴퓨팅 노드들은 실시간 시스템들을 표현하고, 데이터의 통신은 비동기식으로 수행된다.
추가의 예시적인 실시예에 따르면, 실제 물리적 모델을 시뮬레이팅하기 위한 컴퓨터 프로그램이 그 상에서 저장되고, 컴퓨터 프로그램은, 데이터 프로세서에 의해 실행될 때, 위에서 설명된 방법을 수행 및/또는 제어하도록 적응되는 컴퓨터-판독가능 매체가 제시된다.
추가의 예시적인 실시예에 따르면, 실제 물리적 모델을 시뮬레이팅하기 위한 프로그램 엘리먼트(program element)가 제시된다. 프로그램 엘리먼트는, 데이터 프로세서에 의해 실행될 때, 위에서 설명된 방법을 제어하도록 적응된다.
본 발명에 의해 요약하면, 개별적인 대체 서브시스템의 편도함수들(예컨대, 도 10 내지 도 11 참조)을 연산하는 것, 및 유도된 행렬들(예컨대, 도 15 내지 도 16 참조)을 조립하는 것을 포함하는 단계전 공동-시뮬레이션 방법이 정의된다. 방법은 오차 미분 방정식의 평가에 의해 정확한 출력 변수들을 근사화하는 것, 및 대체 시스템 동역학 및 시스템 입력 행렬들에 기초하여 개별적인 서브시스템들의 각각에 대한 근사화된 정확한 출력 변수들의 미래의 진행을 추정하는 것을 더 포함한다. 최종적으로, 입력 변수들은 공동-시뮬레이션 시간 증분 이전에 최적화된다.
대체 서브시스템들의 편도함수들을 사용하는, 몇몇 서브시스템들의 공동-시뮬레이션을 위한 단계전 공동-시뮬레이션 방법 및 디바이스가 개시된다. 이것에 기초하여, 개별적인 서브시스템들의 출력 변수들의 정확한 솔루션들은 근사화된 정확한 출력 변수들의 미래의 진행을 추정하기 위하여 오차 미분 방정식의 평가에 의해 근사화되고; 대응하는 입력 변수들은 현재의 공동-시뮬레이션 시간 증분 이전에 최적화에 의해 결정된다. 단계전 공동-시뮬레이션 방법은 컴퓨터-실행가능 프로그램 내에서 실현되고, 컴퓨팅 노드들의 네트워크에서 구현된다.
발명의 실시예들은 상이한 발명 요지들을 참조하여 설명되었다는 것이 주목되어야 한다. 특히, 일부 실시예들은 장치 유형 청구항들을 참조하여 설명된 반면, 다른 실시예들은 방법 유형 청구항들을 참조하여 설명되었다. 그러나, 당해 분야의 당업자는 위의 그리고 다음의 설명으로부터, 다르게 통지되지 않으면, 발명 요지의 하나의 유형에 속하는 특징들의 임의의 조합에 추가적으로, 상이한 발명 요지들에 관련되는 특징들 사이, 특히, 장치 유형 청구항들의 특징들과 방법 유형 청구항들의 특징들 사이의 임의의 조합이 또한, 이 출원과 함께 개시되어야 하는 것으로 고려된다는 것을 알 것이다.
본 발명의 위에서 정의된 양태들 및 추가의 양태들은 이하에서 설명되어야 할 실시예의 예들로부터 분명하고, 실시예의 예들을 참조하여 설명된다. 발명은 발명이 그것으로 제한되지는 않는 실시예의 예들을 참조하여 이하에서 더 상세하게 설명될 것이다.
도 1은 본원에서 설명된 컴퓨터-구현된 단계전 공동-시뮬레이션 방법에 대한 공동-시뮬레이션을 위한 완전한 사이클을 예시하는 플로우차트를 도시한다.
도 2는 단계전 공동-시뮬레이션 방법을 실현하기 위하여 수행되어야 할 상이한 단계들을 표시하는 도면을 도시한다.
도 3은 공동-시뮬레이션 디바이스의 본원에서 설명된 아키텍처 뿐만 아니라, 단계전 공동-시뮬레이션 방법의 중앙 및 분산된 구현 가능성들을 지적하는 개략적인 블록도를 도시한다.
도 4는 본원에서 설명된 컴퓨터-구현된 공동-시뮬레이션 방법의 적용에 의한 성능 개선을 표시하는 시뮬레이션 결과를 도시한다.
도면들에서의 예시들은 개략적이다. 상이한 도면들에서, 유사한 또는 동일한 엘리먼트들에는 동일한 참조 부호들이 제공된다는 것이 주목된다.
하나의 양태에서, 제시된 발명은, 100, 200의 단계전 공동-시뮬레이션 방법(도 1 및 도 2 참조), 및 임의적인 수의 서브시스템들(308)을 포함하는, 복잡한 물리적 시스템 및 실제 물리적 모델들을 시뮬레이팅하기 위하여 이용될 수 있는 디바이스(300)(도 3 참조)를 설명한다. 서브시스템들(308)은 전용 시뮬레이션 툴들에서 시뮬레이팅된 실제 객체들, 또는 실시간 응용들의 경우에 맞춤형 테스트베트(testbed)들 상에서 장착된 심지어 실제 하드웨어 컴포넌트들의 모델들을 표현할 수 있다. 동기화 목적들을 위한 공동-시뮬레이션의 모듈형 특질로 인해, 데이터는 네트워크(302)(도 3 참조)를 통해 통신되고, 전용 통신 시간 포인트들(결합 시간 포인트들)에서 서브시스템들 사이에서 배타적으로 교환된다. 서브시스템들(308)은 이 통신 포인트 인스턴스(instance)들 사이에서 독립적으로 실행된다.
도 1은 본원에서 설명된 컴퓨터-구현된 단계전 공동-시뮬레이션 방법에 대한 공동-시뮬레이션을 위한 완전한 사이클을 예시하는 플로우차트를 도시한다. 단계전 공동-시뮬레이션 방법은 대체 시스템(수학식 10 내지 수학식 11) 행렬들의 단계(104)(모든 개별적인 서브시스템들에 대한 (대체) 서브시스템들의 편도함수들을 연산)에서의 연산 및 단계(101)(모든 개별적인 서브시스템들에 대한 (대체) 서브시스템들의 편도함수들을 연산)에서의 유도된 행렬들(수학식 15 내지 수학식 16)의 단계(105)(선형 대체 서브시스템들에 기초하여 요구된(광역적) 행렬들을 조립)에서의 조립, 106(오차 미분 방정식을 조절하고 정확한 출력을 근사화)에서의 오차 미분 방정식의 평가에 의해 개별적인 서브시스템들의 개개의 파라미터들의 정확한 출력 변수들/값들을 근사화하는 것, 단계(107)(적당한 스텝 크기를 국소적으로 결정)에서의 (국소적) 공동-시뮬레이션 시간 증분을 임의적으로 적응시키는 것, 단계(108)(정확한 출력의 미래의 진행을 (광역적으로) 예측)에서의 정확한 출력 변수들의 미래의 진행을 예측하는 것, 및 단계(111)(서브시스템들의 국소적 시뮬레이션)에서의 현재의 공동-시뮬레이션 시간 증분 이전에 단계(109)(예측된 미래의 진행에 기초하여 입력 변수들을 (국소적으로) 최적화)에서의 제1 및 제2 파라미터들의 대응하는 입력 값들을 최적화하는 것을 더 포함한다.
도 2는 본 발명에 따른, 실제 물리적 모델을 시뮬레이팅하기 위한 단계전 공동-시뮬레이션 방법을 실현하기 위하여 수행되어야 할 상이한 단계들을 표시하는 도면을 도시한다. 도 2는 하나의 서브시스템(308)의 어떤 결합 시간 포인트들 Tk에서의 시뮬레이션들의 그래프들을 도시한다. 제1 방정식 시스템(예컨대, 거동 모델)(국소적)에 기초하여 실제 물리적 모델의 적어도 하나의 제1 파라미터(예컨대, 차량의 속력 v)를 시뮬레이팅하는 개개의 제1 서브시스템이 제공되고, 여기서, 제1 방정식 시스템은 적어도 하나의 제2 파라미터(예컨대, 차량의 샤프트의 토크 F)에 기초하여 제1 파라미터(v)를 결정하도록 구성된다.
또한, 제2 서브시스템(308)은 제2 방정식 시스템(국소적)에 기초하여 실제 물리적 모델의 적어도 하나의 제2 파라미터(F)를 시뮬레이팅하고, 여기서, 제2 방정식 시스템은 적어도 하나의 제1 파라미터(v)에 기초하여 제2 파라미터(F)를 결정하도록 구성된다. 제2 서브시스템에서의 제1 파라미터(v)의 제1 입력 값(v_in) 및 제1 서브시스템에서의 제2 파라미터(F)의 제2 입력 값(F_in)은 제1(예컨대, 초기) 결합 시간 포인트(T, k-1)에서의 외삽(곡선(201))에 의해 추정된다. 방법은 제1 서브시스템에 의한 제1 파라미터(v)의 제1 출력 값(v_out) 및 제2 서브시스템에 의한 제2 파라미터(F)의 제2 출력 값(F_out)을 결정하는 것(곡선(202))을 더 포함한다.
방법은 후속 결합 시간 포인트에서, 추정된 제1 입력 파라미터(v_in)(곡선(201))와 결정된 제1 출력 파라미터(v_out)(곡선(202)) 사이의 제1 오차, 및 추정된 제2 입력 파라미터(F_in)(곡선(201))와 결정된 제2 출력 파라미터(F_out)(곡선(202)) 사이의 제2 오차를 결정하는 것(예컨대, T,k에서의 오차들)을 더 포함한다.
제1 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 제1 국소적 대체 모델이 정의되고, 제2 서브시스템의 편도함수들에 기초하는 실제 물리적 모델의 제2 국소적 대체 모델이 정의된다.
제1 국소적 대체 모델 및 제2 국소적 대체 모델에 기초하여, 오차 미분 방정식이 정의되고, 여기서, 오차 미분 방정식은 제1 결합 시간 포인트와 후속 제2 결합 결합 시간 포인트 사이에서(결합 시간 포인트 Tk, 즉, Tk-1과 Tk 사이의 곡선(203)에서), 시간 상에서의 제1 파라미터의 제1 특성 및/또는 시간 상에서의 제2 파라미터의 제2 특성을 결정하기 위한 제1 오차 및 제2 오차를 수신하도록 구성된다. 제1 파라미터의 제1 특성 및/또는 제2 파라미터의 제2 특성에 기초하여, 후속 결합 시간 포인트에서의 제1 파라미터(v)의 제1 입력 값(v_in) 및/또는 제2 파라미터(F)의 제2 입력 값(F_in)은 제1 서브시스템에서의 제1 파라미터(v) 및/또는 제2 서브시스템에서의 제2 파라미터(F)를 시뮬레이팅하기 위하여 (Tk에서) 최적화된다.
이에 의하여, 최적화는 광역적 대체 모델을 사용함으로써 제3 결합 시간 포인트까지 제2 결합 시간 포인트에서의 제1 및 제2 특성(204)의 외삽에 기초한다.
도 3은 공동-시뮬레이션 디바이스의 본원에서 설명된 아키텍처 뿐만 아니라, 단계전 공동-시뮬레이션 방법의 중앙 및 분산된 구현 가능성들을 가리키는 개략적인 블록도를 도시한다.
단계전 공동-시뮬레이션 방법은 컴퓨팅 노드들(301) 및 통신 네트워크(302)로 구성되는 중앙 또는 분산된 공동-시뮬레이션 컴퓨팅 아키텍처(300) 내에서 구현된다. 각각의 컴퓨팅 노드(301)는 데이터를 저장하기 위한 메모리(305), 데이터 통신을 위한 네트워크 인터페이스 디바이스(306), 및 프로그램들의 명령들을 프로세싱하기 위한 프로세서(303)로 구성되고, 여기서, 단일 노드는 또한, 몇몇 프로그램들을 호스팅할 수 있고 실행할 수 있다.
단계전 공동-시뮬레이션 방법은 데이터를 동기화 목적들을 위한 통신 포인트 인스턴스들에서 국소적으로 또는 다른 관련된 컴퓨팅 노드들(301)로 시작시킴으로써, 일시정지시킴으로써, 계속함으로써, 정지시킴으로써, 그리고 통신함으로써 모든 서브시스템 시뮬레이션 프로세스들(308)을 조정하는 공동-시뮬레이션 프로그램(304, 307) 내에서 구현된다. 특히, 공동-시뮬레이션 프로그램(304, 307)은 관련된 입력 및 출력 변수들 및 그 시간 미분들 및 임의적으로 모든 서브시스템들의 대응하는 편도함수들과 같은 데이터를 메모리로부터 판독할 수 있고 데이터를 메모리(305)에 기입할 수 있다. 프로세서(303)에 의해 실행될 때, 프로세서는 대체 시스템(수학식 10 내지 수학식 11) 행렬들을 연산(도 1에서의 단계(104) 참조)하고 (도 1에서의 단계(101))에서의 유도된 행렬들(수학식 15 내지 수학식 16)을 조립(도 1에서의 단계(105) 참조)하고, 공동-시뮬레이션 시간 증분을 조절하기 위한(도 1에서의 단계(107) 참조) 그리고 서브시스템들의 출력 변수들의 정확한 솔루션의 근사화(도 1에서의 단계(108) 참조)를 위한 오차 미분 방정식을 평가하고(도 1에서의 단계(106) 참조), 최적화(도 1에서의 단계(109) 참조)에 의해 입력 변수들을 결정하는 것을 행한다. 또한, 프로세서(303)에 의해 실행될 때, 프로세서는 현재의 공동-시뮬레이션 시간 증분 이전에, 결과적인 입력들을 대응하는 서브시스템 시뮬레이션 컴퓨팅 노드들로 통신하고, 개별적인 서브시스템 시뮬레이션 프로세스들을 원격으로 조정하는 것, 즉, 시작시키고, 계속하고, 일시정지시키고, 정지시키는 것을 행한다.
비-반복적 공동-시뮬레이션 동안에, 결합된 서브시스템들(308)은 맞춤형 고정된 또는 가변적인 스텝-크기 솔버들의 이용에 의해 독립적으로 구해진다. 공동-시뮬레이션의 맥락에서,
Figure pat00001
은 개별적인 서브시스템들(308) 내에서의 기초적인 솔버에 의해 수행된 수치 단계들을 나타낸다. 또한, 동기화 목적들을 위하여, 추가적인 스텝-크기가 도입된다. 또한, 이 소위 공동-시뮬레이션 시간 증분은 시간 변동적일 수도 있고, 결합 데이터가 서브시스템 시뮬레이션들 사이에서 교환되는 시간 포인트들
Figure pat00002
을 결정하고, 여기서, kk-번째 공동-시뮬레이션 시간 증분을 나타내고, ii-번째 서브시스템을 나타낸다. 대부분의 일반적인 경우에, 결합 시간 인스턴트(coupling time instant)에서의 값을 오직 업데이팅하는 대신에, 최후 공동-시뮬레이션 시간 증분의 시간 간격에서의 모든 이용가능한 값들이 교환된다. 이 기능성은 고성능 공동-시뮬레이션 플랫폼들에 의해 지원되고, 개선된 동기화 능력들을 초래한다.
서브시스템들(308)과 공동-시뮬레이션의 모듈형 (분산된) 특질 사이의 양방향 종속성들 때문에, 몇몇 입력 신호들(제1 및 제2 파라미터의 입력 값들)은 현재의 공동-시뮬레이션 시간 증분의 시간 간격에 대하여 알려지지 않고, 이에 따라, 일부 결합 신호들의 피스별(piecewise) 외삽은 전체적인 결합된 시스템을 구하기 위하여 필요하다. 외삽은 추정 오차와 직접적으로 연관되고, 이에 따라, 내재적인 공동-시뮬레이션 이산화 오차가 도입된다. 본원에서 설명된 발명은 단계전 공동-시뮬레이션 방법 및 대응하는 디바이스를 개시함으로써 이 문제에 대처한다.
도 1은 단일 공동-시뮬레이션 시간 증분에 대한 본원에서 설명된 단계전 공동-시뮬레이션 방법의 단계들을 도시하는 플로우차트(100)를 도시한다. 다음에서는, 플로우차트(100)의 개별적인 단계들이 상세하게 설명된다.
상미분 방정식(ODE)들을 통해 물리적 실세계 객체들의 거동을 설명하는 것은 보편적인 실시이다. 일반적으로, 일부 경우들에는, 추가적인 대수 제약들이 기재되고, 이는 수학식들(1 내지 3)에서 도시된 바와 같은 미분 대수 방정식(DAE)들을 통한 서브시스템(308) 설명을 초래하고; 시간에 대한 명시적 종속성이 생략된다:
Figure pat00003
여기서,
Figure pat00004
i-번째 서브시스템(308)의 상태 변수들 및 파라미터들을 표현하고;
Figure pat00005
Figure pat00006
은 각각 서브시스템의 대응하는 입력(201) 및 출력(202)(도 2 참조) 변수들을 표현하고;
Figure pat00007
은 서브시스템들의 수를 나타낸다. 이 서브시스템들은 특수한 시뮬레이션 툴들 내에서 모델링되고, 맞춤형 수치 솔버들(308)에 의해 전형적으로 구해진다. 발명을 개시하기 위하여, DAE 시스템의 선형 버전이 이하에서 약술된다:
Figure pat00008
가까이에 있는 전체적인 시스템 시뮬레이션에 따라, 개별적인 서브시스템들의 전용 입력들 및 출력들은 상호접속된다. 상호접속들은 결합 행렬(coupling matrix)을 통해 설명되고, 여기서, 결합 행렬은 전체적인 공동-시뮬레이션 시스템으로부터 생성되는 지향된 그래프(노드(node)들은 서브시스템들을 표현하고 에지(edge)들은 상호접속들을 표현함)의 인접 행렬에 기초하여 식별된다. 2 개의 완전히 결합된 서브시스템들, 즉,
Figure pat00009
Figure pat00010
을 포함하는 시스템에 대하여, 서브시스템들 상호접속들은 결합 행렬 L에 의해 설명된다:
Figure pat00011
알려진 접근법들과 대조적으로, 본원에서 개시된 발명은 입력 변수들이 우변 상에서 나타날 때까지의 모든 서브시스템들의 출력 변수들의 시간 미분 및 수학식들 (8) 및 (9)에서 도시된 바와 같은 대수 제약 방정식들의 미분에 의해 고전적인 DAE 설명들(수학식 1 내지 수학식 3)로부터 유도될 수 있는 대체 서브시스템들에 기초한다:
Figure pat00012
단순화를 위하여, 개시된 발명에 대한 접근법은 서브시스템들 출력들의 단일 시간 미분에 기초하여 본원에서 설명되고; 1보다 더 작은 상대적인 정도에 대하여; 다수의 시간 미분들 및 더 높은 상대적인 정도들로의 일반화는 간단하다. 이러한 방법으로, 원래의 시스템(수학식 1 내지 수학식 3)은 새로운 상태 공간 형태(수학식 8 내지 수학식 9)로 변환된다. 이하, 2 개의 옵션들은 대체 서브시스템들의 파라미터들을 결정하기 위하여 설명되고, 양자는 근사화된 선형 시스템 설명들에 기초한다:
Figure pat00013
옵션 1: 시스템 식별 알고리즘(이하 참조)의 사용에 의한 것으로, 여기서, 알고리즘으로의 입력들은 서브시스템들의 입력
Figure pat00014
및 출력
Figure pat00015
변수들 및 그 시간 미분들
Figure pat00016
Figure pat00017
을 각각 표현한다. 이 경우에, 원래의 서브시스템들의 행렬들의 명시적 변환이 수행되어야 하는 것은 아니다.
옵션 2: 시스템 변환(수학식 12 내지 수학식 14)을 실현함에 의한 것. 그러므로, 상태 및 입력 변수들에 대한 상태 미분들의 편도함수들, 및 상태 및 입력 변수들에 대한 출력들 및 모든 원래의 서브시스템들(수학식 1 내지 수학식 6)의 편도함수들이 이용가능해야 한다. 이 행렬들은 개량된 공동-시뮬레이션 인터페이스(예컨대, Blochwitz에 의한 기능적 목업 인터페이스(Functional Mockup Interface)를 통해 서브시스템들 자체에 의해 산출될 수 있거나, 적절한 시스템 식별 접근법들에 의해 온라인으로 식별될 수 있다. 대체 서브시스템 동역학 및 입력 행렬들은 다음과 같이 결정된다:
Figure pat00018
여기서,
Figure pat00019
Figure pat00020
이다.
특히, 행렬들
Figure pat00021
은 반전을 보장하기 위하여 정칙(regular)이어야 한다. 그러나, 다른 경우들에는, 잘 알려진 의사-반전(pseudo-inverse)의 연산에 의한 반전이 차선책으로서 작용한다. 위에서, 2 회 시스템 식별이 언급되었다. 오프라인(비-실시간) 및 온라인(실시간) 식별을 위하여, 상이한 접근법들이 존재하고, 당해 분야의 당업자에 의해 적용될 수 있다. 그러나, 본원에서는, 잘 알려진 서브공간 방법이 완전함을 위하여 언급된다. 서브시스템의 입력 및 출력 변수들에 기초하여, 서브공간 방법은 수학식 (10 내지 11)에서 기재된 바와 같이, 상태-공간 표현을 식별할 수 있다. 이러한 방법으로, 방법이 입력 및 출력 변수들에 종속되는 특이값 분해(singular-value decomposition)에 기초하여 최상의 모델 순서를 자동적으로 선택하므로, 대체 서브시스템들의 순서를 특정할 필요성이 없다.
특수하게 강성 시스템(stiff system)들의 안정적인 공동-시뮬레이션을 보장하기 위하여, 상호접속된 서브시스템들의 교차-결합 효과들이 참작되어야 하고; 그러므로, 개별적인 대체 시스템(수학식 10 내지 수학식 11) 및 개별적인 서브시스템들(308)의 유도된 행렬들(수학식 15 내지 수학식 16)은 결합 시간 인스턴스들에서 광역적 시스템 행렬들(도 1에서의 단계(101) 참조)로 조립된다.
가까이에 있는 시스템에 따라, 감소된 수의 업데이트들이 예컨대, 매 제3 공동-시뮬레이션 증분에서, 또는 시스템 동역학의 각각의 중요한 변경으로 가능하다. 단순화를 위하여, 다음의 세부사항들은 2 개의 (
Figure pat00022
) 서브시스템들(308)로 구성되는 공동-시뮬레이션에 대하여 설명되고; 더 많은 서브시스템들로 구성된느 더 복잡한 시스템에 대한 일반화는 간단하다. 다음의 (광역적) 행렬들은 오차 미분 방정식(도 1에서의 단계(106) 참조)에 의해 이용될 것이고, 그 결과는 공동-시뮬레이션 시간 증분(도 1에서의 단계(107) 참조)을 조절하고 서브시스템들의 정확한 출력 변수들(108)을 근사화하기 위하여 사용된다:
Figure pat00023
(광역적) 행렬들을 일반화하기 위하여, 결합 행렬 L은 필수적으로 참작되어야 하고, 이는 여기에서 생략되고 당해 분야에서의 당업자에 의해 유도될 수 있다.
다른 한편으로, 출력 변수들의 미래의 진행(도 1에서의 단계(108) 참조)의 예측을 위하여, (광역적) 모델-기반 외삽은 다음의 (광역적) 행렬들에 기초하여 수행된다:
Figure pat00024
일반화는 행렬들이 임의의 경우에 있어서 블록대각 행렬(blockdiagonal matrix)들로 유지된다는 사실로 인해, 결합 행렬의 지식 없이 작동한다. 도 1에서, 플로우차트(100)는 발명된 공동-시뮬레이션 알고리즘의 주요 단계들을 도시한다. 도 2는 하나의 단일 공동-시뮬레이션 시간 증분에 대한 단계들을 예시적으로 표시하는 도면(200)을 도시한다. 결합 시간 인스턴트
Figure pat00025
까지의 연산된 공동-시뮬레이션 결과(202)는 마스터 알고리즘으로 통신된다. 이 시간 포인트(
Figure pat00026
)에서, 간격 [
Figure pat00027
) 상에서의
Figure pat00028
에서의 결정되고 적용된 입력
Figure pat00029
(201), 공동-시뮬레이션 결과(202), 즉, 간격(
Figure pat00030
] 상에서의
Figure pat00031
에서의 출력
Figure pat00032
뿐만 아니라, (광역적) 행렬들(수학식 15 내지 수학식 16)을 조립하기 위한 개별적인 편도함수들이 이용가능하다.
제1 단계에서, 적용된 과거의 입력
Figure pat00033
(201)과 결과적인 출력
Figure pat00034
(202) 사이의 편차는 과거의 공동-시뮬레이션 시간 증분 상에서 공동-시뮬레이션 이산화 오차를 결정하기 위하여 이용된다:
Figure pat00035
이것에 기초하여, 과거의 단계 상에서의 정확한 출력
Figure pat00036
(203)은 (광역적) 오차 미분 방정식(106)의 평가에 의해 근사화된다:
Figure pat00037
여기서,
Figure pat00038
Figure pat00039
이어서, 추가적인 에러 척도
Figure pat00040
Figure pat00041
를 초래하고:
여기서,
Figure pat00042
Figure pat00043
은 전체적인 시스템에 대한 조립된 행렬들(수학식 15)이다. (106)에서의 정확한 출력
Figure pat00044
(203)의 근사화는 그 다음으로, 하기에 의해 결정된다:
Figure pat00045
수학식 (18)은 상미분 방정식을 표현하므로, 그것을 구하기 위한 다양한 방법들이 있고; 선형적으로-묵시적 방법들에서 특히 초점이 취해진다.
Figure pat00046
은 물리적 신호를 전형적으로 표현한다는 사실로 인해, 그것은 연속적이어야 하고, 그러므로,
Figure pat00047
은 마찬가지로 연속적인 것으로 된다. 이 속성을 수학식 (18)을 갖는 광역적 초기 값
Figure pat00048
과 조합하는 것은 초기 값 문제를 초래한다. 선형적으로-묵시적 오일러(Euler) 방식, 즉, 수치 솔버의 사용은 하기를 초래한다:
Figure pat00049
주의: 오차 미분 방정식 접근법은 공동-시뮬레이션 이산화 오차 없는 단독형 방식으로 서브시스템들의 정확한 출력의 근사화를 결정하기 위하여 사용될 수 있다.
오차들
Figure pat00050
Figure pat00051
로 인해, 적절한 공동-시뮬레이션 시간 증분
Figure pat00052
의 국소적 결정이 가능하다(107).
Figure pat00053
Figure pat00054
이 다른 서브시스템들로부터 독립적이라는 사실로 인해, 매 서브시스템에 대한 상이한 일정한 공동-시뮬레이션 시간 증분들을 선택하는 것이 실현가능하다. 공동-시뮬레이션 시간 증분은 매 서브시스템에 대한 각각의 통신 포인트
Figure pat00055
에서 업데이팅될 수 있고, 이는 국소적 및 적응적 공동-시뮬레이션 시간 증분 제어(107)를 초래한다. 3 개의 가능한 옵션들이 이하에서 약술된다:
옵션 1: 대부분의 잘 알려진 스텝 크기 제어들에서와 같이, 오차 표시자:
Figure pat00056
Figure pat00057
이 주어진 임계치보다 더 클 경우에 공동-시뮬레이션 시간 증분을 감소시고
Figure pat00058
이 주어진 임계치보다 더 작을 경우에 공동-시뮬레이 시간 증분을 증가시킬 목적으로 사용된다.
옵션 2: 수치 단계들이
Figure pat00059
에 기초하여, 이용가능할 경우에, 전략은
Figure pat00060
을 평가하고, 그 다음으로, 하기를:
Figure pat00061
요구된 오차 표시자로서 연산하기 위한 것이다. 공동-시뮬레이션 시간 증분을 적응시키기 위한 전략은 오차 표시자를
Figure pat00062
으로 변경하는 것을 제외하고는, 위의 옵션 1에서와 동일하다.
옵션 3: 모델-기반 스텝-크기 제어는 외삽된 출력 변수들의 기울기를 사용하고 오차 표시자를 연산한다
Figure pat00063
여기서,
Figure pat00064
i-번째 서브시스템에 대한
Figure pat00065
에서의 국소적 출력 변수의 외삽의 기울기를 나타낸다. 공동-시뮬레이션 시간 증분을 결정하기 위한 전략은 오차 표시자를
Figure pat00066
으로 변경하는 것을 제외하고는, 위의 옵션 1에서와 동일하다.
주의: 위의 모두 3 개의 옵션들은 국소적 변수들에 기초하여, 그러므로, 공동-시뮬레이션 시간 증분은 매 서브시스템에 대하여 독립적으로, 국소적으로 결정될 수 있다. 실제적인 쟁점들에 대하여, 모든 옵션들의 부가적 조합이 구현될 수도 있다.
이 단계전 공동-시뮬레이션 알고리즘의 묵시적 본질을 보장하기 위하여,
Figure pat00067
(도 2에서의 그래프(204))으로서 나타내어진, 다음 공동-시뮬레이션 시간 증분(도 1에서의 단계(108) 참조) 상에서의 근사화된 정확한 출력
Figure pat00068
(도 2에서의 그래프(203))의 미래의 진행의 예측은 필수적이다. 이용가능한 정보에 따라서는, 미래의 진행의 예측을 위한 2 개의 옵션들이 가능하다:
옵션 1: (광역적) 조립된 동적 행렬
Figure pat00069
및 입력 행렬들
Figure pat00070
Figure pat00071
(수학식 16)에 기초하는 (광역적) 모델-기반 외삽이 수행되고
Figure pat00072
여기서,
Figure pat00073
이다. 초기 값 문제의 솔루션(수학식 25)에 대한 초기 조건
Figure pat00074
은 오차 미분 방정식의 솔루션으로부터 유래되고, 그것은 하기를 유지한다:
Figure pat00075
옵션 2: (궁극적으로 국소적) 신호-기반 외삽(도 2에서의 그래프(204))은 정확한 출력(도 2에서의 그래프(203))의 근사화 및 결합 시간 인스턴트까지 이용가능한 데이터에 기초하여 수행된다. 국소적은 매 서브시스템이 그 자신의 외삽을 독립적으로 수행할 수 있다는 것을 의미한다. 신호의 시간 미분들을 이용하는 다항식 외삽과 같은 폭넓게 다양한 잘 알려진 외삽 기법들이 있다. 미분들을 연산하기 위한 많은 잘 알려진 방법들이 있고; 본원에서, 제안은 최근에 제안된 DELC-방법(Genser-2017 참조)을 이용하는 것이다.
특히, 옵션 1은 강성 시스템 통합의 핸들링을 위하여 필수적인 서브시스템들의 교차-결합 효과들이 고려되기 때문에 선호된다. 근사화된 출력(203)에 기초한 미래의 진행(204)의 예측 후에, 다음 공동-시뮬레이션 시간 증분의 입력(201)은 광역적 또는 국소적 최적화(109)에 의해 결정되어야 한다. 국소적은 단계전 공동-시뮬레이션 방법의 이 파트가 상이한 컴퓨팅 노드들(301)에서 국소적으로 연산될 수 있다는 것(307)과, 알고리즘의 이 파트에서 광역적으로 조립된 행렬들에 대한 필요성이 없다는 것을 의미한다. 최적화는 다음 공동-시뮬레이션 시간 증분 상에서 다음의 목적 함수(objective function)를 최소화함으로써 행해진다:
Figure pat00076
이 최적화(109) 및 결과적인 입력 변수(201)는 다음 공동-시뮬레이션 증분 이전에 결합 시간 인스턴트에서 또한 연산되므로, 이 접근법은 단계전 공동-시뮬레이션 방법으로 칭해진다. DAE 서브시스템들을 핸들링하는 특정한 경우에, (수학식 11)과 같은 대수 서브시스템 방정식들은 입력 최적화 내에서의 추가적인 제약으로서 고려되어야 한다는 것에 주목한다. 5 개의 다음의 옵션들이 가능하다.
옵션 1: 다음 공동-시뮬레이션 시간 증분에 대한 입력(201)은 에너지 보존 수단에 의해 결정될 수 있고, 여기서, 다음 공동-시뮬레이션 시간 증분 상에서의 미래의 진행(204)의 예측의 적분 및 입력(201)의 적분은 동일하다:
Figure pat00077
옵션 2: 다음 공동-시뮬레이션 시간 증분으로의 입력(201)은 최소화 문제(수학식 27)를 명시적으로 구함으로써 결정될 수 있다. 입력은 최소화 문제(수학식 27)의 이산화에 의해, 예컨대, 공동-시뮬레이션 시간 증분
Figure pat00078
에 의해 결정되어, 명시적 대수 방정식을 초래한다:
Figure pat00079
여기서,
Figure pat00080
Figure pat00081
은 국소적 대체 서브시스템들의 동적 행렬
Figure pat00082
및 입력 행렬
Figure pat00083
에 대응하는 잘 알려진 전이 행렬들을 나타낸다. 이 수학식은 일정한 (제로-차수-유지(zero-order-hold)) 입력 변수(201), 즉, 도 2에서 예시된 바와 같은 다음 공동-시뮬레이션 시간 증분 상에서의 일정한 입력 값에 기초하지만, 이것은 다른 형태들/종류들의 입력(201) 외삽, 예컨대, 일반적으로 (단순화를 위하여 본원에서 생략된) 제1-차수-유지(first-order-hold) 또는 값들의 임의적인 시퀀스를 위하여 일반화될 수 있다.
옵션 3: 다음 공동-시뮬레이션 시간 증분에 대한 입력(201)은 최소화 문제(수학식 27)를 일반적으로 변동적 접근법으로서 구함으로써 결정될 수 있다.
옵션 4: 또 다른 양태에서, 입력(201)은 추가적인 파트(113)를 플로우차트(100)로 도입함으로써, 서브시스템들(308)을 구하지 않고, 반복적 방식으로 결정될 수 있다. 입력(109)의 결정 후에, 그리고 서브시스템들(103)의 국소적 시뮬레이션 전에, 오차 미분 방정식은 재정의된 이산화 오차를 이용함으로써 몇몇 횟수에 대하여 반복적으로 구해진다: 다음 공동-시뮬레이션 시간 증분에 대한
Figure pat00084
새로운 입력에 기초하여, 변수들(201)은 공동-시뮬레이션 증분 이전(!)에 결합 시간 인스턴트에서 반복적으로 결정된다.
옵션 5: 다음 공동-시뮬레이션 시간 증분에 대한 입력(도 2에서의 그래프(201))은 다음 공동-시뮬레이션 시간 증분에 대하여 공동-시뮬레이팅된 서브시스템의 연산된 출력 변수들(202)을 사용함으로써 (정확히) 반복적으로 결정될 수 있다. 이 접근법에 의해, 개별적인 서브시스템들은 몇몇 횟수들에 대하여 (정확히) 반복적으로 구해진다. 위에서 언급된 다른 비-반복적 공동-시뮬레이션 옵션들과 대조적으로, 이것은 반복적 공동-시뮬레이션 접근법을 초래할 것이다. 반복들은 미리 정의된 정확도 임계치에 도달될 때까지 수행된다.
위의 섹션들은 단계전 공동-시뮬레이션 알고리즘을 설명한다. 이용가능한 컴퓨팅 아키텍처에 따라서는, 구현을 위한 2 개의 가능성들이 존재한다: 도 3에서 도시된 바와 같은, 중앙집중화된-마스터(304) 접근법 및 분산된-마스터(304, 307) 접근법.
옵션 1: 중앙집중화된-마스터(304) 접근법은 전용 컴퓨팅 노드(301) 상에서 작동되는 단일 컴퓨터-실행가능 프로그램에서의 전체 단계적 공동-시뮬레이션 알고리즘(100)의 구현에 의해 특징된다. 이 접근법은 단일 마스터 접근법으로서 고려될 수 있고, 여기서, 모든 필요한 데이터, 즉, 각각 서브시스템들의 입력 및 출력 변수들 및 그 시간 미분들 및 임의적으로, 개별적인 (대체) 서브시스템들의 편도함수들은 서브시스템들 자체에 의해 제공될 경우에, 통신 네트워크(302)를 통해 단일 마스터 알고리즘 프로그램(304)으로 통신된다. 이 경우에, 중앙집중화된-마스터(304)는 각각 서브시스템들의 입력(201) 및 출력(202) 변수들 및 그 시간 미분들에 기초하여 개별적인 서브시스템들(308)의 대체 서브시스템들 행렬들(수학식 10 내지 수학식 11)을 임의적으로 식별하고, 요구된 행렬들(수학식 15 내지 수학식 16, 101)을 조립하고, 오차 미분 방정식(106)을 평가하고, 다음 공동-시뮬레이션 시간 증분(107)을 결정하고, 근사화된 정확한 솔루션(108)의 미래의 진행의 예측을 수행할 뿐만 아니라, 현재의 결합 시간 인스턴트에서 다음 공동-시뮬레이션 시간 증분(109)에 대한 입력 변수들을 최적화한다.
단계전 공동-시뮬레이션의 실현을 위하여, 중앙집중화된-마스터 프로그램(304)의 실행, 개별적인 서브시스템들(111)의 공동-시뮬레이션 시간 증분들의 연산, 및 데이터(112)의 통신의 전용 순서가 고려되어야 한다. 이것은 다음에서 설명된 바와 같이, 개별적인 서브시스템들(308)을 제어하는 중앙집중화된-마스터 프로그램(304)에 의해 보장된다. 제1 사례에서는, 각각의 결합 시간 인스턴트 Tk에서, 마스터 알고리즘은 각각 서브시스템들(308)의 파라미터들의 초기 입력(201) 및 출력(202) 변수들 및 그 시간 미분들 뿐만 아니라, 임의적으로, 서브시스템들의 개별적인 컴퓨팅 노드들에서 결정될 경우에 개별적인 (대체) 서브시스템들(수학식 10 내지 수학식 11)로부터의 편도함수들을 수집하고, 입력(201) 및 출력(202) 변수들 및 그 시간 미분들에 기초하여 개별적인 서브시스템들(308)의 대체 서브시스템들(수학식 10 내지 수학식 11)에 대한 요구된 편도함수들을 임의적으로 연산하고(104) 요구된 행렬들(수학식 15 내지 수학식 16, 101)을 조립하고(105), 오차 미분 방정식을 평가하고(106), 다음 공동-시뮬레이션 시간 증분을 결정하고(107), 근사화된 정확한 솔루션의 미래의 진행의 예측을 수행할(108) 뿐만 아니라, 다음 공동-시뮬레이션 시간 증분에 대한 입력 변수들을 최적화한다(109). 제2 단계에서, 결정된 입력들(201) 및 편도함수들은 메모리(305)에 저장되어 통신 네트워크(110)를 통해 대응하는 서브시스템들로 전송되고, 이는 서브시스템 공동-시뮬레이션 단계(111)의 실행을 직접적으로 트리거링한다. 현재의 서브시스템 시간 증분의 종반부에서, 서브시스템 시뮬레이션은 일시정지되고, 결과적인 출력 변수들(202)은 통신 네트워크를 통해 중앙집중화된-마스터 노드(301)로 다시 전송되고 중앙집중화된-마스터 알고리즘(304)에 의해 저장되고(110), 이는 다음 공동-시뮬레이션 단계의 실행을 직접적으로 트리거링한다. 이 절차는 전체적인 공동-시뮬레이션의 종반부에 도달될 때까지 후속 공동-시뮬레이션 시간 증분들의 연산을 위하여 반복되고, 여기서, 서브시스템 시뮬레이션들은 중앙집중화된-마스터(304)에 의해 정지하도록 강제된다.
옵션 2: 분산된-마스터(304, 307) 접근법은 속력의 측면에서 전체적인 시뮬레이션 성능을 개선시키기 위하여 상이한 컴퓨팅 노드들 상에서 작동하고 있는 몇몇 파트들로의 단계전 공동-시뮬레이션 알고리즘의 분리에 의해 특징된다. 제1 파트는 전용 컴퓨팅 노드 상에서 작동되는 컴퓨터-실행가능 프로그램(304)에 의해 표현되고, 여기서, 각각 모든 필요한 데이터, 서브시스템들(308)의 입력(201) 및 출력(202) 변수들, 및 그 시간 미분들 뿐만 아니라, 임의적으로, 서브시스템들의 개별적인 컴퓨팅 노드들에서 결정될 경우에 개별적인 (대체) 서브시스템들(수학식 10 내지 수학식 11)로부터의 편도함수들은 네트워크(302)를 통해 마스터 알고리즘(304)의 이 파트로 통신된다. 알고리즘의 이 파트는 입력(201), 입력 미분들, 및 출력(202) 변수들에 기초하여 개별적인 서브시스템들(308)의 요구된 편도함수들(수학식 10 내지 수학식 11)을 연산하고(104) 요구된 행렬들(수학식 15 내지 수학식 16, 101)을 조립하고(105), 오차 미분 방정식을 평가하고(106), 국소적 다음 공동-시뮬레이션 시간 증분들을 임의적으로 결정하고(107), 현재의 결합 시간 인스턴트에서의 다음 공동-시뮬레이션 시간 증분에 대한 근사화된 정확한 솔루션의 미래의 진행의 광역적 예측(모델-기반)(108)을 임의적으로 수행한다. 다른 파트들은 서브시스템들(308)이 또한 실행되는 컴퓨팅 노드들(301) 상에서 작동하는 컴퓨터-실행가능 프로그램(307)에 의해 표현되고, 여기서, 이 파트들의 각각은 서브시스템들의 입력(201), 입력 미분들, 및 출력(202) 변수들 및 그 시간 미분들에 각각 기초하여 개별적인 서브시스템들(308)의 요구된 편도함수들(수학식 10 내지 수학식 11)을 국소적으로 그리고 임의적으로 연산하고(104), 국소적 다음 공동-시뮬레이션 시간 증분들을 임의적으로 결정하고(107), 다음 공동-시뮬레이션 시간 증분에 대한 근사화된 정확한 솔루션의 미래의 진행의 광역적 예측(모델-기반 또는 신호-기반)(108)을 임의적으로 수행하고, 현재의 결합 시간 인스턴트에서의 다음 공동-시뮬레이션 시간 증분에 대한 입력(201) 변수들의 최적화(109)를 수행한다.
단계전 공동-시뮬레이션(100)의 실현을 위하여, 분산된-마스터 프로그램(304, 307)의 실행, 개별적인 서브시스템들(308)의 공동-시뮬레이션 시간 증분들(111)의 연산, 및 통신 네트워크(302)를 통한 데이터의 통신의 전용 순서가 고려되어야 한다(103). 이것은 다음에서 설명된 바와 같이, 개별적인 서브시스템들(308)을 제어하는 분산된-마스터 프로그램(304, 307)에 의해 보장된다.
제1 사례에서는, 각각의 결합 시간 인스턴트 Tk에서, 마스터 알고리즘은 각각 서브시스템들(308)의 초기 입력(201) 및 출력(202) 변수들 및 그 시간 미분들 뿐만 아니라, 임의적으로, 서브시스템들의 개별적인 컴퓨팅 노드들에서 결정될 경우에 개별적인 (대체) 서브시스템들(수학식 10 내지 수학식 11)로부터의 편도함수들을 수집하고, 입력(201) 및 출력 변수들 및 그 시간 미분들에 기초하여 개별적인 서브시스템들(308)의 대체 서브시스템들(수학식 10 내지 수학식 11)에 대한 요구된 편도함수들을 임의적으로 연산하고(104) 요구된 행렬들(수학식 15 내지 수학식 16, 101)을 조립하고(105), 오차 미분 방정식을 평가하고(106), 국소적 다음 공동-시뮬레이션 시간 증분들을 임의적으로 결정하고(107), 임의적으로, 근사화된 정확한 솔루션의 미래의 진행의 예측(모델-기반)(108)을 수행한다. 중앙집중화된-마스터 접근법과 대조적으로, 제2 단계에서, 결정된 정확한 솔루션(204) 또는 근사화된 정확한 솔루션의 미래의 진행의 예측(모델-기반)(108)은 서브시스템들 연산 노드들(301)에서의 대응하는 국소적 마스터들(307)로 임의적으로 전송되고, 여기서, 임의적으로, 근사화된 정확한 솔루션의 미래의 진행은 국소적으로 예측(모델-기반 또는 신호-기반)되고, 임의적으로, 다음 공동-시뮬레이션 시간 증분이 결정되고(107), 다음 공동-시뮬레이션 시간 증분에 대한 입력 변수들(201)이 최적화된다(109). 국소적 최적화(109) 후에, 결과적인 입력 변수들(201)이 저장되고 통신 네트워크(302)를 통해 마스터(304)의 다른 파트로 통신되고(110), 서브시스템 공동-시뮬레이션 단계의 실행이 트리거링된다(111). 현재의 서브시스템 시간 증분의 종반부에서, 서브시스템 시뮬레이션은 일시정지되고, 임의적으로, 요구된 서브시스템 편도함수들은 국소적으로 연산되고 메모리(305)로 저장되고, 결과적인 출력 변수들(202)은 분산된 마스터 프로그램(304)으로 다시 전송되고, 이는 다음 공동-시뮬레이션 단계의 실행을 직접적으로 트리거링한다. 이 절차는 전체적인 공동-시뮬레이션의 종반부에 도달될 때까지 후속 공동-시뮬레이션 시간 증분들의 연산을 위하여 반복되고, 여기서, 서브시스템 시뮬레이션들은 분산된 마스터에 의해 정지하도록 강제된다.
다음의 섹션들은 단계전 공동-시뮬레이션 방법의 실행을 위한 관련된 공동-시뮬레이션 디바이스(300)를 설명한다. 도 3은 일반적으로 상이한 컴퓨팅 노드들(301) 및 통신 네트워크(302)로 구성되는 공동-시뮬레이션 디바이스의 아키텍처를 도시한다.
컴퓨팅 노드(301)는 적어도 하나의 중앙 프로세싱 유닛인 CPU(303), 메모리(305), 및 네트워크 인터페이스 카드인 NIC(306)로 구성된다. 컴퓨팅 노드는 컴퓨터-실행가능 프로그램들 내에서 정의되는, 산술적 또는 논리적 동작들의 임의적인 시퀀스들을 자동적으로 수행하도록 명령받을 수 있다. 컴퓨팅 노드의 메모리(305)는 다른 한편으로, (랜덤-액세스 메모리, RAM 스토리지에서 저장된) 산술적 또는 논리적 동작들을 수행하기 위하여 즉각적인 이용을 위한 정보를 저장하기 위하여 이용되고, 다른 한편으로, (하드-디스크-드라이브, HDD 스토리지에서 저장된) 프로그램들 및 관련된 데이터를 저장하기 위하여 이용된다. 네트워크 인터페이스 카드(306)는 GSM/EDGE 및 UMTS/HSPA 기술들에 기초하여, TCP/IP, UDP, CAN과 같은 전용 통신 프로토콜을 사용함으로써, 또는 무선 통신 블루투스(Bluetooth) 또는 LTE를 위하여, 로컬 영역(LAN) 또는 광역 네트워크들(WAN)을 통한 데이터 통신을 위한 네트워크 인터페이스 제어기로 구성되는, 컴퓨팅 노드를 컴퓨팅 노드들의 네트워크(302)에 접속하는 컴퓨팅 노드의 하드웨어 컴포넌트인 것이 이용된다. 실시간 응용들을 위하여, 전형적으로 EtherCAT 또는 TT-Ethernet이 구현된다.
단계전 공동-시뮬레이션 방법의 구현을 위하여, 약술된 알고리즘(100, 200)은 중앙집중화된 또는 분산된 마스터 접근법을 위한 컴퓨터-실행가능 프로그램들(304, 307) 내에서 실현된다. 서브시스템 시뮬레이션 모델들은 전용 시뮬레이션 툴들(서브시스템들)(308) 내에서의 맞춤형 솔버들에 의해 구해진다. 전용 공동-시뮬레이션 시나리오의 경우에, 상이한 컴퓨터-실행가능 알고리즘들(304, 307, 308)은 컴퓨팅 노드들(301)의 현존하는 네트워크 상에서 분산되는 반면, 또한, 다수의 컴퓨터-실행가능 프로그램들은 단일 컴퓨팅 노드 상에서 작동할 수 있다.
단계전 공동-시뮬레이션 방법의 예시적인 응용에서, 마스터 프로그램(304)은 대응하는 컴퓨팅 노드(301)의 중앙 프로세싱 유닛(303)에 의해 실행되고, 제1 단계에서, 마스터 프로그램(304)의 개시 후에, 프로세서(303)는 모든 서브시스템들(101)을 위한 (대체) 서브시스템 행렬들을 연산하는 것을 행한다. 원래의 서브시스템들로부터의 임의적으로 저장된 편도함수들은 개별적인 (대체) 서브시스템들(308)의 요구된 편도함수들(수학식 10 내지 수학식 11)을 연산하고(104) 요구된 행렬들(수학식 15 내지 수학식 16, 101)을 조립하기(105) 위하여, 로컬 HDD 메모리로부터 판독되거나, 각각 서브시스템들의 이용가능한 입력(201) 및 출력(202) 변수들 및 그 시간 미분들에 기초한 시스템 식별 방식의 사용에 의해, 예컨대, 서브공간 식별 방법의 적용에 의해 임의적으로 결정된다. 프로세서는 결과적인 행렬들을 컴퓨팅 노드의 로컬 RAM 메모리로 기입하는 것을 나중에 행한다. 이 행렬들은 정확한 출력 변수들을 근사화하기 위하여(106), 후속하여, 다음 공동-시뮬레이션 시간 증분의 길이를 결정하기 위하여(107), 다음 공동-시뮬레이션 시간 증분의 정확한 출력 변수의 미래의 진행의 예측을 위하여(108), 그리고 다음 공공-시뮬레이션 시간 증분에 대한 입력 변수들의 최적화를 위하여(109), 오차 미분 방정식의 평가를 위한 마스터 프로그램의 후속 명령들에 의해 사용된다. 이 계산들을 위하여, 마스터 프포그램(304)의 명령들은 프로세서(303)로 하여금, 관련된 산술적 및 논리적 동작들 뿐만 아니라, 로컬 RAM 또는 HDD 메모리(305)로의 변수들의 중간 판독 및 기입을 수행하게 한다.
상이한 컴퓨터-실행가능 프로그램들(마스터(304, 307) 및 몇몇 서브시스템 시뮬레이션 프로그램들(308))이 컴퓨팅 노드들의 네트워크 내의 상이한 컴퓨팅 노드들(301)에 할당되는 분산된 컴퓨팅 네트워크(300)에서 구현된 분산된 공동-시뮬레이션 시나리오의 경우에, 마스터 컴퓨팅 노드(301)의 프로세서(303)는 메모리로부터 대응하는 값들을 판독하고, 구현된 통신 네트워크(302) 및 대응하는 통신 프로토콜을 사용함으로써, 입력 변수들(201) 및 임의적으로 그 시간 미분들을 개별적인 서브시스템 시뮬레이션 통신 노드들(301)로 각각 송신할 것을 네트워크 인터페이스 카드(306)의 네트워크 인터페이스 제어기에 강제한다. 송신된 데이터가 서브시스템 컴퓨팅 노드들(301)에서 수신되자마자, 네트워크 인터페이스 카드들(306) 상의 대응하는 네트워크 인터페이스 제어기들은 새로운 입력 변수들의 도달을 서브시스템(308) 시뮬레이션에 표시하고 있고, 이는 이 값들을 로컬 메모리(305)에 저장하고 공동-시뮬레이션 시간 증분(111)의 실행을 트리거링한다. 공동-시뮬레이션 시간 증분의 종반부에서의 개별적인 서브시스템 시뮬레이션(308)의 결과적인 출력 변수들(202)은 로컬 메모리(305)로 저장된다. 로컬 프로세서(303)에 의해 실행된 서브시스템 시뮬레이션 프로그램(308)은 네트워크 인터페이스 카드(306)를 통한 마스터 컴퓨팅 노드(301)로의 로컬 네트워크 인터페이스 제어기에 의한 출력 변수들의 송신을 행한다. 송신된 데이터가 마스터 컴퓨팅 노드들에 의해 수신되자마자, 네트워크 인터페이스 카드들(306) 상의 대응하는 네트워크 인터페이스 제어기는 새로운 출력 변수들(201)의 도달을 마스터 프로그램(304)에 표시하고 있고, 이는 이 값들을 로컬 메모리(305)에 기입하고 다음 공동-시뮬레이션 시간 증분의 실행을 트리거링한다.
또 다른 중요한 경우는 실시간 응용들에 의해 표현된다. 본원에서 개시된 단계전 공동-시뮬레이션 방법은 비-반복적 공동-시뮬레이션을 위하여 주로 개별되고, 이에 따라, 방법은 결정된 실행시간 거동(runtime behavior)을 프로세싱하고, 실시간 응용을 위한 주요 요건을 이행한다. 한편으로, 방법은 단일 컴퓨팅 노드 상에서의 시간-트리거링된 공동-시뮬레이션의 실현을 위하여 적용될 수 있고, 다른 한편으로, 방법은 분산된 실시간 공동-시뮬레이션 시나리오로 구현될 수 있고, 여기서, 복수의 실시간 연산 노드들(301)은 적절한 (실시간 가능한) 통신 네트워크(302), 예컨대, EtherCAT, TT-Ethernet, UDP, CAN, 또는 LTE 5G를 통해 접속된다. 이 경우에, 개별적인 서브시스템들 사이의 비동기식 통신이 실현되고, 즉, 개별적인 서브시스템들은 대응하는 연산 노드의 카운터(클록)에 의해 시간-트리거링된다. 상이한 컴퓨터-실행가능 프로그램들의 실시간 거동은 사용된 컴퓨팅 하드웨어 및 프로그램 호스팅 오퍼레이팅 시스템들의 스케줄러에 의해 보장되므로, 요구된 입력 및 출력 변수들 및 임의적으로, 개별적인 서브시스템들의 편도함수들은 단계전 공동-시뮬레이션 방법의 올바른 실행을 위한 시간에서 이용가능하다.
이 때문에, 본 발명에 따른 공동-시뮬레이션 컴퓨팅 디바이스는 통신 네트워크(302)를 통해 컴퓨팅 노드들의 네트워크에 접속된 단일 또는 다수의 컴퓨팅 노드들(301), 입력, 입력 미분, 출력, 및 출력 미분 변수들, 개별적인 (대체) 서브시스템들(수학식 10 내지 수학식 11)의 연산된 편도함수들, 및 조립된 요구된 행렬들(수학식 15 내지 수학식 16)을 저장하기 위한 메모리 영역(305), 및 컴퓨팅 노드들(301)의 메모리들(305)을 액세스하고 발명의 방법을 실행하도록 구성된 프로세서들을 포함한다.
설명된 세부사항들은 도 1에서 도시된 플로우차트(100)에 대한 기초를 표현한다. 플로우차트는 3 개의 주요 블록들로 대략적으로 분리된다: 요구된 행렬들(101)의 연산, 다음 공동-시뮬레이션 시간 증분에 대한 입력 변수들의 결정(102), 및 공동-시뮬레이션 디바이스를 사용하는 것에 의한 다음 공동-시뮬레이션 시간 증분의 실행(103). 슈퍼 블록(101)은 각각 서브시스템들의 입력(201) 및 출력(202) 변수들 및 그 시간 미분들에 기초하여 개별적인 (대체) 서브시스템들(308)의 요구된 편도함수들(수학식 10 내지 수학식 11)의 연산(104)을 포함하고, 요구된 행렬들(수학식 15 내지 수학식 16, 101)을 조립한다(105). 슈퍼 블록(102)은 모든 서브시스템들에 대한 정확한 출력 변수들을 근사화하기 위하여, 적당한 공동-시뮬레이션 시간 증분을 임의적으로 국소적으로 결정하기 위하여(107), 출력 변수들의 미래의 진행을 임의적으로 국소적으로 예측하기 위하여(108), 연산된 광역적 조립된 행렬들(101)을 이용한 광역적 오차 미분 방정식의 평가(106)를 포함한다. 이 예측된 출력 변수들(108)은 단계전 방법의 묵시적 특질을 보장하고, 다음 공동-시뮬레이션 시간 증분에 대한 입력 변수들(109)의 임의적으로 국소적인 최적화를 위한 근본적인 기초로서 작용한다.
슈퍼 블록(103)은 공동-시뮬레이션 디바이스(110)에 의한 결정된 입력 변수들의 저장 및 통신을 포함하고, 이는 다음 공동-시뮬레이션 시간 증분(111)의 실행을 위한 개별적인 서브시스템들을 트리거링한다. 공동-시뮬레이션 시간 증분의 연산 후에, 결과적인 출력 변수들은 공동-시뮬레이션 디바이스(112)에 의해 통신되고 저장되고, 이는 101로 시작하여, 프로세스를 반복함으로써 후속 공동-시뮬레이션 시간 증분의 연산을 트리거링한다.
최종적으로, 예가 검사되고, 결과들은 도 4에서 도시된다. 3 개의 상이한 시뮬레이션들이 수행되었다: 비교를 위한 참조로서 작용하는 모놀리식 시뮬레이션(monolithic simulation), 가장 간단한 가능하지만, 가장 흔희 이용된 결합 접근법(제로 차수 유지, ZOH로 칭함)을 적용하는 것에 의한 공동-시뮬레이션, 및 정확도 및 안정성의 측면에서 본원에서 약술된 발명의 이익 및 성능 개선을 표시하는 단계전 공동-시뮬레이션. 2 개의 서브시스템들(308)로 구성되는 전체적인 강성 시스템이 선택되었다. 단순화를 위하여, 단일 출력 변수가 예시된다. 수직 라인들은 일정한 공동-시뮬레이션 시간 증분에 대하여 이용된 통신 시간 포인트들(결합 시간 포인트들 Tk)을 표현한다. 도 4는 ZOH 접근법이 ZOH로 인해 발산하고 공동-시뮬레이션 이산화 오차를 도입하고, 단계전 공동-시뮬레이션 방법으로부터의 결과가 모놀리식 솔루션과 거의 중첩가능하여, 공동-시뮬레이션 이산화 오차들이 개시된 방법에 의해 거의 완화된다는 것을 지적한다.
입증의 목적들을 위하여, 단계전 공동-시뮬레이션 방법은 고전적인 파워트레인(powertrain) 테스트베드 상에서 장착된 실제 차량 및 가상적 환경 내에서 내장된 가상적 휠(wheel)들을 포함하는 분산된 차량 시뮬레이션 및 테스트 환경에 예시적으로 적용된다. 높은 강성도는 휠 슬립의 동역학이 몇몇 크기들만큼 차량의 그것들과 상당히 상이하기 때문에 존재한다. 실제 차량과 가상적 휠들 사이의 기계적 링크는 4 개의 하프-샤프트(half-shaft)들에 의해 표현되고, 여기서, 각각의 하나는 토크-제어된 전자-드라이브(e-drive), 즉, 소위 다이노미터(Dynometer)에 접속된다. 각각의 전자-드라이브 제어기에 대한 설정된 토크는 실제 차량의 대응하는 하프-샤프트의 측정된 회전 속력(예컨대, 제1 파라미터 v)에 기초하여 가상적 환경(모델링된 마찰, 도로 기울기 등을 포함) 내의 대응하는 가상적 휠에 의해 결정된다. 각각의 하프-샤프트 토크(예컨대, 제2 파라미터 F) 및 회전 속력(각속도)은 결합 신호들, 즉, 파워 본드(power bond)를 표현한다. 휠 시뮬레이션으로의 입력 신호는 회전 속력 신호이고, 출력 신호는 결과적인 토크이다. 전체적인 시뮬레이션이 실시간으로 수행되므로, 병렬 공동-시뮬레이션이 필요하고, 이에 따라, 매 결합 시간 인스턴트에서, 회전 속력 신호 및 토크 신호가 외삽되어야 한다. 외삽으로 인해, 본원에서 다루어진 공동-시뮬레이션 이산화 오차가 도입되고, 하프-샤프트 상에서의 에너지-전달은 왜곡되고, 이는 최종적인 시뮬레이션 및 테스트 성능에 대해 부정적인 영향을 가진다. 특히, 더 높은 외삽된 휠 회전 속력은 이 공동-시뮬레이션 시간 증분 상에서 더 높은 반대 토크 응답을 초래할 것이다. 이 때문에, 소스 시스템(파워트레인 테스트베드 상의 차량) 상으로의 피드백이 더 높고, 그것은 이에 따라, 그것이 가져야 하는 것보다 더 많이 속력을 높일 수 있다.
회전 속력은 인터페이스 상에서의 신호이므로, 휠은 또한 도 4와 비교하여, 너무 많이 속력을 높일 것이다. 이것은 (현재의 공동-시뮬레이션 시간 증분 Tk 상에서의) 단기간 및 (전체 테스트 런 상에서의) 장기간에 대한 테스트 결과들, 예컨대, 차량 에너지 소비에 상당히 영향을 준다. 완화를 위한 고전적/전형적인 절차는 고성능 소프트웨어 및 하드웨어 컴포넌트들(예컨대, EtherCAT 실시간 버스 시스템)의 측면에서 대용량 오버-샘플링(10 kHz) 및 증가된 비용들을 초래하는 매우 작은 샘플링 시간들(즉, 공동-시뮬레이션 시간 증분)의 사용이다.
본원에서 개시된 단계전 공동-시뮬레이션 방법의 적용에 의해, 공동-시뮬레이션 이산화 오차는 공동-시뮬레이션 시간 증분의 계산 이전에 보상되어, 위에서 설명된 문제를 제거한다. 이 경우에, 파워-트레인 테스트베드 상에서 장착된 실제 차량은 컴퓨팅 노드를 표현하고, 가상적 환경 내에서 시뮬레이팅된 휠들은 또 다른 컴퓨팅 노드로 배정되고; 컴퓨팅 노드들은 도 3에서 예시된 바와 같이 통신 네트워크를 통해 접속된다. 특히, 개별적인 하프-샤프트들에서의 속력 신호들 뿐만 아니라 토크 신호들은 실제적인 공동-시뮬레이션 시간 증분 Tk에 대한 휠 토크 응답들의 계산 이전에 도 1 및 도 2에 따라 수정되어, 도 4에서 표시된 바와 같은 안전화 효과를 초래한다. 이러한 방법으로, 휠은 예상된 바와 같이 가속하고 왜곡은 더 큰 공동-시뮬레이션 시간 증분들의 적용 및 그 결과로서, 더 저렴한 소프트웨어 및 하드웨어 컴포넌트들의 사용을 가능하게 하는 최소치로 감소된다.
용어 "포함하는(comprising)"은 다른 엘리먼트들 또는 단계들을 제외하지 않고, "a" 또는 "an"은 복수를 제외하지 않는다는 것이 주목되어야 한다. 또한, 상이한 실시예들과 연관시켜서 설명된 엘리먼트들은 조합될 수도 있다. 청구항들에서의 참조 부호들은 청구항들의 범위를 제한하는 것으로서 해석되지 않아야 한다는 것이 또한 주목되어야 한다.

Claims (14)

  1. 단계전 공동-시뮬레이션(pre-step co-simulation) 시스템에 기초하여 실제 물리적 모델을 시뮬레이팅하기 위한 방법으로서,
    제1 방정식 시스템(equation system)에 기초하여 상기 실제 물리적 모델의 적어도 하나의 제1 파라미터(v)를 시뮬레이팅하는 제1 서브시스템(308)을 제공하는 단계 - 상기 제1 방정식 시스템은 적어도 하나의 제2 파라미터(F)에 기초하여 상기 제1 파라미터(v)를 결정하도록 구성됨 -,
    제2 방정식 시스템에 기초하여 상기 실제 물리적 모델의 상기 적어도 하나의 제2 파라미터(F)를 시뮬레이팅하는 제2 서브시스템(308)을 제공하는 단계 - 상기 제2 방정식 시스템은 상기 적어도 하나의 제1 파라미터(v)에 기초하여 상기 제2 파라미터(F)를 결정하도록 구성되고, 상기 제2 서브시스템(308)에서의 상기 제1 파라미터(v)의 상기 제1 입력 값(v_in) 및 상기 제1 서브시스템(308)에서의 상기 제2 파라미터(F)의 상기 제2 입력 값(F_in)은 제1 결합 시간 포인트(Tk-1)에서의 외삽(extrapolation)에 의해 추정됨 -,
    상기 제1 서브시스템에 의한 상기 제1 파라미터(v)의 제1 출력 값(v_out) 및 상기 제2 서브시스템에 의한 상기 제2 파라미터(F)의 제2 출력 값(F_out)을 결정하는 단계,
    후속 제2 결합 시간 포인트에서, 상기 제1 파라미터(v)의 상기 추정된 제1 입력 값(v_in)과 상기 제1 파라미터(v)의 상기 결정된 제1 출력 값(vout) 사이의 제1 오차, 및 상기 제2 파라미터의 상기 추정된 제2 입력 값(F_in)과 상기 제2 파라미터(F)의 상기 결정된 제2 출력 값 사이의 제2 오차를 결정하는 단계,
    상기 제1 서브시스템의 편도함수(partial derivative)들에 기초하는 상기 실제 물리적 모델의 제1 국소적 대체 모델을 정의하는 단계, 및
    상기 제2 서브시스템의 편도함수들에 기초하는 상기 실제 물리적 모델의 제2 국소적 대체 모델을 정의하는 단계를 포함하고,
    상기 제1 국소적 대체 모델 및 상기 제2 국소적 대체 모델에 기초하여, 오차 미분 방정식(Error Differential Equation)이 정의되고, 상기 오차 미분 방정식은 상기 제1 결합 시간 포인트(Tk-1)와 후속 제2 결합 시간 포인트(Tk) 사이에서, 시간 상에서의 상기 제1 파라미터(v)의 제1 특성 또는/및 시간 상에서의 상기 제2 파라미터(F)의 제2 특성을 결정하기 위한 상기 제1 오차 및 상기 제2 오차를 수신하도록 구성되고,
    상기 제1 파라미터(v)의 상기 제1 특성 또는/및 상기 제2 파라미터(F)의 상기 제2 특성에 기초하여, 상기 후속 제2 결합 시간 포인트에서의 상기 제1 파라미터(v)의 상기 제1 입력 값(v_in) 또는/및 상기 제2 파라미터(F)의 상기 제2 입력 값(F_in)은 상기 제1 서브시스템에서의 상기 제1 파라미터(v) 또는/및 상기 제2 서브시스템에서의 상기 제2 파라미터(F)를 시뮬레이팅하기 위하여 최적화되는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  2. 제1항에 있어서,
    상기 제1 서브시스템(308)의 편도함수들 및 상기 제2 서브시스템(308)의 편도함수들에 기초하는 상기 실제 물리적 모델의 광역적 대체 모델(global replacement model)을 정의하는 단계를 포함하고,
    상기 광역적 대체 모델은 상기 제2 결합 시간 포인트(tk)에서의 상기 제1 파라미터(v)의 다음 제1 입력 값(v_in) 및 상기 제2 파라미터(F)의 다음 제2 입력 값(F_in)이 결정될 수 있도록, 상기 제2 결합 시간 포인트(Tk)와 제3 결합 시간 포인트(T, k+1) 사이에서 상기 제1 파라미터(v) 또는/및 상기 제2 파라미터(F)의 미래의 특성을 추정하도록 구성되는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  3. 제2항에 있어서,
    상기 광역적 대체 모델은 상기 제1 파라미터(v)의 상기 제1 출력 값(v_out) 및 상기 제2 파라미터(F)의 상기 제2 출력 값(F_out)의 시간 미분(time derivation)에 의한 상기 제1 서브시스템(308) 및 상기 제2 서브시스템(308)의 변환에 기초하는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 오차 미분 방정식의 솔루션은 명시적 또는 묵시적 수치 솔버(numerical solver)에 의해 근사화되는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    외삽에 의한 상기 추정은 상기 근사화된 정확한 출력 변수들의 예측을 위한 모델-기반 외삽이 사용되는 것인, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    외삽에 의한 상기 추정은 상기 근사화된 정확한 출력 변수들의 예측을 위한 신호-기반 외삽이 사용되는 것인, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 입력 변수들(201)의 상기 최적화(109)는 변동적 접근법(variational approach)에 기초하는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 제1 서브시스템(308)의 상기 편도함수들 및 상기 제2 서브시스템(308)의 상기 편도함수들은 특히, 서브공간 시스템 식별 알고리즘(subspace system identification algorithm)을 이용함으로써 순간적으로 계산되는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제1 결합 시간 포인트(T, k-1)와 상기 제2 결합 시간 포인트(Tk) 사이의 시간 증분(time increment)은 상기 제1 오차 및 상기 제2 오차에 기초하여 적응되는, 실제 물리적 모델을 시뮬레이팅하기 위한 방법.
  10. 단계전 공동-시뮬레이션 시스템에 기초하여 실제 물리적 모델을 시뮬레이팅하기 위한 시뮬레이팅 디바이스로서,
    제1 방정식 시스템에 기초하여 상기 실제 물리적 모델의 적어도 하나의 제1 파라미터(v)를 시뮬레이팅하는 제1 서브시스템(308)을 가지는 제1 서브시스템 유닛 - 상기 제1 방정식 시스템은 적어도 하나의 제2 파라미터(F)에 기초하여 상기 제1 파라미터(v)를 결정하도록 구성됨 -,
    제2 방정식 시스템에 기초하여 상기 실제 물리적 모델의 상기 적어도 하나의 제2 파라미터(F)를 시뮬레이팅하는 제2 서브시스템(308)을 가지는 제2 서브시스템 유닛 - 상기 제2 방정식 시스템은 상기 적어도 하나의 제1 파라미터(v)에 기초하여 상기 제2 파라미터(F)를 결정하도록 구성됨 -,
    제1 결합 시간 포인트(T,k-1)에서의 외삽에 의해 상기 제2 서브시스템(308)에서의 상기 제1 파라미터(v)의 상기 제1 입력 값(v_in) 및 상기 제1 서브시스템(308)에서의 상기 제2 파라미터(F)의 상기 제2 입력 값(F_in)을 추정하도록 구성된 추정 유닛 - 상기 제1 파라미터(v)의 제1 출력 값(v_out)은 상기 제1 서브시스템(308)에 의해 결정가능하고, 상기 제2 파라미터(F)의 제2 출력 값(F_out)은 상기 제2 서브시스템(308)에 의해 결정가능함 -,
    후속 결합 시간 포인트(Tk)에서, 상기 제1 파라미터(v)의 상기 추정된 제1 입력 값(v_in)과 상기 제1 파라미터(v)의 상기 결정된 제1 출력 값(vout) 사이의 제1 오차, 및 상기 제2 파라미터(F)의 상기 추정된 제2 입력 값(F_in)과 상기 제2 파라미터(F)의 상기 결정된 제2 출력 값(F out) 사이의 제2 오차를 결정하도록 구성된 오차 결정 유닛,
    상기 제1 서브시스템(308)의 편도함수들에 기초하는 상기 실제 물리적 모델의 제1 국소적 대체 모델을 정의하고, 상기 제2 서브시스템(308)의 편도함수들에 기초하는 상기 실제 물리적 모델의 제2 국소적 대체 모델을 정의하기 위한 오차 미분 방정식 유닛 - 상기 제1 국소적 대체 모델 및 상기 제2 국소적 대체 모델에 기초하여, 오차 미분 방정식은 상기 오차 미분 방정식 유닛에 의해 정의가능하고, 상기 오차 미분 방정식은 상기 제1 결합 시간 포인트와 후속 제2 결합 시간 포인트(Tk) 사이에서, 시간 상에서의 상기 제1 파라미터(v)의 제1 특성 또는/및 시간 상에서의 상기 제2 파라미터(F)의 제2 특성을 결정하기 위한 상기 제1 오차 및 상기 제2 오차를 수신하도록 구성됨 -, 및
    상기 제1 서브시스템(308)에서의 상기 제1 파라미터(v) 또는/및 상기 제2 서브시스템(308)에서의 상기 제2 파라미터(F)를 시뮬레이팅하기 위한 상기 제1 파라미터(v)의 상기 제1 특성 또는/및 상기 제2 파라미터(F)의 상기 제2 특성에 기초하여, 상기 후속 결합 시간 포인트(베이(bei) Tk)에서, 상기 제1 파라미터(v)의 상기 제1 입력 값(v_in) 또는/및 상기 제2 파라미터(F)의 상기 제2 입력 값(F_in)을 최적화하도록 구성된 최적화 유닛을 포함하는, 실제 물리적 모델을 시뮬레이팅하기 위한 시뮬레이팅 디바이스.
  11. 제10항에 있어서,
    통신 네트워크(302)를 통해 컴퓨팅 노드들의 네트워크에 접속된 단일 또는 다수의 컴퓨팅 노드들(301);
    상기 제1 및 제2 파라미터의 상기 입력 값들, 상기 편도함수들, 상기 제1 및 제2 파라미터의 출력 값들 및 특히, 출력 미분 변수들, 상기 서브시스템들의 상기 연산된 편도함수들, 및 상기 제1 및 제2 방정식들을 저장하기 위한 메모리 영역(305);
    상기 컴퓨팅 노드들(301)의 상기 메모리들(305)을 액세스하고 청구항 제1항 내지 제9항 중 어느 한 항에서 기재된 바와 같은 상기 방법을 실행하도록 구성된 적어도 하나의 프로세서를 더 포함하는, 실제 물리적 모델을 시뮬레이팅하기 위한 시뮬레이팅 디바이스.
  12. 제11항에 있어서,
    상기 컴퓨팅 노드들(301)은 실시간 시스템들을 표현하고, 데이터의 상기 통신은 비동기식으로 수행되는, 실제 물리적 모델을 시뮬레이팅하기 위한 시뮬레이팅 디바이스.
  13. 실제 물리적 모델을 시뮬레이팅하기 위한 컴퓨터 프로그램이 그 상에서 저장되는 컴퓨터-판독가능 매체로서,
    상기 컴퓨터 프로그램은, 데이터 프로세서에 의해 실행될 때, 청구항 제1항 내지 제9항 중 어느 한 항에서 기재된 바와 같은 상기 방법을 수행하고 또는/및 제어하도록 적응되는, 컴퓨터-판독가능 매체.
  14. 실제 물리적 모델을 시뮬레이팅하기 위한 프로그램 엘리먼트로서,
    상기 프로그램 엘리먼트는, 데이터 프로세서에 의해 실행될 때, 청구항 제1항 내지 제9항 중 어느 한 항에서 기재된 바와 같은 상기 방법을 제어하도록 적응되는, 프로그램 엘리먼트.
KR1020190067456A 2018-06-07 2019-06-07 단계전 공동-시뮬레이션 방법 및 디바이스 KR20190139161A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18176520.7A EP3579126A1 (en) 2018-06-07 2018-06-07 Co-simulation method and device
EP18176520.7 2018-06-07

Publications (1)

Publication Number Publication Date
KR20190139161A true KR20190139161A (ko) 2019-12-17

Family

ID=62597330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190067456A KR20190139161A (ko) 2018-06-07 2019-06-07 단계전 공동-시뮬레이션 방법 및 디바이스

Country Status (6)

Country Link
US (1) US11238201B2 (ko)
EP (1) EP3579126A1 (ko)
JP (1) JP7402482B2 (ko)
KR (1) KR20190139161A (ko)
CN (1) CN110580373B (ko)
CA (1) CA3045389A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3454234A1 (de) * 2017-09-06 2019-03-13 dSPACE digital signal processing and control engineering GmbH Verfahren zum bereitstellen einer echtzeitfähigen simulation für die steuergerätentwicklung und simulationsvorrichtung für die steuergerätentwicklung
CN111611536B (zh) * 2020-05-19 2023-04-07 浙江中控技术股份有限公司 数据处理方法、装置、存储介质及电子设备
CN111897300B (zh) * 2020-07-31 2024-05-24 上海交通大学 一种基于opc-ua的软/硬件联合仿真系统及其自适应协同方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02226186A (ja) * 1989-02-27 1990-09-07 Toshiba Corp シミュレーション方法
US6110215A (en) * 1998-06-19 2000-08-29 Microsoft Corporation Heightened realism for computer-controlled units in real-time activity simulation
DE50015457D1 (de) * 2000-02-03 2009-01-02 Siemens Ag Verfahren und Einrichtung zur Konfiguration eines Detektionssystems für Tunnelbrände
EP1417605A4 (en) * 2001-08-14 2009-07-15 Verisity Design Inc TIME CONTROL UNCRITISH GLITCH FREE LOGIC SYSTEM AND METHOD
US7337093B2 (en) * 2001-09-07 2008-02-26 Purdue Research Foundation Systems and methods for collaborative shape and design
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
FR2872654B1 (fr) * 2004-06-30 2006-09-08 Alcatel Sa Procede de re-synchronisation de flux beneficiant de services d'emulation de circuits, pour un reseau de communications a commutation de paquets
US7630867B2 (en) * 2004-09-01 2009-12-08 Behrens Clifford A System and method for consensus-based knowledge validation, analysis and collaboration
US8086555B2 (en) * 2009-01-23 2011-12-27 Hewlett-Packard Development Company, L.P. Collaborative filtering systems and methods
JP4988789B2 (ja) * 2009-05-19 2012-08-01 インターナショナル・ビジネス・マシーンズ・コーポレーション シミュレーション・システム、方法及びプログラム
US9606531B2 (en) * 2009-12-01 2017-03-28 Emerson Process Management Power & Water Solutions, Inc. Decentralized industrial process simulation system
AT511272A1 (de) 2010-10-15 2012-10-15 Kompetenzzentrum Das Virtuelle Fahrzeug Forschungsgmbh Kopplungsmethodik für nicht-iterative co-simulation
US20120197617A1 (en) * 2011-01-31 2012-08-02 Muris Mujagic Co-Simulation with Peer Negotiated Time Steps
CN102184297B (zh) * 2011-05-12 2012-11-14 天津大学 适于微网暂态并行仿真的电气与控制系统解耦预测方法
US10382285B2 (en) * 2011-08-25 2019-08-13 Siemens Industry, Inc. Smart grid communication assessment and co-simulation tool
US8682625B2 (en) * 2011-11-11 2014-03-25 Sigrity, Inc. Methods, systems, and computer-readable media for improving accuracy of network parameter in electromagnetic simulation and modeling
US9223754B2 (en) 2012-06-29 2015-12-29 Dassault Systèmes, S.A. Co-simulation procedures using full derivatives of output variables
CN102982197A (zh) * 2012-10-30 2013-03-20 北京华力创通科技股份有限公司 一种多领域协同分布式仿真系统
AT514854A2 (de) * 2013-04-15 2015-04-15 Kompetenzzentrum Das Virtuelle Fahrzeug Forschungsgmbh Verfahren und Vorrichtung zur Co-Simulation von zwei Teilsystemen
US10755003B2 (en) * 2013-11-08 2020-08-25 Rockwell Automation Technologies, Inc. Time synchronization of signal transmission intervals for simulating a machine in industrial automation
US20160179992A1 (en) * 2014-12-18 2016-06-23 Dassault Systèmes Simulia Corp. Interactive 3D Experiences on the Basis of Data
US10866987B2 (en) * 2015-07-31 2020-12-15 RCRDCLUB Corporation Evaluating performance of recommender system
EP3136267A1 (en) 2015-08-25 2017-03-01 Volvo Car Corporation Method and system for control and co-simulation of physical systems
CN105628406B (zh) * 2015-12-28 2018-07-31 中南大学 高速列车牵引传动控制系统故障注入方法及仿真系统
CN106774208B (zh) * 2016-12-23 2017-12-26 西安交通大学 群视觉机器协同装配方法及模型系统
CN106774949A (zh) * 2017-03-09 2017-05-31 北京神州四达科技有限公司 协同仿真交互方法、装置和系统

Also Published As

Publication number Publication date
JP2020004399A (ja) 2020-01-09
CA3045389A1 (en) 2019-12-07
CN110580373A (zh) 2019-12-17
US20190377844A1 (en) 2019-12-12
JP7402482B2 (ja) 2023-12-21
CN110580373B (zh) 2023-09-15
US11238201B2 (en) 2022-02-01
EP3579126A1 (en) 2019-12-11

Similar Documents

Publication Publication Date Title
KR20190139161A (ko) 단계전 공동-시뮬레이션 방법 및 디바이스
US20220326664A1 (en) Improved machine learning for technical systems
JP5227254B2 (ja) プロセスモデルの状態量のリアルタイム計算方法およびシミュレータ
JP6784003B2 (ja) 統合システム用の共同シミュレーションを構成する方法、装置、コンピュータ可読記憶媒体、及びプログラム
JP6143943B2 (ja) 二つのサブシステムの協調シミュレーション方法及び装置
JP2009289260A (ja) 非線形の構造的応答の数値シミュレーションにおける接触貫通を制限するシステムおよび方法
KR20150001620A (ko) 조립 공정에서 툴링 동작을 수행하기 위한 실시간 피드백 제어
CN106066899A (zh) 有限元分析中模拟钢筋混凝土的结构特性的方法和系统
Miller et al. 23 Real-Time Simulation of Physical Systems Using Simscape™
EP3582153A1 (en) Generating hybrid models of physical systems
CN116484742A (zh) 车辆动力学建模与车辆状态预测方法、系统、设备及介质
JP4612989B2 (ja) メカトロニクスシステムのシミュレーション方法
CN104809261A (zh) 用于执行设计敏感度分析的方法和系统
WO2021006332A1 (ja) 情報処理装置、プログラム、及び算出方法
CN115057006A (zh) 一种基于强化学习的蒸馏策略评估的方法、装置及介质
WO2020246531A1 (ja) 情報処理装置、プログラム、及び算出方法
Hutcheson et al. Function-based behavioral modeling
Inci Adaptive co-simulation framework exploiting system physics of mechatronic systems
CN112214843A (zh) 一种用于风洞试验机翼模型有限元刚度修正方法及装置
Dai et al. A model-based design approach for simulation and virtual prototyping of automotive control systems using port-Hamiltonian systems
US9626457B2 (en) Method for real time computation of the state variables of a hybrid differential-algebraic process model
US20240086598A1 (en) Transforming a model in a first language to a surrogate in a second language for simulation
WO2023157235A1 (ja) 計算装置
Catelani From the digital-twin to the cyber physical system using integrated multidisciplinary simulation: Virtualization of complex systems
Mange et al. Distributed Simulation of the Effects of Autonomous Behavior on Battery Consumption in Ground Vehicles