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 FerriteViz
Do 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.solutionplot
FE solution contour plot on arbitrary finite element mesh (in Makie calledmesh
plots)FerriteViz.ferriteviewer
viewer with toggles and menus that update the plotFerriteViz.wireframe
plots the finite element mesh and optionally labels nodes and cellsFerriteViz.arrows
- also calledquiver
plots, in paraviewglyph
filterFerriteViz.surface
2D solutions in 3D space as surface, in paraviewwarp by scalar
filter- 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
solutionplot
andwireframe
with 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.