어떤 라이브러리가 멀티 그리드를 잘 지원합니까?


17

다중 고유 값과 벡터를 계산하기 위해 멀티 그리드를 사용할 계획이며 PETSc가 멀티 그리드에 대한 높은 수준의 지원을하는 것으로 나타났습니다. PETSc 문서에 따르면 PETSc의이 부분은 곧 교체 될 예정이므로 사용해서는 안됩니다.

어떤 다른 라이브러리가 멀티 그리드에 대한 높은 수준의 지원을 제공하고 있으며 PETSc가 새로운 멀티 그리드 지원을 얼마나 빨리 릴리스 할 예정입니까?


2
새로운 MG는 petsc-dev에 있으며 새로운 GAMG 솔버와 마찬가지로 작동합니다. 우리는 모든 예를 바꿀 수있을 때까지 풀기를 기다리고 있습니다 (수백이 있습니다). 지금은 petsc-dev를 사용하기 시작했습니다.
Matt Knepley

답변:



11

PETSc 멀티 그리드 (전제 조건)는 매우 성숙하며 다음을 입력하여 PETSc의 KSP (반복 Krylov 방법) 솔버와 함께 사용할 수 있습니다.

-pc_type mg

그러나이를 위해서는 PETSc DA 개체에 의해 정의 된 구조화 된 격자를 갖는 것과 같이 거친 수준을 생성 할 수있는 방법이 필요합니다.

또는 HYPRE 패키지의 대수 멀티 그리드를 사용하려는 경우

-pc_type hypre

또는 ML 패키지에서

-pc_type ml

이들은 구성 프로세스 중에 추가하여 다운로드됩니다.

--download-hypre=1 --download-ml=1

./configure 명령 행으로.

(현재) 감가 상각되는 부분은 DMMG 프레임 워크로, SNES (nonlinear) FAS 솔버로 대체되고 MG 또는 FAS를 사용하는 동안 멀티 레벨 이산화를 처리하기위한 더 나은 지원을 제공합니다. 다른 대체품 (선형 문제의 경우)은

-pc_type gamg -pc_gamg_type sa

이 코드는 PETSc에 기본으로 제공되는 확장 성이 뛰어난 스무딩 집계 대수 멀티 그리드 인 최신 코드입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.