Next: 1.5.6 Example
Up: The EMC²
preprocessor
Prev: The PREP_MESH application
Index
Contents
This application is controlled by the application menu (figure 1.32) on top of the screen and the selection menu (figure 1.20) at the bottom of the screen. It is used to edit a 2D mesh constructed from triangles and quadrangles, obtained either by switching from the CONSTRUCTION or PREP_MESH applications to the EDIT_MESH application, or by restoring a mesh (cf. general menus). Briefly, the possibilities are: adding, suppressing, moving the vertices of the mesh, reversing the edge that divides a quadrilateral, quadrangulating, triangulating, regularizing (placing the vertices at the barycenter of their neighbors), making the mesh Delaunay, modifying the references of a mesh (boundaries and subdomains), transforming a subdomain geometrically, renumbering, cracking.
Figure: The EDIT_MESH application menu
The new types of selection of the application are:
Furthermore, we will often use the notation <point> to denote a point <POINT> , <COORD> or <VERTEX> .
<point> = <POINT> | <COORD> | <VERTEX>.
The mesh editing operations are:
MOVE *(<VERTEX> <point> | BOUNDARY)This command is used to move the selected vertex (which can be on a boundary depending on the value of the state variable BOUNDARY) to the position of the selected point, which can either be a mouse_point (defined with the mouse), an xy_point (defined with two calculator values (x,y)), a DB point or a vertex (in the latter case, the new vertex is located at the cursor position and not on the selected vertex).
ADD *(<VERTEX> | <ELEMENT>)This command is used to add a vertex in the mesh element that contains the selected point. If the selected element is a quadrangle, it is first split into two triangles. We add a vertex to the selected triangle by dividing it in three triangles. The coordinates of the new point are those of the cursor. Then the triangular mesh is made almost Delaunay.
SUPPRESS *(<VERTEX> | <S_DOM>)This command is used to suppress :
REVERSE *( <EDGE>)
This command is used to reverse the internal edge of the quadrilateral defined by two adjacent triangles, on the condition that the triangles thus created be correct.
DELAUNAY *(<ELEMENT> | <S_DOM> | ALL )This command is used to force the mesh to satisfy the Delaunay criterion for triangles (the only vertices of the mesh contained in the circonscribed circle of a triangle are the vertices of this triangle),
REGULARIZE *( <VERTEX> | <ELEMENT> | <S_DOM> | ALL | ORIGINALS | BOUNDARY)This command is used to regularize the mesh or a part of it. This means that we move all vertices of the part in question in turn to the barycenter of its neighbors. Boundary points are moved if this is permitted (cf. state variable).
Remark: if we move a boundary point, the point moves on the boundary.
TRIANGULATE *( <ELEMENT> |<S_DOM> | ALL | ORIGINALS | MIN_ANGLE | MAX_ANGLE )This command is used to triangulate the mesh or a part of it and to modify the minimum and maximum angle state variables of the triangles.
QUADRANGULATE *( <ELEMENT> | <EDGE> | <S_DOM> | ALL | ORIGINALS | MIN_ANGLE | MAX_ANGLE )This command is used to ``quadrangulate" the mesh or a part of it.
CRACK *( <ARC> | <SEGMENT> | <SPLINE> )This command is used to create or suppress cracks in the mesh. If the selected element of the DB (arc, segment or spline) is cracked, then it will be ``uncracked", otherwise it will be cracked. A crack in a mesh is a line or a group of lines such that the nodes that are on one side or another of the line are different from each other. In the graphic representations the cracked nodes are separated from one another to demonstrate the crack. However, this is a purely graphic device.
MODIF_REF *( <VALUE> *( <ARC> | <SEGMENT> | <SPLINE> | <VERTEX> | <EDGE> | <S_DOM>) )This command is used to modify the references of different parts of the mesh.
Warning: the reference of a vertex is the reference of its supporting element in the DB (a point if it is an extremity) and similarly for edges. If the element is cracked, then there are two references, one on the left and the other one on the right.
RENUMBER
This command is used to renumber the vertices of the mesh in order to decrease the bandwidth or profile of the
corresponding Lagrange or
finite element matrix.
The transformations apply either
to subdomains or to the whole domain or only to the original subdomains,
which is to say those that are drawn in continuous lines.
Note: a transformed, non original, subdomain is only defined by a pointer on
the original subdomain and by the affine transformation (a
matrix). This implies that all modifications, moving, adding, suppressing,
etc., of the original subdomain will affect the transformed subdomains.
Moreover, the original subdomains are displayed in continuous lines and the
tranformed subdomains are displayed in dotted lines. To effectively
generate all the transformed subdomains, we must click in the
EVALUATE box.
The transformed subdomains then become original subdomains since we
have evaluated the expression that defines the mesh.
Warning: as long as the tranformed subdomains are not evaluated, the DB boundary elements for these subdomains do not exist yet.
A point point will either denote a vertex or a mouse point, an xy point or a current point. The syntax is:
<a_transformation> ( ALL | ORIGINALS | <S_DOM>*)This means that after it is defined, a transformation will either apply to all subdomains or to the original subdomains (in continuous lines) or to explicitly selected subdomains.
A transformation is either a translation, a symmetry, a rotation or a homothety. Syntactically:
<a_transformation> = <translation> | <symmetry> | <rotation> | <homothety>;
which are defined as follows:
<translation> = TRANSLATION <point> <point>Defines the translation going from the first point to the second point.
<symmetry> = SYMMETRY ( <point_coor> <point_coor> | <SEGMENT> | <EDGE>)Defines the symmetry with respect to the straight line that supports the selected segment or edge, or that passes through the two selected points.
<rotation> = ROTATION (<point> <VALUE> | <VALUE> <point>)
Defines the rotation around the point and with angle equal to the value entered on the calulator.
<homothety> = HOMOTHETY (<point> <VALUE> | <VALUE> <point>)Defines the homothety of center the point and ratio equal to the value.
EVALUATE
This command is used to effectively generate all the transformed subdomains in order to edit them independently of their original. It also creates and transforms all the elements (segments, arcs, splines) that are referenced by the transformed subdomains.
To create symmetrical subdomains we click in the SYMMETRY item, then we select either two points, a segment or an edge, then we select either all the subdomains to be transformed, or we click in the ALL item or in the ORIGINALS item. Finally, before saving the mesh under another format than "mesh", we click in the EVALUATE item.