Professional Documents
Culture Documents
This section contains a library of FISH functions that have been written for general application in
UDEC analysis. The functions can be used for various aspects of model generation and solution,
including generation, plotting, assigning material properties and solution control.
The FISH function files are contained in file “FISH.ZIP” in compressed format in the “FISHBOWL”
directory. Individual files can be decompressed by typing the command
pkunzip fish filename.fis
in which filename corresponds to one of the filenames described on the following pages.
The general procedure to implement these FISH functions is performed in three steps.
1. The FISH file is first called by the UDEC data file with the command
call filename.fis
2. Next, FISH variables, if given at the top of the function file, must be set in the data file
with the command
set var1 = value var2 = value ...
where var1, var2, etc. are the variable names that must be set to specified values.
3. Finally, the FISH function is invoked by entering the function name that follows directly
after the DEF command in the FISH file. The name does not have to be given if a fishcall
is used within the file.
The FISH functions interact with UDEC in various ways. You should turn to Section 2.2.3 for a
description of the different types of linkages between FISH and UDEC.
set_zero
SPEED speed
calculates speed of calculations
on your computer
high_unbal
control to minimize inertial low_unbal
SERVO servo
response to applied conditions high_val
zonk gradually extracts region of
ZONK relax zones to simulate excavation
c_x1
FROOT froot finds the root of a function c_x2
bracketed in an interval func
val
acc_in sd_out
spectrum sv_out sa_out
SPEC finds the response spectrum
of an accelerogram pmin pmax
damp n_point
LEGEND 0.80
18-Aug-04 9:57
cycle 0 0.60
time 0.000E+00 sec
0.40
table plot
-1.00E+00<tab 1> 1.00E+00
-1.00E+00<tab 2> 1.00E+00 0.20
Vs.
0.00E+00<X value> 1.88E+01
0.00
-0.20
-0.40
-0.60
-0.80
-1.00
0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00
Itasca Consulting Group, Inc. (e+001)
Minneapolis, Minnesota USA
a filled contour plot will be generated. Note that this function requires that one extra grid variable
be designated via the CONFIG extra command. The keyword alias is added to rename ex 1 to
displacement magnitude in the plot legend. Figure 1 shows the plot.
block 0 0 0 20 20 20 20 0
crack 0 3 20 3
gen quad 4
bound yvel 0.0 range 0 20 -.1 .1
prop mat 1 dens 1000 bulk 2e8 shear 1e8
prop jmat 1 jkn 1.33e7 jks 1.33e7 jfric 30.0
set grav 0 -10
damp auto
cyc 100
call dispmag.fis
disp mag
plot hold gp free fill alias ’displacement magnitude’
ret
LEGEND 1.800
18-Aug-04 9:58
cycle 100
time 1.433E-01 sec
1.400
boundary plot
displacement magnitude
contour interval= 1.000E-03
1.000E-03 to 9.000E-03
1.000E-03 1.000
2.000E-03
3.000E-03
4.000E-03
5.000E-03
6.000E-03
0.600
7.000E-03
8.000E-03
9.000E-03
0.200
x
2
e−t dt
2
erf(x) = √
π 0
∞
2
e−t dt
2
erfc(x) = √
π x
of a real variable x using the rational approximation in section 7.1.26 in Abramowitz and Stegun
(1970). The error magnitude is less than 1.5 × 10−7 . The value of x is defined by e val; the
functions erf and erfc return the corresponding function value. The following data file plots
functions erf and erfc in the interval [0, 1.5].
Reference
Abramowitz, M., and I. A. Stegun. Handbook of Mathematical Functions. New York: Dover
Publications, Inc., 1970.
LEGEND
18-Aug-04 10:03
cycle 0 0.80
time 0.000E+00 sec
table plot
0.00E+00<tab 1> 9.66E-01
3.39E-02<tab 2> 1.00E+00 0.60
Vs.
0.00E+00<X value> 1.50E+00
0.40
0.20
0.00
0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
∞ e−t
E1 (x) = dt
x t
of a real and positive variable x, using polynomial approximations in sections 5.1.53 and 5.1.54 in
Abramowitz and Stegun (1970). The error magnitude is less than 2 × 10−7 for x ≤ 1, and less than
5 × 10−5 for x > 1.
The value of x is defined by e val, and the function exp int returns the corresponding value of
E1 . The following data file plots function E1 in the interval [0,1.6].
Reference
Abramowitz, M., and I. A. Stegun. Handbook of Mathematical Functions. New York: Dover
Publications, Inc., 1970.
LEGEND 2.00
1.00
0.80
0.60
0.40
0.20
0.00
0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
1
P0 = ∗ (|f0 |)2 (1)
N2
1
Pk = 2
∗ [(|fk |)2 + (|fN −k |)2 ] (2)
N
1
PN = ∗ (|f N |)2 (3)
2 N2 2
Note that an array, worka, is used to manipulate the table data. The array dimension (n point)
is defined from the following conditions: (1) to be greater than the number of elements in the input
table; and (2) to be a power of 2. (The array dimension need not be declared manually.) The fft
algorithm requires input data with a constant timestep. So, a timestep is calculated, and the data
are interpolated from the table and stored into the array for processing.
The following example verifies the fft FISH function. The history input is the sum of a sine wave
at 1 Hz and an amplitude of 1, a cosine wave at 5 Hz and an amplitude of 2, and a sine wave at 10 Hz
and an amplitude of 3. The combined history input is calculated by the FISH function cr tab.
The input is plotted in Figure 1. The power spectrum shown in Figure 2 consists of three sharp
peaks at 1, 5 and 10 Hz, with increasing peak values.
Reference
Press, W. H., B. P. Flannery, S. A. Teukolsky and W. T. Vetterling. Numerical Recipes in C.
Cambridge: Cambridge University Press, 1992.
new
;
table 1 read test02.his
;
ca fft.fis
;
set fft in 1 fft out 2
fftransform
;
pl hold tab 1
pl hold tab 2
JOB TITLE :
LEGEND
table plot
2.00
-5.38E+00<tab 1> 5.47E+00
Vs.
1.17E-02<X value> 1.20E+01
0.00
-2.00
-4.00
-6.00
0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40
Itasca Consulting Group, Inc. (e+001)
Minneapolis, Minnesota USA
JOB TITLE :
(e+001)
UDEC (Version 4.00)
1.00
LEGEND 0.90
18-Aug-04 10:08
cycle 0 0.80
time 0.000E+00 sec
0.70
table plot
0.00E+00<tab 2> 9.00E+00
Vs. 0.60
0.00E+00<X value> 2.13E+01
0.50
0.40
0.30
0.20
0.10
0.00
0.00 0.40 0.80 1.20 1.60 2.00 2.40
Itasca Consulting Group, Inc. (e+001)
Minneapolis, Minnesota USA
Reference
Press, W. H., B. P. Flannery, S. A. Teukolsky and W. T. Vetterling. Numerical Recipes: The Art
of Scientific Computing (FORTRAN Version). Cambridge: Cambridge University Press, 1986.
title
Root of a function in an interval
ca froot.fis
def func
func = tan(c x0) - c x0
end
def itis root
; find the root of function func
; in the interval ] pi/2, 3pi/2 [
; with accuracy tol
c x1 = 1.01 * pi/2.
c x2 = 0.99 * 3.*pi/2.
tol = 1.e-4
plot func
root = froot
c x0 = root
xtable(2,1) = root
ytable(2,1) = func
end
def plot func
; calculate func at 20 points in the interval and
; store the values in table 1
dx = (c x2 - c x1)/20.
c x0 = c x1
loop ii (1,20)
c x0 = c x0 + dx
xtable(1,ii) = c x0
ytable(1,ii) = func
end loop
end
itis root
plot hold table 1 line 2 cross
ret
LEGEND
1.60
18-Aug-04 10:11
cycle 0
time 0.000E+00 sec
1.20
table plot
-7.58E+00<tab 1> 1.65E+01
1.32E-04<tab 2> 1.32E-04 X X X
Vs. 0.80
1.74E+00<X value> 4.67E+00
0.40
0.00
-0.40
-0.80
1.50 2.00 2.50 3.00 3.50 4.00 4.50 5.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
σ1 = σ3 − −σ3 σc m + σc2 s (1)
where σc is the unconfined compressive strength of the intact rock, m and s are material constants
of the rock mass, and compressive stresses are negative (UDEC convention).
For a given value of σ3 , a tangent to the function (Eq. (1)) will represent an equivalent Mohr-Coulomb
yield criterion in the form:
σ1 = Nφ σ3 − σcM (2)
where Nφ = 1+sin φ
1−sin φ = tan2 ( φ2 + 45◦ ).
σcM = σ1 + σ3 Nφ
= −σ3 + −σ3 σc m + σc2 s − σ3 Nφ
= −σ3 (1 − Nφ ) + −σ3 σc m + σc2 s (3)
σcM is the apparent uniaxial compressive strength of the rock mass for that value of σ3 .
The tangent to the function (1) is defined by
∂σ1 σc m
Nφ (σ3 ) = = 1 + (4)
∂σ3 2 −σ3 · σc m + s σc2
The cohesion (c) and friction angle (φ) can then be obtained from Nφ and σcM :
φ = 2 tan−1 Nφ − 90◦ (5)
σM
c = c (6)
2 Nφ
The comparison of the Mohr-Coulomb linear approximation to the Hoek-Brown yield surface is
shown in the figure. These equivalent c and φ are a good approximation of the nonlinear yield
surface for values of the minor principal stress that are close to the given σ3 . The FISH function
cfi calculates the value of c and φ for each zone every ns steps. Thus, as σ3 changes, the values
of c and φ will also change. It is noted that the instantaneous values of c and φ calculated in this
way closely match those calculated using Hoek’s (1990) expressions based on normal and shear
stress.
Hoek and Brown (1982) also define constants mr and sr for properties of a broken rock mass. If
failure occurs, m and s are changed to mr and sr to represent sudden post-failure response. A
progressive strain-softening behavior could be modeled by replacing the Mohr-Coulomb model
with the strain-softening model.
The Hoek-Brown parameters, σc , m, s, mr and sr are set in “HOEK.FIS” via the variables hb sc,
hb mmi, hb ssi, hb mmr and hb ssr, respectively, through the SET command. The FISH
function, cfi, is called to update cohesion, friction and tension variables in the Mohr-Coulomb
model. The dilation angle may be specified using the variable hoek psi (use hoek psi = f i for
an associated flow rule — see example below). Note that, if σ3 becomes tensile, the yield surface
remains linear with the slope Nφ (σ3 ) defined at σ3 = 0.
The user controls the update process by specifying ns and nsup through the SET command. ns
defines the number of steps taken before cfi is called to update properties. nsup defines the total
number of times cfi is to be called. ns × nsup corresponds to the total number of steps in the
UDEC run. The default for ns, if not specified, is 5. This may require variation depending on the
nonlinearity of the failure surface.
A triaxial compression test on a Hoek-Brown material sample is provided below as an example
application of this routine. The test is strain-controlled, and an associated flow rule is selected, for
the numerical simulation.
References
Hoek, E. “Estimating Mohr-Coulomb Friction and Cohesion Values from the Hoek-Brown Failure
Criterion,” Int. J. Rock Mech. Min. Sci. & Geomech. Abstr., 27(3), 227-229 (1990).
Hoek, E., and E. T. Brown. Underground Excavations in Rock. London: IMM, 1982.
round = .001
block 0 0 0 2.2 0.5 2.2 0.5 0
gen quad .2
zone model mohr
bound stress -5 0 0 range .499 5.01 -.1 2.3
bound xvel 0.0 range -.01 .01 0 20
bound yvel .05 range 0 .5 -0.1 0.1
bound yvel -.05 range 0 .5 2.19 2.21
zone bulk 666.67 shear 400 tension 1e10
prop mat 1 dens 2e-3
prop jmat 1 jkn 133 jks 133
insitu stress -5 0 -5 szz -5
hist syy .25 1.1
label hist 1
YY - Stress
hist sxx .25 1.1
label hist 2
XX - Stress
hist szz .25 1.1
hist ydisp 0 2.2
label hist 4
Y - Displacement
hist xdisp 1.0 1.1
call block.fin
call zmat.fin
call hoek.fis
def hoek psi
hoek psi = fi ;associated flow rule
end
supsolve
LEGEND
-0.60
18-Aug-04 10:13
cycle 12000
-0.80
time 6.762E-01 sec
history plot
-1.00
YY - Stress
XX - Stress
Vs.
-1.20
0.00E+00<time> 6.76E-01
-1.40
-1.60
-1.80
-2.00
-2.20
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00
Itasca Consulting Group, Inc. (e-001)
Minneapolis, Minnesota USA
LEGEND
1.800
18-Aug-04 10:13
cycle 12000
time 6.762E-01 sec
boundary plot
displacement vectors 1.400
maximum = 4.508E-02
0 2E -1
1.000
0.600
0.200
new
title
Example of INTEGRATE FISH function
;
table 1 read test01.his
;
ca int.fis
;
set int in 1 int out 2
integrate
;
plot hold table 1 2
LEGEND 0.80
18-Aug-04 10:16
cycle 0 0.60
time 0.000E+00 sec
0.40
table plot
-1.00E+00<tab 1> 1.00E+00
-1.00E+00<tab 2> 1.00E+00 0.20
Vs.
0.00E+00<X value> 1.88E+01
0.00
-0.20
-0.40
-0.60
-0.80
-1.00
0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00
Itasca Consulting Group, Inc. (e+001)
Minneapolis, Minnesota USA
Ax = b (1)
where A is a given square matrix of size n, b is a given vector of size n, and x is the desired solution
vector of size n. The FISH function ludcmp performs an LU-decomposition on the matrix A. The
FISH function lubksb performs the back-substitution operation to produce the solution vector x.
Both of these functions implement the algorithm described in Press et al. (1986).
An example problem demonstrating the use of the two FISH functions is provided in the data file
below. The size of the matrix is passed as an argument to make random data.
Reference
Press, W. H., B. P. Flannery, S. A. Teukolsky and W. T. Vetterling. Numerical Recipes: The Art
of Scientific Computing (FORTRAN Version). Cambridge: Cambridge University Press, 1986.
end loop
;--- multiply by matrix to get r.h.s.
loop i (1,lu nn)
sum = 0.0
loop j (1,lu nn)
sum = sum + aa(i,j) * xx(j)
end loop
bb(i) = sum
ii = out(’ b(’+string(i)+’) = ’+string(sum))
end loop
end;--- look at results ---
def look
loop i (1,lu nn)
xtable(2,i) = float(i)
ytable(2,i) = bb(i)
ii = out(’ x(’+string(i)+’) = ’+string(bb(i)))
end loop
end
;
call luda.fis ; support functions for LU-decomposition
;
set log on
make random data ; Right-hand sides ...
ludcmp
lubksb
look ; Following list should correspond to original vector of x values
; ===================================================================
label table 1
Set values
label table 2
Calculated values
pl tab 1 2 cross
return
JOB TITLE :
LEGEND
8.00
18-Aug-04 10:18
cycle 0
time 0.000E+00 sec 7.00
table plot
Set values
Calculated values XXX 6.00
Vs.
1.00E+00<X value> 8.00E+00
5.00
4.00
3.00
2.00
1.00
1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
1
p = − (σ1 + σ2 + σ3 )
3
1
q = √ (σ1 − σ2 )2 + (σ2 − σ3 )2 + (σ1 − σ3 )2 (1)
2
Note that p is an effective pressure, defined in terms of the effective principal stresses.
block 0 0 0 20 10 20 10 0
gen quad 4
call pq.fis
set x zon = 2.5
set y zon = 10.0
bound xvel 0.0 range -.01 .01 0 20
bound yvel 0.01 range 0 10 -.1 .1
bound yvel -0.01 range 0 10 19.9 20.1
prop mat 1 dens 2000 bulk 2e8 shear 1e8
prop jmat 1 jkn 1.33e7 jks 1.33e7 jfric 30.0
damp auto
hist qs
hist ps
cyc 100
bound yvel 0.0 range 0 10 -.1 .1
bound yvel 0.0 range 0 10 19.9 20.1
bound xvel -.01 range 9.9 10.1 -.1 20.1
cyc 300
plot hold his 1 vs his 2
ret
JOB TITLE :
(e+005)
UDEC (Version 4.00)
1.20
LEGEND
history plot
0.80
0.00E+00<hist 1> 1.08E+05
Vs.
0.00E+00<time> 8.16E-01
0.60
0.40
0.20
0.00
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00
Itasca Consulting Group, Inc. (e-001)
Minneapolis, Minnesota USA
round 0.05
block -8 -8 -8 8 8 8 8 -8
crack -3 -8 -3 8
crack 3 -8 3 8
crack -8 3 8 3
crack -8 -3 8 -3
del -3 3 -3 3
crack -1 3 1.5 8
crack 1 3 -1.5 8
fix -8 8 -8 0
fix -8 8 5 8
; rock properties
prop m=1 d=0.0027 k=2e3 g=1e3 jkn=1e4 jks=1e4 jfric=10 jcoh=0 jtens=0
;
; structural liner properties
struct gen xc 0 yc 0 np 20 thick 0.1 mat 10
prop mat=10 st d=0.000025
prop mat=10 st ymod=210000 st prat=0.15
prop mat=10 st yield=40 st yresid=40 st ycomp 40
prop mat=10 if kn=1e4 if ks=1e4 if tens=0 if fric=50 if coh=0
;
; gravity load
set grav 0 -10
;
hist unbal
hist ydis 0 3
hist yvel 0 3
;
; Case 1 : elastic analysis
step 3000
set echo off
call prstruc.fis
set echo on
set b space 5 b height=0.5
set log pr struc.log
set log on
pr struc
set log off
ret
;
win -3.5 3.5 -.5 6.5
save wedge1.sav
plot block struct mom yrev fill disp
;
; Case 2 : yield strength = residual strength = 18 MPa
prop mat=10 st yield=18 st ycomp=40 st yresid=18
step 30000
save wedge2.sav
plot block struct mom yrev fill disp
;
; Case 3 : yield strength = 18 MPa residual strength = 16.7 MPa
rest wedge1.sav
prop mat=10 st yield=18 st ycomp=40 st yresid=16.7
step 30000
win -3.5 3.5 -.5 6.5
plot block struct mom yrev fill disp
save wedge3.sav
;
; Case 4 : elastic analysis with double layer of liner
rest wedge0.sav
; structural liner properties
struct gen xc 0 yc 0 np 100 thick 0.1 mat 10
struct gen xc 0 yc 0 np 100 thick 0.1 mat 10
prop mat=10 st d=0.000025
prop mat=10 st ymod=21000 st prat=0.15
prop mat=10 st yield=40 st yresid=40 st ycomp 40
prop mat=10 if kn=1e4 if ks=1e4 if tens=0 if fric=50 if coh=0
;
; gravity load
set grav 0 -10
;
hist unbal
hist ydis 0 3
hist yvel 0 3
;
step 30000
win -3.5 3.5 -.5 6.5
save wedge4.sav
plot hold block struct mom yrev fill disp
block 0 0 0 20 20 20 20 0
crack 0 3 20 3
gen quad 4
bound yvel 0.0 range 0 20 -.1 .1
insitu szz -3e4
prop mat 1 dens 1000 bulk 2e8 shear 1e8
prop jmat 1 jkn 1.33e7 jks 1.33e7 jfric 30.0
set grav 0 -10
damp auto
cyc 100
call ps3d.fis
ps3d
plot hold boun z extra inv fill alias ’major principal stress’
LEGEND 1.800
18-Aug-04 10:47
cycle 100
time 1.433E-01 sec
1.400
boundary plot
major principal stress
contour interval= 1.000E+04
-1.000E+05 to -4.000E+04
-1.000E+05 1.000
-9.000E+04
-8.000E+04
-7.000E+04
-6.000E+04
-5.000E+04
0.600
-4.000E+04
0.200
Servo Control
A servo-control function is used to minimize the influence of inertial effects on the response of the
model. The FISH file “SERVO.FIS” shows how the applied vertical velocities can be adjusted as
a function of the maximum unbalanced force in the model. By preventing the unbalanced force
from getting too high (i.e., controlling the inertial effects), the user has better control over model
behavior.
The control is specified by setting the upper limit for unbalanced force, high unbal, and lower
limit, low unbal, with the SET command. The loading velocity is also controlled by specifying
an upper limit (high vel). A command is not issued for this function because it is automatically
invoked at every calculation step through the WHILE STEPPING FISH command.
This function is demonstrated for the problem of a triaxial compression test of a strain-softening
material (data file “SERVO.DAT”). The stress-strain response of the specimen indicates a weakening
of the material after the peak strength is reached. The servo-control of the applied velocity allows
for an analysis with minimal inertial effects.
Note that FISH functions are built into the data file to calculate the average vertical stress, sigmav,
and average vertical strain, ev, in order to generate the stress-strain plot shown in Figure 1.
The servo-control function will need to be modified for different types of loading.
Data File “SERVO.DAT”
; Triaxial test of strain-softening material
; with controlled velocity
title
Triaxial test of strain-softening material
round .001
bl 0 0 0 10 5 10 5 0
gen quad 1
zone model ss
ca boucnr.fin
call servo.fis
bound -.1 .1 0 10 xvel = 0
bound 4.9 5.1 0 10 stress -1e6,0,-1e6
bound 0 5 9.9 10.1 yvel -1e-2
bound 0 5 -.1 .1 yvel 1e-2
prop mat 1 den 2500
zone bulk 2e8 she 1e8 co 2e6 fric 45 ten 1e6 dil 10
zone ftab 1 ctab 2 dtab 3
table 1 0 45 .05 42 .1 40 1 40
table 2 0 2e6 .05 1e6 .1 5e5 1 5e5
table 3 0 10 .05 3 .1 0
insitu stress -1e6,0,-1e6 szz -1e6
def sigmav
sum=0.0
z count = 0
i b = block head
loop while i b # 0
i z = b zone(i b)
loop while i z # 0
sum = sum - z syy(i z)
i z = z next(i z)
z count = z count + 1
end loop
i b = b next(i b)
end loop
sigmav = sum/z count
end
def ev
ev = (gp ydis(i gb)-gp ydis(i gt))/(gp y(i gt)-gp y(i gb))
end
def set lim
i gt = gp near(0,10)
i gb = gp near(0,0)
end
set lim
hist sigmav
label hist 1
Axial Stress
hist ev
label hist 2
Axial Strain
hist yvel 0 0
label hist 3
Vertical Velocity
hist unbal
label hist 4
Maximum Unbalanced Force
LEGEND
1.60
18-Aug-04 10:49
cycle 6000
1.40
time 3.569E+00 sec
history plot
1.20
Axial Stress
Vs.
Axial Strain
1.00
0.80
0.60
0.40
0.20
0.00
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00
Itasca Consulting Group, Inc. (e-002)
Minneapolis, Minnesota USA
Figure 1 Axial stress versus axial strain for a triaxial test with strain-
softening material with controlled velocity
LEGEND
4.00
18-Aug-04 10:49
cycle 6000
3.50
time 3.569E+00 sec
history plot
3.00
Maximum Unbalanced Force
Vs.
0.00E+00<time> 3.57E+00
2.50
2.00
1.50
1.00
0.50
0.00
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
LEGEND
2.40
18-Aug-04 10:49
cycle 6000
time 3.569E+00 sec
2.00
history plot
Vertical Velocity
Vs.
0.00E+00<time> 3.57E+00 1.60
1.20
0.80
0.40
0.00
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
def cr tab
i = 0
p2 = 2.*pi
loop while i <= num point
xx=end time*float(i)/float(num point)
i = i+1
yy = sin(xx*p2/per1)
table(1,xx) = yy
end loop
end
cr tab
ca spec.fis
set pmin = 0.5
set pmax = 2.
set dmp = 0.
set acc in = 1
set sd out = 2
set sv out = 3
set sa out = 4
set n point = 50
spectra
;
label table 1
input acceleration
label table 2
displacement response
label table 3
pseudo-velocity response
label table 4
pseudo-acceleration response
; flac:
plot hold table 1 line
plot hold table 2 line
plot hold table 3 line
plot hold table 4 line
; 3dec and udec:
; plot hold table 1
JOB TITLE :
LEGEND 0.80
18-Aug-04 10:56
cycle 0 0.60
time 0.000E+00 sec
0.40
table plot
input acceleration
Vs. 0.20
0.00E+00<X value> 3.00E+00
0.00
-0.20
-0.40
-0.60
-0.80
-1.00
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
JOB TITLE :
(e-001)
UDEC (Version 4.00)
2.80
LEGEND
2.40
18-Aug-04 10:56
cycle 0
time 0.000E+00 sec
2.00
table plot
displacement response
Vs.
5.00E-01<X value> 2.00E+00 1.60
1.20
0.80
0.40
0.00
0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
JOB TITLE :
LEGEND
1.40
18-Aug-04 10:56
cycle 0
time 0.000E+00 sec 1.20
table plot
pseudo-velocity response
Vs. 1.00
5.00E-01<X value> 2.00E+00
0.80
0.60
0.40
0.20
0.00
0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
JOB TITLE :
(e+001)
UDEC (Version 4.00)
1.00
LEGEND
0.90
18-Aug-04 10:57
cycle 0
0.80
time 0.000E+00 sec
table plot
0.70
pseudo-acceleration respons
Vs.
5.00E-01<X value> 2.00E+00
0.60
0.50
0.40
0.30
0.20
0.10
0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
Runtime Test
The calculation speed of UDEC can be determined with the FISH file “SPEED.FIS.” The clock is
first set to zero with the function set zero. After stepping, the calculation speed is printed by typing
print speed
The speed is measured in zone-steps per second. The data file “SPEED.DAT” illustrates the use of
these functions.
change cons 3
Prop m=1 bulk=3.9e9 shear=2.8e9 dens=2500 coh=3.45e6 fric 30 dil 0 ten 1e10
Prop jmat=1 jkn=10e9 jks=1e9 jfric=40 jcoh=0.4e6 ; Crack 1
bound yr 69 71 stress -3.95e6 0 -7.89e6
bound yr -31 -29 yvel 0
bound xr -51 -49 xvel 0
bound xr 59 61 xvel 0
set grav 0 -10
insitu stress -3.95e6 0 -9.5e6 ygrad 0 0 23000
insitu szz=-3.95e6 ;
hist unbal
solve ratio 1e-4
save stage0.sav
call zonk.fis
zonk
relax
save stage1.sav
label hist 2
XX - Stress
label hist 3
X - Displacement
pl hist -2 vs -3
ret
JOB TITLE :
(e+006)
UDEC (Version 4.00)
4.00
LEGEND
history plot
3.00
XX - Stress
Vs.
X - Displacement
2.50
2.00
1.50
1.00
0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80
Itasca Consulting Group, Inc. (e-002)
Minneapolis, Minnesota USA