gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
meshRelocateVertex.cpp File Reference
#include "GModel.h"
#include "GRegion.h"
#include "MLine.h"
#include "MTriangle.h"
#include "MQuadrangle.h"
#include "MTetrahedron.h"
#include "MPyramid.h"
#include "MPrism.h"
#include "MHexahedron.h"
#include "Context.h"
#include "meshGFaceOptimize.h"
#include "qualityMeasures.h"
Include dependency graph for meshRelocateVertex.cpp:

Go to the source code of this file.

Functions

static double objective_function (double xi, MVertex *ver, double xTarget, double yTarget, double zTarget, const std::vector< MElement * > &lt, bool onlytet=false)
 
static double objective_function (double xi, MVertex *ver, GFace *gf, SPoint2 &p1, SPoint2 &p2, const std::vector< MElement * > &lt)
 
static double objective_function (double const xi, MVertex *const ver, GFace *const gf, SPoint3 &p1, SPoint3 &p2, const std::vector< MElement * > &lt)
 
static bool Stopping_Rule (double const x0, double const x1, double const tol)
 
static double Maximize_Quality_Golden_Section (MVertex *ver, double xTarget, double yTarget, double zTarget, const std::vector< MElement * > &lt, double const tol, double &q)
 
static double Maximize_Quality_Golden_Section (MVertex *ver, GFace *gf, SPoint2 &p1, SPoint2 &p2, const std::vector< MElement * > &lt, double tol, double &worst)
 
static double Maximize_Quality_Golden_Section (MVertex *ver, GFace *gf, SPoint3 &p1, SPoint3 &p2, const std::vector< MElement * > &lt, double tol, double &worst)
 
static void _relocateVertexOfPyramid (MVertex *ver, const std::vector< MElement * > &lt, double relax)
 
static void _relocateVertexGolden (MVertex *ver, const std::vector< MElement * > &lt, double relax, double tol)
 
static double _relocateVertex2 (GFace *gf, MVertex *ver, const std::vector< MElement * > &lt, double tol)
 
static double _relocateVertex (GFace *gf, MVertex *ver, const std::vector< MElement * > &lt, double tol)
 
void getAllBoundaryLayerVertices (GFace *gf, std::set< MVertex * > &vs)
 
void RelocateVertices (GFace *gf, int niter, double tol)
 
void RelocateVertices (GRegion *region, int niter, double tol)
 
void RelocateVerticesOfPyramids (GRegion *region, int niter, double tol)
 
void RelocateVerticesOfPyramids (std::vector< GRegion * > &regions, int niter, double tol)
 
void RelocateVertices (std::vector< GRegion * > &regions, int niter, double tol)
 

Function Documentation

◆ _relocateVertex()

static double _relocateVertex ( GFace gf,
MVertex ver,
const std::vector< MElement * > &  lt,
double  tol 
)
static

Definition at line 366 of file meshRelocateVertex.cpp.

Referenced by RelocateVertices().

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

◆ _relocateVertex2()

static double _relocateVertex2 ( GFace gf,
MVertex ver,
const std::vector< MElement * > &  lt,
double  tol 
)
static

Definition at line 339 of file meshRelocateVertex.cpp.

Referenced by _relocateVertex().

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

◆ _relocateVertexGolden()

static void _relocateVertexGolden ( MVertex ver,
const std::vector< MElement * > &  lt,
double  relax,
double  tol 
)
static

Definition at line 300 of file meshRelocateVertex.cpp.

Referenced by RelocateVertices(), and RelocateVerticesOfPyramids().

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

◆ _relocateVertexOfPyramid()

static void _relocateVertexOfPyramid ( MVertex ver,
const std::vector< MElement * > &  lt,
double  relax 
)
static

Definition at line 247 of file meshRelocateVertex.cpp.

Referenced by RelocateVerticesOfPyramids().

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

◆ getAllBoundaryLayerVertices()

void getAllBoundaryLayerVertices ( GFace gf,
std::set< MVertex * > &  vs 
)

Definition at line 967 of file meshGFaceOptimize.cpp.

Referenced by laplaceSmoothing(), and RelocateVertices().

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

◆ Maximize_Quality_Golden_Section() [1/3]

static double Maximize_Quality_Golden_Section ( MVertex ver,
double  xTarget,
double  yTarget,
double  zTarget,
const std::vector< MElement * > &  lt,
double const  tol,
double &  q 
)
static

Definition at line 112 of file meshRelocateVertex.cpp.

Referenced by _relocateVertex(), _relocateVertex2(), and _relocateVertexGolden().

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

◆ Maximize_Quality_Golden_Section() [2/3]

static double Maximize_Quality_Golden_Section ( MVertex ver,
GFace gf,
SPoint2 p1,
SPoint2 p2,
const std::vector< MElement * > &  lt,
double  tol,
double &  worst 
)
static

Definition at line 153 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ Maximize_Quality_Golden_Section() [3/3]

static double Maximize_Quality_Golden_Section ( MVertex ver,
GFace gf,
SPoint3 p1,
SPoint3 p2,
const std::vector< MElement * > &  lt,
double  tol,
double &  worst 
)
static

Definition at line 200 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ objective_function() [1/3]

static double objective_function ( double const  xi,
MVertex *const  ver,
GFace *const  gf,
SPoint3 p1,
SPoint3 p2,
const std::vector< MElement * > &  lt 
)
static

Definition at line 79 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ objective_function() [2/3]

static double objective_function ( double  xi,
MVertex ver,
double  xTarget,
double  yTarget,
double  zTarget,
const std::vector< MElement * > &  lt,
bool  onlytet = false 
)
static

Definition at line 19 of file meshRelocateVertex.cpp.

Referenced by _relocateVertexGolden(), _relocateVertexOfPyramid(), and Maximize_Quality_Golden_Section().

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

◆ objective_function() [3/3]

static double objective_function ( double  xi,
MVertex ver,
GFace gf,
SPoint2 p1,
SPoint2 p2,
const std::vector< MElement * > &  lt 
)
static

Definition at line 54 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ RelocateVertices() [1/3]

void RelocateVertices ( GFace gf,
int  niter,
double  tol 
)

Definition at line 410 of file meshRelocateVertex.cpp.

Referenced by Mesh3D(), OptimizeMesh(), recombineIntoQuads(), and RelocateVertices().

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

◆ RelocateVertices() [2/3]

void RelocateVertices ( GRegion region,
int  niter,
double  tol 
)

Definition at line 432 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ RelocateVertices() [3/3]

void RelocateVertices ( std::vector< GRegion * > &  regions,
int  niter,
double  tol 
)

Definition at line 525 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ RelocateVerticesOfPyramids() [1/2]

void RelocateVerticesOfPyramids ( GRegion region,
int  niter,
double  tol 
)

Definition at line 451 of file meshRelocateVertex.cpp.

Referenced by MeshDelaunayVolume(), and RelocateVerticesOfPyramids().

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

◆ RelocateVerticesOfPyramids() [2/2]

void RelocateVerticesOfPyramids ( std::vector< GRegion * > &  regions,
int  niter,
double  tol 
)

Definition at line 517 of file meshRelocateVertex.cpp.

Here is the call graph for this function:

◆ Stopping_Rule()

static bool Stopping_Rule ( double const  x0,
double const  x1,
double const  tol 
)
static

Definition at line 107 of file meshRelocateVertex.cpp.

Referenced by Maximize_Quality_Golden_Section().

Here is the caller graph for this function: