basis(1rheolef)
π basis β bestie edition
okay so this is basis, from the rheolef manual (that's the manual name, cutie β rheolef, version 7.2, keep it in your notes π). she plots finite element bases and honestly? she ate. β¨
β¨ NAME β¨
basis β plot a finite element basis (rheolef-7.2) π
πΈ SYNOPSIS πΈ
basis name [element] [options]
that's it. that's the whole vibe. π«Ά
π¦ DESCRIPTION π¦
so basically, basis lets you view a finite element polynomial basis sitting on a given reference element β go peek at reference_element(6) for the deets on those. and if polynomials aren't your moment? she can alternatively show you the interpolation nodes instead. main character energy either way, no cap. π
β EXAMPLES β
here's the group chat dump of every example, verbatim, because I would NEVER gatekeep:
basis P5 t
basis P5[warburton] t
basis P5[warburton,monomial] t
basis 'trace(P3d)' t
basis P3 t -node
basis P5 t -node-side 0
basis P5 t -node-side 1
basis P3 T -node
basis B7 t
basis S7 t
basis RT0 t
basis RT3 t -node
basis 'trace_n(RT5d)' t -node
basis P3d T -node-side 1
basis 'trace_n(RT5d)' T -node-side 1
literally screenshot these. π
π BASIS AND ELEMENT SPECIFICATIONS π
the name argument? you write it exactly like you would for the space and basis constructor class argument β so go read space(2) and basis(2) if you want the full lore, bestie. π
the element argument is one of e, t, q, T, P, H β and yes, reference_element(6) is your bestie for that too.
and for the actual visualization? the gnuplot render is what's used. periodt. π
π₯ THE RAW BASIS π₯
-raw-fem
okay so here's the tea: a raw basis is what gets used for computing the Vandermonde matrix and for building the Lagrange basis. the raw basis is either monomial, Dubiner or Bernstein β and Dubiner is the default, iykyk.
this raw basis is hiden by default (yes, that's how the original spells it, I don't make the rules π): you show it with the -raw option, and -fem switches you back to the default finite element basis representation.
now here's where it gets spicy πΆοΈ β when the basis family is M (for monomial) or D (for Dubiner), there's no ambiguity, so you can just omit -raw. but conversely, when the basis family is B (for Bernstein)? there IS an ambiguity and you should use this option. don't skip it, babe.
here's what raw basis visualization looks like in action:
basis M4 t
basis D5 e
basis B5 e -raw
and just so we're crystal clear: in that last one, -raw is doing the disambiguating work between the Bernstein basis as a finite element basis and the Bernstein basis as a raw basis. two queens, same name, one flag. π
β¨ REDERING OPTIONS β¨
(that heading is spelled exactly like that in the original and I'm respecting it, no notes π«Ά)
the basis command supports several modes of visualization:
-ndofβ prints the basis size, aka the number of degrees of freedom (ndof). slay.-polyβ represents the polynomial functions in elevation, for 1D and 2D elements. (3D elements visualization is not yet supported, we'll get there.) all basis polynomials get shown in an animation. obsessed.-nodeβ represents the node location, with distinct colors for each dimension associated to. cute AND useful? iconic.-node-sideβ represents the node location, but restricted on a specific side. like a little slice, a lil close-up. π
π OTHERS OPTIONS π
-[no]verboseβ print messages related to graphic files created and command system calls (this is the default).-[no]cleanβ clear temporary graphic files (this is the default).-[no]executeβ execute graphic command (this is the default). the-noexecutevariant is useful in conjunction with the-verboseand-nocleanoptions in order to modify some render options by hand. DIY era. π οΈ
π LIMITATIONS π
polynomial visualization in 3D is not yet supported. future development will use paraview with volume mode and animation for scanning all basis polynomials. manifesting it for us fr fr π―οΈβ¨
π§ IMPLEMENTATION π§
this documentation has been generated from file fem/lib/basis.cc
π AUTHOR π
Pierre Saramito <Pierre.Saramito@imag.fr>
π COPYRIGHT π
Copyright (C) 2000-2018 Pierre Saramito <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
and that's the whole page, bestie π«Ά this was rheolef, Version 7.2, living under basis(1rheolef). go plot something pretty for me. πβ¨πΈ
π¦ where this page comes from
- debian trixie: rheolef 7.2-4 Β· GPL-3.0-or-later
- ubuntu noble: rheolef 7.2-3build5 Β· GPL-3.0-or-later
- ubuntu questing: rheolef 7.2-4build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms