Thank you for the help. I can now extract the mesh points from a circular virtual boundary, and create a new meshed circle. My intention is that the mesh points along the perimeter should be at exactly the same locations as those of the original virtual boundary - but the mesh density at the centre of the new circle can be set differently. When I try to do this I find that the perimeter points are not the same.
[attachment=undefined]circles.png[/attachment]
If you have a moment to help me sort this out it would be much appreciated.
# Create concentric circles with virtual boundary
geo = SplineGeometry()
geo.AddCircle(c=(0,0), r=radius1, bc=1, leftdomain=0, rightdomain=1, maxh=h1)
geo.AddCircle(c=(0,0), r=radius2, bc=2, leftdomain=1, rightdomain=0, maxh=h3)
geo.AddCircle(c=(0,0), r=radius1, bc=4, leftdomain=2, rightdomain=0, maxh=h1)
ngmesh = geo.GenerateMesh(maxh=h4)
ngmesh.Save("annular.vol")
# Extract points from virtual boundary and create a second mesh
geo2 = SplineGeometry()
nlist = []
for el in ngmesh.Elements1D():
# check boundary index is the right one (circle perimeter)
if el.index != 1: continue
x, y, z = ngmesh[el.vertices[0]]
nlist.append(geo2.AppendPoint(x,y))
nlen = len(nlist)
nlist.append(nlist[0])
for i in range(nlen):
geo2.Append(,nlist[i+1]], leftdomain=1, rightdomain=0, bc=1)
ngmesh2 = geo2.GenerateMesh(maxh=h5)
ngmesh2.Save("plane_face.vol")