Other packages
A lot of functionality is already provided by the bases packages, e.g.:
- ExtendableGrids.jl offers an interface to WriteVTK.jl which can be used, e.g. in combination with nodevalues interpolations or (piecewise constant) item integrator results. There is also the CellFinder that can be used to find the right cell for a certain point of the domain.
- ExtendableFEMBase.jl offers a PointEvaluator and a SegmentIntegrator to evaluate solutions at arbitrary points of the domain or integrating along 1D line intersections with the cells of the triangulation. It also provides some basic unicode plots.
- GridVisualize.jl provides grid and scalar piecewise linear function plotting for various plotting backends on simplicial grids in one, two or three space dimensions. The main supported backends are PyPlot, GLMakie and PlutoVista.
Plots and Tables
Some convenient plotting shortcuts are avaiables via these functions:
ExtendableFEM.plot!
— Methodfunction plot!(p::GridVisualizer, ops, sol; kwargs...)
Plots the operator evaluations ops of blocks in sol into the GridVisualizer.
ExtendableFEM.plot
— Methodfunction plot!(p::GridVisualizer, ops, sol; Plotter = nothing, kwargs...)
Plots the operator evaluations ops of blocks in sol with the specified Plotter module that is supported by GridVisualize (e.g. GLMakie, PyPlot, Plots)
ExtendableFEM.plot_convergencehistory!
— Methodfunction plot_convergencehistory!(
p::GridVisualizer,
X,
Y;
add_h_powers = [],
X_to_h = X -> X,
colors = [:blue, :green, :red, :magenta, :lightblue],
title = "convergence history",
legend = :best,
ylabel = "",
ylabels = [],
xlabel = "ndofs",
markershape = :circle,
markevery = 1,
clear = true,
args...,
Plots a convergence history based on arrays X vs. Y into the GridVisualizer.
ExtendableFEM.plot_convergencehistory
— Methodfunction plot_convergencehistory(X, Y; Plotter = nothing, kwargs...)
Plots a convergence history based on arrays X vs. Y into the GridVisualizer with the specified Plotter module (that needs to be supported by GridVisualize).
ExtendableFEM.plot_unicode
— Methodfunction plot_unicode(sol; kwargs...)
Plots all blocks of sol into stdout (via plot_scalarplot from the UnicodePlots extension of ExtendableFEMBase)
ExtendableFEM.print_convergencehistory
— Methodfunction print_convergencehistory(X, Y; X_to_h = X -> X, ylabels = [], xlabel = "ndofs", latex_mode = false, separator = latex_mode ? "&" : "|", order_seperator = latex_mode ? "&" : "")
Prints a convergence history based on arrays X vs. Y.
ExtendableFEM.print_table
— Methodfunction print_table(X, Y; ylabels = [], xlabel = "ndofs")
Prints a table with data X vs. Y