In [1]:
import numpy as np
from anemoi import MultiFreq, MiniZephyr, MiniZephyr25D, SparseKaiserSource
In [2]:
systemConfig = {
'dx': 1., # m
'dz': 1., # m
'c': 2500., # m/s
'rho': 1., # kg/m^3
'nx': 100, # count
'nz': 200, # count
'freqs': np.arange(50, 450, 50), # Hz
# 2D Problem
'disc': MiniZephyr, # discretization
'parallel': True,
# # 2.5D Problem
# 'disc': MiniZephyr25D, # discretization
# 'parallel': False,
# 'nky': 80,
}
In [3]:
mf = MultiFreq(systemConfig)
mf.subProblems
Out[3]:
In [4]:
sks = SparseKaiserSource(systemConfig)
In [5]:
q = sks(np.array([[25, 25],[50, 40]]))
In [6]:
q
Out[6]:
In [7]:
%time
us = mf*q
In [8]:
%pylab inline
In [9]:
clip = 0.1
plotOpts = {
'vmin': -clip,
'vmax': clip,
'cmap': cm.bwr
}
subplot(1,2,1)
imshow(us[0][:,0].reshape((200,100)).real, **plotOpts)
subplot(1,2,2)
imshow(us[5][:,1].reshape((200,100)).real, **plotOpts)
Out[9]:
In [ ]: