It looks like you're new here. If you want to get involved, click one of these buttons!
Hello all,
I have seen a few discussions on how to write circular patterns of unit cells. This discussion is not to ask about how to do that, but to ask about what I SHOULD be able to do. Currently, I am looking at writing something around 50 billion unit cells that are some arbitrary nanometers in size. I have been able to make a pattern that spans a couple hundred microns in diameter (about 50 thousand unit cells). It took a few minutes, but I was able to visualize it in KLayout. My goal is to go to a larger pattern (tens of billions of unit cells), but I figured this would require a heap of RAM I do not have. I tried anyway, and unsurprisingly, I ran into a bad memory allocation error.
I have a few questions:
1) What are some ideas of how to get around memory limitations when creating large files like these? I would assume populate an array cell for some number of rings then write these to storage. Repeat the process to add more rings to the same .gds file, but I am unsure how to load the file (to ) in such a way that would
2) Currently, I loop through each ring, insert the unit cells I know I can fit (manually calculating each unit cell position while incorporating an angular offset that changes each ring), then insert more cells if possible (more manual position calculations and angular offsets). Is there currently a more efficient way to write unit cells in a circular pattern than to manually calculate each cells position?
Here is a pattern to show an example of what I am able to achieve on a smaller scale:
