gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
50 std::map<MVertex *, double>
vals;
51 std::map<MVertex *, SVector3>
grads;
101 const std::vector<double> ¶meters);
114 double &size,
double x = 0.0,
double y = 0.0,
117 double &size,
double x = 0.0,
double y = 0.0,
120 double &size,
double x = 0.0,
double y = 0.0,
123 double &size,
double x = 0.0,
double y = 0.0,
126 SMetric3 &metric,
double &size,
double x = 0.0,
127 double y = 0.0,
double z = 0.0);
135 virtual const char *
getName() {
return "metricField"; }
138 return "Anisotropic size field based on hessian of a given function";
143 virtual double operator()(
double x,
double y,
double z,
std::map< int, simpleFunction< double > * > setOfFcts
virtual bool isotropic() const
std::map< int, MVertex * > _vertexMap
@ ISOTROPIC_LINEARINTERP_H
virtual std::string getDescription()
@ EIGENDIRECTIONS_LINEARINTERP_H
void exportInfo(const char *fileendname)
std::map< int, nodalField > setOfSizes
meshMetric::MetricComputationTechnique _technique
std::map< int, nodalMetricTensor > setOfMetrics
void computeMetricEigenDir(MVertex *ver, SMetric3 &hessian, SMetric3 &metric, double &size, double x=0.0, double y=0.0, double z=0.0)
std::map< int, std::vector< double > > setOfParameters
std::map< MVertex *, std::vector< MElement * >, MVertexPtrLessThan > v2t_cont
nodalMetricTensor _nodalMetrics
void computeMetricLevelSet(MVertex *ver, SMetric3 &hessian, SMetric3 &metric, double &size, double x=0.0, double y=0.0, double z=0.0)
simpleFunction< double > * _fct
MetricComputationTechnique
void computeMetricIsoLinInterp(MVertex *ver, SMetric3 &hessian, SMetric3 &metric, double &size, double x=0.0, double y=0.0, double z=0.0)
void computeMetricFrey(MVertex *ver, SMetric3 &hessian, SMetric3 &metric, double &size, double x=0.0, double y=0.0, double z=0.0)
void scaleMetric(int nbElementsTarget, nodalMetricTensor &nmt)
std::vector< MElement * > _elements
meshMetric(std::vector< MElement * > elements)
std::map< MVertex *, SMetric3 > nodalMetricTensor
void computeMetric(int metricNumber)
std::map< int, bool > setOfRecomputeBoolean
std::map< MVertex *, SMetric3 > hessians
void computeMetricHessian(MVertex *ver, SMetric3 &hessian, SMetric3 &metric, double &size, double x=0.0, double y=0.0, double z=0.0)
SVector3 getGradient(MVertex *v)
std::map< MVertex *, double > nodalField
double getLaplacian(MVertex *v)
SMetric3 metricAtVertex(MVertex *v)
virtual double operator()(double x, double y, double z, GEntity *ge=nullptr)
std::map< int, int > setOfTechniques
virtual const char * getName()
std::map< MVertex *, SVector3 > grads
void addMetric(int technique, simpleFunction< double > *fct, const std::vector< double > ¶meters)
std::map< MVertex *, double > vals