Issue with DG-SIP and FullyAssembledRows
@amartinhuertas がすでに取り組んでいます。
2025年11月5日 から。
評価
この issue はまだ評価されていません。
説明
When activating FullyAssembledRows assembly strategy in the DG-SIP method, e.g., in PoissonTests.jl, the code breaks during FE assembly (i.e., AffineFEOperator constructor)
The code below reproduces the issue:
module PoissonTests
using SparseMatricesCSR
using Gridap
using Gridap.Algebra
using Gridap.FESpaces
using GridapDistributed
using PartitionedArrays
using Test
function main(distribute, parts)
ranks = distribute(LinearIndices((prod(parts),)))
output = mkpath(joinpath(@__DIR__,"output"))
domain = (0,4,0,4)
cells = (4,4)
model = CartesianDiscreteModel(ranks, parts,domain,cells)
labels = get_face_labeling(model)
add_tag_from_tags!(labels,"dirichlet",[1,2,3,5,7])
add_tag_from_tags!(labels,"neumann",[4,6,8])
Ω = Triangulation(with_ghost,model)
Γn = Boundary(with_ghost,model,tags="neumann")
n_Γn = get_normal_vector(Γn)
k = 2
u((x,y)) = (x+y)^k
f(x) = -Δ(u,x)
g = n_Γn⋅∇(u)
reffe = ReferenceFE(lagrangian,Float64,k)
V = TestFESpace(model,reffe,dirichlet_tags="dirichlet")
U = TrialFESpace(u,V)
dΩ = Measure(Ω,2*k)
dΓn = Measure(Γn,2*k)
a(u,v) = ∫( ∇(v)⋅∇(u) )dΩ
l(v) = ∫( v*f )dΩ + ∫( v*g )dΓn
assem=SparseMatrixAssembler(SparseMatrixCSR{0,Float64,Int},Vector{Float64},U,V,FullyAssembledRows())
op = AffineFEOperator(a,l,U,V,assem)
uh = solve(op)
eh = u - uh
@test sqrt(sum( ∫(abs2(eh))dΩ )) < 1.0e-9
# Now with DG
h = 2
γ = 10
V_dg = FESpace(model,reffe,conformity=:L2)
U_dg = TrialFESpace(V_dg)
Λ = Skeleton(with_ghost,model)
Γd = Boundary(with_ghost,model,tags="dirichlet")
dΛ = Measure(Λ,2*k)
dΓd = Measure(Γd,2*k)
n_Γd = get_normal_vector(Γd)
n_Λ = get_normal_vector(Λ)
a_dg(u,v) =
∫( ∇(v)⋅∇(u) )*dΩ +
∫( (γ/h)*v*u - v*(n_Γd⋅∇(u)) - (n_Γd⋅∇(v))*u )*dΓd +
∫( (γ/h)*jump(v*n_Λ)⋅jump(u*n_Λ) -
jump(v*n_Λ)⋅mean(∇(u)) -
mean(∇(v))⋅jump(u*n_Λ) )*dΛ
l_dg(v) =
∫( v*f )*dΩ +
∫( v*g )dΓn +
∫( (γ/h)*v*u - (n_Γd⋅∇(v))*u )*dΓd
assem=SparseMatrixAssembler(U_dg,V_dg, FullyAssembledRows())
op = AffineFEOperator(a_dg,l_dg,U_dg,V_dg,assem)
uh = solve(op)
eh = u - uh
@test sqrt(sum( ∫(abs2(eh))dΩ )) < 1.0e-9
end
end # module
when executed, e.g., as:
module PoissonTestsSeq
using PartitionedArrays
include("../PoissonTests.jl")
with_debug() do distribute
PoissonTests.main(distribute,(2,2))
end
end # module
- 主要言語
- Julia
- スター
- 150
- フォーク
- 28
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
gridap/GridapDistributed.jl のほかの issue
-
A generic method of the abstract type DistributedDiscreteModel{Dc,Dp} directly accesses to a field name .face_gids再び着手できるかも @amartinhuertas が 122 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
gridap/GridapDistributed.jl#211 · 担当者 1 名 ·
-
Automatically add ghost cells to triangulation whenever a CellField is created out of a DistributedTriangulation再び着手できるかも @JordiManyer が 155 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
gridap/GridapDistributed.jl#209 · 担当者 2 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
gridap/GridapDistributed.jl#189 · コメント 1 件 ·
-
Potential issue when interpolating DistributedCelllFields that are only defined on own cells再び着手できるかも @JordiManyer が 374 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
gridap/GridapDistributed.jl#184 · コメント 1 件 · 担当者 2 名 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
gridap/GridapDistributed.jl#173 · コメント 1 件 ·
gridap/GridapDistributed.jl の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
documentation invalid
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
JuliaPhysics/BeamletOptics.jl#190 ·
メンテナーはふだん 1 日以内に返信
-
mul! with a Symmetric or Hermitian factor throws for a matrix view whose columns are not contiguous対応中かも @dkarrasch が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
JuliaLang/LinearAlgebra.jl#1829 ·
メンテナーはふだん 1 日以内に返信
-
`EnsembleSummary` `ci_type = :SEM` ribbon is `sqrt(N)` too wide for scalar states対応中かも @isaacsas が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
SciML/SciMLBase.jl#1654 ·
メンテナーはふだん 3 日以内に返信