Mathematica script for calculating the 2D Bessel transforms.

Former-commit-id: 6371433778d3b7ee2f0a286f2f3e2cbddc53c917
This commit is contained in:
Marek Nečada 2017-09-11 03:05:49 +03:00
parent 0757e0c7df
commit 53e5508642
3 changed files with 22 additions and 2 deletions

11
besseltransforms/runit.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
K=$1
Q=$2
N=$3
module load mathematica
cat - vzor.m <<<"
kk=$K;
qq=$Q;
nn=$N;
" | math -noprompt > "${K}-${Q}-${N}"

6
besseltransforms/vzor.m Normal file
View File

@ -0,0 +1,6 @@
$Assumptions = k >= 0 && k0 >= 0 && c >= 0 && n >= 0 ;
Refine[Integrate[(1 - Exp[-c x])^\[Kappa] (k0 x)^(-q) Exp[
I k0 x] x BesselJ[n, k x] Exp[-c x], {x,
0, \[Infinity]}], {\[Kappa] == kk, q == qq, n == nn}]
Series[%, {k, \[Infinity], 10}]
Quit[ ]

View File

@ -152,7 +152,7 @@ def _scuffTMatrixConvert_EM_01(EM):
else:
return None
def loadScuffTMatrices(fileName):
def loadScuffTMatrices(fileName, normalisation = 1):
"""
TODO doc
"""
@ -182,7 +182,10 @@ def loadScuffTMatrices(fileName):
for outc_type in [0,1]:
TMatrices[:,1-outc_type,:,1-inc_type,:] = TMatrices_tmp_real[:,:,outc_type,:,inc_type]+1j*TMatrices_tmp_imag[:,:,outc_type,:,inc_type]
# IMPORTANT: now we are going from Reid's/Kristensson's/Jackson's/whoseever convention to Taylor's convention
TMatrices[:,:,:,:,:] = TMatrices[:,:,:,:,:] * np.sqrt(ny*(ny+1))[ň,ň,ň,ň,:] / np.sqrt(ny*(ny+1))[ň,ň,:,ň,ň]
if normalisation == 1:
TMatrices[:,:,:,:,:] = TMatrices[:,:,:,:,:] * np.sqrt(ny*(ny+1))[ň,ň,ň,ň,:] / np.sqrt(ny*(ny+1))[ň,ň,:,ň,ň]
elif normalisation == 2: # Kristensson?
pass
return (TMatrices, freqs, freqs_weirdunits, lMax)