General function for modification of a mesh object.
PIDs = gf_mesh_set(mesh M, 'pts', mat PTS)
PIDs = gf_mesh_set(mesh M, 'add point', mat PTS)
gf_mesh_set(mesh M, 'del point', ivec PIDs)
CVIDs = gf_mesh_set(mesh M, 'add convex', geotrans GT, mat PTS)
gf_mesh_set(mesh M, 'del convex', mat CVIDs)
gf_mesh_set(mesh M, 'del convex of dim', ivec DIMs)
gf_mesh_set(mesh M, 'translate', vec V)
gf_mesh_set(mesh M, 'transform', mat T)
gf_mesh_set(mesh M, 'boundary', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'region', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'region intersect', int r1, int r2)
gf_mesh_set(mesh M, 'region merge', int r1, int r2)
gf_mesh_set(mesh M, 'region subtract', int r1, int r2)
gf_mesh_set(mesh M, 'delete boundary', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'delete region', ivec RIDs)
gf_mesh_set(mesh M, 'merge', mesh m2)
gf_mesh_set(mesh M, 'optimize structure')
gf_mesh_set(mesh M, 'refine'[, ivec CVIDs])
General function for modification of a mesh object.
PIDs = gf_mesh_set(mesh M, 'pts', mat PTS)
Replace the coordinates of the mesh points with those given in PTS
.
PIDs = gf_mesh_set(mesh M, 'add point', mat PTS)
Insert new points in the mesh and return their #ids.
PTS
should be an nxm
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(mesh M, 'del point', ivec 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(mesh 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(mesh 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(mesh M, 'del convex of dim', ivec DIMs)
Remove all convexes of dimension listed in DIMs
.
For example; gf_mesh_set(mesh M, 'del convex of dim', [1,2])
remove
all line segments, triangles and quadrangles.
gf_mesh_set(mesh M, 'translate', vec V)
Translates each point of the mesh from V
.
gf_mesh_set(mesh M, 'transform', mat T)
Applies the matrix T
to each point of the mesh.
Note that T
is not required to be a NxN
matrix (with
N = gf_mesh_get(mesh M, 'dim')
). Hence it is possible to transform
a 2D mesh into a 3D one (and reciprocally).
gf_mesh_set(mesh M, 'boundary', int rnum, mat CVFIDs)
DEPRECATED FUNCTION. Use 'region' instead.
gf_mesh_set(mesh M, 'region', int rnum, mat CVFIDs)
Assigns the region number rnum
to the convex faces (or convexes)
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).
If a vector is provided (or a one row matrix) the region will represent
the corresponding set of convex.
gf_mesh_set(mesh M, 'region intersect', int r1, int r2)
Replace the region number r1
with its intersection with region number r2
.
gf_mesh_set(mesh M, 'region merge', int r1, int r2)
Merge region number r2
into region number r1
.
gf_mesh_set(mesh M, 'region subtract', int r1, int r2)
Replace the region number r1
with its difference with region
number r2
.
gf_mesh_set(mesh M, 'delete boundary', int rnum, mat CVFIDs)
DEPRECATED FUNCTION. Use 'delete region' instead.
gf_mesh_set(mesh M, 'delete region', ivec RIDs)
Remove the regions whose #ids are listed in RIDs
gf_mesh_set(mesh M, 'merge', mesh m2)
Merge with the mesh m2
.
Overlapping points won't be duplicated. If m2
is a mesh_fem object,
its linked mesh will be used.
gf_mesh_set(mesh M, 'optimize structure')
Reset point and convex numbering. After optimisation, the points (resp. convexes) will be consecutively numbered from 1 to gf_mesh_get(mesh M, 'max pid') (resp. gf_mesh_get(mesh M, 'max cvid')).
gf_mesh_set(mesh M, 'refine'[, ivec 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 mesh_fem and mesh_im objects linked
to this mesh will be automagically refined.
Y. Collette