コード例 #1
0
# Fourierspace grid
omega_1 = arange(-params["ngn"]/2.0, 0, 1)
omega_2 = arange(0, params["ngn"]/2.0)
omega = hstack([omega_1, omega_2])

k = omega / (2*params["f"] * pi)
#k = omega / params["ngn"]


# A HAWP
HAWP = HagedornWavepacket(params)
HAWP.set_quadrature(None)

HAWP.set_parameters((1j, 1, 0, 3, -2))
HAWP.set_coefficient(0,2,1)

# Evaluate in real space
y = HAWP.evaluate_at(x)[0]

# Transform to Fourier space
HAWP.to_fourier_space()
# Evaluate in Fourier space
w = HAWP.evaluate_at(k)[0]

HAWP.to_real_space()
# Evaluate in real space again
z = HAWP.evaluate_at(x)[0]


figure()
コード例 #2
0
from WaveBlocks import HagedornWavepacket
from WaveBlocks import HomogeneousQuadrature
from WaveBlocks import InhomogeneousQuadrature

nmax = 6

params = {}
params["eps"] = 0.2
params["basis_size"] = 4
params["ncomponents"] = 1


WP1 = HagedornWavepacket(params)
WP1.set_parameters((1.0j, 1.0, 0.0, 0.0, 0.85))
WP1.set_coefficient(0, 0, 1)
WP1.set_quadrature(None)

params["basis_size"] = 6

WP2 = HagedornWavepacket(params)
WP2.set_coefficient(0, 0, 1)
WP2.set_quadrature(None)


HQ1 = HomogeneousQuadrature()
HQ1.build_qr(max(WP1.get_basis_size()))
HQ2 = HomogeneousQuadrature()
HQ2.build_qr(max(WP2.get_basis_size()))

IHQ = InhomogeneousQuadrature()
コード例 #3
0
@copyright: Copyright (C) 2010, 2011 R. Bourquin
@license: Modified BSD License
"""

from numpy import *
from matplotlib.pyplot import *

from WaveBlocks import HagedornWavepacket
from WaveBlocks.Plot import plotcf

nmax = 10
amp0 = 0.5

params = {}
params["eps"] = 0.2
params["basis_size"] = nmax
params["ncomponents"] = 1

HAWP = HagedornWavepacket(params)
HAWP.set_parameters((1.0j, 1.0, 0.0, -1.0, 0.0))

for i in range(0,nmax):
    HAWP.set_coefficient(0, i, amp0/ 2**i)

x = linspace(-4,4,4000)
y = HAWP.evaluate_at(x, prefactor=True, component=0)

figure()
plotcf(x, angle(y), conj(y)*y)
show()