gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
qualityMeasuresJacobian.cpp File Reference
#include <limits>
#include "qualityMeasuresJacobian.h"
#include "FuncSpaceData.h"
#include "MElement.h"
#include "BasisFactory.h"
#include "bezierBasis.h"
#include "JacobianBasis.h"
#include "Numeric.h"
#include "fullMatrix.h"
#include "GModel.h"
Include dependency graph for qualityMeasuresJacobian.cpp:

Go to the source code of this file.

Namespaces

 jacobianBasedQuality
 

Functions

static void _computeCoeffLengthVectors (const fullMatrix< double > &mat, fullMatrix< double > &coeff, int type, int numCoeff=-1)
 
static void _computeIGE (const fullVector< double > &det, const fullMatrix< double > &v, fullVector< double > &ige, int type)
 
static void _computeICN (const fullVector< double > &det, const fullMatrix< double > &grad, fullVector< double > &icn, int dim)
 
static bool _getQualityFunctionSpace (MElement *el, FuncSpaceData &fsGrad, FuncSpaceData &fsDet, int orderSamplingPoints=0)
 
void jacobianBasedQuality::minMaxJacobianDeterminant (MElement *el, double &min, double &max, const fullMatrix< double > *normals, bool debug)
 
double jacobianBasedQuality::minIGEMeasure (MElement *el, bool knownValid, bool reversedOk, const fullMatrix< double > *normals, bool debug)
 
double jacobianBasedQuality::minICNMeasure (MElement *el, bool knownValid, bool reversedOk, const fullMatrix< double > *normals, bool debug)
 
void jacobianBasedQuality::sampleJacobianDeterminant (MElement *el, int deg, double &min, double &max, const fullMatrix< double > *normals)
 
void jacobianBasedQuality::sampleIGEMeasure (MElement *el, int deg, double &min, double &max)
 
void jacobianBasedQuality::sampleICNMeasure (MElement *el, int deg, double &min, double &max)
 
void jacobianBasedQuality::sampleJacobianDeterminant (MElement *el, int deg, fullVector< double > &jac, const fullMatrix< double > *normals)
 
void jacobianBasedQuality::sampleIGEMeasure (MElement *el, int deg, fullVector< double > &ige)
 
void jacobianBasedQuality::sampleICNMeasure (MElement *el, int deg, fullVector< double > &icn)
 
template<typename Comp >
void jacobianBasedQuality::_subdivideDomainsMinOrMax (std::vector< _coeffData * > &domains, double &minL, double &maxL, bool debug)
 
void jacobianBasedQuality::_subdivideDomains (std::vector< _coeffData * > &domains, bool alsoMax, bool debug)
 
double jacobianBasedQuality::_getMinAndDeleteDomains (std::vector< _coeffData * > &domains)
 
double jacobianBasedQuality::_computeBoundRational (const fullVector< double > &numerator, const fullVector< double > &denominator, bool lower, bool positiveDenom)
 
void jacobianBasedQuality::testAllMeasuresAllElements ()
 
void jacobianBasedQuality::testAllMeasures (MElement *el, const fullMatrix< double > *normals)
 

Variables

static const double cTri = 2 / std::sqrt(3)
 
static const double cTet = std::sqrt(2)
 
static const double cPyr = 4 * std::sqrt(2)
 

Function Documentation

◆ _computeCoeffLengthVectors()

static void _computeCoeffLengthVectors ( const fullMatrix< double > &  mat,
fullMatrix< double > &  coeff,
int  type,
int  numCoeff = -1 
)
static

Definition at line 23 of file qualityMeasuresJacobian.cpp.

Referenced by jacobianBasedQuality::_coeffDataIGE::_computeAtCorner(), jacobianBasedQuality::_coeffDataIGE::_computeLowerBound(), and jacobianBasedQuality::sampleIGEMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _computeICN()

static void _computeICN ( const fullVector< double > &  det,
const fullMatrix< double > &  grad,
fullVector< double > &  icn,
int  dim 
)
static

Definition at line 164 of file qualityMeasuresJacobian.cpp.

Referenced by jacobianBasedQuality::_coeffDataICN::_computeAtCorner(), and jacobianBasedQuality::sampleICNMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _computeIGE()

static void _computeIGE ( const fullVector< double > &  det,
const fullMatrix< double > &  v,
fullVector< double > &  ige,
int  type 
)
static

Definition at line 104 of file qualityMeasuresJacobian.cpp.

Referenced by jacobianBasedQuality::_coeffDataIGE::_computeAtCorner(), and jacobianBasedQuality::sampleIGEMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _getQualityFunctionSpace()

static bool _getQualityFunctionSpace ( MElement el,
FuncSpaceData fsGrad,
FuncSpaceData fsDet,
int  orderSamplingPoints = 0 
)
static

Definition at line 181 of file qualityMeasuresJacobian.cpp.

Referenced by jacobianBasedQuality::minICNMeasure(), jacobianBasedQuality::minIGEMeasure(), jacobianBasedQuality::sampleICNMeasure(), and jacobianBasedQuality::sampleIGEMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ cPyr

const double cPyr = 4 * std::sqrt(2)
static

◆ cTet

const double cTet = std::sqrt(2)
static

◆ cTri

const double cTri = 2 / std::sqrt(3)
static