The FIELD3D program uses the modes calculated by \KRAKEN\

and produces a shade file which contains a sequence

of 2-D slices of the acoustic field.  It is commonly used

to compute a field in plan view, i.e. as a function of

horizontal coordinates (x,y). It can also be used to compute

the field on a vertical slice along any fixed bearing through

the 3-D environment.

 

FIELD3D uses a tiling of the ocean environment based on triangles.

The terminology is taken from finite-elements.  To define the

triangles you must do the following:

 

(1) Lay out a grid of points (nodes) where you will construct

environmental files for \KRAKEN\ and solve for the modes.  A coarse

rule-of-thumb is to pick points every 10 km but obviously a coarser

spacing can be used in sites with less environmental change.

 

(2) Assign a number to each of the nodes.

 

(3) Form a triangulation of the nodes.  That is,

connect the nodes with lines such that the grid is divided into

a number of triangles.  This should be done with an eye towards

keeping the area of the individual triangles uniform.  All nodes

should be a corner of at least one triangle. Each triangle is

referred to as an element.

 

There are algorithms for performing this step automatically and if

you write one I would be glad to receive it.  If instead you do

this by hand you will rapidly discover the merits of using a regular

grid.

 

(4) Assign a number to each of the elements.

 

You now have the information required by FIELD3D to describe your

triangulation.  In the input file you first tell FIELD3D the

coordinates of each node and the name of the file containing the

modes at each node.  You then tell FIELD3D how you connected the

nodes to form a triangulation.  This is done by specifying the node

numbers which define the corners of each successive element

(triangle).

 

\begin{verbatim}

 

Files:

 

        Name           Unit         Description

Input

        *.FLP            5       FieLd Parameters

        *.MOD          30-99     MODe files

 

Output

        *.PRT            6       PRinT file

        *.SHD           25       SHaDe file

 

---------------------------------------------------------

 

EXAMPLE AND DESCRIPTION OF FLP FILE:

 

'MUNK3D'                       ! TITLE

'STDFM'                        ! OPT

9999                           ! M (number of modes)

0.001  0.001                   ! XS  YS (source position) (km)

1                              ! NSD

1000.0                         ! SD(1:NSD) (m)

1                              ! NRD

800.0                          ! RD(1:NRD) (m)

501                            ! NR

0.0  100.0  501                ! RMIN  RMAX (km)

19                             ! NTHETA

0.0  360.0 /                   ! THETA(1:NTHETA) (degrees)

5                              ! Number of SSP's (NSSP)

 100.0     0.0  'SCR:MUNKT0'   ! (x, y) i=1, NSSP (km)

   0.0   100.0  'SCR:MUNKT90' 

-100.0     0.0  'SCR:MUNKT0'

   0.0  -100.0  'SCR:MUNKT270'

   0.0     0.0  'SCR:MUNKT0' 

4                              ! NELTS

5  1  2                        ! Nodes of corners

5  2  3 

5  3  4 

5  4  1 

4.0  360.0  90                 ! ALPHA1  ALPHA2  NALPHA

500.0  160                     ! STEP  NSTEPS

0.3                            ! EPMULT

 

 

(1) - OPTIONS

 

      Syntax:

         OPT

      Description:

         OPT(3:3): Type of caculation.

                   'STD' (Standard) for an Nx2D run.

                   'GBT' (Gaussian beam trace) for a 3D run.

                   'PDQ' For a fast preview run.

                   The 'STD' option neglects horizontal

                   refraction but runs a lot faster.

                   Avoid using the 'GBT' option:

                   it requires some care to use

                   properly. Option 'PDQ' runs about 3x as fast

                   as 'STD' but is less accurate.

         OPT(4:4): TESCHECK (tesselation check) flag.

                   'T'  Perform the tesselation check.

                   'F'  omit    the tesselation check.

                   For all but the simplest setups the user will

                   INVARIABLY make an error in setting up the

                   triangulation.  The first step to avoid this

                   is to run PLOTTRI to get a plot of the

                   triangulation.  Even after that one should

                   invoke this 'TESCHECK' option however for

                   large problems some time can be saved by

                   turning off this feature after the

                   triangulation has been checked once.

         OPT(5:5): Type of beams.

                   There are several types of Gaussian beams

                   available.  I suggest using 'M'. This option

                   is ignored unless the Gaussian beam

                   calculation has been selected.

         OPT(6:6): Ray file flag.

                   Use 'R' to have a file of ray path

                   trajectories (in the horizontal plane) written

                   to disk for subsequent plotting using the

                   PLOTRAYXY program.  These rays show the

                   horizontal refraction of individual modes.

                   This option is ignored if you select a 'STD'

                   or 'PDQ' run for then the ray paths are just

                   straight lines.

 

 

(2) - NUMBER OF MODES

 

      Syntax:

         M

      Description:

         M:    Number of modes to use in the field computation.

               If the number of modes specified exceeds the

               number computed then the program uses all the

               computed modes.

 

 

(3) - SOURCE COORDINATES

 

      Syntax:

         XS  YS

      Description:

         XS:  X-coordinate of source (km).

         YS:  Y-coordinate of source (km).

 

 

(4) - SOURCE/RECEIVER DEPTHS

 

      Syntax:

         NSD

         SD(1:NSD)

         NRD

         RD(1:NRD)

      Description:

         NSD:  The number of source depths. (<3)

         SD(): The source   depths (m).

         NRD:  The number of receiver depths.

               (<51 and NR*NRD < 54000)

         RD(): The receiver depths (m).

 

 

(5) - RECEIVER RANGES

 

      Syntax:

         NR

         RMIN  RMAX

      Description:

         NR:   Number of receiver ranges.

               (NR<4094 and NR * NRD <= 210000)

         RMIN: First receiver range (km). MUST BE ZERO!

         RMAX: Last  receiver range (km).

       

 

(6) - RADIALS

 

      Syntax:

         NTHETA

         THETA(1:NTHETA)

      Description:

         NTHETA:  Number of radials. (<101)

         THETA(): Angles for each radial (degrees).

         

      For full circle (or disc) coverage our plotting program

      likes to have a repeated radial, say 0 and 360 degrees.

 

      You cannot have multiple sources, receivers and bearings

      in a single run: at least one of NSD, NRD or NTHETA must

      be 1.

 

 

(7) - NODES

 

      Syntax:

         NNODES

         X(1)       Y(1)       FILNAM(1)

         X(2)       Y(2)       FILNAM(2)

          .

          .

          .

         X(NNODES)  Y(NNODES)  FILNAM(NNODES)

      Description:

         NNODES:    Number of nodes. (<1000).

         X():       X-coordinate of node (km).

         Y():       Y-coordinate of node (km).

         FILNAM():  Name of the mode file for that node.

                    Use the name 'DUMMY' to produce an acoustic

                    absorber.

 

(8) - ELEMENTS

 

      Syntax:

         NELTS

         NODE1(1)       NODE2(1)       NODE3(1)

         NODE1(2)       NODE2(2)       NODE3(2)

          .

          .

          .

         NODE1(NELTS)  NODE2(NELTS)  NODE3(NELTS)

      Description:

         NELTS:    Number of elements. (<1500)

         NODE1():  Number of node at first corner of the triangle.

         NODE2():     "   "   "    " second   "   "    "    "

         NODE3():     "   "   "    " third    "   "    "    "

 

         In this fashion we define a tiling of triangular

         elements. The ordering of the elements is arbitrary.

 

 

(9) - GAUSSIAN BEAM INFO

 

      Syntax:

         ALPHA1  ALPHA2  NALPHA

         STEP  NSTEPS

         EPMULT

      Description:

         ALPHA1: First angle for beam fan (degrees).

         ALPHA2: Last    "    "    "   "     "

         NALPHA: Number of beams in fan.

         STEP:   Step size (m).

         NSTEPS: Number of steps.

         EPMULT: Epsilon multipler for beam initial conditions.

 

      This Gaussian beam info can be omitted if the 'STD' option

      in block (1) is used.

 

---------------------------------------------------------------

 

To get a rough idea of run time, consider a 50 Hz deep water problem

with 60 modes (waterborne modes only) and for 37 radials with 501

range points per radial.  On a 1 megaflop workstation, this required

about 3 minutes with option 'STD' and 6 hours when including horizontal

refraction via option 'GBT'.

 

Run time is roughly proportional to M * NTHETA * NR.

 

\end{verbatim}