#!perl #
# # Perl script 'fv.pl' to perform network ray tracing in Fresnel volumes # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Usage: # perl fv.pl $- # Parameters: # $-... Prefix of the input data files. # Input files required: # $-gri1.dat, $-net1.dat, $-net2.dat, # $-gri3.dat, $-net3.dat, $-net4.dat, $-net.h and files referred # from them. # First 3 files correspond to the first iteration, # latter 3 files correspond to all subsequent iterations. # Inside all these files $-net.out, which will be created of # $-net.h, has to be referred as the SEP parameter file describing # the grid dimensions and numerical parameters. # Note: # After each network ray tracing from the 1st (source) point to the # 2nd (receiver) point, you may Quit the iterations. Consecutive # network ray tracing in the opposite is not required during the # last iteration, which may be reported by program 'netind.for' or # indicated by a user. # ====================================================================== # Input files required: $PREFIX=$ARGV[0]; @ARGV=(); require 'go.pl' ; # &CHK("net/" ,"net.fs2" ); # just in 2-D # &CHK("net/" ,"net.fs3" ); # just in 3-D &CHK("net/fv/","${PREFIX}gri1.dat"); &CHK("net/fv/","${PREFIX}net1.dat"); &CHK("net/fv/","${PREFIX}net2.dat"); &CHK("net/fv/","${PREFIX}gri3.dat"); &CHK("net/fv/","${PREFIX}net3.dat"); &CHK("net/fv/","${PREFIX}net4.dat"); &CHK("net/fv/","${PREFIX}net.h" ); # &CHK("net/fv/","${PREFIX}src.dat" ); # or whatever is referred # &CHK("net/fv/","${PREFIX}rec.dat" ); # or whatever is referred # &CHK("net/fv/","vgr-mod.dat" ); # or whatever is referred # # Copy file $-net.h to $-net.out: ©("${PREFIX}net.h","${PREFIX}net.out"); # # First iteration: &RUN("grid" ,"'${PREFIX}net.out' '${PREFIX}gri1.dat' /"); &ECHO( ">>${PREFIX}net.out"," NET='${PREFIX}net1.dat'"); &RUN("net" ,"'${PREFIX}net.out' /"); &ECHO( ">>${PREFIX}net.out"," NET='${PREFIX}net2.dat'"); &RUN("net" ,"'${PREFIX}net.out' /"); &RUN("netind","'${PREFIX}net.out' '${PREFIX}net1.dat' '${PREFIX}net2.dat' '${PREFIX}net3.dat' /"); # # Next iterations: FV: &RUN("grid" ,"'${PREFIX}net.out' '${PREFIX}gri3.dat' /"); &ECHO( ">>${PREFIX}net.out"," NET='${PREFIX}net3.dat'"); &RUN("net" ,"'${PREFIX}net.out' /"); print "Type Q[uit] to terminate iterations, RETURN to continue: "; $ans=; exit 0 if $ans=~ /^[Qq]/; &ECHO( ">>${PREFIX}net.out"," NET='${PREFIX}net4.dat'"); &RUN("net" ,"'${PREFIX}net.out' /"); &RUN("netind","'${PREFIX}net.out' '${PREFIX}net3.dat' '${PREFIX}net4.dat' '${PREFIX}net3.dat' /"); goto FV; # 1; #