CN101833789A - Discrete algorithm for tetrahedral mesh considering feature constraint - Google Patents

Discrete algorithm for tetrahedral mesh considering feature constraint Download PDF

Info

Publication number
CN101833789A
CN101833789A CN201010101786A CN201010101786A CN101833789A CN 101833789 A CN101833789 A CN 101833789A CN 201010101786 A CN201010101786 A CN 201010101786A CN 201010101786 A CN201010101786 A CN 201010101786A CN 101833789 A CN101833789 A CN 101833789A
Authority
CN
China
Prior art keywords
forward position
node
discrete
mesh
formation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201010101786A
Other languages
Chinese (zh)
Inventor
赵林林
周良辰
盛业华
郭飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Normal University
Original Assignee
Nanjing Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Normal University filed Critical Nanjing Normal University
Priority to CN201010101786A priority Critical patent/CN101833789A/en
Publication of CN101833789A publication Critical patent/CN101833789A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention relates to a discrete algorithm for a tetrahedral mesh considering feature constraint. The algorithm comprises the steps of: before dividing the mesh, performing feature constraint treatment firstly, considering the constrain face in the object as inner hole constraint with zero thickness, discretizing the constrain face by treatment method similar to hole constraint intotwo groups of triangular front edges overlapped in location but opposite in normal, and discretizing the constrain line to a plurality of sections according to the size control function, then generating the tetrahedronal unit by gradual propelling in the object based on the triangular front edges till the front edge arrays of the current and next layers are empty completely; dynamically maintaining the front edge arrays of the current and next layers when the front edges propel, and controlling the size of the tetrahedronal unit by using an area-independent method to generate the uniform mesh unit; adjusting the mesh topologies on both sides of the constrain face after discretizing the mesh, and finally carrying out topological optimization of mesh and Laplace geometry optimization.

Description

