-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
INTERPKERNEL_EXPORT int getGaussCoordDim() const;
INTERPKERNEL_EXPORT int getReferenceCoordDim() const;
+ INTERPKERNEL_EXPORT DataVector getGaussCoords() const { return _my_gauss_coord; }
+ INTERPKERNEL_EXPORT DataVector getRefCoords() const { return _my_reference_coord; }
+ INTERPKERNEL_EXPORT NormalizedCellType getGeoType() const { return _my_geometry; }
INTERPKERNEL_EXPORT int getNbGauss() const;
INTERPKERNEL_EXPORT int getNbRef() const;
+ INTERPKERNEL_EXPORT GaussInfo convertToLinear() const;
+
INTERPKERNEL_EXPORT const double* getFunctionValues( const int theGaussId ) const;
INTERPKERNEL_EXPORT void initLocalInfo();
INTERPKERNEL_EXPORT static std::vector<double> NormalizeCoordinatesIfNecessary(NormalizedCellType ct, int inputDim, const std::vector<double>& inputArray);
+ public:
+ static const double SEG2A_REF[2];
+ static const double SEG2B_REF[2];
+ static const double SEG3_REF[3];
+ static const double TRIA3A_REF[6];
+ static const double TRIA3B_REF[6];
+ static const double TRIA6A_REF[12];
+ static const double TRIA6B_REF[12];
+ static const double TRIA7A_REF[14];
+ static const double QUAD4A_REF[8];
+ static const double QUAD4B_REF[8];
+ static const double QUAD8A_REF[16];
+ static const double QUAD8B_REF[16];
+ static const double QUAD9A_REF[18];
+ static const double TETRA4A_REF[12];
+ static const double TETRA4B_REF[12];
+ static const double TETRA10A_REF[30];
+ static const double TETRA10B_REF[30];
+ static const double PYRA5A_REF[15];
+ static const double PYRA5B_REF[15];
+ static const double PYRA13A_REF[39];
+ static const double PYRA13B_REF[39];
+ static const double PENTA6A_REF[18];
+ static const double PENTA6B_REF[18];
+ static const double PENTA15A_REF[45];
+ static const double PENTA15B_REF[45];
+ static const double HEXA8A_REF[24];
+ static const double HEXA8B_REF[24];
+ static const double HEXA20A_REF[60];
+ static const double HEXA20B_REF[60];
+ static const double HEXA27A_REF[81];
protected:
-
+ static bool IsSatisfy(const std::vector<double>& ref1, const std::vector<double>& ref2);
bool isSatisfy();
-
+
+ void point1Init();
+
//1D
- void seg2Init();
+ void seg2aInit();
+ void seg2bInit();
void seg3Init();
//2D
void tria3bInit();
void tria6aInit();
void tria6bInit();
+ void tria7aInit();
void quad4aInit();
static void Quad4aInit(GaussInfo& obj) { obj.quad4aInit(); }
static void Penta6DegTria3bInit(GaussInfo& obj) { obj.penta6DegTria3bInit(); }
void penta15aInit();
+ static void Penta15aInit(GaussInfo& obj) { obj.penta15aInit(); }
void penta15bInit();
+ static void Penta15bInit(GaussInfo& obj) { obj.penta15bInit(); }
void hexa8aInit();
static void Hexa8aInit(GaussInfo& obj) { obj.hexa8aInit(); }
static void Hexa8DegQuad4cInit(GaussInfo& obj) { obj.hexa8DegQuad4cInit(); }
void hexa20aInit();
void hexa20bInit();
-
+ void hexa27aInit();
private:
//INFORMATION from MEDMEM