⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 geom.html

📁 matlab有限元分析工具,比经较全面的一个手册,请大家下载呀
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<p>So far we have discussed breps with intrinsic and embedded dimensionequal to 3.  The <em>embedded dimension</em> of a brep is thedimension in which it is embedded and is equal to the number ofcoordinates in each of its control points.  QMG 2.0 supports either2 or 3 for this value.  A brep's intrinsic dimension is the highest-dimensionalface that it owns.  For instance, a brep with topological vertices andedges but no surfaces or chambers would have intrinsic dimension equalto 1.  The intrinsic dimension can never exceed the embedded dimension.The mesh generator requires that the intrinsic and embedded dimensionsbe equal, although other routines in QMG 2.0 allow the intrinsicdimension to be lower.<p>If the intrinsic andembedded dimension of the brep are both <em>d</em> (where either <em>d</em>=2 or <em>d</em>=3)then the term <em>region</em> is used to denote the topological entitiesof dimension <em>d</em>.  Thus, for a three-dimensional brep, its chambersare its regions.  For a two-dimensional brep, its surfaces (subsetsof the plane) are its regions.  Regions are completely specifiedby their boundaries, so they do not have anygeometricentities associated with them in a brep definition.<p>Thus, the data items that make up a brep are as follows.<ul><li>Two integers: its embedded and intrinsic dimension.<li>Its global property-value pairs.<li>A table of control points.<li>Its faces (topological entities).  Faces are listed in increasingorder of dimension (i.e., vertices first, etc).Each topological entity has five data items associated withit:<ol><li>The face name, which is a string.<li>Property-value pairs of the face (a list of ordered pairs of strings).<li>The boundary of the face, which is a list of faces of one lowerdimension.  This list may be empty if the face is closed(such asa sphere).   Each bounding face in this list isaccompanied by the specification of its orientation with respectto the parent face: inward, outward, or no orientation specified.This orientation information is currently not used by QMG.<li>The list of faces of two or more dimensions lower that areinternal boundaries.  See below.<li>The geometric entities making up the face. Regions cannot have geometric entities; on the other hand,every other face must have at least one geometric entity.A geometric entityis specified by <ul><li>its type (vertex, curve, triangle, or quadrilateral),<li>its degree (for a curve or triangle) or degree-pair (for a quad), and<li>its list of control points (integer indices into the control pointtable) in the correct order described above.</ul></ol></ul><h2><a name = "geotopdiff">On the difference between geometric and topological entities</a></h2>The preceding section detailed geometric and topological entities, but thereader may wonder why we bothered with this distinction.  Why not havegeometric entities only?  There are two advantages to this system:<ul><li>Property-value pairs are associated with topological entities.  Thismeans that many geometric entities can be grouped together with a singlefinite element boundary condition (for example).<li>The mesh generator respects boundaries between topological entitiesbut not between geometric entities.  This has important consequencesin practice, and you should design your domains with thisfact in mind.</ul>For example, consider the following regular 30-gon.<p><center><img src=thirtygon.jpg alt="picture of 30-gon"></center>Two possible ways to represent this in QMG would be:<ul><li>as a domain with a single topological edge as its boundary.  That edgeis made up of30 linear Bezier curves, or<li>as a domain with 30 topological edges on the boundary.  Each topologicaledge made up of one linear Bezier curve.</ul>In the first case, the topological edge is not <em>G</em><sup>1</sup>, but nonetheless QMG permits smalldivergences from <em>G</em><sup>1</sup> as mentioned earlier.There are also many other options for representingthe 30-gon; for example, there could be five edges each made of six linear curves, etc.<p>Here is the mesh generated by QMG (coarse mesh requested) for the firstoption:<p><center><img src=thirtygon-mesh1.jpg alt="picture of first mesh of 30-gon"></center><p>Here is the mesh generated by QMG (coarse mesh requested) for thesecond option:<p><center><img src=thirtygon-mesh2.jpg alt = "picture of second mesh of 30-gon"></center>Notice the two meshes are quite different.  Depending on your application, one or the other might be more appropriate.<h2><a name = "internal-boundaries">Internal boundaries in breps</a></h2>As mentioned early, a brep face can have bounding faces of one lowerdimension.A brep face can also have <em>internal boundaries</em>,which are subfaces of lower dimension that are inside the faceitself, i.e., they have the interior of the face on both sidesof them.<p>Internal boundaries usually serve one of two purposes in a scientificcomputation: they act as demarcations between separate regionsof the domain (for instance, the domain may represent an objectthat is a composite of several materials) or they act assingular boundaries, for example, in modeling a regionwith a slit or crack.Holes in a domain are not internal boundaries&#8212;theyare classified as ordinary boundaries.<p>Internal boundaries are useful because the mesh generator willrespect them in its mesh (i.e. mesh elements will not cross throughthem).  They can also be the site of boundary conditions for thefinite element package.<p>There are three kinds of internal boundaries supported by the QMGpackage, multi-region, repeated boundary, and low-dimensionalboundary.<p>A <em>multi-region</em> brep means that there are multiple regionsin the brep.  (Recall that <em>region</em> means a topological entityof dimension equal to the embedded dimension.)The boundary between two regions is a type of internal boundary.  Theregion on either side sees it as an ordinary boundary.<p>A <em>repeated boundary</em> means that a region has a boundaryface listed twice in its list of boundaries.  For example,suppose a 3D chamber lists a topological surface twice inits list of bounding faces.  This makes the surface act likea crack or fissure inside the chamber.  Lower-dimensionalfaces can also have repeated boundaries.  This is sometimesnecessary to attach a region's repeated boundary to an exterior boundary.  For instance,to represent a cube with a crack, such that the crack meets an exterior boundary, the crack itself would be a repeatedboundary of the region, and then its edge where it meets theexterior boundary would be a repeated boundary of the exteriorboundary.<p>Finally, a face can have one or more <em>low-dimensional boundaries</em>,which act like low dimensional cracks.  In particular, a chambercan have edges or vertices as low-dimensional boundaries, anda surface can have vertices as a low-dimensional boundaries.<p>Multi-region breps are generally used for the case of internalboundaries that demarcate the brep into several zones.The mesh generator lists the elements that it generatesaccording to the region in which they lie.See the description of meshes below.The finite element program can take advantage of these labels duringmatrix assembly.  For example, it can use different functions tocompute conductivity and source terms for the two sides of the internal boundary corresponding to different materials.<p>In the case of a single-region brep with repeated boundaries, there is no concept of one side ofthe internal boundary versus the other since the fissure may cutonly partway through the domain.  Thus, all elements have thesame label.<p>The various types of internal boundaries can be freelymixed in the same brep. <p>The mesh generator will produce a single layer of nodesalong either an repeated boundary or aninternal boundary in a multi-region domain.  In some applicationsa double layer of nodes is desirable.  It is possibleto produce a double layer of nodes along a repeated boundarywith the<a href="ref.html#gmdouble"><code>gmdouble</code></a>function.<h2><a name="meshes">Overview of simplicial complexes</a></h2>A simplicial complex is a collection of simplices of one specificdimension embedded in a space of the same or higher dimension.  (Thus,simplicial complexes in QMG cannot containsimplices of several different dimensions in the same complex).Simplicial complexes are the output of the mesh generator and are aninput to the finite-element program and to the graphics programs.<p> As with a brep, a simplicial complex has two integers associatedwith it, the embedded dimension and the intrinsic dimension.  Also like a brep, a simplicial complex can have property-value pairs.For example, one possible property name is <strong>geo_global_id</strong>.The mesh generator stores the brep's ID in this field duringmesh generation.  The field is omitted ina mesh generated for a brep without a global ID.The rest of the data is lists ofvertices and elements. <p>The first list is the vertex real-space coordinates.  Each vertex hasa global ID number, which must be a nonnegative integer.  Global IDnumbers must be unique within the mesh butdo not have consecutive or in order.  With each global ID isa tuple of two or three real-space coordinates of the node.  (The numberof real-space coordinates per node equals the embedded dimension.)<p>Next are lists of vertices and simplicial faces associated with breptopological entities.  Let <em>d</em> be the embedded dimension of the mesh. Let <em>B</em> be the brep that gave rise to the mesh.Then each brep topological entity <em>F</em> of dimension 0 to <em>d</em>&#8722;1 has a list of vertices lying on it.For each vertex on <em>F</em>, the following information isstored: its global ID number, the curve or patch index ofthe geometric entity containing the vertex (omitted when <em>d</em>=0)and the parametric coordinates on that entity (omitted when <em>d</em>=0).Mesh vertices lying on lower-dimensional subfaces of <em>F</em> are also listed as lying on <em>F</em> since theywill have a different patch-index and parametric coordinateswith respect to <em>F</em>.  Thus, the same mesh vertex may appear inmany different lists associated with various brep faces.<p>Each brep topological entity of dimension 1 to <em>d</em> hasa list of simplex faces lying on it.  This list is made of tuples.A brep entity of dimension <em>k</em> containstuples made up of <em>k</em>+1 vertices.  These vertices are listedvia their global ID numbers.  For faces of dimension 1 to<em>d</em>&#8722;1, all vertices listed in any of thesetuples must also be listed as a vertex of the face as inthe previous paragraph.The full-dimensional simplex faces (i.e.,the case <em>k</em>=<em>d</em>) are the actual simplices of themesh.<h3> Two geometric properties of meshes</h3><p><a name="aspect_ratio">An important property of a simplex is its aspect ratio</a>.  The aspectratio of a simplex can be defined in several ways, which areall equivalent up to constant multiples.  In the QMG package,aspect ratio of a simplex is defined as the ratio of the length of itslongest edge divided by its shortest altitude.<p>Small aspect ratios are desirable because large aspect ratioscause a loss of accuracy in the finite element approximation, and can also lead to condition number problems for theassembled stiffness matrix.<p><a name="orientation">All full-dimensional simplices should to have the correctorientation.</a> Let <em>v</em><sub>0</sub>, ..., <em>v<sub>d</sub></em> be the vertices of a simplex. The <em>correct orientation</em> is defined as follows.  Formthe <em>d</em>&#215;<em>d</em> matrix whose <em>i</em>th row is <em>v<sub>i</sub></em>&#8722;<em>v</em><sub>0</sub> (a <em>d</em>-vector).  The determinantof this matrix must be positive.  In two dimensions, this meansthat the vertices are listed in counterclockwise order.  In threedimensions this means that if you curl your right-hand around <em>v</em><sub>0</sub>, <em>v</em><sub>1</sub>,<em>v</em><sub>2</sub>, then your thumb is pointing toward <em>v</em><sub>3</sub>.  <p><h2><a name="asciirep">Ascii format for objects</a></h2>Both Matlab and Tcl/Tk versions of QMG support Ascii format.  Inparticular, the <a href="ref.html#gm_read"><code>gm_read</code></a>and <a href="ref.html#gm_write"><code>gm_write</code></a>functions use this format.  Furthermore, in Tcl/Tk, conversionto Ascii format is automatic for any operation that causesstring format to be released.  (See <a href="#tclrep">below</a>for more information.)<p>Ascii format consists of free-form plain text with parenthesesas delimiters.  Free-form means that linebreaks are usually not significant,except that they act like spaces.  Comments are marked with a '#'sign.  A comment may start at any position in the line, and isin effect until the end of the current line.<p>The Ascii format for a brep follows the following grammar.  In this grammar,normal-weight text denotes field names and boldface denotes literals.  The symbol:= indicates substitution for a field name.  The vertical bar symbol | meanseither/or, and curly braces {} indicate optional data.  Parentheses whenindicated are literals (i.e., parentheses occur in the corresponding placein the actual brep).<ul><li>asciiBrep := code intrinsicDim embeddedDim globalPropVal controlPointsvertexList {edgeList {surfaceList {chamberList}}}<li>code := <strong> brep_v2.0 </strong><li>intrinsicDim := <strong>0</strong> | <strong> 1 </strong> |<strong> 2 </strong> | <strong> 3 </strong>[Intrinsic dim must be less than or equal to embedded dim.]<li>embeddedDim := <strong>2</strong> | <strong> 3 </strong><li>globalPropVal := ( prop<sub>1</sub> val<sub>1</sub> ... prop<sub><em>m</em></sub> val<sub><em>m</em></sub> )[The property/value pairs are arbitrary strings.  Ifproperty or value strings containspace, then there mustbe an outer pair of parentheses to delimit the string.Currently, the only global property value with significance toQMG 2.0 is <strong>geo_global_id</strong>.]<li>controlPoints := ( entry<sub>1</sub> ... entry<sub><em>m</em></sub> )[The number of entries <em>m</em> must be a multiple of theembedded dimension <em>e</em>.Each entry in this list is a floating-point numberpossibly in scientific notation.  There are a total of<em>m</em>/<em>e</em> control points, with each control point's coordinates being denotedby <em>e</em> consecutive entries in this list.]<li>vertexList := faceList; edgeList := faceList; surfaceList := faceList;chamberList := faceList. [The number of such lists must equalthe intrinsic dimension plus 1.  For example, if the intrinsic dimensionis 1, then the brep must have a vertexList and an edgeList butcannot have a surfaceList nor a chamberList.]<li>faceList := (name<sub>1</sub> propVal<sub>1</sub> boundary<sub>1</sub> lowdim<sub>1</sub> geom<sub>1</sub> ...name<sub><em>n</em></sub> propVal<sub><em>n</em></sub> boundary<sub><em>n</em></sub> lowdim<sub><em>n</em></sub> geom<sub><em>n</em></sub>)[In other words, each brep face has five entries in itsface list: name, propVal, child, lowdim, geom.The name field is an arbitary string.  A name field with spacesshould be enclosed in parentheses.  The remainingfields are as follows.]<li> propVal := (prop<sub>1</sub> name<sub>1</sub> ... prop<sub><em>m</em></sub> name<sub><em>m</em></sub>)[As above, these can be arbitrary string, althoughparentheses should be used for strings with spaces.]<li> boundary := (childname<sub>1</sub> ... childname<sub><em>m</em></sub>)[These are names of bounding faces.  That is, these names referto the names appear in the 'name' field of the lower-dimensionalfaces.  Names appearing in this list must be faces of exactly onelower dimension.  Each childname can optionally be precededby the symbol + or - to indicate orientation.  Orientationsare not used by QMG 2.0.]<li> lowdim := (childname<sub>1</sub> ... childname<sub><em>m</em></sub>)[These are the names of the low-dimensional bounding faces.Names appearing in this list must be faces of dimension lower by

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -