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

#include <HierarchicalBasisH1Brick.h>

Inheritance diagram for HierarchicalBasisH1Brick:
Collaboration diagram for HierarchicalBasisH1Brick:

Public Member Functions

 HierarchicalBasisH1Brick (int order)
 
virtual ~HierarchicalBasisH1Brick ()
 
virtual unsigned int getNumberOfOrientations () const
 
virtual void generateBasis (double const &u, double const &v, double const &w, std::vector< double > &vertexBasis, std::vector< double > &edgeBasis, std::vector< double > &faceBasis, std::vector< double > &bubbleBasis)
 
virtual void generateBasis (double const &u, double const &v, double const &w, std::vector< std::vector< double > > &vertexBasis, std::vector< std::vector< double > > &edgeBasis, std::vector< std::vector< double > > &faceBasis, std::vector< std::vector< double > > &bubbleBasis, std::string typeFunction="GradH1Legendre")
 
virtual void orientEdge (int const &flagOrientation, int const &edgeNumber, std::vector< double > &edgeFunctions, const std::vector< double > &eTablePositiveFlag, const std::vector< double > &eTableNegativeFlag)
 
virtual void orientEdge (int const &flagOrientation, int const &edgeNumber, std::vector< std::vector< double > > &edgeBasis, const std::vector< std::vector< double > > &eTablePositiveFlag, const std::vector< std::vector< double > > &eTableNegativeFlag)
 
virtual void orientEdgeFunctionsForNegativeFlag (std::vector< double > &edgeFunctions)
 
virtual void orientEdgeFunctionsForNegativeFlag (std::vector< std::vector< double > > &edgeFunctions)
 
virtual void orientFace (int const &flag1, int const &flag2, int const &flag3, int const &faceNumber, const std::vector< double > &quadFaceFunctionsAllOrientation, const std::vector< double > &triFaceFunctionsAllOrientation, std::vector< double > &fTableCopy)
 
virtual void orientFace (int const &flag1, int const &flag2, int const &flag3, int const &faceNumber, const std::vector< std::vector< double > > &quadFaceFunctionsAllOrientation, const std::vector< std::vector< double > > &triFaceFunctionsAllOrientation, std::vector< std::vector< double > > &fTableCopy)
 
virtual void getKeysInfo (std::vector< int > &functionTypeInfo, std::vector< int > &orderInfo)
 
- Public Member Functions inherited from HierarchicalBasisH1
virtual ~HierarchicalBasisH1 ()=0
 
virtual void addAllOrientedFaceFunctions (double const &u, double const &v, double const &w, const std::vector< double > &faceFunctions, std::vector< double > &quadFaceFunctionsAllOrientations, std::vector< double > &triFaceFunctionsAllOrientations)
 
virtual void addAllOrientedFaceFunctions (double const &u, double const &v, double const &w, const std::vector< std::vector< double > > &faceFunctions, std::vector< std::vector< double > > &quadFaceFunctionsAllOrientations, std::vector< std::vector< double > > &triFaceFunctionsAllOrientations, std::string typeFunction="GradH1Legendre")
 
- Public Member Functions inherited from HierarchicalBasis
virtual ~HierarchicalBasis ()=0
 
int getnVertexFunction () const
 
int getnEdgeFunction () const
 
int getnTriFaceFunction () const
 
int getnQuadFaceFunction () const
 
int getnBubbleFunction () const
 
int getNumTriFace () const
 
int getNumQuadFace () const
 
int getNumEdge () const
 
int numberOrientationQuadFace (int const &flag1, int const &flag2, int const &flag3)
 
int numberOrientationTriFace (int const &flag1, int const &flag2)
 

Private Member Functions

void _someProduct (double const &u, double const &v, double const &w, std::vector< double > &product, std::vector< double > &lambda)
 
void _someProductGrad (double const &u, double const &v, double const &w, std::vector< double > &product, std::vector< std::vector< double > > &gradientProduct, std::vector< double > &lambda, std::vector< std::vector< double > > &gradientLambda)
 
void generateGradientBasis (double const &u, double const &v, double const &w, std::vector< std::vector< double > > &gradientVertex, std::vector< std::vector< double > > &gradientEdge, std::vector< std::vector< double > > &gradientFace, std::vector< std::vector< double > > &gradientBubble)
 
virtual void orientOneFace (double const &u, double const &v, double const &w, int const &flag1, int const &flag2, int const &flag3, int const &faceNumber, std::vector< double > &faceBasis)
 
virtual void orientOneFace (double const &u, double const &v, double const &w, int const &flag1, int const &flag2, int const &flag3, int const &faceNumber, std::vector< std::vector< double > > &faceFunctions, std::string typeFunction="GradH1Legendre")
 

Static Private Member Functions

static double _affineCoordinate (const int &j, const double &u, const double &v, const double &w)
 

Private Attributes

int _pb1
 
int _pb2
 
int _pb3
 
int _pOrderEdge [12]
 
int _pOrderFace1 [6]
 
int _pOrderFace2 [6]
 

Additional Inherited Members

- Protected Attributes inherited from HierarchicalBasis
int _nvertex
 
int _nedge
 
int _nfaceQuad
 
int _nfaceTri
 
int _nVertexFunction
 
int _nEdgeFunction
 
int _nQuadFaceFunction
 
int _nTriFaceFunction
 
int _nBubbleFunction
 

Detailed Description

Definition at line 45 of file HierarchicalBasisH1Brick.h.

Constructor & Destructor Documentation

◆ HierarchicalBasisH1Brick()

HierarchicalBasisH1Brick::HierarchicalBasisH1Brick ( int  order)

Definition at line 15 of file HierarchicalBasisH1Brick.cpp.

◆ ~HierarchicalBasisH1Brick()

HierarchicalBasisH1Brick::~HierarchicalBasisH1Brick ( )
virtual

Definition at line 36 of file HierarchicalBasisH1Brick.cpp.

Member Function Documentation

◆ _affineCoordinate()

double HierarchicalBasisH1Brick::_affineCoordinate ( const int &  j,
const double &  u,
const double &  v,
const double &  w 
)
staticprivate

Definition at line 43 of file HierarchicalBasisH1Brick.cpp.

Referenced by _someProduct(), _someProductGrad(), and orientOneFace().

Here is the caller graph for this function:

◆ _someProduct()

void HierarchicalBasisH1Brick::_someProduct ( double const &  u,
double const &  v,
double const &  w,
std::vector< double > &  product,
std::vector< double > &  lambda 
)
inlineprivate

Definition at line 58 of file HierarchicalBasisH1Brick.cpp.

Referenced by generateBasis().

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

◆ _someProductGrad()

void HierarchicalBasisH1Brick::_someProductGrad ( double const &  u,
double const &  v,
double const &  w,
std::vector< double > &  product,
std::vector< std::vector< double > > &  gradientProduct,
std::vector< double > &  lambda,
std::vector< std::vector< double > > &  gradientLambda 
)
inlineprivate

Definition at line 198 of file HierarchicalBasisH1Brick.cpp.

Referenced by generateGradientBasis().

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

◆ generateBasis() [1/2]

void HierarchicalBasisH1Brick::generateBasis ( double const &  u,
double const &  v,
double const &  w,
std::vector< double > &  vertexBasis,
std::vector< double > &  edgeBasis,
std::vector< double > &  faceBasis,
std::vector< double > &  bubbleBasis 
)
virtual

Implements HierarchicalBasisH1.

Definition at line 83 of file HierarchicalBasisH1Brick.cpp.

Here is the call graph for this function:

◆ generateBasis() [2/2]

virtual void HierarchicalBasisH1Brick::generateBasis ( double const &  u,
double const &  v,
double const &  w,
std::vector< std::vector< double > > &  vertexBasis,
std::vector< std::vector< double > > &  edgeBasis,
std::vector< std::vector< double > > &  faceBasis,
std::vector< std::vector< double > > &  bubbleBasis,
std::string  typeFunction = "GradH1Legendre" 
)
inlinevirtual

Implements HierarchicalBasisH1.

Definition at line 59 of file HierarchicalBasisH1Brick.h.

Here is the call graph for this function:

◆ generateGradientBasis()

void HierarchicalBasisH1Brick::generateGradientBasis ( double const &  u,
double const &  v,
double const &  w,
std::vector< std::vector< double > > &  gradientVertex,
std::vector< std::vector< double > > &  gradientEdge,
std::vector< std::vector< double > > &  gradientFace,
std::vector< std::vector< double > > &  gradientBubble 
)
private

Definition at line 255 of file HierarchicalBasisH1Brick.cpp.

Referenced by generateBasis().

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

◆ getKeysInfo()

void HierarchicalBasisH1Brick::getKeysInfo ( std::vector< int > &  functionTypeInfo,
std::vector< int > &  orderInfo 
)
virtual

Implements HierarchicalBasisH1.

Definition at line 762 of file HierarchicalBasisH1Brick.cpp.

◆ getNumberOfOrientations()

unsigned int HierarchicalBasisH1Brick::getNumberOfOrientations ( ) const
virtual

Implements HierarchicalBasis.

Definition at line 38 of file HierarchicalBasisH1Brick.cpp.

◆ orientEdge() [1/2]

void HierarchicalBasisH1Brick::orientEdge ( int const &  flagOrientation,
int const &  edgeNumber,
std::vector< double > &  edgeFunctions,
const std::vector< double > &  eTablePositiveFlag,
const std::vector< double > &  eTableNegativeFlag 
)
virtual

Implements HierarchicalBasisH1.

Definition at line 430 of file HierarchicalBasisH1Brick.cpp.

◆ orientEdge() [2/2]

void HierarchicalBasisH1Brick::orientEdge ( int const &  flagOrientation,
int const &  edgeNumber,
std::vector< std::vector< double > > &  edgeBasis,
const std::vector< std::vector< double > > &  eTablePositiveFlag,
const std::vector< std::vector< double > > &  eTableNegativeFlag 
)
virtual

Implements HierarchicalBasisH1.

Definition at line 458 of file HierarchicalBasisH1Brick.cpp.

◆ orientEdgeFunctionsForNegativeFlag() [1/2]

void HierarchicalBasisH1Brick::orientEdgeFunctionsForNegativeFlag ( std::vector< double > &  edgeFunctions)
virtual

Implements HierarchicalBasisH1.

Definition at line 490 of file HierarchicalBasisH1Brick.cpp.

◆ orientEdgeFunctionsForNegativeFlag() [2/2]

void HierarchicalBasisH1Brick::orientEdgeFunctionsForNegativeFlag ( std::vector< std::vector< double > > &  edgeFunctions)
virtual

Implements HierarchicalBasisH1.

Definition at line 509 of file HierarchicalBasisH1Brick.cpp.

◆ orientFace() [1/2]

void HierarchicalBasisH1Brick::orientFace ( int const &  flag1,
int const &  flag2,
int const &  flag3,
int const &  faceNumber,
const std::vector< double > &  quadFaceFunctionsAllOrientation,
const std::vector< double > &  triFaceFunctionsAllOrientation,
std::vector< double > &  fTableCopy 
)
virtual

Implements HierarchicalBasisH1.

Definition at line 721 of file HierarchicalBasisH1Brick.cpp.

Here is the call graph for this function:

◆ orientFace() [2/2]

void HierarchicalBasisH1Brick::orientFace ( int const &  flag1,
int const &  flag2,
int const &  flag3,
int const &  faceNumber,
const std::vector< std::vector< double > > &  quadFaceFunctionsAllOrientation,
const std::vector< std::vector< double > > &  triFaceFunctionsAllOrientation,
std::vector< std::vector< double > > &  fTableCopy 
)
virtual

Implements HierarchicalBasisH1.

Definition at line 740 of file HierarchicalBasisH1Brick.cpp.

Here is the call graph for this function:

◆ orientOneFace() [1/2]

void HierarchicalBasisH1Brick::orientOneFace ( double const &  u,
double const &  v,
double const &  w,
int const &  flag1,
int const &  flag2,
int const &  flag3,
int const &  faceNumber,
std::vector< double > &  faceBasis 
)
privatevirtual

Implements HierarchicalBasisH1.

Definition at line 530 of file HierarchicalBasisH1Brick.cpp.

Here is the call graph for this function:

◆ orientOneFace() [2/2]

void HierarchicalBasisH1Brick::orientOneFace ( double const &  u,
double const &  v,
double const &  w,
int const &  flag1,
int const &  flag2,
int const &  flag3,
int const &  faceNumber,
std::vector< std::vector< double > > &  faceFunctions,
std::string  typeFunction = "GradH1Legendre" 
)
privatevirtual

Implements HierarchicalBasisH1.

Definition at line 612 of file HierarchicalBasisH1Brick.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _pb1

int HierarchicalBasisH1Brick::_pb1
private

◆ _pb2

int HierarchicalBasisH1Brick::_pb2
private

◆ _pb3

int HierarchicalBasisH1Brick::_pb3
private

◆ _pOrderEdge

int HierarchicalBasisH1Brick::_pOrderEdge[12]
private

◆ _pOrderFace1

int HierarchicalBasisH1Brick::_pOrderFace1[6]
private

◆ _pOrderFace2

int HierarchicalBasisH1Brick::_pOrderFace2[6]
private

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