|
60 | 60 | #recipe_steps = {'step01':{'bosch':15,'iso':100,'cycles':7},
|
61 | 61 | ## 'step02':{'bosch':300,'iso':None,'cycles':300},
|
62 | 62 | # 'step03':{'bosch':None,'iso':100,'cycles':1}}
|
63 |
| -recipe_steps = {'step01':{'bosch':20,'iso':125,'cycles':7}, |
| 63 | +recipe_steps = {'step01':{'bosch':15,'iso':100,'cycles':4}, |
64 | 64 | # 'step02':{'bosch':300,'iso':None,'cycles':300},
|
65 |
| - 'step03':{'bosch':None,'iso':100,'cycles':1}} |
| 65 | + 'step03':{'bosch':None,'iso':800,'cycles':1}} |
66 | 66 |
|
67 | 67 |
|
68 | 68 | # load mask
|
69 | 69 | im_dir = 'C:/Users/nicas/Documents/E241-MicroNanoFab/masks/'
|
70 |
| -im_file = 'mask5_R5_C3_v0.png' |
71 |
| -pixel_um_conv = 49.291/80.4384 |
| 70 | +im_file = 'python_model_fil_sq.png' |
| 71 | +pixel_um_conv = 276/100 # px/um |
| 72 | +gap = 249/pixel_um_conv |
72 | 73 | # 151.37/100 # for R2_C2
|
73 | 74 | # for R5_C3: 49.291/80.4384 # px/um
|
74 | 75 |
|
|
85 | 86 | out_file = im_dir + im_file[:dummy_i] + '_out' + im_file[dummy_i:]
|
86 | 87 | cv2.imwrite(out_file, conts_im)
|
87 | 88 |
|
88 |
| -cell_size = 5 # microns |
| 89 | +cell_size = 8 # microns |
89 | 90 | wafer_thickness = 500 # microns
|
90 | 91 |
|
91 | 92 | t_start = 0 # seconds
|
|
102 | 103 | def vert_rate(z):
|
103 | 104 | a = 0.141
|
104 | 105 | b = 0.0007
|
105 |
| - return a*np.exp(-b*z) |
| 106 | +# return a*np.exp(-b*z) |
| 107 | + return (0.14-0.02) + z*(0.03/500) |
| 108 | +# d = a*np.exp(-b*z) |
| 109 | +# return d + d/2* np.cos(z * 2*np.pi/10) |
106 | 110 | def horiz_rate(z):
|
107 |
| - return 0.8#0.8*vert_rate(z) |
| 111 | + r = (0.65-0.1)+z*(0.1/500) |
| 112 | + return r*vert_rate(z) |
| 113 | +# return 0.6 + 0.2* np.cos(z * 2*np.pi/10) |
108 | 114 |
|
109 | 115 | #vert_rate = 8.5/60 # um/s
|
110 | 116 | def bosch_vert_step(z):
|
111 |
| - return 0.84 - 0.1/500*z |
| 117 | + return (0.84-0.1) + 0.1/500*z |
| 118 | +# return 0.84 + 0.4* np.cos(z * 2*np.pi/10) |
112 | 119 |
|
113 | 120 | #bosch_vert_step = 0.84 # um/step
|
114 | 121 |
|
@@ -268,8 +275,10 @@ def bosch_vert_step(z):
|
268 | 275 | ax = fig.add_subplot(111, projection='3d')
|
269 | 276 | #ax = plt.subplot(111,projection='polar')
|
270 | 277 | plot_flag = True
|
271 |
| - |
| 278 | +# |
| 279 | +#dummy_steps = loop_steps[loop_steps.index(step)-1:] |
272 | 280 | for step_i, step in enumerate(loop_steps,start=1):
|
| 281 | +#for step_i, step in enumerate(dummy_steps,start=loop_steps.index(step)): |
273 | 282 |
|
274 | 283 | #plot some results
|
275 | 284 | if step_i % (int(len(loop_steps)/10)) == 0:
|
@@ -616,7 +625,7 @@ def bosch_vert_step(z):
|
616 | 625 |
|
617 | 626 | ######
|
618 | 627 |
|
619 |
| -pts = etch_grid[loop_steps[-1]][0] |
| 628 | +pts = etch_grid['step03_iso01_isotime520']#loop_steps[-1]][0] |
620 | 629 | states = etch_grid[loop_steps[-1]][1]
|
621 | 630 | iden = etch_grid[loop_steps[-1]][2]
|
622 | 631 |
|
@@ -653,13 +662,15 @@ def bosch_vert_step(z):
|
653 | 662 | plotter.add_scalar_bar(title='z_height',height=0.08,width=0.4,
|
654 | 663 | position_x=0.01,position_y=0.1)
|
655 | 664 |
|
| 665 | +pts = etch_grid[loop_steps[-1]][0] |
656 | 666 |
|
657 |
| - |
658 |
| -cells = np.asarray(exposed_cells.points) |
659 |
| -#obj = make_grid([cells],cell_size) |
| 667 | +pts = etch_grid['step03_iso01_isotime520'][0]#loop_steps[-1]][0] |
| 668 | +#cells = np.asarray(exposed_cells.points) |
| 669 | +obj = make_grid([pts],cell_size) |
| 670 | + |
| 671 | +#obj = pv.read('C:/Users/nicas/Documents/E241-MicroNanoFab/codes/etch_model_version5_1/exposed_obj.vtk') |
| 672 | +#obj = make_grid([np.array(obj.points)],cell_size) |
660 | 673 |
|
661 |
| -obj = pv.read('C:/Users/nicas/Documents/E241-MicroNanoFab/codes/etch_model_version5_1/neigh_obj.vtk') |
662 |
| -obj = make_grid([np.array(obj.points)],cell_size) |
663 | 674 | slices = obj.slice(normal=[1,1,0])
|
664 | 675 | plotter = pv.BackgroundPlotter(window_size=[1024, 768])
|
665 | 676 | plotter.add_mesh(obj, show_edges=False,
|
|
0 commit comments