Compatible PRanges between FESpaces and linear systems

Đang mở
#137 5 bình luận 2 reaction 1 người được giao Xem trên GitHub

@JordiManyer đang làm issue này rồi.

Từ ngày 30/11/2023.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

enhancement

Here are some notes on the issue:

  • In some specific scenarios (which are not as rare), owned rows of the matrix contain column identifiers from dofs which are NOT available in the local FESpaces. This means that we will never be able to 100% match the PRanges from the PSparseMatrix and the DistributedFESpace. (See Alberto's note)
  • Moreover, when we assemble ghost rows we also include some column ids which are NOT needed to multiply the matrix by a column vector. We need this extra rows as cache for in-place assembly, but these extra ghosts should not be included when communicating during matrix-vector product.
  • On top of this, it would be advantageous to reorder the dofs in the local FESpaces so that the dof layout contains owned ids first, then ghost ids. This is how we do things in the linear system, and would bring us on par with other softwares like PETSc.

Given these observations, we concluded the following:

  • We need to re-order the ids in the local FESpaces. Hopefully, after doing so, LocalView type wont be needed anymore.
  • We need to create a new type FECompatiblePSparseMatrix, that contains
    • The usual matrix
    • Caches for the ghosts values that the matrix column PRange needs
    • Separate PRanges for matrix-vector multiplication and for assembly
Ngôn ngữ chính
Julia
Star
150
Fork
28
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của gridap/GridapDistributed.jl

Tất cả issue của gridap/GridapDistributed.jl

Issue tương tự

Thêm issue về Julia

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.