일반 그리드에 중첩 된 해부


9

직접 인수 분해 방법을 사용하여 희소 선형 시스템을 풀 때 사용 된 순서 전략은 요소에서 0이 아닌 요소의 채우기 요소에 큰 영향을줍니다. 그러한 주문 전략 중 하나는 중첩 해부입니다. 그리드 매개 변수 (1 차 차이가있는 M x N 제곱 유한 차이 그리드를 가정)가 주어지면 미리 중첩 된 해부 순서를 제시 할 수 있는지 궁금합니다.

편집 방금이 작업을 수행하는 코드가 있음을 발견했습니다. http://www.cise.ufl.edu/research/sparse/meshnd/

답변:


8

예. 나는 최근에 정확히 이것을하기 위해 코드를 작성했습니다.

그리드가 있고 100 개의 정점을 가진 리프 노드를 가질 수 있다고 가정하십시오 . 그런 다음 인수가 다음과 같은 재귀 함수를 정의 할 수 있습니다.nx×ny

  • 직사각형 서브 도메인의 크기와 오프셋
  • 재정렬을 저장할 배열의 포인터

그런 다음 루틴은 단순히 로컬 차원의 곱을 계산하여 도메인이 리프가 될 수있을 정도로 작은 지 여부를 결정하고, 그렇다면 리프 노드 자연 인덱스를 작성합니다 (예 : 그리드의 경우 ) 그렇지 않으면 가장 큰 하위 도메인 차원을 자르고 왼쪽과 오른쪽 조각을 반복 한 다음 구분 기호 자연 인덱스를 씁니다.natural(x,y)=x+ynxnx×ny


내 질문은 더 많은 것 같아 : 중첩 된 해부는 실제로 공간을 반으로 자르는 것입니까? 또한 경계 인덱스를 각 오른쪽 및 왼쪽 절반보다 먼저 배치하는 순서가 있습니까? 나는 무슨 일이 일어나고 있는지에 대한 간단한 설명을 찾지 못했습니다.
Victor Liu

1
그렇습니다. 중첩 된 해부는 매우 간단하지만 왼쪽과 오른쪽 반쪽 뒤에 경계 인덱스를 저장합니다 . 요점은 두 개의 하위 도메인이 직접 연결되어 있지 않은지 확인하는 것이므로 유한 한 차이의 경우 구분 기호의 두께를 결정할 때 스텐실의 크기를 고려해야합니다. Liu의 multifrontal 방법에 대한 개요 를 읽고 각 구분 기호가 슈퍼 노드로 처리되도록 연결하는 것이 좋습니다 .
잭 폴슨

아 네, 댓글을 달고 편집 한 직후에 깨달았습니다. 참조 주셔서 감사합니다.
Victor Liu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.