Fish Beginner'S Guide: Fish in 3dec Contents - 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

FISH in 3DEC

Contents - 1

TABLE OF CONTENTS
1 FISH BEGINNERS GUIDE
1.1
1.2

Introduction and Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 1


Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 2

2 FISH REFERENCE
2.1
2.2

2.3

2.4

Introduction and Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


FISH Language Rules, Variables and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Reserved Names for Functions and Variables . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Scope of Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Functions: Structure, Evaluation and Calling Scheme . . . . . . . . . . . . . . .
2.2.5 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6 Arithmetic: Expressions and Type Conversions . . . . . . . . . . . . . . . . . . . . .
2.2.7 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.8 Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.9 Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.10 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.11 Tensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.12 Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.13 FISH Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.14 Redefine FISH Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FISH Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 The ARRAY Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 3DEC Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Linkages to 3DEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Modified 3DEC Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Execution of FISH Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 Inline FISH, or FISH Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4 Executing Commands from FISH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.5 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.6 FISHCALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1
2-2
2-2
2-3
2-4
2-4
2-7
2-8
2-9
2 - 12
2 - 13
2 - 14
2 - 15
2 - 16
2 - 16
2 - 17
2 - 18
2 - 18
2 - 19
2 - 24
2 - 26
2 - 26
2 - 27
2 - 30
2 - 30
2 - 31
2 - 32

3DEC Version 5.0

Contents - 2

2.5

2.6

FISH in 3DEC

Predefined Intrinsic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


2.5.1 Designators of FISH Functions and Parameters . . . . . . . . . . . . . . . . . . . .
2.5.2 General FISH Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.1 General Mathematical Functions . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.2 General Utility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.3 Table Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.4 Scalar, Vector and Tensor Variables . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.5 Label Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.6 Memory-Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.7 Input-Output Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.8 Socket I/O Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.9 Email Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.10Geometry Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.11Discrete Fracture Network (DFN) Functions . . . . . . . . . . . . . . . .
2.5.2.12DFN Template Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.13DFN Fracture Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.14DFN Fracture Vertex Functions . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.15DFN Fracture Intersection Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.16DFN Fracture Intersections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2.17Zone Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 3DEC-Specific Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.1 General 3DEC Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.2 3DEC Data Structure Index Functions . . . . . . . . . . . . . . . . . . . . . .
2.5.3.3 3DEC Block Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.4 3DEC Boundary Corner Functions . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.5 3DEC Contact Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.6 3DEC Block Face Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.7 3DEC Block Material Property Functions . . . . . . . . . . . . . . . . . .
2.5.3.8 3DEC Joint Material Property Functions . . . . . . . . . . . . . . . . . . .
2.5.3.9 3DEC Sub-contact Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.103DEC Gridpoint Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.113DEC Vertex List Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.123DEC Zone Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.133DEC Liner Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.143DEC Flow-Plane Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.153DEC Flow-Zone Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.163DEC Flow-Knot Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.173DEC Flow-Plane Zone Functions . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3.183DEC Flow-Plane Vertex Functions . . . . . . . . . . . . . . . . . . . . . . .
2.5.4 Access to 3DECs Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FISH Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3DEC Version 5.0

2 - 35
2 - 36
2 - 39
2 - 39
2 - 44
2 - 51
2 - 55
2 - 61
2 - 62
2 - 65
2 - 70
2 - 73
2 - 75
2 - 85
2 - 90
2 - 94
2 - 98
2 - 99
2 - 102
2 - 105
2 - 111
2 - 111
2 - 116
2 - 118
2 - 122
2 - 124
2 - 126
2 - 127
2 - 128
2 - 129
2 - 132
2 - 134
2 - 135
2 - 140
2 - 142
2 - 143
2 - 144
2 - 146
2 - 147
2 - 148
2 - 150

FISH in 3DEC

Contents - 3

3 LIBRARY OF FISH FUNCTIONS


4 PROGRAM GUIDE
4.1
4.2

Linked-List Indices and Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Main Data Group .FIN Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 BLOCK.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1.1 Data File BLOCK.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 BOUN.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2.1 Data File BOUN.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 CONTACT.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3.1 Data File CONTACT.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 CABLE.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4.1 Data File CABLE.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.5 REINF.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.5.1 Data File REINF.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.6 LINER.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.6.1 Data File LINER.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.7 BEAM.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.7.1 Data File BEAM.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.8 FLOW.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.8.1 Data File FLOW.FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-1
4-3
4-3
4-3
4 - 10
4 - 10
4 - 13
4 - 13
4 - 17
4 - 17
4 - 20
4 - 20
4 - 22
4 - 22
4 - 26
4 - 26
4 - 31
4 - 31

5 C++ FISH INTRINSIC PLUG-INS


5.1

5.2

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.1 Base Class Interface for FISH Intrinsics . . . . . . . . . . . . . . . . . . . .
5.1.1.2 General Interface Documentation . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.3 Example Intrinsic Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.4 Creating User-Written Model DLLs . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.5 Loading and Running User-Written Model DLLs . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-1
5-2
5-2
5-3
5-3
5-3
5-5
5-6

3DEC Version 5.0

Contents - 4

FISH in 3DEC

