Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:15

0001 #!/bin/bash -l 
0002 usage(){ cat << EOU
0003 sboundary_test.sh
0004 ===================
0005 
0006 ::
0007 
0008     ~/o/sysrap/tests/sboundary_test.sh
0009 
0010 
0011     N=160 POLSCALE=10 AOI=BREWSTER ./sboundary_test.sh 
0012     N=160 POLSCALE=10 AOI=45 ./sboundary_test.sh 
0013 
0014     N=4 POLSCALE=10 AOI=BREWSTER  ./sboundary_test.sh 
0015 
0016 EOU
0017 }
0018 
0019 name=sboundary_test
0020 cd $(dirname $(realpath $BASH_SOURCE))
0021 export PYTHONPATH=$PWD/../../..
0022 
0023 export FOLD=/tmp/$USER/opticks/$name
0024 mkdir -p $FOLD
0025 
0026 n=16
0027 force=R  # R/T/N
0028 aoi=CRITICAL
0029 n1=1.5
0030 n2=1.0
0031 b=1
0032 
0033 export N=${N:-$n}               # polarization directions 
0034 export FORCE=${FORCE:-$force}
0035 export AOI=${AOI:-$aoi}
0036 export N1=${N1:-$n1}
0037 export N2=${N2:-$n2}
0038 export B=${B:-$b}
0039 
0040 topline="opticks/sysrap/tests/sboundary_test.sh N:$N N1:$N1 N2:$N2 FORCE:$FORCE AOI $AOI B:$B "
0041 case $AOI in 
0042    BREWSTER) topline="$topline (Polarizing angle)" ;; 
0043    CRITICAL) topline="$topline (TIR: Total Internal Reflection, ie no refract)" ;; 
0044           *) topline="$topline" ;;
0045 esac
0046 topline="$topline EYE $EYE LOOK $LOOK"
0047 export TOPLINE=${TOPLINE:-$topline}
0048 export GEOM=AOI_${AOI}
0049 
0050 
0051 cuda_prefix=/usr/local/cuda
0052 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0053 
0054 
0055 defarg=build_run_ana
0056 arg=${1:-$defarg}
0057 
0058 if [ "${arg/build}" != "$arg" ]; then 
0059    gcc $name.cc \
0060           -std=c++11 -lstdc++ -lm \
0061           -I.. \
0062           -DMOCK_CURAND \
0063           -I$CUDA_PREFIX/include \
0064           -I$OPTICKS_PREFIX/externals/glm/glm \
0065           -I$OPTICKS_PREFIX/externals/plog/include \
0066           -o $FOLD/$name 
0067 
0068    [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1 
0069 fi 
0070 
0071 if [ "${arg/run}" != "$arg" ]; then 
0072    $FOLD/$name
0073    [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2 
0074 fi 
0075 
0076 if [ "${arg/pdb}" != "$arg" ]; then 
0077    ${IPYTHON:-ipython} --pdb -i $name.py 
0078    [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 3 
0079 fi 
0080 
0081 if [ "${arg/ana}" != "$arg" ]; then 
0082    ${PYTHON:-python} $name.py 
0083    [ $? -ne 0 ] && echo $BASH_SOURCE ana error && exit 4 
0084 fi 
0085 
0086 
0087 if [ "$arg" == "pvcap" -o "$arg" == "pvpub" -o "$arg" == "mpcap" -o "$arg" == "mppub" ]; then
0088     export CAP_BASE=$FOLD/figs
0089     export CAP_REL=sboundary_test
0090     export CAP_STEM=$GEOM
0091     case $arg in  
0092        pvcap) source pvcap.sh cap  ;;  
0093        mpcap) source mpcap.sh cap  ;;  
0094        pvpub) source pvcap.sh env  ;;  
0095        mppub) source mpcap.sh env  ;;  
0096     esac
0097     if [ "$arg" == "pvpub" -o "$arg" == "mppub" ]; then 
0098         source epub.sh 
0099     fi  
0100 fi 
0101 
0102 
0103 exit 0 
0104