/usr/include/rheolef/basis_rep.h is in librheolef-dev 5.93-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #ifndef _RHEO_BASIS_REP_H
#define _RHEO_BASIS_REP_H
///
/// This file is part of Rheolef.
///
/// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
///
/// Rheolef is free software; you can redistribute it and/or modify
/// it under the terms of the GNU General Public License as published by
/// the Free Software Foundation; either version 2 of the License, or
/// (at your option) any later version.
///
/// Rheolef is distributed in the hope that it will be useful,
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
/// GNU General Public License for more details.
///
/// You should have received a copy of the GNU General Public License
/// along with Rheolef; if not, write to the Free Software
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
///
/// =========================================================================
#include "rheolef/reference_element.h"
#include "rheolef/point.h"
namespace rheolef {
class basis_rep {
public:
typedef reference_element::dof_family_type dof_family_type;
typedef size_t size_type;
basis_rep(dof_family_type family) : _family(family) {};
virtual ~basis_rep() { }
std::string name() const;
dof_family_type family() const;
virtual dof_family_type dof_family(
reference_element hat_K,
size_type i_dof_local) const = 0;
virtual size_type degree () const = 0;
virtual size_type size (
reference_element hat_K, dof_family_type family) const = 0;
virtual Float eval(
reference_element hat_K,
size_type i_dof_local,
const point& hat_x) const = 0;
virtual point grad_eval(
reference_element hat_K,
size_type i_dof_local,
const point& hat_x) const = 0;
virtual basic_point<point> hessian_eval(
reference_element hat_K,
size_type i_dof_local,
const point & hat_x) const = 0;
virtual void eval(
reference_element hat_K,
const point& hat_x,
std::vector<Float>& values) const = 0;
virtual void grad_eval(
reference_element hat_K,
const point& hat_x,
std::vector<point>& values) const = 0;
virtual void hessian_eval(
reference_element hat_K,
const point& hat_x,
std::vector<basic_point<point> >& values) const = 0;
virtual void hat_node(
reference_element hat_K,
std::vector<point>& hat_node) const = 0;
static basis_rep* make_ptr (std::string name);
protected:
std::string _name;
dof_family_type _family;
};
inline
std::string
basis_rep::name() const
{
return _name;
}
inline
basis_rep::dof_family_type
basis_rep::family() const
{
return _family;
}
}// namespace rheolef
#endif // _RHEO_BASIS_REP_H
|