gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
Generator.cpp File Reference
#include <stack>
#include <stdexcept>
#include <stdlib.h>
#include "BackgroundMesh.h"
#include "BoundaryLayers.h"
#include "Context.h"
#include "ExtrudeParams.h"
#include "Field.h"
#include "GModel.h"
#include "Generator.h"
#include "GmshConfig.h"
#include "GmshMessage.h"
#include "HighOrder.h"
#include "MHexahedron.h"
#include "MLine.h"
#include "MPoint.h"
#include "MPrism.h"
#include "MPyramid.h"
#include "MQuadrangle.h"
#include "MTetrahedron.h"
#include "MTriangle.h"
#include "Numeric.h"
#include "OS.h"
#include "Options.h"
#include "meshGEdge.h"
#include "meshGFace.h"
#include "meshGFaceBDS.h"
#include "meshGFaceBipartiteLabelling.h"
#include "meshGFaceOptimize.h"
#include "meshGRegion.h"
#include "meshGRegionLocalMeshMod.h"
#include "meshQuadQuasiStructured.h"
#include "meshRefine.h"
#include "meshRelocateVertex.h"
#include "sizeField.h"
Include dependency graph for Generator.cpp:

Go to the source code of this file.

Classes

class  EmbeddedCompatibilityTest
 

Functions

template<class T >
static void GetQualityMeasure (std::vector< T * > &ele, double &gamma, double &gammaMin, double &gammaMax, double &minSICN, double &minSICNMin, double &minSICNMax, double &minSIGE, double &minSIGEMin, double &minSIGEMax, double quality[3][100])
 
void GetStatistics (double stat[50], double quality[3][100], bool visibleOnly)
 
static bool TooManyElements (GModel *m, int dim)
 
static void Mesh0D (GModel *m)
 
static void Mesh1D (GModel *m)
 
static void PrintMesh2dStatistics (GModel *m)
 
static void Mesh2D (GModel *m)
 
static void FindConnectedRegions (const std::vector< GRegion * > &del, std::vector< std::vector< GRegion * >> &connected)
 
void buildUniqueFaces (GRegion *gr, std::set< MFace, MFaceLessThan > &bnd)
 
bool MakeMeshConformal (GModel *gm, int howto)
 
static void Mesh3D (GModel *m)
 
void OptimizeMesh (GModel *m, const std::string &how, bool force, int niter)
 
void AdaptMesh (GModel *m)
 
void RecombineMesh (GModel *m)
 
static SPoint3 transform (MVertex *vsource, const std::vector< double > &tfo)
 
static void relocateSlaveVertices (GFace *slave, std::map< MVertex *, MVertex * > &vertS2M, bool useClosestPoint)
 
static void relocateSlaveVertices (GEdge *slave, std::map< MVertex *, MVertex * > &vertS2M, bool useClosestPoint)
 
static void relocateSlaveVertices (std::vector< GEntity * > &entities, bool useClosestPoint)
 
void FixPeriodicMesh (GModel *m)
 
void GenerateMesh (GModel *m, int ask)
 

Function Documentation

◆ AdaptMesh()

void AdaptMesh ( GModel m)

Definition at line 1303 of file Generator.cpp.

Referenced by GModel::adaptMesh().

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

◆ buildUniqueFaces()

void buildUniqueFaces ( GRegion gr,
std::set< MFace, MFaceLessThan > &  bnd 
)

Definition at line 708 of file Generator.cpp.

Referenced by MakeMeshConformal().

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

◆ FindConnectedRegions()

static void FindConnectedRegions ( const std::vector< GRegion * > &  del,
std::vector< std::vector< GRegion * >> &  connected 
)
static

Definition at line 649 of file Generator.cpp.

Referenced by Mesh3D().

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

◆ FixPeriodicMesh()

void FixPeriodicMesh ( GModel m)

Definition at line 1455 of file Generator.cpp.

Referenced by GenerateMesh(), GModel::optimizeMesh(), RefineMesh(), and GModel::setOrderN().

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

◆ GenerateMesh()

void GenerateMesh ( GModel m,
int  ask 
)

Definition at line 1649 of file Generator.cpp.

Referenced by GModel::adaptMesh(), and GModel::mesh().

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

◆ GetQualityMeasure()

template<class T >
static void GetQualityMeasure ( std::vector< T * > &  ele,
double &  gamma,
double &  gammaMin,
double &  gammaMax,
double &  minSICN,
double &  minSICNMin,
double &  minSICNMax,
double &  minSIGE,
double &  minSIGEMin,
double &  minSIGEMax,
double  quality[3][100] 
)
static

Definition at line 160 of file Generator.cpp.

Referenced by GetStatistics().

Here is the caller graph for this function:

◆ GetStatistics()

void GetStatistics ( double  stat[50],
double  quality[3][100],
bool  visibleOnly 
)

Definition at line 190 of file Generator.cpp.

Here is the call graph for this function:

◆ MakeMeshConformal()

bool MakeMeshConformal ( GModel gm,
int  howto 
)

Definition at line 725 of file Generator.cpp.

Here is the call graph for this function:

◆ Mesh0D()

static void Mesh0D ( GModel m)
static

Definition at line 341 of file Generator.cpp.

Referenced by GenerateMesh().

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

◆ Mesh1D()

static void Mesh1D ( GModel m)
static

Definition at line 368 of file Generator.cpp.

Referenced by GenerateMesh().

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

◆ Mesh2D()

static void Mesh2D ( GModel m)
static

Definition at line 521 of file Generator.cpp.

Referenced by GenerateMesh().

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

◆ Mesh3D()

static void Mesh3D ( GModel m)
static

Definition at line 924 of file Generator.cpp.

Referenced by GenerateMesh().

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

◆ OptimizeMesh()

void OptimizeMesh ( GModel m,
const std::string &  how,
bool  force,
int  niter 
)

Definition at line 1101 of file Generator.cpp.

Referenced by GenerateMesh(), Mesh2D(), GModel::optimizeMesh(), and RefineMesh().

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

◆ PrintMesh2dStatistics()

static void PrintMesh2dStatistics ( GModel m)
static

Definition at line 458 of file Generator.cpp.

Referenced by Mesh2D().

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

◆ RecombineMesh()

void RecombineMesh ( GModel m)

Definition at line 1318 of file Generator.cpp.

Referenced by GModel::recombineMesh().

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

◆ relocateSlaveVertices() [1/3]

static void relocateSlaveVertices ( GEdge slave,
std::map< MVertex *, MVertex * > &  vertS2M,
bool  useClosestPoint 
)
static

Definition at line 1388 of file Generator.cpp.

Here is the call graph for this function:

◆ relocateSlaveVertices() [2/3]

static void relocateSlaveVertices ( GFace slave,
std::map< MVertex *, MVertex * > &  vertS2M,
bool  useClosestPoint 
)
static

Definition at line 1359 of file Generator.cpp.

Referenced by FixPeriodicMesh(), and relocateSlaveVertices().

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

◆ relocateSlaveVertices() [3/3]

static void relocateSlaveVertices ( std::vector< GEntity * > &  entities,
bool  useClosestPoint 
)
static

Definition at line 1414 of file Generator.cpp.

Here is the call graph for this function:

◆ TooManyElements()

static bool TooManyElements ( GModel m,
int  dim 
)
static

Definition at line 321 of file Generator.cpp.

Referenced by Mesh1D(), Mesh2D(), and Mesh3D().

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

◆ transform()

static SPoint3 transform ( MVertex vsource,
const std::vector< double > &  tfo 
)
static

Definition at line 1347 of file Generator.cpp.

Referenced by relocateSlaveVertices(), and writeMSH4Entities().

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