gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
JacobianBasis Class Reference

#include <JacobianBasis.h>

Collaboration diagram for JacobianBasis:

Public Member Functions

 JacobianBasis (int elementTag, FuncSpaceData)
 
int getJacOrder () const
 
int getNumSamplingPnts () const
 
int getNumSamplingPntsFast () const
 
int getNumMapNodes () const
 
int getNumPrimSamplingPnts () const
 
int getNumPrimMapNodes () const
 
FuncSpaceData getFuncSpaceData () const
 
double getPrimNormals1D (const fullMatrix< double > &nodesXYZ, fullMatrix< double > &result) const
 
double getPrimNormal2D (const fullMatrix< double > &nodesXYZ, fullMatrix< double > &result, bool ideal=false) const
 
double getPrimJac3D (const fullMatrix< double > &nodesXYZ, bool ideal=false) const
 
void getSignedJacAndGradients (const fullMatrix< double > &nodesXYZ, const fullMatrix< double > &normals, fullMatrix< double > &JDJ) const
 
void getSignedJacAndGradientsFast (const fullMatrix< double > &nodesXYZ, const fullMatrix< double > &normals, fullMatrix< double > &JDJ) const
 
void getSignedIdealJacAndGradients (const fullMatrix< double > &nodesXYZ, const fullMatrix< double > &normals, fullMatrix< double > &JDJ) const
 
void getMetricMinAndGradients (const fullMatrix< double > &nodesXYZ, const fullMatrix< double > &nodesXYZStraight, fullVector< double > &lambdaJ, fullMatrix< double > &gradLambdaJ) const
 
void getSignedJacobian (const fullMatrix< double > &nodesXYZ, fullVector< double > &jacobian, const fullMatrix< double > *normals=nullptr) const
 
void getSignedJacobian (const fullMatrix< double > &nodesX, const fullMatrix< double > &nodesY, const fullMatrix< double > &nodesZ, fullMatrix< double > &jacobian, const fullMatrix< double > *normals=nullptr) const
 
void getSignedIdealJacobian (const fullMatrix< double > &nodesXYZ, fullVector< double > &jacobian, const fullMatrix< double > *normals=nullptr) const
 
void getSignedIdealJacobian (const fullMatrix< double > &nodesX, const fullMatrix< double > &nodesY, const fullMatrix< double > &nodesZ, fullMatrix< double > &jacobian, const fullMatrix< double > *normals=nullptr) const
 
void getScaledJacobian (const fullMatrix< double > &nodesXYZ, fullVector< double > &jacobian) const
 
void getScaledJacobian (const fullMatrix< double > &nodesX, const fullMatrix< double > &nodesY, const fullMatrix< double > &nodesZ, fullMatrix< double > &jacobian) const
 
void getSignedJacobianFast (const fullMatrix< double > &nodesXYZ, fullVector< double > &jacobian, const fullMatrix< double > *normals=nullptr) const
 
void getScaledJacobianFast (const fullMatrix< double > &nodesXYZ, fullVector< double > &jacobian, const fullMatrix< double > *normals=nullptr) const
 
void primJac2Jac (const fullVector< double > &primJac, fullVector< double > &jac) const
 

Static Public Member Functions

static int jacobianOrder (int tag)
 
static int jacobianOrder (int parentType, int order)
 
static FuncSpaceData jacobianMatrixSpace (int type, int order)
 

Private Member Functions

void getJacobianGeneral (int nSamplingPnts, const fullMatrix< double > &dSMat_dX, const fullMatrix< double > &dSMat_dY, const fullMatrix< double > &dSMat_dZ, const fullMatrix< double > &nodesXYZ, bool idealNorm, bool scaling, fullVector< double > &jacobian, const fullMatrix< double > *normals) const
 
void getJacobianGeneral (int nSamplingPnts, const fullMatrix< double > &dSMat_dX, const fullMatrix< double > &dSMat_dY, const fullMatrix< double > &dSMat_dZ, const fullMatrix< double > &nodesX, const fullMatrix< double > &nodesY, const fullMatrix< double > &nodesZ, bool idealNorm, bool scaling, fullMatrix< double > &jacobian, const fullMatrix< double > *normals) const
 
void getSignedJacAndGradientsGeneral (int nSamplingPnts, const fullMatrix< double > &dSMat_dX, const fullMatrix< double > &dSMat_dY, const fullMatrix< double > &dSMat_dZ, const fullMatrix< double > &nodesXYZ, const fullMatrix< double > &normals, fullMatrix< double > &JDJ) const
 
void getSignedIdealJacAndGradientsGeneral (int nSamplingPnts, const fullMatrix< double > &dSMat_dX, const fullMatrix< double > &dSMat_dY, const fullMatrix< double > &dSMat_dZ, const fullMatrix< double > &nodesXYZ, const fullMatrix< double > &normals, fullMatrix< double > &JDJ) const
 

Private Attributes

const GradientBasis_gradBasis
 
const int _elementTag
 
const FuncSpaceData _data
 
const int _dim
 
fullMatrix< double > dFastShapeMat_dX
 
fullMatrix< double > dFastShapeMat_dY
 
fullMatrix< double > dFastShapeMat_dZ
 
fullVector< double > dPrimBaryShape_dX
 
fullVector< double > dPrimBaryShape_dY
 
fullVector< double > dPrimBaryShape_dZ
 
fullVector< double > dPrimBaryIdealShape_dX
 
fullVector< double > dPrimBaryIdealShape_dY
 
fullVector< double > dPrimBaryIdealShape_dZ
 
fullMatrix< double > matrixPrimJac2Jac
 
int numSamplingPnts
 
int numPrimSamplingPnts
 
int numMapNodes
 
int numPrimMapNodes
 
int numSamplingPntsFast
 

Detailed Description

Definition at line 60 of file JacobianBasis.h.

Constructor & Destructor Documentation

◆ JacobianBasis()

JacobianBasis::JacobianBasis ( int  elementTag,
FuncSpaceData  data 
)

Definition at line 252 of file JacobianBasis.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ getFuncSpaceData()

FuncSpaceData JacobianBasis::getFuncSpaceData ( ) const
inline

Definition at line 86 of file JacobianBasis.h.

Referenced by MElement::idealJacRange(), jacobianBasedQuality::minMaxJacobianDeterminant(), and MElement::scaledJacRange().

Here is the caller graph for this function:

◆ getJacobianGeneral() [1/2]

void JacobianBasis::getJacobianGeneral ( int  nSamplingPnts,
const fullMatrix< double > &  dSMat_dX,
const fullMatrix< double > &  dSMat_dY,
const fullMatrix< double > &  dSMat_dZ,
const fullMatrix< double > &  nodesX,
const fullMatrix< double > &  nodesY,
const fullMatrix< double > &  nodesZ,
bool  idealNorm,
bool  scaling,
fullMatrix< double > &  jacobian,
const fullMatrix< double > *  normals 
) const
private

Definition at line 544 of file JacobianBasis.cpp.

Here is the call graph for this function:

◆ getJacobianGeneral() [2/2]

void JacobianBasis::getJacobianGeneral ( int  nSamplingPnts,
const fullMatrix< double > &  dSMat_dX,
const fullMatrix< double > &  dSMat_dY,
const fullMatrix< double > &  dSMat_dZ,
const fullMatrix< double > &  nodesXYZ,
bool  idealNorm,
bool  scaling,
fullVector< double > &  jacobian,
const fullMatrix< double > *  normals 
) const
private

Definition at line 448 of file JacobianBasis.cpp.

Referenced by getScaledJacobian(), getScaledJacobianFast(), getSignedIdealJacobian(), getSignedJacobian(), and getSignedJacobianFast().

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

◆ getJacOrder()

