Calculate and highlight elements centers
Contents
Define geometry
geom = mp.geoms.SquareGeom('mydomain', struct());
Generate mesh
mesher = mp.Mesher();
mesh = mesher.generate(geom, struct('lc', 0.4));
viewer = mp.Viewer();
viewer.show(mesh);
Get information about cell types
ct = mesh.cellTypes();
if (length(ct) > 1)
error('This demo assumes mesh of single cell type')
end
info = mp_gmsh_types_info(ct);
center = sum(info.nodes, 1)/info.nnodes
cellSelector.dim = mesh.dim;
ncells = mesh.countElems(cellSelector);
center =
0.3333 0.3333 0
Map center of reference element to real element
xyz = zeros(ncells, 3);
for i=1:ncells
xyz(i, :) = mesh.geomTrans.transform(center, i);
end
Draw points at element centers
viewer.pointColor = 'red';
viewer.showPointsXY(xyz(:,1),xyz(:,2));
mp_manage_demos('report', 'mp_GeomTrans', true);