Skip to content
Snippets Groups Projects
Commit e8a231d2 authored by Amaury Johnen's avatar Amaury Johnen
Browse files

No commit message

No commit message
parent 4bd42b96
No related branches found
No related tags found
No related merge requests found
...@@ -62,7 +62,7 @@ class JacobianBasis { ...@@ -62,7 +62,7 @@ class JacobianBasis {
inline void primJac2Jac(const fullVector<double> &primJac, fullVector<double> &jac) const { inline void primJac2Jac(const fullVector<double> &primJac, fullVector<double> &jac) const {
matrixPrimJac2Jac.mult(primJac,jac); matrixPrimJac2Jac.mult(primJac,jac);
} }
inline void subDivisor(const fullVector<double> &bez, fullVector<double> &result) const { inline void subdivideBezierCoeff(const fullVector<double> &bez, fullVector<double> &result) const {
bezier->subDivisor.mult(bez,result); bezier->subDivisor.mult(bez,result);
} }
......
...@@ -287,6 +287,14 @@ static std::vector< fullMatrix<double> > generateSubPointsPyr(int order) ...@@ -287,6 +287,14 @@ static std::vector< fullMatrix<double> > generateSubPointsPyr(int order)
prox.add(.5); prox.add(.5);
for (int i = 0; i < 8; ++i) { for (int i = 0; i < 8; ++i) {
if (i == 0) {
for (int j = 0; j < nPts; ++j) {
const double factor = (1. - 2*subPoints[i](j, 2));
subPoints[i](j, 0) = subPoints[i](j, 0) * factor;
subPoints[i](j, 1) = subPoints[i](j, 1) * factor;
}
continue;
}
for (int j = 0; j < nPts; ++j) { for (int j = 0; j < nPts; ++j) {
const double factor = (1. - subPoints[i](j, 2)); const double factor = (1. - subPoints[i](j, 2));
subPoints[i](j, 0) = subPoints[i](j, 0) * factor; subPoints[i](j, 0) = subPoints[i](j, 0) * factor;
......
...@@ -336,7 +336,7 @@ int GMSH_AnalyseCurvedMeshPlugin::subDivision(const JacobianBasis *jb, ...@@ -336,7 +336,7 @@ int GMSH_AnalyseCurvedMeshPlugin::subDivision(const JacobianBasis *jb,
int depth) int depth)
{ {
fullVector<double> newJacobian(jb->getNumSubNodes()); fullVector<double> newJacobian(jb->getNumSubNodes());
jb->subDivisor(jacobian, newJacobian); jb->subdivideBezierCoeff(jacobian, newJacobian);
for (int i = 0; i < jb->getNumDivisions(); i++) for (int i = 0; i < jb->getNumDivisions(); i++)
for (int j = 0; j < jb->getNumLagCoeff(); j++) for (int j = 0; j < jb->getNumLagCoeff(); j++)
......
...@@ -72,7 +72,7 @@ private: ...@@ -72,7 +72,7 @@ private:
public: public:
BezierJacobian(fullVector<double> &, const JacobianBasis *, int depth); BezierJacobian(fullVector<double> &, const JacobianBasis *, int depth);
void subDivisions(fullVector<double> &vect) const void subDivisions(fullVector<double> &vect) const
{_jfs->subDivisor(_jacBez, vect);} {_jfs->subdivideBezierCoeff(_jacBez, vect);}
inline int depth() const {return _depthSub;} inline int depth() const {return _depthSub;}
inline double minJ() const {return _minJ;} inline double minJ() const {return _minJ;}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment