Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

3D trenches with variable angle with or without "design module" [geometry]

Please login with a confirmed email address before reporting spam

Hi,

I am modelling a material which, when chemically etched, will not produce 90deg vertical sidewalls but can have a slope of variable angle. If I would draw in my etch mask 2 vertical lines and 2 horizontal lines of equal size to produce a separate square of this material, it would not produce a cube but a trapeziodal prism. If I would get a slice of this structure, I would obersve an isoceles trapezoid: https://en.wikipedia.org/wiki/Trapezoid#/media/File:Trapezoid_special_cases.png

On the 2D plane, the ojects I am modelling aren't just a square but can be an assembly of many rectangles.

For vertical sidewalls, things are pretty straightforward: I import the "positive" (final desired shape, rather than trenches which are the negatives) 2D shape and then apply an extrusion.

However, for non-vertical angles things get hairy. For a single rectangle, I have noticed that you can somewhat create the desired trapezoidal shape using the "scales" and "displacements" options of the extrude function. For some reasons I don't quite get, when using the scales option with any value other than 1 (to scale the size of the projected extruded face), the destination face is re-centered to the origin of the plane and you need to use displacements to compensate for that.

The thing is, the displacement you need to use will depend on both the scale and the rectangle dimensions. So, if you have more than 1 rectangles in your source work plane, this technique breaks down.

Now, you could say that a possible option is to create a plane for each rectangle and perform extrusion on each. Pretty cumbersome but why not. If you do this, you still do not get the desired shape as this would create, after extrusion, "internal slopes" between two adjacent (touching) rectangles, when we only want non vertical slopes at the periphery of the coumpound object.

The solution used so far uses hexahedrons, simulating these slopes via direct writing of hexahedron coordinates. The hexahedrons are then placed next to the positive regular extruded shapes and then a boolean operation (substraction) is performed to create these slopes. This is working out for simple geometries. But as you can probably imagine, this is very, very cumbersome to programmatically define where the hexadron should be and each of their points coordinates when the base 2D geometry we want extruded starts to be very complex.

We have reached out to COMSOL support which suggested the chamber feature of the design module: https://cdn.comsol.com/product-new/design-module/full/ring-resonator-chamfer-operation-comsol.webp Unfortunately, the chamfer feature works as the radius of the rolling ball tangent to the faces adjacent to the edges: https://doc.comsol.com/5.4/doc/com.comsol.help.design/DesignModuleUsersGuide.pdf and long story short, the slope angle that you can generate with this method is 45 degree only. I really need other angles. COMSOL commented that they don't see any ways to do what we would like to do.

I was somewhat shocked to hear this as surely, I am not the only one dealing with non-vertical sidewalls. Therefore I am calling out to the community: - am I missing some obvious method here? - did anyone come up with a clever method able to automatically generate a desired slope angle after extrusion?

Ideally, in the extrusion options, we would get a "sized" option that generates a destination shape shrink or grown by x microns. "sizing" is a typical feature of layout softwares such as Klayout: https://www.klayout.de/doc/manual/layer_size.html which is why I was somewhat expecting it in the COMSOL design module.

So I thought that maybe I could generate a "sized" 2D shape of the source shape myself, position it on a new plane above the source plane and somehow connect these 2D shapes to generate the 3D trapezoid. Is this comething that coud be done?

In advance, many thanks for your support, comments and suggestions.

BR, Eric


6 Replies Last Post 2022年2月15日 GMT-5 07:16
Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 2 years ago 2022年1月24日 GMT-5 11:22

Hello Eric,

I am hardly an expert in this aspect of our software, and I get the strong feeling that there is a more elegant solution than what follows, but in the interest of giving you at least one quick solution, here's a way to get it done (see the attached file):

Draw your squares/rectangles in a workplane Use an offset operation to obtain a shrunk version of each square/rectangle inside of each square/rectangle Extrude the shrunk squares/rectangles Use a loft operation to connect the two end surfaces of the desired trapezoidal prisms

Best,

Jeff

-------------------
Jeff Hiller
Hello Eric, I am hardly an expert in this aspect of our software, and I get the strong feeling that there is a more elegant solution than what follows, but in the interest of giving you at least one quick solution, here's a way to get it done (see the attached file): Draw your squares/rectangles in a workplane Use an offset operation to obtain a shrunk version of each square/rectangle inside of each square/rectangle Extrude the shrunk squares/rectangles Use a loft operation to connect the two end surfaces of the desired trapezoidal prisms Best, Jeff


Please login with a confirmed email address before reporting spam

Posted: 2 years ago 2022年1月25日 GMT-5 04:39
Updated: 2 years ago 2022年1月25日 GMT-5 06:01

Many thanks for yout swift reply Jeff. We'll request an extention of the Design module demo to try this out.

edit --

We cannot open hour file without the design module but we had a try offsetting the shapes in the meantime.

Offsetting cannot have multiple connected domains (see 1st picture) When selecting all shapes in work plane, then we have disconnected shrunk shapes (see 2nd picture).

Then if we'd extrude and loft, we would get an "internal" slope between the 2 squares, wouldn't we?

Many thanks for yout swift reply Jeff. We'll request an extention of the Design module demo to try this out. edit -- We cannot open hour file without the design module but we had a try offsetting the shapes in the meantime. Offsetting cannot have multiple connected domains (see 1st picture) When selecting all shapes in work plane, then we have disconnected shrunk shapes (see 2nd picture). Then if we'd extrude and loft, we would get an "internal" slope between the 2 squares, wouldn't we?


Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 2 years ago 2022年1月25日 GMT-5 09:17
Updated: 2 years ago 2022年1月26日 GMT-5 09:53

Hello Eric,

In that case (overlapping or contiguous squares/rectangles), you can take the union of the two squares/rectangles with the "keep interior boundaries" checkbox turned off (this will remove undesired internal edges) before taking the offset.

See attached screenshots and mph file (for when you can open it). One of the screenshots shows a Split operation that I did not mention yesterday.

Best,

Jeff

-------------------
Jeff Hiller
Hello Eric, In that case (overlapping or contiguous squares/rectangles), you can take the union of the two squares/rectangles with the "keep interior boundaries" checkbox turned off (this will remove undesired internal edges) before taking the offset. See attached screenshots and mph file (for when you can open it). One of the screenshots shows a Split operation that I did not mention yesterday. Best, Jeff


Please login with a confirmed email address before reporting spam

Posted: 2 years ago 2022年2月9日 GMT-5 04:29
Updated: 2 years ago 2022年2月9日 GMT-5 04:34

Hi Jeff and sorry for the late reply,

We got hold of another design module demo now.

I guess the inital exemples I gave were a bit too simple. Eventually, our final geometry to be extruded is composed of rectangles than can form shapes such as a rectangle hollowed out by another rectangle.

The steps you suggested are working great if you have a single edge loop but breaks down when we have more than 1, at the level of the loft feature.

I guess we could make many single edge loop shapes, perform the operation and then try to merge vertices at interfaces but we are steering away from a simple and elegant solution.

Any suggestions, anyone working with structures having non vertical sidewalls?

Pictures in copy: 00 and 01 are showing a case where the steps work because we have only one edge loop. 02 is showing the more complex actual use case we'd like to handle and the associated error.

BR, Eric

Hi Jeff and sorry for the late reply, We got hold of another design module demo now. I guess the inital exemples I gave were a bit too simple. Eventually, our final geometry to be extruded is composed of rectangles than can form shapes such as a rectangle hollowed out by another rectangle. The steps you suggested are working great if you have a single edge loop but breaks down when we have more than 1, at the level of the loft feature. I guess we could make many single edge loop shapes, perform the operation and then try to merge vertices at interfaces but we are steering away from a simple and elegant solution. Any suggestions, anyone working with structures having non vertical sidewalls? Pictures in copy: 00 and 01 are showing a case where the steps work because we have only one edge loop. 02 is showing the more complex actual use case we'd like to handle and the associated error. BR, Eric


Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 2 years ago 2022年2月9日 GMT-5 09:41
Updated: 2 years ago 2022年2月10日 GMT-5 17:17

Hi Eric,

Lofting does work one loop at a time, so for the case you describe in your latest message you can use two loft operations, one for the inner loop and one for the outer loop, as shown in the attached files.

Best,

Jeff

-------------------
Jeff Hiller
Hi Eric, Lofting does work one loop at a time, so for the case you describe in your latest message you can use two loft operations, one for the inner loop and one for the outer loop, as shown in the attached files. Best, Jeff


Please login with a confirmed email address before reporting spam

Posted: 2 years ago 2022年2月15日 GMT-5 07:16

Thank you Jeff. We will evaluate this technique and see if it is simpler than our current implementation.

BR, Eric

Thank you Jeff. We will evaluate this technique and see if it is simpler than our current implementation. BR, Eric

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.