Notes
![]() ![]() Notes - notes.io |
#import numpy
import math,pylab
#from scipy.fftpack import fft, fftshift
import matplotlib.pyplot as plt
"""
Arvydas Sepetys LID
"""
"""
Assumtions:
"""
###########
"""
Tm - melting temp, K
Alpha_1064/532 - absorption coef for 1064nm/532nm
c- specific heat/specific heat capacity, J/(kgK)
kth - thermal conductivity, W/(mK)
rho - density, kg/m^3
R_1064/532 - refelctivity for wavelengths
k_1064/532 - optical extinction coefficient for wavelengths
Cv - specific evaporation heat, J/Kg
"""
###########
# Tungsten (W) props
W = {'Tm': 3695, 'Alpha_1064': 4.4231e5, 'Alpha_532': 6.468e5,
'c':132, 'kth': 170, 'rho': 19250, 'R_1064': 0.60267, 'R_532':0.49487, 'k_1064':3.7450, 'k_532':2.7382, 'Cv':4482160}
# Lithium (Li) props
Li = {'Tm': 453.69, 'Alpha_1064': 5.9483e5, 'Alpha_532': 5.6017e5,
'c':3570, 'kth': 85, 'rho': 534, 'R_1064': 0.94159, 'R_532':0.88227, 'k_1064':5.0364, 'k_532':2.3715, 'Cv':21022900}
#Hydrogen
H = {'rho': 1000, 'c': 14300, 'kth': 0.1805}
############
I = 5 # % spectroscopical data collection limit
T0 = 298 # ambient temperature
#LASER props
wlen1= 1064e-9 #laser wavelength in nm
wlen2= 532e-9 #laser wavelength in nm 2nd harmonics
#E = 1.1 # laser energy J
E = 0.4# laser energy J
t = float(6)/float(1000000000) #pulse length s
#t= float(1.5)/float(1000) #1.5ms
def find_h(I,dic,wlen):
"""
I - spectroscopical data collection limit ()collection limit lower intensity
dic - of sample
wlen - wavelength
"""
mp = 1000000000 # multiplyer to go from nm to m
nu=4*math.pi*dic['k_'+str(int(wlen*mp))]/wlen
d = -math.log(float(I)/float(100))/nu
return d #in m
def find_h2(I,dic,wlen):
"""
""""""
I - spectroscopical data collection limit ()collection limit lower intensity
dic - of sample
wlen - wavelength
"""
mp = 1000000000 # multiplyer to go from nm to m
d = -math.log(float(I)/(float(100)*(1-dic['R_'+str(int(wlen*mp))])))/(dic['Alpha_'+str(int(wlen*mp))])
return d #in m
def find_r0_LIDS(dic_particles, dic_sample, wlen, E, T0,t):
"""
dic_particles - desorbing aprticles
dic_sample - sample properties
wlen- laser wavelength
E- laser energy in J
T0- room temperature(ambient temperature)
t- pulse length
"""
mp = 1000000000 # multiplyer to go from nm to m
D=float(dic_particles['kth'])/float(dic_particles['rho']*dic_particles['c'])
# diffusion coefficient for diffusing particles
r=math.sqrt((E*(1-dic_sample['R_'+str(int(wlen*mp))]))/(math.pi*(dic_sample['Tm']-T0)*
dic_sample['rho']*dic_sample['c']*math.sqrt(2*D*t)))
DD = math.sqrt(2*D*t) #thermal diffusion depth
AL = 1/dic_sample['Alpha_'+str(int(wlen*mp))] #absorption length
return r, DD, AL
def find_r0_LIDS2 (dic_particles, dic_sample, wlen, El, T0,t):
"""
dic_particles - desorbing aprticles
dic_sample - sample properties
wlen- laser wavelength
El- laser energy in J
T0- room temperature(ambient temperature)
t- pulse length
#IF optical absorption length alpha^-1 (AL) small compared to thermal diffusion length (2Dt)^1/2 (DD)
"""
mp = 1000000000 # multiplyer to go from nm to m
D=float(dic_particles['kth'])/float(dic_particles['rho']*dic_particles['c'])
# diffusion coefficient for diffusing particles
#D=float(dic_sample['kth'])/float(dic_sample['rho']*dic_sample['c'])
A= 2*dic_sample['Alpha_'+str(int(wlen*mp))]*math.sqrt(D*t)*math.sqrt(1/math.pi)*(1-dic_sample['R_'+str(int(wlen*mp))])*El
r = math.sqrt(A/(dic_sample['Tm']*dic_sample['kth']*t*math.pi))
DD = math.sqrt(2*D*t) #thermal diffusion depth
AL = 1/dic_sample['Alpha_'+str(int(wlen*mp))] #absorption length
return r, DD, AL
def find_r0_LIAS(I,dic,wlen,El):
"""
I - spectroscopical data collection limit ()collection limit lower intensity
dic - sample dictionary
wlen - wavelength
El- laser energy
"""
mp = 1000000000 # multiplyer to go from nm to mmp
h=find_h(I, dic,wlen) # penetration depth of wavelegnth till spectroscopically useful data
r=math.sqrt(El/(dic['rho']*math.pi*h*(dic['c']*(dic['Tm']-T0)+dic['Cv'])))
#print 'V = ' + str(h*math.pi*r**2)
return r #in m
def find_Tz_LIDS(dic_particles,dic_sample,El,wlen, z,t,tx ):
"""
dic_particles - desorbing particles dictionary
dic_sample - sample dictionary
El - laser energy, J
wlen- laser wavelength
z- depth, m
t - pulse length, s
tx - measurement time,s
"""
mp = 1000000000 # multiplyer to go from nm to m
D=float(dic_particles['kth'])/float(dic_particles['rho']*dic_particles['c'])
# diffusion coefficient for diffusing particles
T=(El*(1-dic_sample['R_'+str(int(wlen*mp))])*math.exp(-z**2/(4*D*tx)))/(math.sqrt(dic_sample['rho']**2*dic_sample['c']**2*math.pi*D*tx))
if tx<=t:
return z,T, tx # temperature at depth z in K at time tx
else:
return 0,0,0
print 'tx >= t_laser'
def r_des():
"""
nu - preexponential factor
x - order of desorption
N- concentration
Ea - activation energy for desorption
R - universal gas constant, 8.314 Jmol^-1 K^-1
T- temperature
"""
r_des=nu*N**x*exp(-Ea/(R*T))
return r_des
def show_data_LID(r1,DD1,AL1, r2, DD2, AL2):
print '|----------------------------------------+------------------------------------------|'
print '| First Harmonics, 1064 nm | Second Harmonics, 532 nm |'
print '|----------------------------------------|------------------------------------------|'
print '| Maximum spot radius r = '+ "%.5f" % (r1*100) + ' cm | Maximum spot radius r = '+ "%.7f" % (r2*100) + ' cm |'
print '| Estimated thermal diffusion length: | Estimated thermal diffusion length: |'
print '| D ='+ "%.3e" % DD1 + ' m | D ='+ "%.3e" % DD2 + ' m |'
print '| Absorption length (alpha):'+ "%.3e" % AL1 + 'm | Absorption length (alpha):'+ "%.3e" % AL2 + 'm |'
print '|----------------------------------------+------------------------------------------|'
def show_data_LIA(r1,r2,E,t):
print '|----------------------------------------+------------------------------------------|'
print '| First Harmonics, 1064 nm | Second Harmonics, 532 nm |'
print '|----------------------------------------|------------------------------------------|'
print '| Maximum spot radius r = '+ "%.5f" % (r1*100) + ' cm | Maximum spot radius r = '+ "%.7f" % (r2*100) + ' cm |'
print '| Energy density : ' + "%.3e" %(E/(math.pi*(r1*100)**2)) + ' J/cm^2 | Energy density : ' + "%.3e" %(E/(math.pi*(r2*100)**2)) + ' J/cm^2 |'
print '| Power density : ' + "%.3e" %(E/(t*math.pi*(r1*100)**2)) + ' W/cm^2 | Power density : ' + "%.3e" %(E/(t*math.pi*(r2*100)**2)) + ' W/cm^2 |'
print '|----------------------------------------+------------------------------------------|'
print ''
print 'Pulse length t = '+ str(t) + 's, Energy E = ' + str(E) +'J'
r1,DD1,AL1 = find_r0_LIDS(H, W, wlen1, E, T0, t)
r2,DD2,AL2 = find_r0_LIDS(H, W, wlen2, E, T0, t)
print '------------>>>H desorption from W<<<-------------P=' + "%.3e" %(E/t) + 'W, with t = ' + str(t) +'s'
show_data_LID(r1,DD1,AL1, r2, DD2, AL2)
r1,DD1,AL1 = find_r0_LIDS(Li, W, wlen1, E, T0, t)
r2,DD2,AL2 = find_r0_LIDS(Li, W, wlen2, E, T0, t)
print ''
print ''
print '------------>>>Li desorption from W<<<-------------P=' + "%.3e" %(E/t) + 'W, with t = ' + str(t) +'s'
show_data_LID(r1,DD1,AL1, r2, DD2, AL2)
print ''
print 'Pulse length t = '+ str(t) + 's, Energy E = ' + str(E) +'J'
print '------------>>>W abalation <<<-------------P=' + "%.3e" %(E/t) + 'W, with t = ' + str(t) +'s'
r1 = find_r0_LIAS(I,W,wlen1,E)
r2 = find_r0_LIAS(I,W,wlen2,E)
show_data_LIA(r1,r2,E,t)
print '------------>>>Li abalation <<<-------------P=' + "%.3e" %(E/t) + 'W, with t = ' + str(t) +'s'
r1 = find_r0_LIAS(I,Li,wlen1,E)
r2 = find_r0_LIAS(I,Li,wlen2,E)
show_data_LIA(r1,r2,E,t)
#print 'W LIAS r='+str(r1*100) + ' cm, S= ' + str((r1*100)**2*math.pi) + 'cm^2'
#print 'Li LIAS r='+str(find_r0_LIAS(I,Li,wlen1,E)*100) + ' cm'
print str(find_h2(I, W, wlen1)) + ' - optical penetration depth for wlen = ' + str(wlen1) + ' m, when 5% of initial light intensity remains'
print 'z,T,tx'
print find_Tz_LIDS(H,W,E,wlen1, (find_h2(I, W, wlen1))/1000,t,float(5)/float(1000000000) )
![]() |
Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 14 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team