GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       basis - polynomial basis

SYNOPSYS

       The basis class defines functions that evaluates a polynomial basis and
       its derivatives on a point. The polynomial basis  is  designated  by  a
       string,  e.g. "P0", "P1", "P2", "bubble",...  indicating the basis. The
       basis  depends  also  of  the  reference  element:  triangle,   square,
       tetrahedron (see reference_element(2)).  For instance, on a square, the
       "P1" string designates the common Q1 four-nodes basis on the  reference
       square.

       The  nodes  associated  to  the  Lagrange  polynomial  basis  are  also
       available by its associated accessor.

IMPLEMENTATION NOTE

       The basis class is a see smart_pointer(2)) class on a  basis_rep  class
       that  is  a pure virtual base class for effective bases, e.g. basis_P1,
       basis_P1, etc.

IMPLEMENTATION

       template<class T>
       class basis_basic : public smart_pointer<basis_rep<T> > {
       public:

       // typedefs:

           typedef basis_rep<T>                           rep;
           typedef smart_pointer<rep>                     base;
           typedef typename basis_rep<T>::size_type       size_type;

       // allocators:

           basis_basic (std::string name = "");

       // accessors:

           std::string name() const;
           size_type   degree() const;
           size_type   size (reference_element hat_K) const;

           void hat_node(
               reference_element              hat_K,
               std::vector<point_basic<T> >&  hat_node) const;
           void hat_node(
               reference_element                               hat_K,
               typename std::vector<point_basic<T> >::iterator hat_node) const;

           void eval(
               reference_element     hat_K,
               const point_basic<T>& hat_x,
               std::vector<T>&       values) const;
           void eval(
               reference_element                 hat_K,
               const point_basic<T>&             hat_x,
               typename std::vector<T>::iterator values) const;

           void grad_eval(
               reference_element    hat_K,
               const point_basic<T>&         hat_x,
               std::vector<point_basic<T> >&  values) const;
           void grad_eval(
               reference_element                               hat_K,
               const point_basic<T>&                           hat_x,
               typename std::vector<point_basic<T> >::iterator values) const;
       };
       typedef basis_basic<Float> basis;

SEE ALSO

       reference_element(2), smart_pointer(2)



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.082 seconds. Last modified: November 04 2018 12:49:43.