Skip to content

Instantly share code, notes, and snippets.

@christophernhill
Created June 20, 2021 13:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save christophernhill/0e52fd80b4b4a834d6cd87cc3db020cc to your computer and use it in GitHub Desktop.
Save christophernhill/0e52fd80b4b4a834d6cd87cc3db020cc to your computer and use it in GitHub Desktop.
Quick six face plot
using Plots
pyplot()
struct Corner end
ts=f["timeseries/η"] |> keys
ncs=32
cmap_id=:bwr
cmap_id=:jet1
# cmap_id=:prism
cmap_id=:gist_ncar
fcode="ζ"; ftype=Corner()
# fcode="η"; ftype=Center()
itnum=ts[end]
r(A)=A[end:-1:1,:]
# Plot veclocity component
# ftype=Face()
# Boundary forcing
# pfu(face_num)=simulation.model.velocities.u.boundary_conditions.faces[face_num].z.right.condition[1:ncs,1:ncs]
# pfv(face_num)=simulation.model.velocities.v.boundary_conditions.faces[face_num].z.right.condition[1:ncs,1:ncs]
# Flow
# pfu(face_num)=simulation.model.velocities.u.data[face_num][1:ncs,1:ncs,1]
# pfv(face_num)=simulation.model.velocities.v.data[face_num][1:ncs,1:ncs,1]
#
# Plot a scalar or vector normal to plane
pfu(face_num)=f["timeseries/$fcode/$itnum"][face_num][1:ncs,1:ncs]
pfv(face_num)=f["timeseries/$fcode/$itnum"][face_num][1:ncs,1:ncs]
function plotsquares(ufunc,vfunc,loc::Center)
contour([1:ncs],[1:ncs], ufunc(1)',fill=true,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1:ncs], pfu(2)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1+ncs:ncs+ncs], pfu(3)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1-ncs:ncs-ncs], pfu(6)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs*2:ncs+ncs*2],[1:ncs], r(pfv(4)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs*3:ncs+ncs*3],[1:ncs], r(pfv(5)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
end
function plotsquares(ufunc,vfunc,loc::Corner)
contour([1:ncs],[1:ncs], ufunc(1)',fill=true,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1:ncs], ufunc(2)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1+ncs:ncs+ncs], ufunc(3)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1-ncs:ncs-ncs], ufunc(6)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs*2:ncs+ncs*2],[2:ncs+1], r(vfunc(4)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs*3:ncs+ncs*3],[2:ncs+1], r(vfunc(5)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
end
function plotsquares(ufunc,vfunc,loc::Face)
contour([1:ncs],[1:ncs], ufunc(1)',fill=true,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1:ncs], ufunc(2)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1+ncs:ncs+ncs], ufunc(3)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs:ncs+ncs],[1-ncs:ncs-ncs], ufunc(6)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs*2:ncs+ncs*2],[1:ncs], r(vfunc(4)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
contour!([1+ncs*3:ncs+ncs*3],[1:ncs], r(vfunc(5)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
end
plotsquares( pfu, pfv, ftype )
## contour([1:ncs],[1:ncs], pfu(1)',fill=true,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs:ncs+ncs],[1:ncs], pfu(2)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs:ncs+ncs],[1+ncs:ncs+ncs], pfu(3)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs:ncs+ncs],[1-ncs:ncs-ncs], pfu(6)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs*2:ncs+ncs*2],[1:ncs], r(pfv(4)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs*3:ncs+ncs*3],[1:ncs], r(pfv(5)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
# Cell face plotting (velocity points)
# - shift in coord in direction of vector ( u-like: 1<-> ncs+1 in i, v-like: 1<-> ncs+1 )
## contour([2:ncs-1],[2:ncs-1], pfu(1)',fill=true,aspect_ratio=:equal,c=cmap_id)
## contour!([2+ncs:ncs-1+ncs],[2:ncs-1], pfu(2)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs:ncs+ncs],[1+ncs:ncs+ncs], pfu(3)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs:ncs+ncs],[1-ncs:ncs-ncs], pfu(6)',fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs*2:ncs+ncs*2],[1:ncs], r(pfv(4)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
## contour!([1+ncs*3:ncs+ncs*3],[1:ncs], r(pfv(5)),fill=true,labelsize=30,colorbar_tickfontsize=20,aspect_ratio=:equal,c=cmap_id)
#
# Cell corner plotting (vorticity points)
# - shift in both coords ( 1 <-> ncs+1
plot!(size=(1200,400))
plot!(xlims=(0,4*ncs))
savefig("plot.png")
println( maximum(pfu(1)) )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment