Work on Idea #160

An Atomic Filter by Drawing on Paper


So, this idea is about trying to draw a paper with a sharp pencil or graphite rod until you've filled most of its surface, and the only white spaces left are of atomic proportions. You can draw zig-zag patterns, circles or random twisting trajectories, as long as you don't lift the rod from the paper. This is meant to be done by a plotter machine, with 3-axis motion. After that, you dissolve the paper, somehow, and retrieve the graphite filter.

The motivation for this, and for all my ideas that involve atomic filters, is to directly sieve molecules or even atoms, leading to an unprecedented ability to separate substances.

I tried this idea back in 2018, according to the date on my files. I can say upfront that the results I got were not encouraging. On the chance that I've taken a wrong turn somewhere, I decided to log this failure as well. 

There is a script in python. It was the only time I used a Flood Fill in my life. The details are a little vague after so long, but basically it draw black lines on a white rectangular grid. The larger the grid the closer you will get to actually study what would be like to have a nanometric pore, say with a pixel being one 1nm x 1nm. This however demands great computational resources (large matrices) and was not possible on my PC. 

After drawing the lines, it marks a smaller rectangle in the center, and counts the areas of white pores inside it, computing its area distribution. It should disregard the outer regions of the rectangular grid as it is not densely filled by the lines, as it was assumed that you could produce a large filter and cut its edges with ease. 

You could control the size of the rectangular grid, the brush thickness as well as the number of lines drawn, referred to a variable called steps. These are examples of random images generated by the program [one could say they are even artistical, if not a little scary]. 

The rectangular grids on the images below are just 500x500, and still took about 5h to simulate all cases, many that turned out to be a waste of time since the grid was all black. At first, I wanted to map the problem.

Changing the Number of Steps

dotSize = 3; steps = 250 

dotSize = 3; steps = 500 

dotSize = 3; steps = 750

dotSize = 3; steps = 1000

dotSize = 3; steps = 1250

dotSize = 3; steps = 1500

Changing the Brush Size

dotSize = 3; steps = 500 

dotSize = 4; steps = 500 

dotSize = 5; steps = 500 

dotSize = 6; steps = 500 

dotSize = 7; steps = 500 

dotSize = 8; steps = 500 

Area Distribuition

Our goal is to have an area distribution profile that has a peak on one pixel areas (area 1), and very little areas with superior number of pixels. The more uniform the areas, the better. Intuitively, we can see from the images above that increasing the brush size is not the way to go. Large brushes tend to leave large, non-uniform patches of white. Our best bet is to choose a brush and compare the area distributions for various step values. 

FIGURE 1. Count of areas inside small central rectangle. The brush size used was 3, on a 500x500 rectangular grid with central rectangle of 25x25.

As it can be seen, with only 250 steps the areas (in black in the plot) are too widely dispersed into multiple peaks. As you increase the steps value, the distribution gets sharper, but the count of areas also diminishes. An interesting value was with steps = 750, that still produced a tall peak, even though it spread out a little. 

In general, that means that quality filters produced this fashion are very coarse, they have little holes per square inch. It can be argued with reason that such filters are not practical in reality, since they would be bulky and inefficient. That is the reason why this idea failed. 

There was only one way I could think of to salvage the idea, and this occurred to me recently. What if we produced a coarse filter, but then proceeded to map its pores using some experimental technique, get their locations, splice the coarse filter around the pores and then united each segment that had a pore, forming now a dense filter? 

It would be time consuming, but a dense filter, with a good standard deviation on pore size, would be invaluable in my opinion. 

ADDITIONAL CONSIDERATIONS

I believe these random results above would benefit from multiple runs and averaging before getting an area distribution value. This was not performed.

CODE DOWNLOAD LINKS:

atomic_filter_v9.py

BANNER IMAGE CREDITS: ESA/Hubble & NASA, A. Filippenko, R. Jansen 

Want to know more about this image? Follow this external link.