A kind of discrete algorithm for tetrahedral mesh of considering feature constraint
Technical field
The present invention relates to fields such as computer graphics, computational geometry, CAD/CAE, GIS, geomathematics, FEM (finite element) calculation, its objective is the three dimensional object surface model that to adopt triangular mesh to express, considering under the inner multiple constraint condition that subdivision is zero lap, no leak and big or small approximately equal, approach the tetrahedron element of positive tetrahedron.Be specifically related to that feature constraint processing, grid cell size Control, forward position advance that grid generates, contents such as the topological optimization of grid and geometry optimization.
Background technology
In recent years, Chinese scholars has been carried out a large amount of research to the finite element grid discrete method, has proposed such as effective grid discrete methods such as Delaunay method, grid method (limited four/Octree method), propelling wave-front methods.Wherein, the most complete application of the mathematical theory of Delaunay method is also the widest, its each point that requires to insert all will satisfy maximum circumsphere principle and minimum interior angle maximum principle, mainly contains the Bowyer-Watson algorithm of Bowyer, Watson proposition and two kinds of realizations of pointwise insertion that Lawson proposes.For Delaunay only to the effective problem of convex domain, P.L.George, Hang Si five equilibrium be you can well imagine out by the method for inserting Steiner node and local topology conversion and are realized that the limit of constraint Delaunay tetrahedral grid in discrete recover, all being based on disperses earlier afterwards adds the strategy of constraint, has reduced the discrete efficient of grid to a certain extent.
Thacker, Schneiders etc. have proposed at the comparatively effective grid method of simple region, promptly cover the target area with one group of grid, by operations such as adjusting, cut out, delete, decompose again that the target area is discrete, consistent grid subdivision problem for inner grid and border grid, Schroeder etc. are solved by introduce the Delaunay method in limited Octree method, but this method exists border and the second-rate problem of feature constraint place grid cell.
The at first discrete border for the treatment of discrete domain of the propelling wave-front method that Lohner and Lo propose is referred to as the forward position, begins to insert successively a node from the forward position and generates new unit, progressively inwardly advances from treating the discrete domain border, finishes until treating that discrete domain is all discrete.Introducing background grid such as Peraire come Control Node to generate, and Bonet and Lohner have proposed some useful data structure and algorithms at the characteristics that advance wave-front method, have improved the speed that grid generates.
In order to solve existing finite element tetrahedral grid discrete method lower deficiency of efficient when processing feature retrains, the tactful processing feature constraint that the present invention proposes a kind of " degeneration merger ", then based on advancing wave-front method, a kind of discrete algorithm for tetrahedral mesh-ConstraintTet method of considering feature constraint is proposed.
Summary of the invention
The present invention is intended to solve the tetrahedral grid dispersed problem of considering feature constraint, feature constraint is in the past handled to be mostly to adopt and is carried out the discrete strategy that carries out Constraints Processing again of grid earlier, when complex boundary, characteristic curve and characteristic face more for a long time, needing the more time of cost to carry out feature constraints such as limit recovery and face recovery handles, reduce the discrete efficient of grid, and easily produced second-rate unit.The present invention can avoid the discrete later stage of conventional mesh to carry out the deficiency of Constraints Processing separately, improved the efficient of Constraints Processing, near and the quality of the grid cell of assurance feature constraint, its objective is the three dimensional object surface model that to adopt triangular mesh to express, considering under the inner multiple constraint condition that subdivision is zero lap, no leak and big or small approximately equal, approach the tetrahedron element of positive tetrahedron.
Technical scheme of the present invention is: a kind of discrete algorithm for tetrahedral mesh of considering feature constraint, this algorithm comprise following five parts:
Step 1: read in and treat discrete three-dimensional entity model, comprise feature constraint information such as outer boundary and inner point, line, surface, hole;
Step 2:, carry out Constraints Processing and forward position and prepare the formation of initialization forward position according to the size Control function;
Step 3: the forward position iteration advances, and it is discrete to finish initial mesh;
Step 4: the topology of eliminating containment surfaces both sides grid cell is redundant;
Step 5: carry out network topology optimization and geometry optimization, improve the quality of grid cell.
Described topological optimization is meant and do not change node location, by adjusting mesh topology, promptly adjusts face or deletion of node improves mesh quality.Described grid geometry optimization can adopt Laplce to optimize, and it is to improve the algorithm of mesh quality by adjusting the grid node position that Laplce optimizes, and it also is a kind of local optimization methods that Laplce optimizes.Usually, Laplce optimizes mobile node to polyhedral center that its adjacent node constituted.
Described step 1 specifically comprises: the three-dimensional entity model that will be stored in the external file reads in internal memory, comprise entity outer boundary and inner point, line, surface, hole feature constraint, its data organization mode in calculator memory is the internal storage data structure that realizes by with computer programming language, organization and management spatial entities object is described geometric relationship and topological adjacency information between point, line, surface, the unit.
Described step 2 specifically comprises: after reading in spatial object three-dimensional entity model data, adopt the strategy of " degeneration merger " to carry out Constraints Processing and forward position preparation, promptly, at first containment surfaces is considered as the hole, inside of zero thickness, merger is that the hole constraint of entity inside is handled, show as two groups of location overlaps but the opposite triangle forward position of normal after containment surfaces is discrete, the forward position way ray examination after the Constraints Processing is all pointed to entity inside to guarantee all forward position normals.Simultaneously, be that the constrained line of L is divided into the line segment Int[L/l+1 that length is l according to the requirement of size Control function with length] section, obligatory point is not made change.The net result that prepare in Constraints Processing and forward position is triangle forward position, point and the line segments of a series of normals towards entity inside, all forward positions have constituted the formation of initial forward position, and obligatory point and line segment join the grid data structure and constitute the initially discrete original state of grid.
Described forward position is meant the reference field when carrying out grid generates, and promptly normal is towards the tri patch for the treatment of discrete entities inside.The forward position is divided into enlivens forward position and the non-forward position of enlivening, and enlivens the forward position and is meant the forward position that does not advance as yet of using, and the non-forward position of enlivening is meant and advances and the forward position of generation unit.Arrange from small to large according to area in each layer forward position, constitutes the forward position formation, the current forward position formation of Dynamic Maintenance Ω in the grid departure process CWith following one deck forward position formation Ω N
Described size is meant the size of tetrahedral grid unit, shows as the vertical range of new node to the forward position.The size Control function is meant and is used for determining that forward position or node place generate the function of tetrahedral grid unit size, can be a constant, also can be the continuous function that is defined in global field.The strategy of described " degeneration merger " is meant when carrying out the feature constraint processing, containment surfaces is considered as the inner hole of zero thickness, all merger is the hole constraint of entity inside, with the discrete triangle forward position of the disposal route of similar outer boundary, be embodied in location overlap but one group of opposite tri patch of normal for a series of normals sensing entities inside.
Described step 3 specifically comprises: from current forward position formation Ω CIn each forward position advance to inside, calculate new node or use and existed node to constitute tetrahedron element, upgrade the formation of current forward position and one deck forward position formation Ω down simultaneously NWhen the formation of current forward position is empty, activate one deck forward position formation down, until Ω CAnd Ω NBe sky, it is discrete then to finish initial mesh.
The process that described forward position advances is: triangle △ ABC is an example with the forward position, at first determine its unit size h according to the requirement of size Control function, the definite of unit size can be global field defining constant size value, also can be by the method for " zone is autonomous ", determine by the forward position size that current forward position connected, suppose that all forward position quantity that current forward position connects are n, the forward position size is respectively h i(1≤i≤n), then new unit is of a size of:
Figure GSA00000017287000031
After having determined new unit size, with last 1 C of △ ABC 0For reference point calculates ideal point N along normal direction; Reference point C 0Definite need decide on the quality coefficient q of △ ABC, leg-of-mutton quality coefficient q is defined as:
q=2r/R
Wherein, r and R are respectively triangle incircle and external radius of a circle.When q>0.5, C 0Be leg-of-mutton center of gravity, otherwise C 0Mid point for the long limit of triangle.According to reference point C 0, unit size h and forward position normal vector
Figure GSA00000017287000032
Obtain ideal point N:
N = C 0 + h D →
Constructing the center of circle then is X CRadius is the ball (X wherein of h C=0.4C 0+ 0.6N), search is positioned at the visible node set Ψ of ball A(comprising obligatory point), Ψ AAll forward positions that middle node is connected constitute visible forward position set omega S, Ω SIn all limits constitute visible edge collection
Figure GSA00000017287000042
, visible node set by the from the close-by examples to those far off arrangement of ordering apart from N, is traveled through Ψ successively according to existing some principle of priority AWith a N, candidate point is carried out volume inspection, distance inspection, do not comprised the inspection of other node, angle inspection and intersect and check; Constitute tetrahedron element for qualified candidate point P and △ ABC, and produce new forward position (among △ ABP, △ BCP, the △ CAP one or more), simultaneously deletion forward position △ ABC or it is changed to the non-forward position of enlivening from the formation of current forward position.
Described step 4 specifically comprises: the unit that node and node connected that the triangle forward position of search constraints face both sides, triangle forward position are comprised, by seeking the node of position correspondence, upgrade the node serial number in the grid data structure, thereby the topology of eliminating containment surfaces both sides grid cell is redundant.
Eliminate topological redundancy in the described step 4 and comprise that further all forward positions of search constraints face F both sides form forward position collection Ω FGenerate Ω FThe set of node of middle containment surfaces both sides
Figure GSA00000017287000043
With
Figure GSA00000017287000044
, and search unit, node place formation collection of units T FKeep containment surfaces one side gusset
Figure GSA00000017287000045
, and record opposite side node
Figure GSA00000017287000046
Corresponding
Figure GSA00000017287000047
In node i d, then one by one the deletion
Figure GSA00000017287000048
In node; Traversal Ω FAnd T FIn comprise
Figure GSA00000017287000049
The triangle forward position and the tetrahedron element of node are with original
Figure GSA000000172870000410
Node is corrected as Middle corresponding node.
Described step 5 specifically comprises: carry out tetrahedral grid is carried out changing topological optimization with point deletion based on hand-deliver, and carry out the grid geometry optimization by node location being adjusted to coupled polyhedral centre of gravity place that tetrahedron constituted, further improve mesh quality.
The quality of tetrahedron element is meant the parameter that is used for assessing the grid cell quality described in the described step 5, and for tetrahedron ABCD, its quality coefficient ρ is calculated as follows:
r=3r/R
Wherein, r and R represent the radius of tetrahedron inscribed sphere and circumsphere respectively, and ρ is big more, and tetrahedral quality is high more, also just approach positive tetrahedron more.
Algorithm of the present invention may be summarized to be: before mesh generation, carrying out feature constraint earlier handles, the containment surfaces of entity inside is considered as hole, the inside constraint of zero thickness, disposal route with the constraint of similar hole, discrete is two groups of location overlaps but the opposite triangle forward position of normal, and be some line segments with constrained line is discrete according to the size Control function, successively advance the generation tetrahedron element based on the triangle forward position to entity inside then, until working as anterior layer and the forward position formation of following one deck all is empty, Dynamic Maintenance was when formation of anterior layer forward position and the forward position formation of following one deck when the forward position advanced, and adopt the autonomous method in zone to carry out the size Control of tetrahedron element, to produce the uniform grid cell of density, the discrete back of finishing of grid is adjusted the network topology of containment surfaces both sides, is aided with network topology optimization and Laplce's geometry optimization at last.
The present invention has avoided the discrete later stage of conventional mesh to carry out the deficiency of Constraints Processing separately, when improving Constraints Processing efficient and guaranteeing the grid cell quality, also solved calculating field, ground and had the grid dispersed problem of the 3D solid object of complex boundary and feature constraint.
Description of drawings
Fig. 1 is the process flow diagram of the embodiment of the invention 1
Fig. 2 is that the embodiment of the invention 1 forward position advances synoptic diagram
Fig. 3 is the embodiment of the invention 1 a topological optimization synoptic diagram
Fig. 4 a is the embodiment of the invention 1 node object class formation figure
Fig. 4 b is the embodiment of the invention 1 a limit object class structural drawing
Fig. 4 c is that the embodiment of the invention 1 is in the face of resembling class formation figure
Fig. 4 d is the embodiment of the invention 1 a unit object class structural drawing
Fig. 4 e is the embodiment of the invention 1 mesh object class formation figure
Fig. 5 a is the cubical entity displayed map that 1 one of the embodiment of the invention have feature constraint
Fig. 5 b is the cubical tetrahedral grid line frame graph that 1 one of the embodiment of the invention have feature constraint
Fig. 5 c is the cubical tetrahedral grid sectional view that 1 one of the embodiment of the invention have feature constraint
Embodiment
Be described in further detail below in conjunction with drawings and Examples.
Embodiment 1
As shown in Figure 1, the discrete algorithm for tetrahedral mesh of considering feature constraint, this method comprises following five parts:
Step 1 is read in and is treated discrete three-dimensional entity model, comprises outer boundary and internal constraint point, line, surface, hole characteristic information;
Step 2 adopts the strategy of " degeneration merger " to carry out Constraints Processing and forward position preparation, the formation of initialization forward position according to the size Control function;
Step 3 forward position iteration advances, and it is discrete to finish initial mesh;
Step 4 is eliminated the topology redundancy of containment surfaces both sides grid cell;
Step 5 is carried out network topology optimization and geometry optimization, improves the quality of grid cell.
Concrete implementation step is as follows:
Step 1 is read in and is treated discrete three-dimensional entity model, comprises outer boundary and internal constraint point, line, surface, hole characteristic information.Its data organization mode in calculator memory is the internal storage data structure that realizes by with computer programming language, and organization and management spatial entities object is described geometric relationship and topological adjacency information between point, line, surface, the unit.
Under Windows XP SP3 system, utilize Visual Studio 2008SP1 platform to set up the Win32 dynamic link library of C Plus Plus, called after ConstraintTet.The data structure that adopts among the present embodiment ConstraintTet comprises CVertex, CEdge, CFace, CRegion, CMesh five parts, and specific definition is as follows:
The structure of CVertex class is shown in accompanying drawing 4a, and detailed structure and code are as follows:
class?CVertex
{
The public: // attribute that has
Int id; // id
Float x, y, z; // point coordinate
Bool isConstrained; // whether be obligatory point
Float h; The reference height of // node
Float r; The search radius of // node
List<CRegion*〉pRegions; // the unit that connected
Static map<int, CVertex*〉allVertex; // all node set
The public: // method that has
Bool addRegion (CRegion*region); The limit that // interpolation connects
Vector<CEdge*〉getConnectEdge (); The limit that // acquisition connects
Vector<CFace*〉getConnectFace (); The face that // acquisition connects
Static bool addVertex (float x, float y, float z); Point of // interpolation
};
The structure of CEdge class is shown in accompanying drawing 4b, and detailed structure and code are as follows:
class?CEdge
{
The public: // attribute that has
Int id; // limit id
Bool marked; // mark whether
CVertex*pVertexl, pVertex2; // starting point
List<CFace*〉pFace; The face of // connection
Static map<int, CEdge*〉allEdge; // all limits
The public: // method that has
The limit of // search specified scope
static?vector<CEdge*>searchEdge(BoundingBox?b_box);
Static bool addEdge (CEdge*edge); Limit of // interpolation
Vector<CFace*〉getConnectRegion (); // obtain the unit that the limit connects
Bool addFace (CFace*face); // interpolation Face object
}
Attention: the BoundingBox in the above-mentioned false code is the bounding box structure, has wherein comprised the maximin of X, Y, Z direction, i.e. XMin, XMax, YMin, YMax, ZMin, ZMax.
The structure of CFace class is shown in accompanying drawing 4c, and detailed structure and code are as follows:
class?CFace
{
The public: // attribute that had
Int id; // forward position id
Float nx, ny, nz; // forward position normal direction
Bool isConstrained; // whether be containment surfaces
Float quality; // quality coefficient
Bool active; // whether be movable forward position
CEdge*pEdges[3]; Three limits in // this forward position
List<CRegion*〉pRegions; // the unit that connected
Static map<int, CFace*〉allFace; // all forward position set
The public: // method that had
// interpolation forward position
static?bool?addFace(CVertex*v1,CVertex*v2,CVertex*v3);
Forward position in the // search bounding box
static?vector<CFace*>searchFace(BoundingBox?b_box);
CVertex**getVertex (); // obtain three summits
}
The structure of CRegion class is shown in accompanying drawing 4d, and detailed structure and code are as follows:
class?CRegion
{
The public: // attribute that has
Int id; // unit id
Bool marked; // mark whether
CFace*pFace[4]; All faces of // this unit
static?map<int,CRegion*>allRegion;
The public: // method that has
Static bool addRegion (CRegion*region); // adding device
Vertex**getVertex (); // get to the limit
}
Algorithm at first reads from external memory treats discrete three-dimensional entity model in internal memory, and organizes and manages according to above-mentioned data structure.Call tetrahedral grid discrete pieces of body class CMesh then and carry out operations such as Constraints Processing, forward position propelling mesh generation, topology adjustment, network topology optimization and geometry optimization, the structure of CMesh class is shown in accompanying drawing 4e, detailed structure: the formation of current forward position, one deck forward position formation down, visible point set, limit collection and the set of visible forward position, code is as follows:
class?CMesh
{
public:
Multimap<double, CFace*〉activeFace; // when the formation of anterior layer forward position
VectorCFace*〉generalFace; The forward position formation of // following one deck
Vector<CVertex*〉frontVertex; // visible point set
Vector<CEdge*〉frontEdge; // visible edge collection
Vector<CFace*〉frontFace; // visible forward position set
public:
Void readFile (char*fileName); // read in data
// judge whether the limit intersects with the forward position
bool?edgeIntersectCell(CVertex*v1,CVertex*v2,CFace*cell);
Void tetralize (); The principal function that // tetrahedral grid is discrete
Void constraintTreat (); The degeneration of // containment surfaces is handled, constrained line is discrete
Void checkNormal (); // whether check the forward position normal direction to entity inside
// find enabled node, upgrade the forward position data structure
void?updateSolid(CFace*face,CVertex*vertex,bool?isNew);
// search visible point, limit, edge in front
void?searchFront(CFace*faceace,float?x,float?y,float?z,float?r);
// search activities node
vector<CVertex*>searchActiveVertex(CVertex*v1,CVertex*v2,CVertex*v3,float
xc,float?yc,float?zc,float?r);
// volume inspection
bool?checkVolumn(CFace*face,CVertex*vertex,float?hk,float?ak);
// distance is checked
bool?checkDistance(CFace*face,CVertex*vertex,float?h);
// comprise an inspection
bool?checkContainVertex(CFace*face,CVertex*vertex);
Bool checkAngle (CFace*face, CVertex*vertex); The inspection of // angle
Bool checkIntersect (CFace*face, CVertex*vertex); // intersect and check
Void outputMesh (char*filename); // derived grid file
Void topoOptimize (); // topological optimization
Void geoOptimize (); // geometry optimization
}
Prepare in step 2 Constraints Processing and forward position, the formation of initialization forward position;
Described forward position is meant, the reference field when advancing wave-front method to carry out the grid generation, and promptly normal is towards the triangle surface for the treatment of discrete entities inside.The forward position is divided into enlivens forward position and the non-forward position of enlivening, and enlivens the forward position and is meant the forward position that does not advance as yet of using, and the non-forward position of enlivening is meant and advances and the forward position of generation unit.Arrange from small to large according to area in each layer forward position, constitutes the forward position formation, the current forward position formation of Dynamic Maintenance Ω in the grid departure process CWith following one deck forward position formation Ω N
After treating that discrete entities surface model and internal feature constraint information read in, the normal of at first guaranteeing to constitute the tri patch of entity outer boundary and inner hole constraint all points to treats discrete entities inside, then containment surfaces is regarded as hole, the inside constraint of zero thickness, discrete is two groups of location overlaps but the opposite forward position of normal, is that the constrained line of L is divided into the line segment Int[L/l+1 that length is l according to the requirement of size Control function with length] section.Before grid is initially discrete, utilize the mapping template class (multimap) among the C++ STL STL that all forward positions are defined as a set, promptly work as anterior layer and enliven forward position formation activeFace, construct following one deck forward position formation generalFace of a sky simultaneously, can finish the forward position automatically by the ascending ordering of area.
Step 3 forward position iteration advances, and it is discrete to finish initial mesh.
After initial forward position is ready, promptly to carries out the forward position iteration and advance (as shown in Figure 2), promptly from current forward position formation Ω CIn each forward position advance to inside, produce new node or use and existed node to constitute tetrahedron element, upgrade the formation of current forward position and one deck forward position formation Ω down simultaneously NWhen the formation of current forward position is empty, activate one deck forward position down, until Ω CAnd Ω NBe sky, it is discrete to finish initial mesh.The forward position advances detailed process once as follows:
(1) from current forward position formation Ω CThe middle forward position △ ABC that selects the area minimum, at first determine its unit size h according to the requirement of size Control function, the definite of unit size can be global field defining constant size value, also can be by the method for " zone is autonomous ", determine by the forward position size that current forward position connected, suppose that all forward position quantity that current forward position connects are n, the forward position size is respectively h i(1≤i≤n), then new unit is of a size of:
Figure GSA00000017287000101
After having determined new unit size, with last 1 C of △ ABC 0For reference point calculates ideal point N along normal direction; Reference point C 0Definite need decide on the quality coefficient q of △ ABC, when q>0.5, C 0Be leg-of-mutton center of gravity, otherwise C 0Mid point for the long limit of triangle.
(2) the structure center of circle is X CRadius is the ball (X wherein of h C=0.4C 0+ 0.6N), search is positioned at the visible node set Ψ of ball A, Ψ AAll forward positions that middle node is connected constitute visible forward position set omega S, Ω SIn all limits constitute visible edge collection
Figure GSA00000017287000102
, visible node set by the from the close-by examples to those far off arrangement of ordering apart from N, is traveled through Ψ successively according to existing some principle of priority AWith a N, successively from Ψ AMiddle some P of taking-up and current forward position △ ABC constitute tetrahedron element, and carry out following validity checking: (a) volume of tetrahedron element is greater than a minimum acceptable value; (b) P to the distance of △ ABC reference point less than 2h; (c) do not comprise other nodes in the tetrahedron element; (d) three new limits that tetrahedron element brought and visible forward position set omega SIn arbitrary triangle non-intersect, three new faces and visible edge collection
Figure GSA00000017287000103
In any limit non-intersect.If above-mentioned condition all satisfies, then receiving station P generates new unit ABCP, carries out (3); If have a few all undesirablely, then dwindle h to recomputate ideal point N, and repeat (2) operation with constant g (be defaulted as 1.0, successively decrease successively during rollback).
(3) make up new tetrahedron element, and produce new forward position (among △ ABP, △ BCP, the △ CAP one or more) and join down one deck forward position Ω NIn, simultaneously from current forward position formation Ω CIn the current forward position of deletion or current forward position is changed to the non-forward position of enlivening.
The mistake range code of forward position iteration was as follows during algorithm was realized:
foreach(CFace?curFront?in?activeFace){
If // current forward position is the non-forward position of enlivening, then skip
if(!curFace->active)
continue;
// calculate ideal point N
CVertex*N=getCandidateVertex(curFace);
While (times<10) { // loop iteration
// search obtains visible forward position, visible edge and visible node set
searchFront();
// to visible set of node by from the close-by examples to those far off sorting apart from the forward position
orderVertex(activeVertex);
// unit that saves current forward position and node P formation is carried out validity checking
foreach(CVertex*P?in?activeVertex)
// check and pass through, upgrade the forward position
if(checkCondition(curFace,vertex)){
updateFront(curFace,vertex);
break;
}
times++;
}
}
Annotate: in the top code, activeVertex is visible node set.
Step 4: the topology of eliminating containment surfaces both sides grid cell is redundant.
All forward positions of search constraints face F both sides form forward position collection Ω FGenerate Ω FThe set of node of middle containment surfaces both sides
Figure GSA00000017287000111
With
Figure GSA00000017287000121
, and search unit, node place formation collection of units T LKeep containment surfaces one side gusset
Figure GSA00000017287000122
, and record opposite side joint accounts for
Figure GSA00000017287000123
Corresponding
Figure GSA00000017287000124
In node i d, then one by one the deletion
Figure GSA00000017287000125
In node; Traversal Ω LAnd T LIn comprise
Figure GSA00000017287000126
The triangle forward position and the tetrahedron element of node are with original
Figure GSA00000017287000127
Node is corrected as
Figure GSA00000017287000128
Middle corresponding node.
Step 5: carry out network topology optimization and geometry optimization, improve mesh quality.
Described topological optimization is meant and do not change node location, by adjusting mesh topology, promptly adjusts face (as Fig. 3), deletion of node improves mesh quality; If the node P of an entity inside connects 4 tetrahedrons, these 4 tetrahedrons can be merged into 1 tetrahedron so, thus deletion of node P.If a node P who is positioned at entity inside connects 6 tetrahedrons, these 6 tetrahedrons can be merged into 2 tetrahedrons so, and the maximum of getting 2 tetrahedron quality coefficient minimums in these two kinds of merging is preferential).
Described Laplce's geometry optimization is meant by the node geometric position being adjusted to coupled polyhedral centre of gravity place that tetrahedron constituted, to improve the quality of grid cell.If the node number that links to each other with a P is N, P i(1<i<N) represent the node coordinate that links to each other with a P, then its iterative formula is as follows:
Figure GSA00000017287000129
The new node that obtains as stated above may produce the unit of negative volume, in case this situation occurs, this node does not carry out above-mentioned optimization with regard to returning to original position, otherwise continues the optimization of the next internal node of node set, finishes up to all internal node optimizations.May produce illegal unit because Laplce optimizes, in case this situation occurs, this node does not carry out above-mentioned optimization with regard to returning to original position.

Claims (9)

1. the discrete algorithm for tetrahedral mesh of a considering feature constraint is characterized in that, this algorithm comprises following five parts:
Step 1: read in and treat discrete three-dimensional entity model, comprise feature constraint information such as outer boundary and inner point, line, surface, hole;
Step 2:, carry out Constraints Processing and forward position and prepare the formation of initialization forward position according to the size Control function;
Step 3: the forward position iteration advances, and it is discrete to finish initial mesh;
Step 4: the topology of eliminating containment surfaces both sides grid cell is redundant;
Step 5: carry out network topology optimization and geometry optimization, improve the quality of grid cell.
2. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 1, it is characterized in that: described step 1 specifically comprises: the three-dimensional entity model that will be stored in the external file reads in internal memory, comprise entity outer boundary and inner point, line, surface, hole feature constraint, its data organization mode in calculator memory is the internal storage data structure that realizes by with computer programming language, organization and management spatial entities object is described geometric relationship and topological adjacency information between point, line, surface, the unit.
3. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 2, it is characterized in that: described step 2 specifically comprises: after reading in spatial object three-dimensional entity model data, at first containment surfaces is considered as the hole, inside of zero thickness, merger is that the hole constraint of entity inside is handled, show as two groups of location overlaps but the opposite triangle forward position of normal after containment surfaces is discrete, the forward position way ray examination after the Constraints Processing is all pointed to entity inside to guarantee all forward position normals; Simultaneously, be that the constrained line of L is divided into the line segment Int[L/l+1 that length is l according to the requirement of size Control function with length] section, obligatory point is not made change; The net result that prepare in Constraints Processing and forward position is triangle forward position, point and the line segments of a series of normals towards entity inside, all forward positions have constituted the formation of initial forward position, and obligatory point and line segment join the grid data structure and constitute the initially discrete original state of grid.
4. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 3, it is characterized in that: further comprise in the described step 2: the forward position is divided into enlivens forward position and the non-forward position of enlivening, enliven the forward position and be meant the forward position that does not advance as yet of using, the non-forward position of enlivening is meant and advances and the forward position of generation unit; Arrange from small to large according to area in each layer forward position, constitutes the forward position formation, the current forward position formation of Dynamic Maintenance Ω in the grid departure process CWith following one deck forward position formation Ω N
5. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 4, it is characterized in that: described step 3 specifically comprises: from current forward position formation Ω CIn each forward position advance to inside, calculate new node or use and existed node to constitute tetrahedron element, upgrade the formation of current forward position and one deck forward position formation Ω down simultaneously NWhen the formation of current forward position is empty, activate one deck forward position formation down, until Ω CAnd Ω NBe sky, it is discrete then to finish initial mesh.
6. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 5, it is characterized in that: described step 4 specifically comprises: the unit that node and node connected that the triangle forward position of search constraints face both sides, triangle forward position are comprised, by seeking the node of position correspondence, upgrade the node serial number in the grid data structure, thereby the topology of eliminating containment surfaces both sides grid cell is redundant.
7. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 6 is characterized in that: eliminate topological redundancy in the described step 4 and further comprise, all forward positions formation forward position collection Ω of search constraints face F both sides FGenerate Ω FThe set of node of middle containment surfaces both sides With And search unit, node place and form collection of units T FKeep containment surfaces one side gusset
Figure FSA00000017286900023
And record opposite side node
Figure FSA00000017286900024
Corresponding
Figure FSA00000017286900025
In node i d, then one by one the deletion
Figure FSA00000017286900026
In node; Traversal Ω FAnd T FIn comprise
Figure FSA00000017286900027
The triangle forward position and the tetrahedron element of node are with original
Figure FSA00000017286900028
Node is corrected as
Figure FSA00000017286900029
Middle corresponding node.
8. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 7, it is characterized in that: described step 5 specifically comprises: tetrahedral grid is carried out changing topological optimization with point deletion based on hand-deliver, and carry out the grid geometry optimization by node location being adjusted to coupled polyhedral centre of gravity place that tetrahedron constituted.
9. the discrete algorithm for tetrahedral mesh of considering feature constraint according to claim 8 is characterized in that, described tetrahedral quality coefficient ρ is calculated as follows:
r=3r/R
Wherein, r and R represent the radius of tetrahedron inscribed sphere and circumsphere respectively, and ρ is big more, and tetrahedral quality is high more, also just approach positive tetrahedron more.
CN201010101786A 2010-01-26 2010-01-26 Discrete algorithm for tetrahedral mesh considering feature constraint Pending CN101833789A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010101786A CN101833789A (en) 2010-01-26 2010-01-26 Discrete algorithm for tetrahedral mesh considering feature constraint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010101786A CN101833789A (en) 2010-01-26 2010-01-26 Discrete algorithm for tetrahedral mesh considering feature constraint

Publications (1)

Publication Number Publication Date
CN101833789A true CN101833789A (en) 2010-09-15

Family

ID=42717850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010101786A Pending CN101833789A (en) 2010-01-26 2010-01-26 Discrete algorithm for tetrahedral mesh considering feature constraint

Country Status (1)

Country Link
CN (1) CN101833789A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194253A (en) * 2011-06-15 2011-09-21 北京航空航天大学 Method for generating tetrahedron gridding for three-dimensional geological structure
CN102509358A (en) * 2011-11-24 2012-06-20 武汉大学 Method for extracting dynamic three-dimensional isosurfaces based on triangular prism subdivision
CN108537886A (en) * 2018-04-09 2018-09-14 哈尔滨理工大学 High quality mesh generation and optimization method in a kind of cutting of virtual operation
CN108959812A (en) * 2018-07-25 2018-12-07 太原科技大学 A method of based on constraint normal decision mechanism passive constraint
CN113255196A (en) * 2021-07-05 2021-08-13 广州中望龙腾软件股份有限公司 Grid optimization method, grid generator and storage medium
CN113888720A (en) * 2021-10-26 2022-01-04 清华大学 Method for generating space curved surface woven mesh based on subdivision algorithm
CN115587461A (en) * 2022-12-12 2023-01-10 中南大学 Constraint processing method in railway route selection searching process
CN116051797A (en) * 2023-04-03 2023-05-02 山东捷瑞数字科技股份有限公司 Method, device and equipment for modifying model interpenetration in batches based on three-dimensional engine

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194253A (en) * 2011-06-15 2011-09-21 北京航空航天大学 Method for generating tetrahedron gridding for three-dimensional geological structure
CN102509358A (en) * 2011-11-24 2012-06-20 武汉大学 Method for extracting dynamic three-dimensional isosurfaces based on triangular prism subdivision
CN108537886A (en) * 2018-04-09 2018-09-14 哈尔滨理工大学 High quality mesh generation and optimization method in a kind of cutting of virtual operation
CN108537886B (en) * 2018-04-09 2019-06-21 哈尔滨理工大学 High quality grid dividing and optimization method in a kind of cutting of virtual operation
CN108959812A (en) * 2018-07-25 2018-12-07 太原科技大学 A method of based on constraint normal decision mechanism passive constraint
CN108959812B (en) * 2018-07-25 2022-08-23 太原科技大学 Method for judging mechanism virtual constraint based on constraint normal
CN113255196A (en) * 2021-07-05 2021-08-13 广州中望龙腾软件股份有限公司 Grid optimization method, grid generator and storage medium
CN113255196B (en) * 2021-07-05 2021-11-19 广州中望龙腾软件股份有限公司 Grid optimization method, grid generator and storage medium
CN113888720A (en) * 2021-10-26 2022-01-04 清华大学 Method for generating space curved surface woven mesh based on subdivision algorithm
CN115587461A (en) * 2022-12-12 2023-01-10 中南大学 Constraint processing method in railway route selection searching process
CN115587461B (en) * 2022-12-12 2023-03-10 中南大学 Constraint processing method in railway line selection searching process
CN116051797A (en) * 2023-04-03 2023-05-02 山东捷瑞数字科技股份有限公司 Method, device and equipment for modifying model interpenetration in batches based on three-dimensional engine

Similar Documents

Publication Publication Date Title
CN101833789A (en) Discrete algorithm for tetrahedral mesh considering feature constraint
Liu et al. Automatic polyhedral mesh generation and scaled boundary finite element analysis of STL models
Ho-Le Finite element mesh generation methods: a review and classification
WO2021006656A1 (en) Garment design generation method and system, and integrated application program therefor
Crisfield Re‐visiting the contact patch test
CN113348459A (en) Transformation of generative design geometry into editable and watertight boundary representation in computer-aided design
Chumchob et al. A fourth-order variational image registration model and its fast multigrid algorithm
CN108022307A (en) The adaptive planar layer method of point cloud model is remanufactured based on increasing material
Yu et al. HexDom: polycube-based hexahedral-dominant mesh generation
Börgers A triangulation algorithm for fast elliptic solvers based on domain imbedding
May et al. Powell–Sabin B-splines for smeared and discrete approaches to fracture in quasi-brittle materials
De Cougny et al. Parallel three-dimensional mesh generation
Chuang et al. On local implicit approximation and its applications
Marsala et al. G1 spline functions for point cloud fitting
US20060098008A1 (en) Method, device and computer program product for generating a three-dimensional model
Henshaw Automatic grid generation
Owen et al. Mesh‐based geometry
Wei et al. A point clouds fast thinning algorithm based on sample point spatial neighborhood
Evans et al. Adaptivity for compressible flow computations using point embedding on 2‐D structured multiblock meshes
Bloor et al. Generating N-sided patches with partial differential equations
JPH0830809A (en) Generation device for three-dimensional molding data
Staten et al. Mesh matching–creating conforming interfaces between hexahedral meshes
Wang et al. Mesh generation of hip joint bones model: Methods and programs
Keeling et al. A theoretical framework for Chimera Domain Decomposition
Altantsetseg et al. Minimum surface area based complex hole filling algorithm of 3D mesh

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100915