From c772b42b3ad9ac3207b037ed9cfde365e52ea9fa Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Wed, 20 Oct 2021 14:48:55 +0200 Subject: [PATCH 1/5] First version of pvtu working --- Manifest.toml | 8 +++++--- Project.toml | 1 + src/GridapDistributed.jl | 1 + src/Visualization.jl | 24 ++++++++++++------------ 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index b40d3fd7..ec9f4c75 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -148,8 +148,8 @@ version = "0.10.20" [[Gridap]] deps = ["AbstractTrees", "BSON", "BlockArrays", "Combinatorics", "DocStringExtensions", "FastGaussQuadrature", "FileIO", "FillArrays", "ForwardDiff", "JLD2", "JSON", "LineSearches", "LinearAlgebra", "NLsolve", "NearestNeighbors", "QuadGK", "Random", "SparseArrays", "SparseMatricesCSR", "StaticArrays", "Test", "WriteVTK"] -git-tree-sha1 = "192cb4f55c2eeefcd7e39dd208a58e46fc9840a5" -repo-rev = "gridap_distributed" +git-tree-sha1 = "1b391fd3043b6b44e8572abff12d00fa91e2e49e" +repo-rev = "pvtu_grid" repo-url = "https://github.com/gridap/Gridap.jl.git" uuid = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e" version = "0.17.0" @@ -473,7 +473,9 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[WriteVTK]] deps = ["Base64", "CodecZlib", "FillArrays", "LightXML", "TranscodingStreams"] -git-tree-sha1 = "c3403143cecb391ea51fc133be82b024e4ce720b" +git-tree-sha1 = "9345fe8d0bf4f789bb1305f248595ceb7dd97d1b" +repo-rev = "master" +repo-url = "https://github.com/gridap/WriteVTK.jl" uuid = "64499a7a-5c06-52f2-abe2-ccb03c286192" version = "1.11.0" diff --git a/Project.toml b/Project.toml index f4981849..27dddced 100644 --- a/Project.toml +++ b/Project.toml @@ -10,6 +10,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" PartitionedArrays = "5a9dfac6-5c52-46f7-8278-5e2210713be9" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192" [compat] Gridap = "0.17" diff --git a/src/GridapDistributed.jl b/src/GridapDistributed.jl index 2cf7e16f..65eff54c 100644 --- a/src/GridapDistributed.jl +++ b/src/GridapDistributed.jl @@ -15,6 +15,7 @@ using PartitionedArrays const PArrays = PartitionedArrays using SparseArrays +using WriteVTK import Gridap.TensorValues: inner, outer, double_contraction, symmetric_part import LinearAlgebra: det, tr, cross, dot, ⋅ diff --git a/src/Visualization.jl b/src/Visualization.jl index bf2b2e62..0b83c73f 100644 --- a/src/Visualization.jl +++ b/src/Visualization.jl @@ -6,7 +6,7 @@ function Base.getproperty(x::DistributedVisualizationData, sym::Symbol) if sym == :grid map_parts(i->i.grid,x.visdata) elseif sym == :filebase - map_parts(i->i.filebase,x.visdata) + get_part(x.visdata).filebase elseif sym == :celldata map_parts(i->i.celldata,x.visdata) elseif sym == :nodaldata @@ -32,8 +32,7 @@ function Visualization.visualization_data( vd = map_parts( parts,model.models,model.gids.partition,labels.labels) do part,model,gids,labels - n = lpad(part,ceil(Int,log10(nparts)),'0') - vd = visualization_data(model,"$(filebase)_$(n)";labels=labels) + vd = visualization_data(model,filebase;labels=labels) vd_cells = vd[end] push!(vd_cells.celldata, "gid" => gids.lid_to_gid) push!(vd_cells.celldata, "part" => gids.lid_to_part) @@ -63,9 +62,8 @@ function Visualization.visualization_data( vd = map_parts( parts,trians,cdat,fdat) do part,trian,celldata,cellfields - n = lpad(part,ceil(Int,log10(nparts)),'0') vd = visualization_data( - trian,"$(filebase)_$(n)"; + trian,filebase; order=order,nsubcells=nsubcells, celldata=celldata,cellfields=cellfields) @assert length(vd) == 1 @@ -131,19 +129,21 @@ end # Vtk related -# TODO use pvd format - function Visualization.write_vtk_file( grid::AbstractPData{<:Grid}, filebase; celldata, nodaldata) - map_parts(grid,filebase,celldata,nodaldata) do g,f,c,n - write_vtk_file(g,f;celldata=c,nodaldata=n) - end + pvtk = Visualization.create_vtk_file(grid,filebase;celldata=celldata,nodaldata=nodaldata) + map_parts(vtk_save,pvtk) end function Visualization.create_vtk_file( grid::AbstractPData{<:Grid}, filebase; celldata, nodaldata) - map_parts(grid,filebase,celldata,nodaldata) do g,f,c,n - create_vtk_file(g,f;celldata=c,nodaldata=n) + parts = get_part_ids(grid) + nparts = length(parts) + map_parts(parts,grid,celldata,nodaldata) do part,g,c,n + Visualization.create_pvtk_file( + g,filebase; + pvtkargs=[:part=>part,:nparts=>nparts], + celldata=c,nodaldata=n) end end From 23f50d3d93540b3016b6945e8f8f11b5ebd22f20 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 21 Oct 2021 09:59:35 +0200 Subject: [PATCH 2/5] Including piece id when visualizing triangulations --- src/Visualization.jl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Visualization.jl b/src/Visualization.jl index 0b83c73f..e781b926 100644 --- a/src/Visualization.jl +++ b/src/Visualization.jl @@ -62,10 +62,16 @@ function Visualization.visualization_data( vd = map_parts( parts,trians,cdat,fdat) do part,trian,celldata,cellfields + _celldata = Dict(celldata) + # we do not use "part" since it is likely to be used by the user + if haskey(_celldata,"piece") + @unreachable "piece is a reserved cell data name" + end + _celldata["piece"] = fill(part,num_cells(trian)) vd = visualization_data( trian,filebase; order=order,nsubcells=nsubcells, - celldata=celldata,cellfields=cellfields) + celldata=_celldata,cellfields=cellfields) @assert length(vd) == 1 vd[1] end From f801cb2ef31af5580433e38ea6c626e16b9fa39b Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 21 Oct 2021 10:00:55 +0200 Subject: [PATCH 3/5] Fixing manifest --- Manifest.toml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index ec9f4c75..656b8df3 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -148,7 +148,7 @@ version = "0.10.20" [[Gridap]] deps = ["AbstractTrees", "BSON", "BlockArrays", "Combinatorics", "DocStringExtensions", "FastGaussQuadrature", "FileIO", "FillArrays", "ForwardDiff", "JLD2", "JSON", "LineSearches", "LinearAlgebra", "NLsolve", "NearestNeighbors", "QuadGK", "Random", "SparseArrays", "SparseMatricesCSR", "StaticArrays", "Test", "WriteVTK"] -git-tree-sha1 = "1b391fd3043b6b44e8572abff12d00fa91e2e49e" +git-tree-sha1 = "3939c8304bce360727f6b50f4b92520cecedf7c5" repo-rev = "pvtu_grid" repo-url = "https://github.com/gridap/Gridap.jl.git" uuid = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e" @@ -473,9 +473,7 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[WriteVTK]] deps = ["Base64", "CodecZlib", "FillArrays", "LightXML", "TranscodingStreams"] -git-tree-sha1 = "9345fe8d0bf4f789bb1305f248595ceb7dd97d1b" -repo-rev = "master" -repo-url = "https://github.com/gridap/WriteVTK.jl" +git-tree-sha1 = "c3403143cecb391ea51fc133be82b024e4ce720b" uuid = "64499a7a-5c06-52f2-abe2-ccb03c286192" version = "1.11.0" From b820d676302ab34ae08a0b1d9b328a971d2fe1f0 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 21 Oct 2021 10:11:44 +0200 Subject: [PATCH 4/5] Update Visualization.jl --- src/Visualization.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Visualization.jl b/src/Visualization.jl index e781b926..ca5dc3a0 100644 --- a/src/Visualization.jl +++ b/src/Visualization.jl @@ -62,7 +62,7 @@ function Visualization.visualization_data( vd = map_parts( parts,trians,cdat,fdat) do part,trian,celldata,cellfields - _celldata = Dict(celldata) + _celldata = Dict{Any,Any}(celldata) # we do not use "part" since it is likely to be used by the user if haskey(_celldata,"piece") @unreachable "piece is a reserved cell data name" From 7cec7d5c523bf8757c25a053f0360c76ebdbc713 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 21 Oct 2021 11:35:24 +0200 Subject: [PATCH 5/5] Fixing manifest --- Manifest.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 656b8df3..bb44ef8e 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -148,8 +148,8 @@ version = "0.10.20" [[Gridap]] deps = ["AbstractTrees", "BSON", "BlockArrays", "Combinatorics", "DocStringExtensions", "FastGaussQuadrature", "FileIO", "FillArrays", "ForwardDiff", "JLD2", "JSON", "LineSearches", "LinearAlgebra", "NLsolve", "NearestNeighbors", "QuadGK", "Random", "SparseArrays", "SparseMatricesCSR", "StaticArrays", "Test", "WriteVTK"] -git-tree-sha1 = "3939c8304bce360727f6b50f4b92520cecedf7c5" -repo-rev = "pvtu_grid" +git-tree-sha1 = "d3bfeb769259b08f7385bdad91681f38c50fc519" +repo-rev = "gridap_distributed" repo-url = "https://github.com/gridap/Gridap.jl.git" uuid = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e" version = "0.17.0"