Provided by: librheolef-dev_5.93-2_amd64 bug

NAME

       numbering - global degree of freedom numbering

SYNOPSYS

       The  numbering  class defines methods that furnish global numbering of degrees of freedom.
       This numbering depends upon the degrees of polynoms on elements and  upon  the  continuity
       requirement  at  inter-element  boundary.  For instance the "P1" continuous finite element
       approximation has one degree of freedom per vertice of the mesh, while  its  discontinuous
       counterpart  has  dim(basis) times the number of elements of the mesh, where dim(basis) is
       the size of the local finite element basis.

IMPLEMENTATION

       class numbering : public smart_pointer<numbering_rep> {
       public:

       // typedefs:
           typedef numbering_rep                rep;
           typedef smart_pointer<numbering_rep> base;
           typedef size_t                       size_type;

       // allocators:

           numbering (std::string name = "");
           numbering (numbering_rep* ptr);

           virtual ~numbering() {}

       // accessors:

           std::string name() const;
           virtual
           size_type ndof (
                     size_type  mesh_map_dimension,
               const size_type* mesh_n_geo,
               const size_type* mesh_n_element) const;

           virtual
           size_type idof (
               const size_type*      mesh_n_geo,
               const size_type*      mesh_n_element,
               const geo_element&    K,
               size_type             i_dof_local) const;

           virtual
           void idof (
               const size_type*        mesh_n_geo,
               const size_type*        mesh_n_element,
               const geo_element&      K,
               std::vector<size_type>& i_dof) const;

           virtual bool is_continuous() const;
           virtual bool is_discontinuous() const { return !is_continuous(); }

       // i/o:

           void dump(std::ostream& out = std::cerr) const;
       };