TABLES
Table 1.1
Table 2.1
Table 2.2
Table 2.3
Table 2.4
Table 2.5
Table 2.6
Table 2.7
Table 2.8
Table 2.9
Table 2.10
Table 2.11
Table 2.12
Table 2.13
Table 2.14
Table 2.15
Table 2.16
Table 2.17
Table 2.18
Table 2.19
Table 2.20
Table 2.21
Table 2.22
Table 2.23
Table 2.24
Table 2.25
Table 2.26
Table 2.27
Table 2.28
Table 2.29
Table 2.30
Table 2.31
Table 2.32
Table 2.33
Table 2.34
Table 2.35
Table 2.36
Table 2.37

Commands that directly refer to FISH names . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


String manipulation characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assigned shcall IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC-specific types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General mathematical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General utility functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type ID numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scalar, vector and tensor variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Label functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory-access functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input-output functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Socket I/O routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Email functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Geometry variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN utility functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN intrinsic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN template utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN template intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN fracture utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN fracture intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN vertex utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN vertex intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN intersection set utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN intersection set intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN intersection utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFN intersection intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zone field data names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zone field data variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General 3DEC functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC data structure index functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC block functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC boundary corner functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC contact functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC block face functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC block material property functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC joint material property functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3DEC Version 5.0

1-4
2 - 12
2 - 33
2 - 36
2 - 38
2 - 39
2 - 44
2 - 50
2 - 52
2 - 55
2 - 61
2 - 62
2 - 65
2 - 70
2 - 73
2 - 75
2 - 85
2 - 89
2 - 90
2 - 91
2 - 94
2 - 95
2 - 98
2 - 99
2 - 99
2 - 100
2 - 102
2 - 103
2 - 106
2 - 109
2 - 112
2 - 116
2 - 118
2 - 122
2 - 124
2 - 126
2 - 127
2 - 128

FISH in 3DEC

Table 2.38
Table 2.39
Table 2.40
Table 2.41
Table 2.42
Table 2.43
Table 2.44
Table 2.45
Table 2.46
Table 2.47
Table 2.48
Table 4.1
Table 4.2

Contents - 5

3DEC sub-contact functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3DEC gridpoint functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertex list functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC zone functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC liner functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC flow-plane functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC flow-zone functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC flow-knot functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC flow-plane zone functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3DEC flow-plane vertex functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access to 3DECs data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global offsets and include file names for main data groups . . . . . . . . . . . . . . . . .
Global offset and include file name for structural element data group . . . . . . . .

2 - 129
2 - 132
2 - 134
2 - 135
2 - 140
2 - 142
2 - 143
2 - 144
2 - 146
2 - 147
2 - 148
4-2
4-2

3DEC Version 5.0

Contents - 6

FISH in 3DEC

FIGURES
Figure 4.1

Linked lists for main data array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 2

3DEC Version 5.0

FISH in 3DEC

Contents - 7

EXAMPLES
Example 1.1
Example 1.2
Example 1.3
Example 1.4
Example 1.5
Example 1.6
Example 1.7
Example 1.8
Example 1.9
Example 1.10
Example 1.11
Example 1.12
Example 2.1
Example 2.2
Example 2.3
Example 2.4
Example 2.5
Example 2.6
Example 2.7
Example 2.8
Example 2.9
Example 2.10
Example 2.11
Example 2.12
Example 2.13
Example 2.14
Example 2.15
Example 2.16
Example 2.17
Example 5.1

Defining a FISH function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Using a variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SETting variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test your understanding of function and variable names . . . . . . . . . . . . . . . .
Capturing the history of a FISH variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FISH functions to calculate bulk and shear moduli . . . . . . . . . . . . . . . . . . . . .
Using symbolic variables in 3DEC input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controlled loop in FISH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Applying a nonlinear initial distribution of moduli . . . . . . . . . . . . . . . . . . . . .
Splitting lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variable types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Action of the IF ELSE ENDIF construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initializing and printing FISH arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Construction of a function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A recursive function call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Removing recursion from the function shown in Example 2.3 . . . . . . . . . . .
Evaluation of variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control of interactive input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Usage of the CASE construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FISH function with generic zone handling capability . . . . . . . . . . . . . . . . . . .
Using string variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controlling a series of 3DEC runs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Error Handler to control a run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Listing of FISHCALL.FIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Illustration of shcall use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Insertion sort of 20 random numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Use of the FISH input-output functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Server data file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Client data file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class definition for the IFishLibrary interface . . . . . . . . . . . . . . . . . . . . .

1-2
1-3
1-3
1-4
1-4
1-6
1-7
1-8
1-8
1-9
1 - 10
1 - 11
2-3
2-4
2-5
2-6
2-6
2 - 11
2 - 21
2 - 28
2 - 29
2 - 30
2 - 32
2 - 33
2 - 34
2 - 64
2 - 68
2 - 72
2 - 72
5-2

3DEC Version 5.0

Contents - 8

3DEC Version 5.0

FISH in 3DEC

You might also like