다중 물리 시뮬레이션의 알고리즘 및 구현에 대한 모범 사례는 무엇입니까?


16

다중 물리 시뮬레이션은 종종 서로 다른 공간 및 / 또는 시간 스케일과 함께 여러 "물리"를 결합하는 것을 포함합니다. 또한 단일 물리 코드는 종종 다른 팀에서 작성합니다. 가장 일반적으로 사용되는 커플 링 기술은 1 차 연산자 분할이지만 정확도와 안정성이 떨어집니다. 관심있는 문제에 어떤 알고리즘이 효과적인지 어떻게 알 수 있습니까? 그리고 이러한 알고리즘을 사용할 수 있도록 소프트웨어를 어떻게 구성해야합니까?

답변:


5

오퍼레이터 분할 버전을 쉽게 재현 할 수 있기 때문에 완전히 결합 된 어셈블리를 강력하게 권장합니다. 구체적으로, 다른 물리학에 대한 잔차와 야 코비안을 계산하는 루틴은 분리 될 수 있지만 프레임 워크는 이들을 결합하여 전체 시스템에 대한 통합 잔차를 형성 할 수 있어야합니다. 이것이 PETSc의 작동 방식입니다.

그런 다음 운영자 분할 솔루션은 명령 행에서 완전히 결합 된 시스템의 전제 조건으로 또는 자체적으로 솔버로 사용될 수 있습니다. 또한 일부 커플 링은 유지 될 수 있지만 다른 커플 링은 무시할 수 있습니다. PETSc는 PC FieldSplit 인터페이스를 통해이를 처리합니다. 이를 통해 유체 역학을위한 반 암시 적 ICE와 같은 하이브리드 체계를 복제 할 수 있습니다.


5

이것은 매우 활발한 연구 분야이므로 이에 대한 답변을 주저하지만 시도 하지 않는 것에 대한 경험이 있습니다 .

하지 말 것 :

  • 오래된 응용 프로그램 코드 A와 오래된 응용 프로그램 B를 가져 와서 서로 연결하십시오.
  • 새로운 응용 프로그램을 작성하는 대신 구식 (후시에는 사용할 수 없음) 코드를 사용하십시오.
  • 새로운 사용자가 참여하기 시작하면 거대한 프레임 워크 (> 10 가지 필수 종속성)가 필요합니다
  • 데이터 레이아웃 (메시, 행렬, 벡터 등)을 쉽게 작성할 수 있다고 가정합니다.

:

  • 표준 프로그래밍 방식과 좋은 디자인 패턴을 사용하십시오.
  • 정확성과 안정성의 한계를 이해하기 위해 운영자 분할에 관한 문헌을 읽으십시오
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.