diff --git a/Numeric/nodalBasis.h b/Numeric/nodalBasis.h index 9a614d1021e0b074e047b6c65a14871c43486e96..6a283f4eb754829054f4b00202543ec22a422672 100644 --- a/Numeric/nodalBasis.h +++ b/Numeric/nodalBasis.h @@ -16,18 +16,18 @@ class nodalBasis { bool serendip; fullMatrix<double> points; - virtual void initialize() {}; + virtual void initialize() = 0; // Basis functions evaluation - inline virtual void f(double u, double v, double w, double *sf) const {}; - inline void f(fullMatrix<double> &coord, fullMatrix<double> &sf) const {}; + inline virtual void f(double u, double v, double w, double *sf) const {Msg::Fatal("Not implemented");}; + inline virtual void f(fullMatrix<double> &coord, fullMatrix<double> &sf) const {Msg::Fatal("Not implemented");}; // Basis functions gradients evaluation - inline virtual void df(double u, double v, double w, double grads[][3]) const {}; - inline void df(fullMatrix<double> &coord, fullMatrix<double> &dfm) const {}; + inline virtual void df(double u, double v, double w, double grads[][3]) const {Msg::Fatal("Not implemented");}; + inline virtual void df(fullMatrix<double> &coord, fullMatrix<double> &dfm) const {Msg::Fatal("Not implemented");}; - inline void ddf(double u, double v, double w, double grads[][3][3]) const {}; - inline void dddf(double u, double v, double w, double grads[][3][3][3]) const {}; + inline virtual void ddf(double u, double v, double w, double grads[][3][3]) const {Msg::Fatal("Not implemented");}; + inline virtual void dddf(double u, double v, double w, double grads[][3][3][3]) const {Msg::Fatal("Not implemented");}; inline virtual int getNumShapeFunctions() const {Msg::Fatal("Not implemented"); return -1;} @@ -50,7 +50,7 @@ class nodalBasis { inline virtual const std::vector<int> &getClosure(int id) const {Msg::Fatal("Not implemented"); std::vector<int> *ret=NULL; return *ret;} inline virtual const std::vector<int> &getFullClosure(int id) const {Msg::Fatal("Not implemented"); std::vector<int> *ret=NULL; return *ret;} inline virtual int getClosureId(int iFace, int iSign=1, int iRot=0) const {Msg::Fatal("Not implemented"); return -1;} - inline void breakClosureId(int i, int &iFace, int &iSign, int &iRot) const {Msg::Fatal("Not implemented");iFace=-1; iSign=-1; iRot=-1;} + inline virtual void breakClosureId(int i, int &iFace, int &iSign, int &iRot) const {Msg::Fatal("Not implemented");iFace=-1; iSign=-1; iRot=-1;} static int getTag(int parentTag, int order, bool serendip = false) { diff --git a/Numeric/polynomialBasis.cpp b/Numeric/polynomialBasis.cpp index 1965fb95421ac3cef9d2a58ce1509b651f677970..6df73cf36f12f82f520508133ef57b94b5d085d3 100644 --- a/Numeric/polynomialBasis.cpp +++ b/Numeric/polynomialBasis.cpp @@ -1521,8 +1521,7 @@ void polynomialBasis::initialize() this->points.print(); coefficients = generateLagrangeMonomialCoefficients(monomials, points); - -} + } const polynomialBasis *polynomialBases::find(int tag)