Hi,
i'm trying to use CGAL to mesh some simple stacks of magnetic layers, e.g. some cylinder volumes stacked on each other. i would then like to assign different materials to each layer.
Unfortunately the set_subdomain() feature of CGAL is not supported for 3D geometries at the moment.
Is there a way to glue two volumes together and tell the mesher to keep meshing the contact surface? if i just use volume1 + volume2, the union of the two volumes is meshed, but without the contact surface. Therefor it is not possible to assigne different materials properly.
See for example this code:
from dolfin import *
from mshr import *
cyl = Cylinder(Point(0,0,0), Point(0,0,100), 30, 50)
plate1 = Box(Point(-50,-50,00), Point(50,50,10))
plate2 = Box(Point(-50,-50,10), Point(50,50,20))
plate3 = Box(Point(-50,-50,20), Point(50,50,30))
plate4 = Box(Point(-50,-50,30), Point(50,50,40))
layer1 = cyl * plate1
layer2 = cyl * plate2
layer3 = cyl * plate3
layer4 = cyl * plate4
stack = layer1 + layer2 + layer4
#stack.set_subdomain(1, layer1) # not supported for 3D!
#stack.set_subdomain(2, layer2)
generator = CSGCGALMeshGenerator3D()
generator.parameters['mesh_resolution'] = 20.
mesh = Mesh()
generator.generate(stack, mesh)
File("mesh.pvd") << mesh
thanks in advance
greetings, Florian
PS: is subdomain support planed for 3D in the near future?