Initial example with manually specified constant T-matrix

This commit is contained in:
Marek Nečada 2022-06-06 05:40:03 +03:00
parent 5086e42353
commit 8df02429d5
3 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,7 @@
An example with arectangular array of a very simplistic
model of scatterer with completely fabricated constant
T-matrix and manually specified set of VSWFs the scatterer
interacts with (i.e. instead of constant lMax cutoff).
This might be useful e.g. in symmetry-breaking thought
experiments.

View File

@ -0,0 +1,53 @@
#!/bin/bash
# Common parameters for a rectangular array
# N.B. We put those into bc, which does not understant exponential notation
export PX_nm=375
export PY_nm=375
export BG_REFINDEX=1.52
export BSPEC='[6,14]' # l = 1, m = +- 1 (i.e. xy) electric dipoles, nothing more
# Input parameters for T-matrix. It shall have the following form:
# '[[ T_mm, T_mp],
# [ T_mp, T_pp]]'
#
# The following lines are used to specify parameters for the most
# simplistic T-matrix that b having only diagonal elements, but
T_PHASE_MM=0.1
T_PHASE_PP=0.05
# "gain" factors; values larger than 1 are unphysical, 1 conserves energy
T_GAINFACTOR_MM=1
T_GAINFACTOR_PP=1
# Setup bc
echo 'scale=20;pi=3.14159265358979323846;' > bc_env
export BC_ENV_ARGS="bc_env"
# We have only one particle per unit cell here
export P1X_nm=0
export P1Y_nm=0
# Lattice vectors (for the general scripts)
export A1X_nm=${PX_nm}
export A1Y_nm=0
export A2X_nm=0
export A2Y_nm=${PY_nm}
# Reciprocal lattice vectors
export B1X_nmi=$(bc <<< '1/'${PX_nm})
export B1Y_nmi=0
export B2X_nmi=0
export B2Y_nmi=$(bc <<< '1/'${PY_nm})
# Constant T-matrix
T_MM="$(bc -l <<< -.5+.5*${T_GAINFACTOR_MM}*c\(${T_PHASE_MM}\))+$(bc -l <<< .5*${T_GAINFACTOR_MM}*s\(${T_PHASE_MM}\))j"
T_PP="$(bc -l <<< -.5+.5*${T_GAINFACTOR_PP}*c\(${T_PHASE_PP}\))+$(bc -l <<< .5*${T_GAINFACTOR_PP}*s\(${T_PHASE_PP}\))j"
export TMATRIX="\
[[${T_MM},0],\
[0,${T_PP}]]" # note no unescaped whitespaces allowed here

View File

@ -0,0 +1,17 @@
#!/bin/bash
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
MISCDIR=../../../misc
source ${SCRIPTDIR}/00_params.sh
# try several lMaxes
${MISCDIR}/lat2d_realfreqsvd.py \
-B $BG_REFINDEX \
-b s${A1X_nm}e-9 s${A1Y_nm}e-9 \
-b s${A2X_nm}e-9 s${A2Y_nm}e-9 \
-p s${P1X_nm}e-9 s${P1Y_nm}e-9 \
-w ${BSPEC} -T ${TMATRIX} \
-k 0 0 \
-F 2.001 0.001 2.250 \
-P