Name

gf_mesh_set — General function for modification of a mesh object.

Calling Sequence

ivec IDX = gf_mesh_set(M, 'add point', mat  PT)
gf_mesh_set(M, 'del point', ivec  IDX)
vec IDX = gf_mesh_set(M, 'add convex', geotrans  GT,mat  CVPTS)
gf_mesh_set(M, 'del convex', ivec  IDX)
gf_mesh_set(M, 'del convex of dim', ivec  DIM)
gf_mesh_set(M, 'region', int bnum, imat CVFLST)
gf_mesh_set(M, 'region intersect', int R1, int R2)
gf_mesh_set(M, 'region merge', int R1, int R2)
gf_mesh_set(M, 'region substract', int R1, int R2)
gf_mesh_set(M, 'delete region', ivec blst)
gf_mesh_set(M, 'translate', vec  V)
gf_mesh_set(M, 'transform', mat  T)
gf_mesh_set(M, 'merge', const_mesh  M2)
gf_mesh_set(M, 'optimize structure')
gf_mesh_set(M  'refine' [, mat CVLST])

Description

  • PIDs = gf_mesh_set(M,'pts',mat PTS) Replace the coordinates of the mesh points with those given in PTS.

  • PIDs = gf_mesh_set(M,'add point',mat PTS) Insert new points in the mesh and return their #ids. PTS should be an n x m matrix , where n is the mesh dimension, and m is the number of points that will be added to the mesh. On output, PIDs contains the point #ids of these new points.

    Remark: if some points are already part of the mesh (with a small tolerance of approximately 1e-8), they won't be inserted again, and PIDs will contain the previously assigned #ids of these points.

  • gf_mesh_set(M,'del point',vec PIDs) Removes one or more points from the mesh. PIDs should contain the point #ids, such as the one returned by the 'add point' command.

  • CVIDs = gf_mesh_set(M,'add convex',GeoTrans GT, mat PTS) Add a new convex into the mesh. The convex structure (triangle, prism,...) is given by GT (obtained with gf_geotrans('...')), and its points are given by the columns of PTS. On return, CVIDs contains the convex #ids. PTS might be a 3-dimensional array in order to insert more than one convex (or a two dimensional array correctly shaped according to Fortran ordering).

  • gf_mesh_set(M,'del convex',mat CVIDs) Remove one or more convexes from the mesh. CVIDs should contain the convexes #ids, such as the ones returned by the 'add convex' command.

  • gf_mesh_set(M,'del convex of dim',vec DIMs) Remove all convexes of dimension listed in DIMs.

    For example; gf_mesh_set(M,'del convex of dim', [1,2]) remove all line segments, triangles and quadrangles.

  • gf_mesh_set(M,'translate',vec V) Translates each point of the mesh from V.

  • gf_mesh_set(M,'transform',mat T) Applies the matrix T to each point of the mesh. Note that T is not required to be a N x N matrix (with N = gf_mesh_get(M,'dim')). Hence it is possible to transform a 2D mesh into a 3D one (and reciprocally).

  • gf_mesh_set(M,'region',int rnum, mat CVFIDs) Assigns the region number rnum to the convex faces stored in each column of the matrix CVFIDs. The first row of CVFIDs contains a convex #ids, and the second row contains a face number in the convex (or 0 for the whole convex (regions are usually used to store a list of convex faces, but you may also use them to store a list of convexes).

  • gf_mesh_set(M,'region intersect',int r1, int r2) Replace the region number r1 with its intersection with region number r2.

  • gf_mesh_set(M,'region merge',int r1, int r2) Merge region number r2 into region number r1.

  • gf_mesh_set(M,'region substract',int r1, int r2) Replace the region number r1 with its difference with region number r2.

  • gf_mesh_set(M,'delete region',vec RIDs) Remove the regions whose #ids are listed in RIDs

  • gf_mesh_set(M,'merge',Mesh m2) Merge with the Mesh m2. Overlapping points won't be duplicated. If m2 is a MeshFem object, its linked mesh will be used.

  • gf_mesh_set(M,'optimize structure') Reset point and convex numbering. After optimisation, the points (resp. convexes) will be consecutively numbered from 1 to gf_mesh_get(M,'max pid') (resp. gf_mesh_get(M,'max cvid')).

  • gf_mesh_set(M,'refine'[, vec CVIDs]) Use a Bank strategy for mesh refinement. If CVIDs is not given, the whole mesh is refined. Note that the regions, and the finite element methods and integration methods of the MeshFem and MeshIm objects linked to this mesh will be automagically refined.

See Also

gf_mesh_get, gf_mesh

Authors

Y. Collette