int JacobianBasis::getJacOrder ( ) const
inline

Definition at line 80 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getMetricMinAndGradients()

void JacobianBasis::getMetricMinAndGradients ( const fullMatrix< double > &  nodesXYZ,
const fullMatrix< double > &  nodesXYZStraight,
fullVector< double > &  lambdaJ,
fullMatrix< double > &  gradLambdaJ 
) const

Definition at line 758 of file JacobianBasis.cpp.

Here is the call graph for this function:

◆ getNumMapNodes()

int JacobianBasis::getNumMapNodes ( ) const
inline

Definition at line 83 of file JacobianBasis.h.

Referenced by MElement::idealJacRange(), and MElement::scaledJacRange().

Here is the caller graph for this function:

◆ getNumPrimMapNodes()

int JacobianBasis::getNumPrimMapNodes ( ) const
inline

Definition at line 85 of file JacobianBasis.h.

Referenced by MElement::idealJacRange(), qmTriangle::NCJRange(), qmQuadrangle::NCJRange(), and MElement::scaledJacRange().

Here is the caller graph for this function:

◆ getNumPrimSamplingPnts()

int JacobianBasis::getNumPrimSamplingPnts ( ) const
inline

Definition at line 84 of file JacobianBasis.h.

◆ getNumSamplingPnts()

◆ getNumSamplingPntsFast()

int JacobianBasis::getNumSamplingPntsFast ( ) const
inline

Definition at line 82 of file JacobianBasis.h.

◆ getPrimJac3D()

double JacobianBasis::getPrimJac3D ( const fullMatrix< double > &  nodesXYZ,
bool  ideal = false 
) const

Definition at line 418 of file JacobianBasis.cpp.

Referenced by getJacobianGeneral().

Here is the caller graph for this function:

◆ getPrimNormal2D()

double JacobianBasis::getPrimNormal2D ( const fullMatrix< double > &  nodesXYZ,
fullMatrix< double > &  result,
bool  ideal = false 
) const

Definition at line 385 of file JacobianBasis.cpp.

Referenced by getJacobianGeneral(), MElement::idealJacRange(), qmTriangle::NCJRange(), qmQuadrangle::NCJRange(), and MElement::scaledJacRange().

Here is the caller graph for this function:

◆ getPrimNormals1D()

double JacobianBasis::getPrimNormals1D ( const fullMatrix< double > &  nodesXYZ,
fullMatrix< double > &  result 
) const

Definition at line 339 of file JacobianBasis.cpp.

Referenced by getJacobianGeneral().

Here is the caller graph for this function:

◆ getScaledJacobian() [1/2]

void JacobianBasis::getScaledJacobian ( const fullMatrix< double > &  nodesX,
const fullMatrix< double > &  nodesY,
const fullMatrix< double > &  nodesZ,
fullMatrix< double > &  jacobian 
) const
inline

Definition at line 169 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getScaledJacobian() [2/2]

void JacobianBasis::getScaledJacobian ( const fullMatrix< double > &  nodesXYZ,
fullVector< double > &  jacobian 
) const
inline

Definition at line 162 of file JacobianBasis.h.

Referenced by MElement::scaledJacRange().

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

◆ getScaledJacobianFast()

void JacobianBasis::getScaledJacobianFast ( const fullMatrix< double > &  nodesXYZ,
fullVector< double > &  jacobian,
const fullMatrix< double > *  normals = nullptr 
) const
inline

Definition at line 188 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getSignedIdealJacAndGradients()

void JacobianBasis::getSignedIdealJacAndGradients ( const fullMatrix< double > &  nodesXYZ,
const fullMatrix< double > &  normals,
fullMatrix< double > &  JDJ 
) const
inline

Definition at line 111 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getSignedIdealJacAndGradientsGeneral()

void JacobianBasis::getSignedIdealJacAndGradientsGeneral ( int  nSamplingPnts,
const fullMatrix< double > &  dSMat_dX,
const fullMatrix< double > &  dSMat_dY,
const fullMatrix< double > &  dSMat_dZ,
const fullMatrix< double > &  nodesXYZ,
const fullMatrix< double > &  normals,
fullMatrix< double > &  JDJ 
) const
private

Definition at line 748 of file JacobianBasis.cpp.

Here is the call graph for this function:

◆ getSignedIdealJacobian() [1/2]

void JacobianBasis::getSignedIdealJacobian ( const fullMatrix< double > &  nodesX,
const fullMatrix< double > &  nodesY,
const fullMatrix< double > &  nodesZ,
fullMatrix< double > &  jacobian,
const fullMatrix< double > *  normals = nullptr 
) const
inline

Definition at line 152 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getSignedIdealJacobian() [2/2]

void JacobianBasis::getSignedIdealJacobian ( const fullMatrix< double > &  nodesXYZ,
fullVector< double > &  jacobian,
const fullMatrix< double > *  normals = nullptr 
) const
inline

Definition at line 143 of file JacobianBasis.h.

Referenced by MElement::idealJacRange(), jacobianBasedQuality::minICNMeasure(), and jacobianBasedQuality::sampleICNMeasure().

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

◆ getSignedJacAndGradients()

void JacobianBasis::getSignedJacAndGradients ( const fullMatrix< double > &  nodesXYZ,
const fullMatrix< double > &  normals,
fullMatrix< double > &  JDJ 
) const
inline

Definition at line 95 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getSignedJacAndGradientsFast()

void JacobianBasis::getSignedJacAndGradientsFast ( const fullMatrix< double > &  nodesXYZ,
const fullMatrix< double > &  normals,
fullMatrix< double > &  JDJ 
) const
inline

Definition at line 103 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getSignedJacAndGradientsGeneral()

void JacobianBasis::getSignedJacAndGradientsGeneral ( int  nSamplingPnts,
const fullMatrix< double > &  dSMat_dX,
const fullMatrix< double > &  dSMat_dY,
const fullMatrix< double > &  dSMat_dZ,
const fullMatrix< double > &  nodesXYZ,
const fullMatrix< double > &  normals,
fullMatrix< double > &  JDJ 
) const
private

Definition at line 694 of file JacobianBasis.cpp.

Referenced by getSignedIdealJacAndGradients(), getSignedIdealJacAndGradientsGeneral(), getSignedJacAndGradients(), and getSignedJacAndGradientsFast().

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

◆ getSignedJacobian() [1/2]

void JacobianBasis::getSignedJacobian ( const fullMatrix< double > &  nodesX,
const fullMatrix< double > &  nodesY,
const fullMatrix< double > &  nodesZ,
fullMatrix< double > &  jacobian,
const fullMatrix< double > *  normals = nullptr 
) const
inline

Definition at line 132 of file JacobianBasis.h.

Here is the call graph for this function:

◆ getSignedJacobian() [2/2]

void JacobianBasis::getSignedJacobian ( const fullMatrix< double > &  nodesXYZ,
fullVector< double > &  jacobian,
const fullMatrix< double > *  normals = nullptr 
) const
inline

◆ getSignedJacobianFast()

void JacobianBasis::getSignedJacobianFast ( const fullMatrix< double > &  nodesXYZ,
fullVector< double > &  jacobian,
const fullMatrix< double > *  normals = nullptr 
) const
inline

Definition at line 179 of file JacobianBasis.h.

Here is the call graph for this function:

◆ jacobianMatrixSpace()

FuncSpaceData JacobianBasis::jacobianMatrixSpace ( int  type,
int  order 
)
static

Definition at line 840 of file JacobianBasis.cpp.

Here is the call graph for this function:

◆ jacobianOrder() [1/2]

int JacobianBasis::jacobianOrder ( int  parentType,
int  order 
)
static

Definition at line 820 of file JacobianBasis.cpp.

