FerriteViz.jl
FerriteViz.jl is a small package to visualize your Ferrite.jl results. Currently all Makie backends are supported and thus, you can visualize your results in a GLMakie window, inside Pluto/Jupyter notebooks via WGLMakie and produce nice vector graphics with CairoMakie.
In the future this package tries to adapt also other plotting packages, such as Plots.jl and PGFPlotsX.jl. Contributions are highly welcome.
Getting Started
Install FerriteViz.jl with the in-built package manager of Julia
pkg> add FerriteVizDo your computation with Ferrite.jl and save the used DofHandler and solution vector into a variable. Pass those two variables into the MakiePlotter constructor
plotter = MakiePlotter(dh,u)Now, you can use solutionplot, wireframe, arrows, surface or the viewer via ferriteviewer. Note that the mutating solutionplot!, wireframe!, arrows! and surface! are available as well.
Unique features
This package offers a set of unique features that are not easily reproducible with other export options of Ferrite.jl:
FerriteViz.solutionplotFE solution contour plot on arbitrary finite element mesh (in Makie calledmeshplots)FerriteViz.ferriteviewerviewer with toggles and menus that update the plotFerriteViz.wireframeplots the finite element mesh and optionally labels nodes and cellsFerriteViz.arrows- also calledquiverplots, in paraviewglyphfilterFerriteViz.surface2D solutions in 3D space as surface, in paraviewwarp by scalarfilter- synchronous plotting while your simulation runs with any of the above listed options
- mutating versions of the above listed functions (except for the viewer)
- deformed plots available for
solutionplotandwireframewith linear geometry - full integration into the Makie ecosystem, e.g. themes, layouts etc.
- GPU powered plotting with GLMakie.jl, jupyter/pluto notebook plotting with WGLMakie.jl and vector graphics with CairoMakie.jl
- visualization of high order solutions via first order refinement
- visualization of non-conforming solutions, e.g. for Crouzeix-Raviart ansatz
Viewing the docs locally
To view the docs locally use the provided live server:
include("docs/liveserver.jl")Opening the html files in the browser directly might fail with a CORS error, manifesting itself figures which don't render correctly.