<jupyter_start><jupyter_text>Cantilever and simulation paramters<jupyter_code>R = 10.0e-9  #radius of curvature of the parabolic tip apex
startprint = 0.0
simultime = 1200.0e-6 #total simulation time
fo1 =20.0e3  #cantilever 1st mode resonance frequency
omega = 2.0*np.pi*fo1
period1 = 1.0/fo1  #fundamental period
to =7.0*period1   #centered time of the sinc excitation
fo2 = 6.27*fo1
fo3 = 17.6*fo1
Q1 = 2.0 #cantilever's 1st mode quality factor
Q2 = 8.0
Q3 = 12.0
BW = 2.5*fo1*2.0  #excitation bandwith of sinc function
k_m1 =  0.25 #cantilever's 1st mode stiffness

period2 = 1.0/fo2
period3 = 1.0/fo3
dt= period3/1.0e4 #simulation timestep
printstep = period3/100.0 #timestep in the saved time array<jupyter_output><empty_output><jupyter_text>Sample parameters, SLS-VOigt configuration<jupyter_code>nu = 0.3
Gg_v = np.array([1.0e6,10.0e6,100.0e6,1.0e9,10.0e9])/(2*(1+nu)) #Glassy modulus in the Voigt-SLS configuration reported in the grid
tau_v = np.array([0.01/omega, 0.1/omega, 1.0/omega, 10.0/omega, 100.0/omega]) #retardation time reported in simulation grid
G_v = 1.0e-1/(1.2*R) #modulus of the spring in the Voigt unit that is in series with the upper spring
Jg = 1.0/Gg_v #glassy compliance
J = 1.0/G_v #compliance of the spring in the Voigt unit that is in series with the upper spring
Je = J+Jg  #equilibrium compliance of the SLS-VOigt model<jupyter_output><empty_output><jupyter_text>Continuum simulations MDR with thermal noise<jupyter_code>from AFM_sinc import MDR_SLS_sinc_noise, brownian_noise

Temp = 273.16 + 25
dt = period3/1.0e4
printstep = period3/1.0e2
Fb1, Fb2, Fb3, _ = brownian_noise(Temp, fo1, k_m1, Q1, dt, simultime)
os.chdir(path + '/NoiseA6')
print os.getcwd()


A = -6.8e-9 #amplitude of the sinc excitation
zb = 15.0e-9  #cantilever equilibrium position

np.savetxt('Simul_parameters.txt', np.array([zb*1.0e9, A*1.0e9, fo1*1.0e-3, k_m1, Q1]), header = 'Zb(nm)\tAmp(nm)\tfo1(kHz)\tQ1', delimiter = '\t')
mdr_jit = jit()(MDR_SLS_sinc_noise)

A = -6.8e-9 #amplitude of the sinc excitation
zb = 15.0e-9  #cantilever equilibrium position

dmax = 5.0e-9
Ndy = 1000


for i in range(len(Gg_v)):
    for j in range(len(tau_v)):
        #Transfering to SLS-Maxwell configuration for the MDR algorithm
        Ge = 1.0/(Je[i])
        G = J/(Jg[i]*Je[i]) 
        Gg = (G+Ge)
        tau_m = tau_v[j]*(Ge/Gg)          
        G_mpa = G/1.0e6
        Ge_mpa = Ge/1.0e6
        tau_us = tau_m*1.0e6
        print('G: %.3f MPa, Ge: %.3f MPa, tau: %.5f us'%(G_mpa, Ge_mpa, tau_us))
        %time t, tip, Fts, ca, sample, Fsinc, z1, z2, z3 = mdr_jit(A, to , BW, G, tau_m, R, dt, startprint, simultime, fo1, k_m1, zb, Fb1, Fb2, Fb3, printstep, Ge, Q1, Q2, Q3, nu, Ndy, dmax, Temp)
        np.savetxt('wNoise_Gg%d_tau%d.txt'%(i+1,j+1), np.array((t-to, Fts, Fsinc, z1, z2, z3)).T, header = 'time(s)\tFts(N)\tSinc_Force(N)\tz1(m)\tz2(m)\tz3(m)', delimiter = '\t')
        print('wNoise_Gg%d_tau%d.txt'%(i+1,j+1))<jupyter_output>G: 0.017 MPa, Ge: 0.368 MPa, tau: 0.07607 us
{'fraction_non_alphanumeric': 0.14510197258441992, 'fraction_numerical': 0.07622868605817452, 'mean_word_length': 3.825806451612903, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '135878', 'license': 'CC-BY-4.0', 'n_tokens_mistral': 1441, 'n_tokens_neox': 1328, 'n_words': 325, 'path': '.ipynb_checkpoints/SampleGrid_WNoiseA6-checkpoint.ipynb', 'repo_name': 'ealopez/SingleImpact_Simulations', 'size': '2991'}