Here is the call graph for this function:

◆ jacobianOrder() [2/2]

int JacobianBasis::jacobianOrder ( int  tag)
static

Definition at line 813 of file JacobianBasis.cpp.

Referenced by BasisFactory::getJacobianBasis(), MElement::getJacobianFuncSpaceData(), and JacobianBasis().

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

◆ primJac2Jac()

void JacobianBasis::primJac2Jac ( const fullVector< double > &  primJac,
fullVector< double > &  jac 
) const
inline

Definition at line 197 of file JacobianBasis.h.

Here is the call graph for this function:

Member Data Documentation

◆ _data

const FuncSpaceData JacobianBasis::_data
private

Definition at line 64 of file JacobianBasis.h.

Referenced by getFuncSpaceData(), and getJacOrder().

◆ _dim

const int JacobianBasis::_dim
private

Definition at line 65 of file JacobianBasis.h.

Referenced by getJacobianGeneral(), and getSignedJacAndGradientsGeneral().

◆ _elementTag

const int JacobianBasis::_elementTag
private

Definition at line 63 of file JacobianBasis.h.

Referenced by JacobianBasis().

◆ _gradBasis

◆ dFastShapeMat_dX

fullMatrix<double> JacobianBasis::dFastShapeMat_dX
private

◆ dFastShapeMat_dY

fullMatrix<double> JacobianBasis::dFastShapeMat_dY
private

◆ dFastShapeMat_dZ

fullMatrix<double> JacobianBasis::dFastShapeMat_dZ
private

◆ dPrimBaryIdealShape_dX

fullVector<double> JacobianBasis::dPrimBaryIdealShape_dX
private

Definition at line 68 of file JacobianBasis.h.

Referenced by getPrimJac3D(), getPrimNormal2D(), and JacobianBasis().

◆ dPrimBaryIdealShape_dY

fullVector<double> JacobianBasis::dPrimBaryIdealShape_dY
private

Definition at line 68 of file JacobianBasis.h.

Referenced by getPrimJac3D(), getPrimNormal2D(), and JacobianBasis().

◆ dPrimBaryIdealShape_dZ

fullVector<double> JacobianBasis::dPrimBaryIdealShape_dZ
private

Definition at line 69 of file JacobianBasis.h.

Referenced by getPrimJac3D(), and JacobianBasis().

◆ dPrimBaryShape_dX

fullVector<double> JacobianBasis::dPrimBaryShape_dX
private

Definition at line 67 of file JacobianBasis.h.

Referenced by getPrimJac3D(), getPrimNormal2D(), getPrimNormals1D(), and JacobianBasis().

◆ dPrimBaryShape_dY

fullVector<double> JacobianBasis::dPrimBaryShape_dY
private

Definition at line 67 of file JacobianBasis.h.

Referenced by getPrimJac3D(), getPrimNormal2D(), and JacobianBasis().

◆ dPrimBaryShape_dZ

fullVector<double> JacobianBasis::dPrimBaryShape_dZ
private

Definition at line 67 of file JacobianBasis.h.

Referenced by getPrimJac3D(), and JacobianBasis().

◆ matrixPrimJac2Jac

fullMatrix<double> JacobianBasis::matrixPrimJac2Jac
private

Definition at line 71 of file JacobianBasis.h.

Referenced by JacobianBasis(), and primJac2Jac().

◆ numMapNodes

int JacobianBasis::numMapNodes
private

◆ numPrimMapNodes

int JacobianBasis::numPrimMapNodes
private

◆ numPrimSamplingPnts

int JacobianBasis::numPrimSamplingPnts
private

Definition at line 72 of file JacobianBasis.h.

Referenced by getNumPrimSamplingPnts(), and JacobianBasis().

◆ numSamplingPnts

◆ numSamplingPntsFast

int JacobianBasis::numSamplingPntsFast
private

The documentation for this class was generated from the following files: