Skip to content

Merge pull request #81 from gridap/dependabot/github_actions/julia-ac… #435

Merge pull request #81 from gridap/dependabot/github_actions/julia-ac…

Merge pull request #81 from gridap/dependabot/github_actions/julia-ac… #435

Triggered via push November 8, 2024 03:11
Status Success
Total duration 3h 28m 13s
Artifacts

CI.yml

on: push
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

11 warnings and 1 notice
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/utilities/utilities.jl#L46
failed to run `@example` block in src/Examples/DarcyGMG.md:5-126 ```@example DarcyGMG module DarcyGMGApplication using Test using LinearAlgebra using FillArrays, BlockArrays using Gridap using Gridap.ReferenceFEs, Gridap.Algebra, Gridap.Geometry, Gridap.FESpaces using Gridap.CellData, Gridap.MultiField, Gridap.Algebra using PartitionedArrays using GridapDistributed using GridapSolvers using GridapSolvers.LinearSolvers, GridapSolvers.MultilevelTools, GridapSolvers.PatchBasedSmoothers using GridapSolvers.BlockSolvers: LinearSystemBlock, BiformBlock, BlockTriangularSolver function get_patch_smoothers(mh,tests,biform,patch_decompositions,qdegree) patch_spaces = PatchFESpace(tests,patch_decompositions) nlevs = num_levels(mh) smoothers = map(view(tests,1:nlevs-1),patch_decompositions,patch_spaces) do tests, PD, Ph Vh = get_fe_space(tests) Ω = Triangulation(PD) dΩ = Measure(Ω,qdegree) ap = (u,v) -> biform(u,v,dΩ) patch_smoother = PatchBasedLinearSolver(ap,Ph,Vh) return RichardsonSmoother(patch_smoother,10,0.2) end return smoothers end function get_bilinear_form(mh_lev,biform,qdegree) model = get_model(mh_lev) Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) return (u,v) -> biform(u,v,dΩ) end function main(distribute,np,nc,np_per_level) parts = distribute(LinearIndices((prod(np),))) Dc = length(nc) domain = (Dc == 2) ? (0,1,0,1) : (0,1,0,1,0,1) mh = CartesianModelHierarchy(parts,np_per_level,domain,nc) model = get_model(mh,1) order = 2 qdegree = 2*(order+1) reffe_u = ReferenceFE(raviart_thomas,Float64,order-1) reffe_p = ReferenceFE(lagrangian,Float64,order-1;space=:P) u_exact(x) = (Dc==2) ? VectorValue(x[1]+x[2],-x[2]) : VectorValue(x[1]+x[2],-x[2],0.0) p_exact(x) = 2.0*x[1]-1.0 tests_u = TestFESpace(mh,reffe_u,dirichlet_tags=["boundary"]); trials_u = TrialFESpace(tests_u,[u_exact]); U, V = get_fe_space(trials_u,1), get_fe_space(tests_u,1) Q = TestFESpace(model,reffe_p;conformity=:L2) mfs = Gridap.MultiField.BlockMultiFieldStyle() X = MultiFieldFESpace([U,Q];style=mfs) Y = MultiFieldFESpace([V,Q];style=mfs) α = 1.e2 f(x) = u_exact(x) + ∇(p_exact)(x) graddiv(u,v,dΩ) = ∫(α*divergence(u)⋅divergence(v))dΩ biform_u(u,v,dΩ) = ∫(v⊙u)dΩ + graddiv(u,v,dΩ) biform((u,p),(v,q),dΩ) = biform_u(u,v,dΩ) - ∫(divergence(v)*p)dΩ - ∫(divergence(u)*q)dΩ liform((v,q),dΩ) = ∫(v⋅f)dΩ Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) a(u,v) = biform(u,v,dΩ) l(v) = liform(v,dΩ) op = AffineFEOperator(a,l,X,Y) A, b = get_matrix(op), get_vector(op); biforms = map(mhl -> get_bilinear_form(mhl,biform_u,qdegree),mh) patch_decompositions = PatchDecomposition(mh) smoothers = get_patch_smoothers( mh,tests_u,biform_u,patch_decompositions,qdegree ) prolongations = setup_prolongation_operators( tests_u,qdegree;mode=:residual ) restrictions = setup_restriction_operators( tests_u,qdegree;mode=:residual,solver=IS_ConjugateGradientSolver(;reltol=1.e-6) ) gmg = GMGLinearSolver( mh,trials_u,tests_u,biforms, prolongations,restrictions, pre_smoothers=smoothers, post_smoothers=smoothers, coarsest_solver=LUSolver(), maxiter=3,mode=:preconditioner,verbose=i_am_main(parts) ) solver_u = gmg solver_p = CGSolver(JacobiLinearSolver();maxiter=20,atol=1e-14,rtol=1.e-6,verbose=i_am_main(parts)) solver_p.log.depth = 2 bblocks = [LinearSystemBlock() LinearSystemBlock(); LinearSystemBlock() BiformBlock((p,q) -> ∫(-1.0/α*p*q)dΩ,Q,Q)] coeffs = [1.0 1.0; 0.0 1.0] P = BlockTriangularSolver(bblocks,[solver_u,solver_p],coeffs,:upper) solver = FGMRESSolver(20,P;atol=1e-14,rtol=1.e-10,verbose=i_am_main(parts)) ns = numerical_setup(symbolic_setup(solver,A),A) x = allocate_in_domain(A); fill!(x,0.0) solve!(x,ns,b) r = allocate_in_range(A) mul!(r,A,x) r .-= b @test norm(r) < 1.e-5 end end # module ``` exception = ArgumentError: Package FillArrays not found in current path. - Run `import Pkg; Pkg.add("FillArrays")` to install the FillArrays package. Sta
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/utilities/utilities.jl#L46
failed to run `@example` block in src/Examples/NavierStokes.md:29-128 ```@example NavierStokes module NavierStokesApplication using Test using LinearAlgebra using FillArrays, BlockArrays using Gridap using Gridap.ReferenceFEs, Gridap.Algebra, Gridap.Geometry, Gridap.FESpaces using Gridap.CellData, Gridap.MultiField, Gridap.Algebra using PartitionedArrays using GridapDistributed using GridapSolvers using GridapSolvers.LinearSolvers, GridapSolvers.MultilevelTools, GridapSolvers.NonlinearSolvers using GridapSolvers.BlockSolvers: LinearSystemBlock, NonlinearSystemBlock, BiformBlock, BlockTriangularSolver function add_labels_2d!(labels) add_tag_from_tags!(labels,"top",[6]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,7,8]) end function add_labels_3d!(labels) add_tag_from_tags!(labels,"top",[22]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26]) end function main(distribute,np,nc) parts = distribute(LinearIndices((prod(np),))) Dc = length(nc) domain = (Dc == 2) ? (0,1,0,1) : (0,1,0,1,0,1) model = CartesianDiscreteModel(parts,np,domain,nc) add_labels! = (Dc == 2) ? add_labels_2d! : add_labels_3d! add_labels!(get_face_labeling(model)) order = 2 qdegree = 2*(order+1) reffe_u = ReferenceFE(lagrangian,VectorValue{Dc,Float64},order) reffe_p = ReferenceFE(lagrangian,Float64,order-1;space=:P) u_walls = (Dc==2) ? VectorValue(0.0,0.0) : VectorValue(0.0,0.0,0.0) u_top = (Dc==2) ? VectorValue(1.0,0.0) : VectorValue(1.0,0.0,0.0) V = TestFESpace(model,reffe_u,dirichlet_tags=["walls","top"]); U = TrialFESpace(V,[u_walls,u_top]); Q = TestFESpace(model,reffe_p;conformity=:L2,constraint=:zeromean) mfs = Gridap.MultiField.BlockMultiFieldStyle() X = MultiFieldFESpace([U,Q];style=mfs) Y = MultiFieldFESpace([V,Q];style=mfs) Re = 10.0 ν = 1/Re α = 1.e2 f = (Dc==2) ? VectorValue(0.0,0.0) : VectorValue(0.0,0.0,0.0) Π_Qh = LocalProjectionMap(divergence,Q,qdegree) graddiv(u,v,dΩ) = ∫(α*(∇⋅v)⋅Π_Qh(u))dΩ conv(u,∇u) = (∇u')⋅u dconv(du,∇du,u,∇u) = conv(u,∇du)+conv(du,∇u) c(u,v,dΩ) = ∫(v⊙(conv∘(u,∇(u))))dΩ dc(u,du,dv,dΩ) = ∫(dv⊙(dconv∘(du,∇(du),u,∇(u))))dΩ lap(u,v,dΩ) = ∫(ν*∇(v)⊙∇(u))dΩ rhs(v,dΩ) = ∫(v⋅f)dΩ jac_u(u,du,dv,dΩ) = lap(du,dv,dΩ) + dc(u,du,dv,dΩ) + graddiv(du,dv,dΩ) jac((u,p),(du,dp),(dv,dq),dΩ) = jac_u(u,du,dv,dΩ) - ∫(divergence(dv)*dp)dΩ - ∫(divergence(du)*dq)dΩ res_u(u,v,dΩ) = lap(u,v,dΩ) + c(u,v,dΩ) + graddiv(u,v,dΩ) - rhs(v,dΩ) res((u,p),(v,q),dΩ) = res_u(u,v,dΩ) - ∫(divergence(v)*p)dΩ - ∫(divergence(u)*q)dΩ Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) jac_h(x,dx,dy) = jac(x,dx,dy,dΩ) res_h(x,dy) = res(x,dy,dΩ) op = FEOperator(res_h,jac_h,X,Y) solver_u = LUSolver() solver_p = CGSolver(JacobiLinearSolver();maxiter=20,atol=1e-14,rtol=1.e-6,verbose=i_am_main(parts)) solver_p.log.depth = 4 bblocks = [NonlinearSystemBlock() LinearSystemBlock(); LinearSystemBlock() BiformBlock((p,q) -> ∫(-(1.0/α)*p*q)dΩ,Q,Q)] coeffs = [1.0 1.0; 0.0 1.0] P = BlockTriangularSolver(bblocks,[solver_u,solver_p],coeffs,:upper) solver = FGMRESSolver(20,P;atol=1e-11,rtol=1.e-8,verbose=i_am_main(parts)) solver.log.depth = 2 nlsolver = NewtonSolver(solver;maxiter=20,atol=1e-10,rtol=1.e-12,verbose=i_am_main(parts)) xh = solve(nlsolver,op); @test true end end # module ``` exception = ArgumentError: Package FillArrays not found in current path. - Run `import Pkg; Pkg.add("FillArrays")` to install the FillArrays package. Stacktrace: [1] macro expansion @ ./loading.jl:2223 [inlined] [2] macro expansion @ ./lock.jl:273 [inlined] [3] __require(into::Module, mod::Symbol) @ Base ./loading.jl:2198 [4] #invoke_in_world#3 @ ./essentials.jl:1089 [inlined] [5] invoke_in_world @ ./essentials.jl:1086 [inlined] [6] require(into::Module, mod::Symbol) @ Base ./loading.jl:2191 [7] eval @ ./boot.jl:430 [inlined] [8] #60 @ ~/.julia/packages/Documenter/C1XE
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/utilities/utilities.jl#L46
failed to run `@example` block in src/Examples/NavierStokesGMG.md:31-175 ```@example NavierStokesGMG module NavierStokesGMGApplication using Test using LinearAlgebra using FillArrays, BlockArrays using Gridap using Gridap.ReferenceFEs, Gridap.Algebra, Gridap.Geometry, Gridap.FESpaces using Gridap.CellData, Gridap.MultiField, Gridap.Algebra using PartitionedArrays using GridapDistributed using GridapP4est using GridapSolvers using GridapSolvers.LinearSolvers, GridapSolvers.MultilevelTools using GridapSolvers.PatchBasedSmoothers, GridapSolvers.NonlinearSolvers using GridapSolvers.BlockSolvers: NonlinearSystemBlock, LinearSystemBlock, BiformBlock, BlockTriangularSolver function get_patch_smoothers(mh,tests,biform,patch_decompositions,qdegree;is_nonlinear=false) patch_spaces = PatchFESpace(tests,patch_decompositions) nlevs = num_levels(mh) smoothers = map(view(tests,1:nlevs-1),patch_decompositions,patch_spaces) do tests, PD, Ph Vh = get_fe_space(tests) Ω = Triangulation(PD) dΩ = Measure(Ω,qdegree) ap = (u,du,dv) -> biform(u,du,dv,dΩ) patch_smoother = PatchBasedLinearSolver(ap,Ph,Vh;is_nonlinear) return RichardsonSmoother(patch_smoother,10,0.2) end return smoothers end function get_trilinear_form(mh_lev,triform,qdegree) model = get_model(mh_lev) Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) return (u,du,dv) -> triform(u,du,dv,dΩ) end function add_labels_2d!(labels) add_tag_from_tags!(labels,"top",[6]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,7,8]) end function add_labels_3d!(labels) add_tag_from_tags!(labels,"top",[22]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26]) end function main(distribute,np,nc,np_per_level) parts = distribute(LinearIndices((prod(np),))) Dc = length(nc) domain = (Dc == 2) ? (0,1,0,1) : (0,1,0,1,0,1) add_labels! = (Dc == 2) ? add_labels_2d! : add_labels_3d! mh = CartesianModelHierarchy(parts,np_per_level,domain,nc;add_labels! = add_labels!) model = get_model(mh,1) order = 2 qdegree = 2*(order+1) reffe_u = ReferenceFE(lagrangian,VectorValue{Dc,Float64},order) reffe_p = ReferenceFE(lagrangian,Float64,order-1;space=:P) u_walls = (Dc==2) ? VectorValue(0.0,0.0) : VectorValue(0.0,0.0,0.0) u_top = (Dc==2) ? VectorValue(1.0,0.0) : VectorValue(1.0,0.0,0.0) tests_u = TestFESpace(mh,reffe_u,dirichlet_tags=["walls","top"]); trials_u = TrialFESpace(tests_u,[u_walls,u_top]); U, V = get_fe_space(trials_u,1), get_fe_space(tests_u,1) Q = TestFESpace(model,reffe_p;conformity=:L2,constraint=:zeromean) mfs = Gridap.MultiField.BlockMultiFieldStyle() X = MultiFieldFESpace([U,Q];style=mfs) Y = MultiFieldFESpace([V,Q];style=mfs) Re = 10.0 ν = 1/Re α = 1.e2 f = (Dc==2) ? VectorValue(1.0,1.0) : VectorValue(1.0,1.0,1.0) Π_Qh = LocalProjectionMap(divergence,reffe_p,qdegree) graddiv(u,v,dΩ) = ∫(α*(∇⋅v)⋅Π_Qh(u))dΩ conv(u,∇u) = (∇u')⋅u dconv(du,∇du,u,∇u) = conv(u,∇du)+conv(du,∇u) c(u,v,dΩ) = ∫(v⊙(conv∘(u,∇(u))))dΩ dc(u,du,dv,dΩ) = ∫(dv⊙(dconv∘(du,∇(du),u,∇(u))))dΩ lap(u,v,dΩ) = ∫(ν*∇(v)⊙∇(u))dΩ rhs(v,dΩ) = ∫(v⋅f)dΩ jac_u(u,du,dv,dΩ) = lap(du,dv,dΩ) + dc(u,du,dv,dΩ) + graddiv(du,dv,dΩ) jac((u,p),(du,dp),(dv,dq),dΩ) = jac_u(u,du,dv,dΩ) - ∫(divergence(dv)*dp)dΩ - ∫(divergence(du)*dq)dΩ res_u(u,v,dΩ) = lap(u,v,dΩ) + c(u,v,dΩ) + graddiv(u,v,dΩ) - rhs(v,dΩ) res((u,p),(v,q),dΩ) = res_u(u,v,dΩ) - ∫(divergence(v)*p)dΩ - ∫(divergence(u)*q)dΩ Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) jac_h(x,dx,dy) = jac(x,dx,dy,dΩ) res_h(x,dy) = res(x,dy,dΩ) op = FEOperator(res_h,jac_h,X,Y) biforms = map(mhl -> get_trilinear_form(mhl,jac_u,qdegree),mh) patch_decompositions = PatchDecomposition(mh) smoothers = get_patch_smoothers( mh,trials_u,jac_u,patch_decompositions,qdegree;is_nonlinear=true ) prolongations = setup_patch_prolongation_operators( tests_u,jac_u,graddiv,qdegree;is_nonlinear=true ) restrictions = setup_patch_restriction_operators( tests_u,prolongations,graddiv,qdegree;solver=IS_ConjugateGradientSolver(;
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/utilities/utilities.jl#L46
failed to run `@example` block in src/Examples/Stokes.md:29-120 ```@example Stokes module StokesApplication using Test using LinearAlgebra using FillArrays, BlockArrays using Gridap using Gridap.ReferenceFEs, Gridap.Algebra, Gridap.Geometry, Gridap.FESpaces using Gridap.CellData, Gridap.MultiField, Gridap.Algebra using PartitionedArrays using GridapDistributed using GridapSolvers using GridapSolvers.LinearSolvers, GridapSolvers.MultilevelTools using GridapSolvers.BlockSolvers: LinearSystemBlock, BiformBlock, BlockTriangularSolver function add_labels_2d!(labels) add_tag_from_tags!(labels,"top",[6]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,7,8]) end function add_labels_3d!(labels) add_tag_from_tags!(labels,"top",[22]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26]) end function main(distribute,np,nc) parts = distribute(LinearIndices((prod(np),))) Dc = length(nc) domain = (Dc == 2) ? (0,1,0,1) : (0,1,0,1,0,1) model = CartesianDiscreteModel(parts,np,domain,nc) add_labels! = (Dc == 2) ? add_labels_2d! : add_labels_3d! add_labels!(get_face_labeling(model)) order = 2 qdegree = 2*(order+1) reffe_u = ReferenceFE(lagrangian,VectorValue{Dc,Float64},order) reffe_p = ReferenceFE(lagrangian,Float64,order-1;space=:P) u_walls = (Dc==2) ? VectorValue(0.0,0.0) : VectorValue(0.0,0.0,0.0) u_top = (Dc==2) ? VectorValue(1.0,0.0) : VectorValue(1.0,0.0,0.0) V = TestFESpace(model,reffe_u,dirichlet_tags=["walls","top"]); U = TrialFESpace(V,[u_walls,u_top]); Q = TestFESpace(model,reffe_p;conformity=:L2,constraint=:zeromean) mfs = Gridap.MultiField.BlockMultiFieldStyle() X = MultiFieldFESpace([U,Q];style=mfs) Y = MultiFieldFESpace([V,Q];style=mfs) α = 1.e2 f = (Dc==2) ? VectorValue(1.0,1.0) : VectorValue(1.0,1.0,1.0) Π_Qh = LocalProjectionMap(divergence,Q,qdegree) graddiv(u,v,dΩ) = ∫(α*(∇⋅v)⋅Π_Qh(u))dΩ biform_u(u,v,dΩ) = ∫(∇(v)⊙∇(u))dΩ + graddiv(u,v,dΩ) biform((u,p),(v,q),dΩ) = biform_u(u,v,dΩ) - ∫(divergence(v)*p)dΩ - ∫(divergence(u)*q)dΩ liform((v,q),dΩ) = ∫(v⋅f)dΩ Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) a(u,v) = biform(u,v,dΩ) l(v) = liform(v,dΩ) op = AffineFEOperator(a,l,X,Y) A, b = get_matrix(op), get_vector(op); solver_u = LUSolver() solver_p = CGSolver(JacobiLinearSolver();maxiter=20,atol=1e-14,rtol=1.e-6,verbose=i_am_main(parts)) solver_p.log.depth = 2 bblocks = [LinearSystemBlock() LinearSystemBlock(); LinearSystemBlock() BiformBlock((p,q) -> ∫(-(1.0/α)*p*q)dΩ,Q,Q)] coeffs = [1.0 1.0; 0.0 1.0] P = BlockTriangularSolver(bblocks,[solver_u,solver_p],coeffs,:upper) solver = FGMRESSolver(20,P;atol=1e-10,rtol=1.e-12,verbose=i_am_main(parts)) ns = numerical_setup(symbolic_setup(solver,A),A) x = allocate_in_domain(A); fill!(x,0.0) solve!(x,ns,b) r = allocate_in_range(A) mul!(r,A,x) r .-= b @test norm(r) < 1.e-7 end end # module ``` exception = ArgumentError: Package FillArrays not found in current path. - Run `import Pkg; Pkg.add("FillArrays")` to install the FillArrays package. Stacktrace: [1] macro expansion @ ./loading.jl:2223 [inlined] [2] macro expansion @ ./lock.jl:273 [inlined] [3] __require(into::Module, mod::Symbol) @ Base ./loading.jl:2198 [4] #invoke_in_world#3 @ ./essentials.jl:1089 [inlined] [5] invoke_in_world @ ./essentials.jl:1086 [inlined] [6] require(into::Module, mod::Symbol) @ Base ./loading.jl:2191 [7] eval @ ./boot.jl:430 [inlined] [8] #60 @ ~/.julia/packages/Documenter/C1XEF/src/expander_pipeline.jl:754 [inlined] [9] cd(f::Documenter.var"#60#62"{Module, Expr}, dir::String) @ Base.Filesystem ./file.jl:112 [10] (::Documenter.var"#59#61"{Documenter.Page, Module, Expr})() @ Documenter ~/.julia/packages/Documenter/C1XEF/src/expander_pipeline.jl:753 [11] (::IOCapture.var"#5#9"{DataType, Documenter.var"#59#61"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoi
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/utilities/utilities.jl#L46
failed to run `@example` block in src/Examples/StokesGMG.md:31-168 ```@example StokesGMG module StokesGMGApplication using Test using LinearAlgebra using FillArrays, BlockArrays using Gridap using Gridap.ReferenceFEs, Gridap.Algebra, Gridap.Geometry, Gridap.FESpaces using Gridap.CellData, Gridap.MultiField, Gridap.Algebra using PartitionedArrays using GridapDistributed using GridapP4est using GridapSolvers using GridapSolvers.LinearSolvers, GridapSolvers.MultilevelTools, GridapSolvers.PatchBasedSmoothers using GridapSolvers.BlockSolvers: LinearSystemBlock, BiformBlock, BlockTriangularSolver function get_patch_smoothers(mh,tests,biform,patch_decompositions,qdegree) patch_spaces = PatchFESpace(tests,patch_decompositions) nlevs = num_levels(mh) smoothers = map(view(tests,1:nlevs-1),patch_decompositions,patch_spaces) do tests, PD, Ph Vh = get_fe_space(tests) Ω = Triangulation(PD) dΩ = Measure(Ω,qdegree) ap = (u,v) -> biform(u,v,dΩ) patch_smoother = PatchBasedLinearSolver(ap,Ph,Vh) return RichardsonSmoother(patch_smoother,10,0.2) end return smoothers end function get_bilinear_form(mh_lev,biform,qdegree) model = get_model(mh_lev) Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) return (u,v) -> biform(u,v,dΩ) end function add_labels_2d!(labels) add_tag_from_tags!(labels,"top",[6]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,7,8]) end function add_labels_3d!(labels) add_tag_from_tags!(labels,"top",[22]) add_tag_from_tags!(labels,"walls",[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26]) end function main(distribute,np,nc,np_per_level) parts = distribute(LinearIndices((prod(np),))) Dc = length(nc) domain = (Dc == 2) ? (0,1,0,1) : (0,1,0,1,0,1) add_labels! = (Dc == 2) ? add_labels_2d! : add_labels_3d! mh = CartesianModelHierarchy(parts,np_per_level,domain,nc;add_labels! = add_labels!) model = get_model(mh,1) order = 2 qdegree = 2*(order+1) reffe_u = ReferenceFE(lagrangian,VectorValue{Dc,Float64},order) reffe_p = ReferenceFE(lagrangian,Float64,order-1;space=:P) u_walls = (Dc==2) ? VectorValue(0.0,0.0) : VectorValue(0.0,0.0,0.0) u_top = (Dc==2) ? VectorValue(1.0,0.0) : VectorValue(1.0,0.0,0.0) tests_u = TestFESpace(mh,reffe_u,dirichlet_tags=["walls","top"]); trials_u = TrialFESpace(tests_u,[u_walls,u_top]); U, V = get_fe_space(trials_u,1), get_fe_space(tests_u,1) Q = TestFESpace(model,reffe_p;conformity=:L2,constraint=:zeromean) mfs = Gridap.MultiField.BlockMultiFieldStyle() X = MultiFieldFESpace([U,Q];style=mfs) Y = MultiFieldFESpace([V,Q];style=mfs) α = 1.e2 f = (Dc==2) ? VectorValue(1.0,1.0) : VectorValue(1.0,1.0,1.0) Π_Qh = LocalProjectionMap(divergence,reffe_p,qdegree) graddiv(u,v,dΩ) = ∫(α*(∇⋅v)⋅Π_Qh(u))dΩ biform_u(u,v,dΩ) = ∫(∇(v)⊙∇(u))dΩ + graddiv(u,v,dΩ) biform((u,p),(v,q),dΩ) = biform_u(u,v,dΩ) - ∫(divergence(v)*p)dΩ - ∫(divergence(u)*q)dΩ liform((v,q),dΩ) = ∫(v⋅f)dΩ Ω = Triangulation(model) dΩ = Measure(Ω,qdegree) a(u,v) = biform(u,v,dΩ) l(v) = liform(v,dΩ) op = AffineFEOperator(a,l,X,Y) A, b = get_matrix(op), get_vector(op); biforms = map(mhl -> get_bilinear_form(mhl,biform_u,qdegree),mh) patch_decompositions = PatchDecomposition(mh) smoothers = get_patch_smoothers( mh,tests_u,biform_u,patch_decompositions,qdegree ) prolongations = setup_patch_prolongation_operators( tests_u,biform_u,graddiv,qdegree ) restrictions = setup_patch_restriction_operators( tests_u,prolongations,graddiv,qdegree;solver=CGSolver(JacobiLinearSolver()) ) gmg = GMGLinearSolver( mh,trials_u,tests_u,biforms, prolongations,restrictions, pre_smoothers=smoothers, post_smoothers=smoothers, coarsest_solver=LUSolver(), maxiter=4,mode=:preconditioner,verbose=i_am_main(parts) ) solver_u = gmg solver_p = CGSolver(JacobiLinearSolver();maxiter=20,atol=1e-14,rtol=1.e-6,verbose=i_am_main(parts)) solver_u.log.depth = 2 solver_p.log.depth = 2 diag_blocks = [LinearSystemBlock(),BiformBlock((p,q) -> ∫(-1.0/α*p*q)dΩ,Q,Q)] bblocks = map(CartesianIndic
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/html/HTMLWriter.jl#L735
Unable to determine the repository root URL for the navbar link. This can happen when a string is passed to the `repo` keyword of `makedocs`. To remove this warning, either pass a Remotes.Remote object to `repo` to completely specify the remote repository, or explicitly set the remote URL by setting `repolink` via `makedocs(format = HTML(repolink = "..."), ...)`.
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/deploydocs.jl#L533
removing `stable` and linking `stable` to `v0.4.1`.
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/deploydocs.jl#L533
removing `v0.4` and linking `v0.4` to `v0.4.1`.
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/deploydocs.jl#L533
removing `v0.3` and linking `v0.3` to `v0.3.0`.
Documentation: ../../../.julia/packages/Documenter/C1XEF/src/deploydocs.jl#L533
removing `v0.2` and linking `v0.2` to `v0.2.0`.
Julia 1.9 - ubuntu-latest - x64 - push
Codecov: Failed to properly create commit: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1
[julia-buildpkg] Caching of the julia depot was not detected
Consider using `julia-actions/cache` to speed up runs https://github.com/julia-actions/cache. To ignore, set input `ignore-no-cache: true`