xSection: grow thermal silicon dioxide


Forgive me if this has been discussed already, I searched but did not find. I am trying to model thermal growth of silicon dioxide into a silicon substrate. This process consumes 0.44 of silicon (so grows :into => substrate), while 0.66 grows on top of the original silicon substrate boundary (grows :on => substrate). I've not been able to figure out how to do grow in these two different directions simultaneously. I tried grow on, then grow through, but this seemed to delete the first growth. I also tried growing on, after growing into, and assign to same layer, but this also deleted the first growth.

What I ended up doing was splitting it out into two different growth statements (code below) but I can't figure out how to make them be on the same layer, and so this results in two different layers. (Image below with result).

oxidize1 = grow(0.13,0.13, :mode => :round, :into => substrate)
oxidize2 = grow(0.17,0.17, :mode => :round, :on => oxidize1)

This might be alright if I could recolor the layers to some how look the same as if they were one layer, but I can't make the boundaries work out correctly.



  • sorry. mistake. 0.44/0.56. Can't add.

  • I think the solution is to join the two materials into one afterwards:

    oxidize = oxidize1.or(oxidize2)

    In general, XSection topics don't belong here as this is a separate project (https://github.com/klayoutmatthias/xsection).

    But as you see there, it's quite inactive and hardly acknowledged (4 stars). It's in fact hardly alive.


Sign In or Register to comment.