# -*- coding: utf-8 -*- import math import const import numpy as np import pdb import csv import kinetic import potential if __name__ == '__main__': potent = potential.Potential() kinet = kinetic.Kinetic() fs = [] for i in range(const.NSTEP): print i #pdb.set_trace() potent.calculate(kinet.x) kinet.verlet(potent.force) #if i != 0 and i % const.NTSCALE == 0: #kinet.scale_t fs.append([potent.potential, kinet.kinetic_energy]) with open('ene.data', 'w') as f: writer = csv.writer(f, lineterminator='\n') writer.writerow(['potential', 'kinetic']) for i in fs: writer.writerow(i)
import sys, os pkg_path = os.path.abspath('../pkg/') sys.path.append(pkg_path) import potential as pot import numpy as np Pot = pot.Potential('axion_monodromy') k = np.linspace(0.01, 1.5, 150) phimax = np.linspace(0.001, 10.0, 150) max_FE = np.zeros((len(k), len(phimax))) for i in range(0, len(k)): for j in range(0, len(phimax)): max_FE[i,j] = Pot.max_Floquet_exp(k[i], phimax[j]) X = np.meshgrid(k, phimax) np.save('max_FE.npy', max_FE) np.save('XY.npy', X)
import os, sys pkg_path = os.path.abspath('../pkg/') sys.path.append(pkg_path) import potential as pot import numpy as np import matplotlib.pyplot as plt plt.rc('text', usetex=True) plt.rc('font', family='serif') pot = pot.Potential('quadratic') if (pot.phimin() == 0.0): print("Test Phimin Okay") else: print("Test phimin Failed") #throw TestFail exception plot_phi = np.linspace(-3.0, 3.0, 10000) plt.xlabel('$\phi$') plt.ylabel('$V(\phi)$') plt.plot(plot_phi, pot.V(plot_phi), 'r') plt.savefig('test_V_plot.png', dpi=150) plt.close() plt.xlabel('$\phi$') plt.ylabel('$V(\phi)$')
import numpy as np import matplotlib.pyplot as plt import potential import motor V_amp = 1 a = 0.3 L = 1 p_d = 0.4 F_ext = -15 dt = 0.005 u_0 = 100 p1 = potential.Potential(V_amp, a, L, 0) p2 = potential.Potential(0, a, L, 0) w12 = potential.Omega(type='uniform', value=0.5, p_d=0, length=1000, peak=L * 100) w21 = potential.Omega(type='uniform', value=0.5, p_d=p_d * 100, length=1000, peak=L * 100) m1 = motor.Motor(5, p1, p2, 1, w12, w21) #m2 = motor.Motor(490,p1,p2,1,0.3,1,w12,w21) for i in range(int((10 / dt) - 1)): if m1.increment_x(F_ext, dt, u_0) == 'out':