Exemple #1
0
# -*- 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)
Exemple #2
0
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)
Exemple #3
0
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)$')
Exemple #4
0
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':