Forked from
gmsh / gmsh
10887 commits behind the upstream repository.
-
Nicolas Marsic authored
Working on Dof Reordering -- New GroupOfDof Interface -- Cleaning some tabs (replaced by spaces) -- BasisLagrange Implementation of Function and Grad
Nicolas Marsic authoredWorking on Dof Reordering -- New GroupOfDof Interface -- Cleaning some tabs (replaced by spaces) -- BasisLagrange Implementation of Function and Grad
BasisHierarchical0From.h 2.39 KiB
#ifndef _BASISHIERARCHICAL0FROM_H_
#define _BASISHIERARCHICAL0FROM_H_
#include <string>
#include "BasisLocal.h"
#include "Polynomial.h"
#include "ReferenceSpace.h"
/**
@interface BasisHierarchical0From
@brief Interface for Hierarchical 0-From Local Basis
This is an interface for Hierarchical 0-From Local Basis.@n
*/
class BasisHierarchical0From: public BasisLocal{
protected:
// Orientation //
ReferenceSpace* refSpace;
unsigned int nRefSpace;
// Basis //
Polynomial*** basis;
// Grad Basis //
mutable bool hasGrad;
mutable std::vector<Polynomial>*** grad;
// PreEvaluation //
mutable bool preEvaluated;
mutable bool preEvaluatedGrad;
mutable fullMatrix<double>** preEvaluatedFunction;
mutable fullMatrix<double>** preEvaluatedGradFunction;
public:
virtual ~BasisHierarchical0From(void);
virtual unsigned int getNOrientation(void) const;
virtual unsigned int getOrientation(const MElement& element) const;
virtual std::vector<size_t>
getFunctionOrdering(const MElement& element) const;
virtual void getFunctions(fullMatrix<double>& retValues,
const MElement& element,
double u, double v, double w) const;
virtual void getFunctions(fullMatrix<double>& retValues,
unsigned int orientation,
double u, double v, double w) const;
virtual void preEvaluateFunctions(const fullMatrix<double>& point) const;
virtual void preEvaluateDerivatives(const fullMatrix<double>& point) const;
virtual const fullMatrix<double>&
getPreEvaluatedFunctions(const MElement& element) const;
virtual const fullMatrix<double>&
getPreEvaluatedDerivatives(const MElement& element) const;
virtual const fullMatrix<double>&
getPreEvaluatedFunctions(unsigned int orientation) const;
virtual const fullMatrix<double>&
getPreEvaluatedDerivatives(unsigned int orientation) const;
std::string toString(void) const;
protected:
BasisHierarchical0From(void);
private:
void getGrad(void) const;
};
/**
@internal
@fn BasisHierarchical0From::BasisHierarchical0From
Instanciates an new BasisHierarchical0From
@endinternal
**
@fn BasisHierarchical0From::~BasisHierarchical0From
Deletes this BasisHierarchical0From
**
@fn BasisHierarchical0From::toString
@return Returns a string describing this
BasisHierarchical0From
*/
#endif