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!Method
function plot!(p::GridVisualizer, ops, sol; kwargs...)

Plots the operator evaluations ops of blocks in sol into the GridVisualizer.

source
ExtendableFEM.plotMethod
function 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)

source
ExtendableFEM.plot_convergencehistory!Method
function 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.

source
ExtendableFEM.plot_convergencehistoryMethod
function 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).

source
ExtendableFEM.plot_unicodeMethod
function plot_unicode(sol; kwargs...)

Plots all blocks of sol into stdout (via plot_scalarplot from the UnicodePlots extension of ExtendableFEMBase)

source
ExtendableFEM.print_convergencehistoryMethod
function 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.

source