Step 16: Get a list of boundary nodes

Run Shells to get an ordered list of boundary nodes; these will require boundary conditions in the next step.

Use either Shells.exe (supplied) for Windows (95, 98, NT, 2000, ME, XP, Vista), or else compile your own version from Shells.f90. (In that case, you will have to supply a routine to solve banded linear systems, from a numerical library such as IMSL.)

If you are running Shells.exe, or if you compiled Shells.f90 with switches set to give interactive prompting for undefined filenames at run time, you can specify input and output file names as Shells runs. Otherwise, you will have to predefine the connections between input/output filenames and Fortran I/O device numbers, using a batch file.

Here is the complete list of input and output channels for Shells. (If a particular device number causes problems on your system, you can change the corresponding IUNITx parameter and recompile.) At this particular step, the only input necessary is on channels 1 and 4, and the only important output will be on channel 50.

Fortran device number (channel)

Type of input/output file to connect:

Sample file of this type: (most are located in folder /oldFTP/neotec/Shells/ Earth5/Earth5-049/ )

1
(or: IUNITG)

finite element grid (.feg) file [input]

Earth5R.feg

2
(or: IUNITV)

approximate velocity solution (v_____.out) file (used for restarting iteration) [optional input]

vEarth5-049.out

3
(or: IUNITB)

boundary conditions (.bcs) file [optional input; if absent, Shells lists boundary nodes & stops]

Earth5R-type4AplusA.bcs

4
(or: IUNITP)

parameter input (.in) file [input]

iEarth5-049.in

7
(or: IUNITD)

digitized plate boundaries, with identification of the polarity of any subduction zones [input]

PB2002_boundaries.dig

8
(or: IUNITM)

special file describing lower-mantle flow; only required if parameter ICONVE in line 14 of the parameter input file is > 0 [input]

PB2002_plates.dig (if ICONVE = 3 or 4);
Baum887.dig (if ICONVE = 2);
HOC79ii.dig (if ICONVE = 1)

9
(or: IUNITS)

nodal velocity (v_____.out) file [output]

vEarth5-049.out

10
(or: IUNITF)

reaction force (f_____.out) file [output]

fEarth5-049.out

11
(or: IUNITQ)

new torque- and force-balance report for each plate, produced by this run of Shells

qEarth5-049.out

12
(or: IUNITR)

old torque- and force-balance report for each plate, produced by a previous run of Shells

qEarth5-049.out [needed if ICONVE = 6]

50
(or: IUNITT)

text output (t_____.out) file [output]

Earth5-049.log

51
(or: IUNITI)

temporary file "iteration permit.txt" which is used as a flag to let the user interrupt a long job without crashing it.

[not shown]

Now, look at your new text output on Fortran channel 50. The finite element grid is read. Next, the input parameters are read. Then, the program checks the grid for topological errors. If none are found, the program looks for a file of boundary conditions. Since you have not provided one, it will print a list of nodes requiring boundary conditions, and then stop. What you should do is use a text editor to extract this last table from the output and make it the skeleton of a new boundary-conditions (.bcs) file.