basis(1rheolef)

πŸ“¦
version 7.2 Β· 4 versions
, in debian trixie, ubuntu noble, ubuntu questing

πŸ’… 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 -noexecute variant is useful in conjunction with the -verbose and -noclean options 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 (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