Skip to content

Commit

Permalink
First version of pvtu working
Browse files Browse the repository at this point in the history
  • Loading branch information
fverdugo committed Oct 20, 2021
1 parent d7953d7 commit c772b42
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 15 deletions.
8 changes: 5 additions & 3 deletions Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"

Expand Down
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions src/GridapDistributed.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
24 changes: 12 additions & 12 deletions src/Visualization.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

0 comments on commit c772b42

Please sign in to comment.