Skip to content

Instantly share code, notes, and snippets.

@wassname
Last active Mar 13, 2018
Embed
What would you like to do?
3Dflex.py

3Dflex.py

A script for calculating 3D flexure in python. Converted from GARRY QUINLAN's fortran program 3dflex.f.

This programme calculates the flexure for 3D elastic sheet where the sheet can have one of its 4 edges as a free edge. It uses a finite difference approach to the 3D flexure problem and lets Te, restoring force and ;loading vary in a random fashion. There are many comments written in the program to guide the user through.

INPUT:

The input file is called PAR3DF.DAT. This name is hard wired into the programme. Comments are written next to the input lines on the sample programme.

Further description of the input follows. The first line is youngs modulus and Poissons ratio ( e11 and 0.25). One then starts by setting up a grid with a dimensions chosen by the user (delx) . Some where between 1 to 20 km for the grid size seems sensible depending on the area under study. I have used up to a 100 by 100 grid but at this size it takes a long time to converge ( 1 hr on a Ultra Spare) or about 100,000 iterations.

The second line sets the number of elastic thicknesses needed. If you have say 3 , you start by specifying he whole grid as a base value, say: 1,59,1,59 15 ( the means row 1 to 59 and column 1 to 59 give an elastic thickness = 15 km). If you wanted another region to have a different elastic thickness you would put another in i.e. rows 22 to 26 and column 35 and 36 give Te = 5 km. : 22,26,35,36, 5

Then one specifies the number of loads in the same way the Te’s are specified. The loads are in MPa. So you were going to describe a mountain 2 km high of density 2700 kg/m3 the load is 2700 * 2000 * 9.8 = 5.3 x e07 MPa

Next the restoring force is specified for each grid square. Note that the number you put in is density contrast * g .i.e density contrast * 10 ( approx). A row or column is specified to check for convergence, leave the tolerance level at 1*–06 and set the iteration level to 100,000.

The 2nd last line one can specify one of the boundaries to be broken by putting in a 1 And the last line lets one apply an in-plane stress in units on n/m2.

RUNNING:

python 3Dflex.py

Or for 3Dflex.f90

gfortran 3Dflex.f90 -o 3Dflex & 3Dflex

OUTPUT:

Is saved as DEF3D.dat

Command line output is:

   9.99999980E+10  0.250000000    
           1
           1          59           1          59   15.0000000    
           7
          19          21          21          23   41600000.0    
          21          25          23          25   41600000.0    
          23          27          25          27   41600000.0    
          25          27          27          29   41600000.0    
          29          31          27          29   41600000.0    
          35          37          23          27   44900000.0    
          37          39          21          29   44900000.0    
   10.0000000    
          59          59
           2
           1          59           1          59   10000.0000    
          19          39          21          29   6000.00000    
        5000
   9.99999975E-06
           3          57          24          24
   1.70000005    
           0           0           0           0
   0.00000000       0.00000000       0.00000000    
           5          55          24          24
 WITHIN TOLERANCE AFTER   3170 ITERATIONS
        3170   34378.0391       34377.6992       9.88548982E-06

Note

A bigger and better library can be found here http://csdms.colorado.edu/wiki/Model:Flexure More resources includes:

#==============================================================================
# THIS PROGRAM CALCULATES THE DEFORMATION OF A THIN ELASTIC PLATE
# IN RESPONSE TO DISTRIBUTED LOADS. THE PLATE
# THICKNESS, AND HENCE THE FLEXURAL RIGIDITY MAY VARY SPATIALLY.
# THE PLATE MAY BE EITHER CONTINUOUS OR BROKEN.
# THE LEFT SIDE (COL=3) IS CONSIDERED TO BE SIDE 1,
# THE RIGHT SIDE (COL=NCOLS-2) IS SIDE 2,
# THE BOTTOM (ROW=3) IS SIDE 3, AND
# THE TOP (ROW=NROWS-2) IS SIDE 4.
# SEE TIMOSHENKO & WOINOWSKY-KRIEGER "THEORY OF PLATES & SHELLS"
# 1959, PG 174 FOR DifFERENTIAL EQUATION.
# SOLUTION OF DifFERENTIAL EQUATION IS BY
# SIMULTANEOUS OVER-RELAXATION GAUSS-SEIDEL ITERATION.
# THE MAXIMUM ARRAY SIZE IS 100X100 GRIDS BUT A SUB-SET OF THIS ARRAY
# MAY BE USED TO DECREASE EXECUTION TIME.
# THE ENTIRE ARRAY AREA USED IS WRITTEN TO AN OUTPUT FILE FROM WHICH
# SPECifIC CONTOUR AND CROSS-SECTION PLOTS MAY BE SELECTED AFTER THE
# JOB IS COMPLETE.
#==============================================================================
# WRITTEN BY GARRY QUINLAN, FEB. 1990
# LAST MODifICATION - MAY 12, 1990
# PURPOSE OF MODifICATION - TO CORRECT (I HOPE#) THE EXPRESSIONS FOR
# BOUNDARY CONDITIONS AT A BROKEN EDGE
#==============================================================================
#==============================================================================
# # Converted to python by Michael Clark 2013
# Made slightly nicer for python by Michael Clark 2014
#==============================================================================
import numpy # or numpypy for pypy
def flex3db (D, P, GAMMA, dx, ibpsw, nits, tol, pr = 0.25, omega = 1.7, fx = 0, fy = 0, fxy = 0):
# A THIN ELASTIC PLATE HAS SPATIALLY VARYING FLEXURAL RIGIDITY
# SPECIfIED BY THE ARRAY D. EACH ELEMENT OF THIS ARRAY REPRESENTS
# THE FLEXURAL RIGIDITY OF THE CORRESPONDING GRID WITHIN A 2-D
# CARTESIAN COORDINATE SYSTEM. THE GRID SPACING IN THIS COORDINATE
# SYSTEM IS THE 4TH ROOT OF THE VARIABLE DEL4 AND IS SPECifIED IN
# METRES.
# THE PLATE DESCRIBED BY THE FLEXURAL RIGIDITY ARRAY D IS SUBJECT
# TO A SPATIALLY VARYING LOAD GIVEN BY THE ARRAY P.
# THE DEFORMATION PRODUCED IN THE PLATE BY THE APPLIED LOAD IS
# CALCULATED AND SAVED IN THE ARRAY W.
# THE BOUYANCY FORCE PRODUCED BY THE DISPLACEMENT IS RELATED TO
# THE DENSITY CONTRAST BETWEEN THE DISPLACED MANTLE AND WHATEVER
# MATERIAL INFILLS THE DEPRESSION. THIS DENSITY CONTRAST IS
# SPECifIED IN THE VARIABLE GAMMA = (DENSITY OF MANTLE - DENSITY
# OF INFILL)*ACCELERATION DUE TO GRAVITY.
# THE APPROPRIATE DifFERENTIAL EQUATION IS A 4TH ORDER PDE WHICH
# IS DERIVED IN TIMOSHENKO & WOINOWSKY-KRIEGER "THEORY OF PLATES AND
# SHELLS".
# THE ASSUMED BOUNDARY CONDITIONS ARE ZERO DISPLACEMENT AT
# THE EDGES OF THE GRID. THIS BOUNDARY VALUE PROBLEM IS
# SOLVED BY SUCCESSIVE APPROXIMATIONS. THE def TERMINATES
# WHEN EITHER: (1) THE MAXIMUM ALLOWABLE ITERATIONS (NITS) HAVE BEEN
# MADE OR (2) WHEN THE CENTRAL ROW (IC) OF THE W ARRAY SATISFIES THE
# GOVERNING PDE TO WITHIN A SPECifIED TOLERANCE (TOL).
# IN SOME PROGRAMS USING THIS def THE FLEXURAL RIGIDITY WILL
# BE THE SAME FROM ONE CALL OF THE def TO THE NEXT BUT IN
# OTHERS IT MAY VARY. THE TERMS T1,T2,...T12 INVOLVE VARIOUS
# COMBINATIONS OF PARTIAL DERIVATIVES OF THE FLEXURAL RIGIDITY.
# THESE ARRAYS SHOULD BE CALCULATED ON ENTRY TO THE def ONLY
# if FLEXURAL RIGIDITY HAS CHANGED SINCE THE LAST CALL TO THE
# def. THIS NECESSITY IS IDENTifIED BY THE SWITCH ISW.
# if ISW = 1, THE ARRAYS WILL BE CALCULATED; OTHERWISE WHATEVER
# VALUES THEY CONTAIN WILL BE USED.
# ****IT IS IMPORTANT TO NOTE THAT A PERIMETER 2 GRIDS WIDE MUST
# BE INCLUDED IN THE SPECifICATION OF NROWS AND NCOLS TO ACCOMMODATE
# THE BOUNDARY CONDITIONS FOR A CONTINUOUS PLATE I.E. THAT THE
# DISPLACEMENT AND FIRST DERIVATIVE OF DISPLACEMENT VANISH.
# THUS, if NROWS=20 AND NCOLS=15, THE TRUE WORKING AREA IS
# ONLY 16X11.******
# THE PLATE MAY BE BROKEN ON 1 TO 4 SIDES. if BROKEN, THE BOUNDARY
# CONDITIONS REQUIRE AN EXTRA COLUMN TO SPECifY THAT THE 2ND AND 3RD
# DERIVATIVES VANISH. THIS FURTHER REDUCES THE SIZE OF THE TRUE WORKING
# AREA.
nrows, ncols = D.shape
print "Running f3Dflex for {nits} iterations, and a {nrows}x{ncols} grid".format(nits = nits, nrows = nrows, ncols = ncols)
converged = False
T1 = numpy.zeros((nrows, ncols))
T2 = numpy.zeros((nrows, ncols))
T3 = numpy.zeros((nrows, ncols))
T4 = numpy.zeros((nrows, ncols))
T5 = numpy.zeros((nrows, ncols))
T6 = numpy.zeros((nrows, ncols))
T7 = numpy.zeros((nrows, ncols))
T8 = numpy.zeros((nrows, ncols))
T9 = numpy.zeros((nrows, ncols))
T10 = numpy.zeros((nrows, ncols))
T11 = numpy.zeros((nrows, ncols))
T12 = numpy.zeros((nrows, ncols))
T13 = numpy.zeros((nrows, ncols))
W = numpy.zeros((nrows, ncols))
onemom = 1.0 - omega
twompr = 2.0 - pr
onempr = 1.0 - pr
prvint = 0.0
del4 = dx ** 4
delsq = numpy.sqrt(del4)
# MULTIPLY FX,FY AND FXY BY DELSQ SO THAT ALL TERMS INVOLVING
# PARTIAL DERIVATIVES HAVE A COMMON DENOMINATOR OF DEL4.
fx = fx * delsq
fy = fy * delsq
fxy = fxy * delsq
# DETERMINE THE TERMS INVOLVING PARTIAL DERIVATIVES OF FLEXURAL
# RIGIDITY
# NOTE THAT IN-PLANE FORCES MODifY TERMS T2,T4,T9,T11 AND T13
for i in xrange(3 - 1, nrows - 2):
for j in xrange(3 - 1, ncols - 2):
T1[i, j] = D[i + 1, j]
T2[i, j] = D[i + 1, j] + D[i, j - 1] - (onempr / 8.0) * (D[i + 1, j + 1] - D[i - 1, j + 1] - D[i + 1, j - 1] + D[i - 1, j - 1]) - 2.0 * fxy
T3[i, j] = (2.0 * onempr - 4.0) * D[i, j] - 4.0 * D[i + 1, j] - onempr * (D[i, j + 1] + D[i, j - 1]) - fx
T4[i, j] = D[i + 1, j] + D[i, j + 1] + (onempr / 8.0) * (D[i + 1, j + 1] + D[i - 1, j - 1] - D[i - 1, j + 1] - D[i + 1, j - 1]) + 2.0 * fxy
T5[i, j] = D[i, j - 1]
T6[i, j] = (2.0 * onempr - 4.0) * D[i, j] - 4.0 * D[i, j - 1] - onempr * (D[i + 1, j] + D[i - 1, j]) - fy
T7[i, j] = (2.0 * onempr - 4.0) * D[i, j] - 4.0 * D[i, j + 1] - onempr * (D[i + 1, j] + D[i - 1, j]) - fy
T8[i, j] = D[i, j + 1]
T9[i, j] = D[i - 1, j] + D[i, j - 1] + (onempr / 8.0) * (D[i + 1, j + 1] - D[i - 1, j + 1] - D[i + 1, j - 1] + D[i - 1, j - 1]) + 2.0 * fxy
T10[i, j] = (2.0 * onempr - 4.0) * D[i, j] - 4.0 * D[i - 1, j] - onempr * (D[i, j + 1] + D[i, j - 1]) - fx
T11[i, j] = D[i - 1, j] + D[i, j + 1] - (onempr / 8.0) * (D[i + 1, j + 1] - D[i - 1, j + 1] - D[i + 1, j - 1] + D[i - 1, j - 1]) - 2.0 * fxy
T12[i, j] = D[i - 1, j]
T13[i, j] = (1.0 + 2.0 * onempr) * (D[i + 1, j] + D[i - 1, j] + D[i, j + 1] + D[i, j - 1]) + (16.0 - 8.0 * onempr) * D[i, j] + del4 * GAMMA[i, j] + 2.0 * (fx + fy)
for its in xrange(1, nits + 1):
# ODD NUMBERED ITERATIONS LOOP THROUGH ARRAY FROM LOW TO HIGH
# WHEREAS EVEN NUMBERED ITERATIONS LOOP FROM HIGH TO LOW. THIS
# IS TO PREVENT THE SOLUTION FROM BECOMING MORE ACCURATE IN ONE
# CORNER THAN THE OTHER AND SO, IN PRINCIPLE, TO SPEED CONVERGENCE.
if (its % 2 == 0):
for i in xrange(3 - 1, nrows - 2):
for j in xrange(3 - 1, ncols - 2):
residu = P[i, j] * del4
residu -= W[i + 2, j ] * T1[i, j]
residu -= W[i + 1, j - 1] * T2[i, j]
residu -= W[i + 1, j ] * T3[i, j]
residu -= W[i + 1, j + 1] * T4[i, j]
residu -= W[i , j - 2] * T5[i, j]
residu -= W[i , j - 1] * T6[i, j]
residu -= W[i , j + 1] * T7[i, j]
residu -= W[i , j + 2] * T8[i, j]
residu -= W[i - 1, j - 1] * T9[i, j]
residu -= W[i - 1, j ] * T10[i, j]
residu -= W[i - 1, j + 1] * T11[i, j]
residu -= W[i - 2, j ] * T12[i, j]
residu -= W[i , j ] * T13[i, j]
W[i, j] += omega * residu / T13[i, j]
else:
for i in xrange(nrows - 3, 3 - 2, -1):
for j in xrange(ncols - 3, 3 - 2, -1):
residu = P[i, j] * del4
residu -= W[i + 2, j ] * T1[i, j]
residu -= W[i + 1, j - 1] * T2[i, j]
residu -= W[i + 1, j ] * T3[i, j]
residu -= W[i + 1, j + 1] * T4[i, j]
residu -= W[i , j - 2] * T5[i, j]
residu -= W[i , j - 1] * T6[i, j]
residu -= W[i , j + 1] * T7[i, j]
residu -= W[i , j + 2] * T8[i, j]
residu -= W[i - 1, j - 1] * T9[i, j]
residu -= W[i - 1, j ] * T10[i, j]
residu -= W[i - 1, j + 1] * T11[i, j]
residu -= W[i - 2, j ] * T12[i, j]
residu -= W[i , j ] * T13[i, j]
W[i, j] += omega * residu / T13[i, j]
# TEST CONVERGENCE OF SOLUTION.
# CONVERGENCE CRITERION IS THAT THE INTEGRATED VALUE OF DISPLACEMENT
# ALONG THE SPECifIED SECTION IS NO MORE THAN A SPECifIED AMOUNT
# (TOL) DifFERENT FROM ITS VALUE ON PREVIOUS ITERATION (PRVINT).
valint = numpy.sum(W)
if valint != 0:
change = numpy.abs((valint - prvint) / valint)
else:
change = 0
prvint = valint
if (change < tol):
print ' WITHIN TOLERANCE AFTER ', its, ' ITERATIONS', change
converged = True
break
if its in xrange(0, nits, nits / 20): # 20 progress reports
print " Iteration {its} of {nits}, change={change:f}".format(its = its, nits = nits, change = change)
# if A SIDE OF THE STUDY AREA IS NOT BROKEN:
# FORCE THE 1ST DERIVATIVES TO ZERO AT THE BOUNDARY.
# THESE MODifICATIONS WILL AFFECT THE CALCULATIONS IN
# THE NEXT ITERATION WHEN THESE MODifIED GRIDS ARE USED
# TO DETERMINE DERIVATIVES.
# if THE PROBLEM IS A BROKEN-PLATE ONE, THE BREAK IS ASSUMED TO BE
# ALONG ONE OR MORE OF THE PLATE EDGES.
# THE APPROPRIATE CONDITIONS ARE DISCUSSED IN TIMOSHENKO & W-K
# PAGE 84.
# NOTE THAT THE BROKEN PLATE PROBLEM REQUIRES AN EXTRA COLUMN
# OUTBOARD OF THE AREA OF INTEREST TO ALLOW SETTING OF 3RD DERIVATIVES
# ALONG THE BREAK. THIS IS ACCOMPLISHED BY TAKING COLUMN 3 RATHER THAN
# COLUMN 2 TO BE THE START OF THE STUDY AREA.
# SET BOUNDARY CONDITIONS FOR LEFT SIDE OF STUDY AREA
if (ibpsw[0] == 1):
for i in xrange(1, nrows - 1):
W[i, 1] = 2.0 * W[i, 3 - 1] - W[i, 3] - pr * (W[i - 1, 3 - 1] - 2.0 * W[i, 3 - 1] + W[i + 1, 3 - 1])
for i in xrange(1, nrows - 1):
comterm = 2.0 * (W[i, 3] - W[i, 1])
W[i, 0] = W[i, 4] - comterm + twompr * (W[i + 1, 3] - comterm + W[i - 1, 3] - W[i + 1, 1] - W[i - 1, 1])
else:
for i in xrange(0, nrows):
W[i, 0] = W[i, 3 - 1]
# SET BOUNDARY CONDITIONS FOR RIGHT SIDE OF STUDY AREA
if (ibpsw[1] == 1):
for i in xrange(1, nrows - 1):
W[i, ncols - 2] = 2.0 * W[i, ncols - 3] - W[i, ncols - 4] - pr * (W[i - 1, ncols - 3] - 2.0 * W[i, ncols - 3] + W[i + 1, ncols - 3])
for i in xrange(1, nrows - 1):
comterm = 2.0 * (W[i, ncols - 4] - W[i, ncols - 2])
W[i, ncols - 1] = W[i, ncols - 5] - comterm + twompr * (W[i + 1, ncols - 4] - comterm + W[i - 1, ncols - 4] - W[i + 1, ncols - 2] - W[i - 1, ncols - 2])
else:
for i in xrange(0, nrows):
W[i, ncols - 1] = W[i, ncols - 3]
# SET BOUNDARY CONDITIONS FOR BOTTOM OF STUDY AREA
if (ibpsw[2] == 1):
for j in xrange(1, ncols - 1):
W[1, j] = 2.0 * W[3 - 1, j] - W[3, j] - pr * (W[3 - 1, j - 1] - 2.0 * W[3 - 1, j] + W[3 - 1, j + 1])
for j in xrange(1, ncols - 1):
comterm = 2.0 * (W[4, j] - W[2, j])
W[0, j] = W[4, j] - comterm + twompr * (W[3, j + 1] - comterm + W[3, j - 1] - W[1, j + 1] + -W[1, j - 1])
else:
for j in xrange(0, ncols):
W[0, j] = W[3 - 1, j]
# SET BOUNDARY CONDITIONS FOR TOP OF STUDY AREA
if (ibpsw[3] == 1):
for j in xrange(1, ncols - 1):
W[nrows - 2, j] = 2.0 * W[nrows - 3, j] - W[nrows - 4, j] - pr * (W[nrows - 3, j - 1] - 2.0 * W[nrows - 3, j] + W[nrows - 3, j + 1])
for j in xrange(1, ncols - 1):
comterm = 2.0 * (W[nrows - 3, j] - W[nrows - 1, j])
W[nrows - 1, j] = W[nrows - 5, j] - comterm + twompr * (W[nrows - 4, j + 1] - comterm + W[nrows - 4, j - 1] - W[nrows - 2, j + 1] - W[nrows - 2, j - 1])
else:
for j in xrange(0, ncols):
W[nrows - 1, j] = W[nrows - 3, j]
# SET CORNER NODES TO AVERAGE OF 3 ADJACENT VALUES
W[0, 0] = (W[0, 1] + W[1, 0] + W[1, 1]) / 3.0
W[0, ncols - 1] = (W[0, ncols - 2] + W[1, ncols - 1] + W[1, ncols - 2]) / 3.0
W[nrows - 1, 0] = (W[nrows - 1, 1] + W[nrows - 2, 0] + W[nrows - 2, 1]) / 3.0
W[nrows - 1, ncols - 1] = (W[nrows - 1, ncols - 2] + W[nrows - 2, ncols - 1] + W[nrows - 2, ncols - 2]) / 3.0
if not converged:
print ' FAILED TO CONVERGE AFTER', its , 'ITERATION , MAX FRACTIONAL ERROR = ', change
numpy.savetxt('DEF3D.DAT', W)
return W
def fortran_readline(F_obj):
""" This will allow us to a read a line from the inumpy.t file in the same way fortran does
USAGE example:
PAR3DF=open('PAR3DF.DAT','rU')
ym,pr = fortran_readline(PAR3DF)
"""
def s2n(s):
if ('e' in s) or ('E' in s) or ('.' in s):
n = float(s)
else:
n = int(s)
return n
line = F_obj.readline()
splt = line.split(' ')
content = splt[0]
comment = splt[1:]
nums = [s2n(x) for x in content.split(',')]
if len(nums) == 1: nums = nums[0]
return nums
def fortran_readnrowncols(F_obj):
""" This will allow us read ahead and give us the number of rows and cols. Yuck.
"""
ym, pr = fortran_readline(PAR3DF)
ntv = fortran_readline(PAR3DF)
for itv in xrange(0, ntv):
ilo, ihi, jlo, jhi, thick = fortran_readline(PAR3DF)
nl = fortran_readline(PAR3DF)
for il in xrange(0, nl):
ilo, ihi, jlo, jhi, sizeld = fortran_readline(PAR3DF)
delx = fortran_readline(PAR3DF)
nrows, ncols = fortran_readline(PAR3DF)
return nrows, ncols
if __name__ == "__main__":
# This will allow us read ahead and give us the number of rows and cols
PAR3DF = open('PAR3DF.DAT', 'rU')
nrows, ncols = fortran_readnrowncols(PAR3DF)
PAR3DF.close()
# Load in settings file
PAR3DF = open('PAR3DF.DAT', 'rU')
ym, pr = fortran_readline(PAR3DF)
print ym, pr
# set up empty arrays
W = numpy.zeros((nrows, ncols)) # DEFORMATION ARRAY
D = numpy.zeros((nrows, ncols)) # FLEXURAL RIGIDITY ARRAY
P = numpy.zeros((nrows, ncols)) # LOADING ARRAY
GAMMA = numpy.zeros((nrows, ncols)) # BUOYANT RESTORING STRESS PER UNIT OF DISPLACEMENT
IBPSW = numpy.zeros(4) # BROKEN PLATE SWITCH. FIRST ENTRY REFERS TO LEFT SIDE OF PLATE; SECOND TO RIGHT; THIRD TO BOTTOM; FOURTH TO TOP. "0" = CONTINUOUS; "1"=BROKEN.
# calculate flexural RIGIDITY
ntv = fortran_readline(PAR3DF)
print ntv
for itv in xrange(0, ntv):
ilo, ihi, jlo, jhi, thick = fortran_readline(PAR3DF)
print ilo, ihi, jlo, jhi, thick
thick = thick * 1000.0
# CALCULATE FLEXURAL RIGIDITY AND STORE IN APPROPRIATE ENTRIES OF THE
# ARRAY "D".
fr = ym * thick ** 3 / (12.0 * (1 - pr ** 2))
for i in xrange(ilo - 1, ihi):
for j in xrange(jlo - 1, jhi):
D[i, j] = fr
# READ IN LOADING PATTERN AND SAVE IN APPROPRIATE ENTRIES OF ARRAY "P".
nl = fortran_readline(PAR3DF)
print nl
for il in xrange(0, nl):
ilo, ihi, jlo, jhi, sizeld = fortran_readline(PAR3DF)
print ilo, ihi, jlo, jhi, sizeld
for i in xrange(ilo - 1, ihi):
for j in xrange(jlo - 1, jhi):
P[i, j] = sizeld
# dexl= gridspacing
delx = fortran_readline(PAR3DF)
print delx
delx = delx * 1000.0
del4 = delx ** 4
nrows, ncols = fortran_readline(PAR3DF)
print nrows, ncols
# READ IN BUOYANT RESTORING STRESS VALUES AND SAVE IN APPROPRIATE
# ENTRIES OF ARRAY "GAMMA".
ng = fortran_readline(PAR3DF)
print ng
for ig in xrange(0, ng):
ilog, ihig, jlog, jhig, sizgam = fortran_readline(PAR3DF)
print ilog, ihig, jlog, jhig, sizgam
for i in xrange(ilog - 1, ihig):
for j in xrange(jlog - 1, jhig):
GAMMA[i, j] = sizgam
# READ IN NO. OF ITERATIONS AND TOLERANCE FOR TESTING CONVERGENCE OF
# GAUSS-SEIDEL ITERATION PROCEDURE.
nits = fortran_readline(PAR3DF)
print nits
tol = fortran_readline(PAR3DF)
print tol
icl, ich, jcl, jch = fortran_readline(PAR3DF)
print icl, ich, jcl, jch
# "OMEGA" IS THE SIMULATANEOUS OVER-RELAXATION PARAMETER. GENERALLY
# A VALUE OF 1.7 IS OK.
omega = fortran_readline(PAR3DF)
print omega
ibpsw = fortran_readline(PAR3DF)
print ibpsw
fx, fy, fxy = fortran_readline(PAR3DF)
print fx, fy, fxy
# call the modelling program
W = flex3db(D, P, GAMMA, delx, [0, 0, 0, 0], nits, tol)
# basic visualisation
try:
import matplotlib.pyplot as plt
except:
print "No matplotlib installed so plotting will be skipped."
else:
plt.imshow(W, label = 'img')
plt.colorbar()
# plt.title('')
# plt.xlabel('')
# plt.ylabel('')
plt.show()
# plt.savefig('DEF3D.png')
59,59,10000.00.00.0-0.00357919397923-0.0443810778513-0.116242327378-0.206902279223-0.305125017244-0.401767961877-0.489513078006-0.562490553342-0.616068636969-0.646831904672-0.652705321766-0.633161304913-0.589436448551-0.52467862032-0.443947048293-0.354002684707-0.262856648195-0.179089700544-0.111008254762-0.0657494409262-0.0484742228724-0.0617823499572-0.105444782051-0.176488568127-0.269603953842-0.377791407206-0.493137946425-0.607609149792-0.713760103181-0.805296914518-0.877452285962-0.927168041022-0.95310090262-0.955483684898-0.935882371542-0.896891282888-0.841805227913-0.774300939127-0.698151852007-0.616991785466-0.534135297972-0.452456039238-0.374319553482-0.301563716157-0.235518118472-0.177052956895-0.126647975585-0.0844723279434-0.050466338418-0.0244152421455-0.006001528373550.005186685560660.009735408253990.008662297372780.004016765178980.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0-0.003579193979230.0-0.00357867298059-0.0443747355849-0.116229848904-0.206884352138-0.305102739781-0.401742696958-0.489486384585-0.562464129563-0.616044259676-0.646811362518-0.652690342902-0.633153481674-0.589437162369-0.524688970763-0.443967790582-0.354034180249-0.262898832429-0.179142071671-0.111069885692-0.0658190150613-0.0485500924024-0.0618626133359-0.105527375584-0.176571365331-0.269684865633-0.377868476061-0.493209428494-0.607673580316-0.713816342339-0.805344172755-0.877490129577-0.927196380236-0.953119965233-0.9554939791-0.935884641427-0.896886459933-0.841794381184-0.774285226446-0.698132473731-0.61696994201-0.534112151761-0.452432681359-0.374296974975-0.301542783616-0.23549955336-0.17703731782-0.126635642562-0.084463487548-0.0504609685723-0.0244130952439-0.006002111862080.005184129906170.009731916796120.008659149982050.004014189840270.00.00401676517898-0.04411833344310.0-0.0441107640367-0.198909918803-0.441352728659-0.736948706647-1.05202346048-1.35710260031-1.62730631801-1.84207712635-1.98505742406-2.04433245537-2.01300709662-1.88996749021-1.68061149191-1.39729593597-1.05924863978-0.691740749467-0.3244183428950.01115426893630.2845083711180.4694505381290.5469267969630.5071079721430.3503639726570.0870032238281-0.264122259018-0.677865885271-1.12551027005-1.57757324392-2.00635806793-2.38800421721-2.70390271388-2.94144086061-3.09412304722-3.16117136887-3.14674141868-3.05889760936-2.90848363902-2.70800299952-2.47059731953-2.20918156843-1.93576823581-1.66098976641-1.39381084246-1.14140970904-0.909200127207-0.700961783643-0.519045901198-0.364623012261-0.23793975459-0.138548992844-0.065469369605-0.0172114595010.008429616169360.01497922598670.008536024403330.00.00854147315289-0.115156196540.0-0.115137566651-0.439974226788-0.919343942927-1.48817656967-2.08325653813-2.64762016492-3.13176410033-3.49394859893-3.70065113588-3.72753842811-3.56094190071-3.19958826035-2.65618237636-1.95834801774-1.14841723414-0.2816464855020.5773551548691.359881899241.999587865572.439313651022.637250762992.571445229412.241923999251.670180108620.896236493734-0.0261097392473-1.0350564344-2.06675146936-3.06072510084-3.96428925054-4.73561661403-5.34542077395-5.77732776221-6.02714843385-6.10132804382-6.01487001112-5.78901481552-5.44891394058-5.0214841455-4.53356880198-4.01047780164-3.4749302494-2.94638708734-2.44073435247-1.97026103451-1.54386668643-1.16743077945-0.844275727486-0.575655731347-0.361200907887-0.199236685673-0.0868773208449-0.0197541186460.008820766469920.009532452062220.00.00954552538188-0.2046062291920.0-0.204574020971-0.734202139516-1.48807787429-2.36226763607-3.2578538589-4.08473617003-4.7632343129-5.22513410297-5.4151239496-5.2929965932-4.8365605199-4.04487513473-2.94116763212-1.57461628037-0.02013249370151.624605342063.24527835154.720078881735.931071405636.776298038797.180767941657.10451044226.546388737485.543211420344.164566891312.504483372370.67135458022-1.22242218931-3.06987902246-4.77711889905-6.26868788754-7.49055264988-8.41084176059-9.01870781224-9.32177854219-9.34269869768-9.11523667776-8.68036080632-8.08259851446-7.36689386791-6.57608669849-5.74905764691-4.91952138258-4.11540577077-3.35872629981-2.66584981389-2.04803596287-1.51214492953-1.06140199913-0.69610945334-0.414190145071-0.211431113625-0.081266551471-0.01389564889160.005523376155020.00.00554692733856-0.3020379138330.0-0.301990854286-1.05113915692-2.09153750966-3.2730096563-4.4549977771-5.50887706352-6.31952468156-6.78712348523-6.82989272958-6.38801793525-5.42861937268-3.95118510208-1.992520695240.3700228694233.018413318525.798137400858.5275070363511.011988284813.062337571714.514186417415.245964831715.192068363814.349062176712.77419057310.57698752337.905886590664.932209717631.83384308922-1.21951863155-4.07826375836-6.62119790229-8.76016573728-10.4412308547-11.6429782673-12.3726649736-12.660987183-12.5561845761-12.1180928974-11.4126154315-10.5069356453-9.46565494106-8.34792180832-7.2055266954-6.08187121755-5.01167845942-4.02128888701-3.12937868059-2.34793886727-1.68335942281-1.13746796237-0.70837387005-0.390962855547-0.176872626189-0.0537583930321-0.003638172581180.0-0.00360224448736-0.3997381532120.0-0.399676028248-1.36658045288-2.68401970712-4.14958130318-5.57535293289-6.78858037125-7.63301462913-7.97150687445-7.69031975848-6.70530319457-4.96964194628-2.482376650340.7036234301834.47602361648.6617969265513.032418151817.316895158921.222812148724.463752126726.789492956628.013951363628.035744339926.847734121424.534480399921.259093720717.242688301812.74021643318.016173574573.3228934312-1.11677006937-5.12146542895-8.55792834541-11.3425831082-13.4390194556-14.8524156644-15.6220223094-15.8127367674-15.5066318716-14.7950955611-13.7720257755-12.5283298277-11.1478138821-9.70442179498-8.2606933784-6.86725621089-5.56313635394-4.37666481638-3.32676142948-2.42438968244-1.67398975638-1.07470854002-0.621252549764-0.304192328814-0.10954786315-0.01750158629760.0-0.0174521598434-0.4923580548350.0-0.492281490067-1.66268004856-3.23074483817-4.93713778466-6.54112873603-7.81984549418-8.56944475136-8.60861279739-7.78476566518-5.98302983931-3.137607762410.7554916535165.6260995081411.32038093717.597213808424.133629979430.541875298436.39895786141.286760113444.837411961546.775907158346.951471710445.351726236742.098171374837.42585288831.652579151925.143567749118.276584448611.41129058934.86512581682-1.1031834934-6.30243541686-10.6108279257-13.9721738461-16.3879907132-17.9070274344-18.6136441531-18.616211635-18.0364016309-16.9999453963-15.6291737812-14.037435277-12.3253237799-10.5785338695-8.86709184438-7.2456770039-5.75474047408-4.42213938217-3.26502469877-2.29174542803-1.50355577467-0.895933375292-0.459336186074-0.179246985985-0.03540006369220.0-0.035336587036-0.5764068257620.0-0.576317086918-1.92722519787-3.70723565928-5.59635829823-7.29576661939-8.52603637281-9.02831120277-8.56887761223-6.94757513982-4.010168515230.3357275752296.1023486902113.203260307221.437875664430.483306665939.89844251249.144748416557.626207294364.746673370469.977157966672.9202900373.3577002971.270457507266.830768443760.37053986652.335872435743.236440760433.596800067423.914395840414.62708187466.0913463725-1.42889124169-7.76409392044-12.8333911603-16.6334938826-19.2243793027-20.7136398861-21.2410205131-20.964255384-20.0469192467-18.6486616731-16.9179154188-14.9869641615-12.9691162583-10.9576498034-9.02615826631-7.22992318721-5.60795965979-4.18541223349-2.97601618652-1.98437699377-1.20785696617-0.637893003926-0.260606951364-0.05663503781890.0-0.0565573531467-0.6498690987530.0-0.649767927251-2.152897814-4.09850811175-6.10283316924-7.80376540903-8.85845534197-8.94465033912-7.76649337459-5.06541975961-0.6364726430425.6502363921213.824112139223.787167195935.289678581747.914222375661.075371153474.042681036385.992528715796.088568546103.5809384107.903904557108.747385251106.085654316100.16159553891.437796460980.52987393468.13530886954.967014528841.69728003628.915190804417.0987541956.60129073684-2.34971963359-9.64401461628-15.2731497877-19.3112021549-21.8940540488-23.1991944553-23.4274077658-22.7871963057-21.48234141-19.7026633108-17.6177921083-15.3736006167-13.0908601843-10.8656464162-8.77102738928-6.85959862958-5.1664754826-3.71240603886-2.50672083137-1.54988632738-0.835477886799-0.351437376953-0.08055729644930.0-0.080465507274-0.7119607825160.0-0.711850264587-2.33672099689-4.39840102955-6.44657082169-8.05072138109-8.79737456241-8.29168702973-6.1645188856-2.08596068984.2139985506412.917597624524.085185869337.617376175353.218145336570.366291669488.3055811085106.065958675122.527241979136.529620408147.019676101153.199731237154.636513577151.300131912143.533426938131.975221759117.463535799100.93750086583.348904310565.589139772948.434631210632.512036594918.28243168836.04177080648-4.06620831992-12.0287661814-17.9384510204-21.9660697472-24.3347381907-25.2966437986-25.1134784908-24.0409498226-22.3173635887-20.1559821908-17.7406830323-15.2243485849-12.7293929901-10.349849297-8.15448987177-6.19051671353-4.48742850257-3.06074063938-1.91529992436-1.04799631464-0.449732423676-0.1065946006190.0-0.106488977223-0.762976179090.0-0.762858641323-2.47965255511-4.60901699779-6.63152923355-8.04331305495-8.35298428656-7.08346467232-3.780190347561.9728150732110.52779161122.138378346236.915433771454.775667405475.38788439898.1255039347122.039010666145.867222724168.108835264187.169547186201.576827124210.212496319212.479935367208.354328371198.321630019183.257269778164.287695695142.658636789119.62058576696.335817792373.809592695352.847524524534.038037936517.75588682544.18122700973-6.67141158874-14.9192481888-20.7764476607-24.5212771752-26.4671016389-26.9382465588-26.2510911163-24.7002689621-22.5495296297-20.0266219478-17.3214728883-14.5869229907-11.9413184389-9.47232995842-7.24145441744-5.28874510323-3.63740372766-2.29794728165-1.27173474389-0.553703510618-0.1342522754460.0-0.134133190581-0.8041700045290.0-0.804047928223-2.58620702313-4.7400898752-6.67487608094-7.80874188175-7.56547455754-5.37626899535-0.6887285311127.0149005907918.188385164233.179607556852.17557189275.1354435119101.715661312131.195961274162.422542573193.794710491223.331737034248.858277214268.318740082280.149817626283.542126283278.4993417265.713789455246.374956315221.976643075194.146381366164.502144901134.536538451105.53055766278.501879776154.186493592333.047417383215.30247419410.96343999803-10.1198386026-18.2152146076-23.6672661026-26.8616523614-28.1958354599-28.056418201-26.8027993842-24.7564964112-22.1952926422-19.3512935419-16.4119864495-13.5234644084-10.7950716091-8.30483906517-6.10519172875-4.22851429793-2.69225801536-1.50335321485-0.661762803574-0.1631012704250.0-0.162969157831-0.8376241510790.0-0.837500099157-2.66397583525-4.80805318129-6.60561855435-7.39306354748-6.50336869008-3.26749906532.9763584957912.863098863726.967932096145.758142035669.527551883698.3131746125131.796126609169.19385171209.159817215249.722546017288.319504077322.005674443347.904793605363.831293233368.705447629362.612104197346.539913443322.085612169291.198309633255.969753894218.46208449180.565913726143.890464361109.70088996678.900811506452.049421031829.401286587310.9586017596-3.47209459629-14.2244701159-21.7220095557-26.4348706931-28.8449357668-29.4191126456-28.5903378529-26.7453703823-24.2182854973-21.2885310475-18.1824526038-15.0772936041-12.1068063958-9.3677503085-6.92669038789-4.82663671941-3.09317473115-1.73982975021-0.772484722786-0.1927617950330.0-0.192617124652-0.8660619524270.0-0.865938504419-2.72294135201-4.83462071246-6.46229751204-6.85792225817-5.25932603931-0.8907323341457.0284621113519.263464805436.529102335659.43668688488.4194968214123.634248217164.837546709211.240079712261.349790896312.833873799362.468025666406.310425148440.309868274461.40763143468.190280045460.935309233441.044417082410.619907366372.153790831328.286412494281.607720837234.484635999188.913356413146.443583698108.16565760474.740749858346.456875131823.29760129455.01393649618-8.80714161068-18.6816084277-25.1769428228-28.8710546028-30.3213447758-30.0430192722-28.4954211474-26.0749968518-23.1135064286-19.8801750798-16.5866255798-13.3935987222-10.4186419687-7.74411101622-5.42497667151-3.49605572793-1.97838790206-0.8845617544-0.2228870025880.0-0.222730267701-0.8925906396460.0-0.892470331958-2.7745324158-4.84478736257-6.28959635598-6.27543475344-3.942963774521.5938324168511.24002019825.899960666946.441508695973.6399429933108.097112555150.131112219199.631990363255.880220596317.328933441381.364261166444.098704026500.369753632544.40647065571.940976223581.149080727572.725599711548.597862831511.450538414464.392747757410.695004576353.566250638295.945585301240.281990862188.44744705141.736518473100.91605954866.302230318737.849289548515.2393257674-2.03425841878-14.5937640598-23.1167280065-28.2883742435-30.7663221457-31.1562495227-29.9968863201-27.7526169574-24.8120203986-21.4908197101-18.0379046398-14.6433013728-11.4471723121-8.54912200152-6.01725515995-3.89657524123-2.21642585874-0.996763678424-0.2531490179570.0-0.252980730608-0.9203742046020.0-0.920259474689-2.8304380168-4.86429573763-6.1339484414-5.72133919415-2.670804585984.0135576940715.36195943432.420434323856.215443192187.6967535315127.653175011176.594961015234.59565332301.084714536374.580452699452.351876308530.008267911601.096340796657.287036975692.750286719705.084864643695.812020357667.366350439623.03995545566.618571327502.084871406433.367862287364.106843688297.274766389235.103196853179.107566675130.16328733188.608642101154.357463088227.00951524135.95082548025-9.56028956817-20.323142314-27.1404167971-30.7785137233-31.9406741542-31.2508040953-29.2459008549-26.3751068968-23.0036254981-19.4199807064-15.8453615059-12.4440366113-9.33404930998-6.59759417473-4.29063611314-2.45145671409-1.1079046731-0.2832282734140.0-0.283048965398-0.9522611556640.0-0.952154289798-2.90126933024-4.91676634156-6.03849410216-5.26696339447-1.55415810856.2010796103419.149068774438.472456532665.3518862835100.908965833146.120571984201.697448022267.918394624344.408518334429.844532492521.558252463614.979662595702.765151864773.023378984818.29798077835.080547196826.142677326793.997739686742.600133329676.500274952600.496704011519.349673249437.571177118358.727426956285.450098903219.495912565161.854072995112.88038944772.438403312640.033647126114.9327913472-3.73623328217-16.9040908756-25.4989752929-30.4026785617-32.4213456915-32.2683263599-30.5566164561-27.7985973027-24.4110640674-20.7238443449-16.9906144919-13.4008066098-10.0917520413-7.16042209437-4.67430134754-2.68106383065-1.21681985524-0.3128063250790.0-0.312616552463-0.9904103987670.0-0.990313483807-2.99522305204-5.02082101468-6.03797629482-4.97097231591-0.6864223988328.0133209311822.38804090643.744356638973.4023704946112.638763689162.599951595224.177588805297.836565772383.381656155479.640363201584.017938183691.820467164795.070545964880.115996677937.922100111963.213627105957.603134684923.425829837865.897248702790.492694801702.986555859609.126006784514.387266567423.039627786338.183208105261.849365128195.152023486138.46312371291.588878868253.931784525324.63056755412.67525791941-13.0023580861-23.4609159866-29.7014370286-32.6359176028-33.0694008735-31.6925990121-29.0824518717-25.7083725158-21.9423030416-18.0710604629-14.3097763054-10.8155159998-7.70040091478-5.04374609213-2.90287192021-1.32235116339-0.3415618951450.0-0.341362244785-1.03596917970.0-1.03588405972-3.11693447395-5.18760476993-6.15430344647-4.8721024672-0.1317298617169.3487922430524.92349048348.004134786880.027194983122.396269949176.393164959243.049208038322.965797211416.068554952521.270613636636.002274843755.522690097871.814699952971.4219165661044.212226811082.268629061083.617563641049.83419818988.077546152904.529854903806.141235056699.827606264592.163511229488.239024731391.697474758304.881297218229.041868646164.568365389111.20637440368.251219751334.71015974949.43280382002-8.78818048055-21.1426954122-28.7512980455-32.631818002-33.6807973661-32.6663985642-30.2298513179-26.8929560778-23.0695970921-19.0796229881-15.1638139205-11.498965167-8.21237491694-5.39522929998-3.11453287049-1.42334171303-0.3691697058860.0-0.368960802824-1.088856523420.0-1.08878476213-3.26670592331-5.41910463025-6.39349847543-4.98408380430.08312580696810.160095843126.677025008751.12829267485.0388340037129.904920362187.102202678257.752167401342.535422632441.435691895553.390838445675.815837942803.953193335930.0494764421042.771720331131.235731361183.60852961195.204967151166.325069431103.717641891014.05411953906.11214346788.194718108668.162250785552.06365734444.158837545347.131559187262.380581728190.315244055130.62224521682.492162106644.804123898916.2712709088-4.44866671028-18.6727575581-27.6372852537-32.4625159819-34.1335612125-33.4935792319-31.246088037-27.9636858384-24.1009703237-20.009898319-15.9562240656-12.1359922768-8.69134031996-5.72508380226-3.31372489238-1.51863754779-0.3953016510250.0-0.395084165904-1.147693482310.0-1.14763633235-3.44025342459-5.70757130792-6.74458443314-5.29366619459-0.027991942263410.459300728727.65569022953.114743969588.4211312881135.129091594194.667255691268.201289317356.443817774459.398416229576.021705417703.788160556838.158897779972.027021461095.413366341197.149996951263.254437971287.033950181267.118780581207.326855941114.10684781998.718296445870.684525736739.409797046612.071464266493.606729649387.056275801293.971792687214.78959654149.1471829896.141881224954.536721445322.9200098694-0.174766173996-16.1823531869-26.4465635163-32.1831678304-34.4600940923-34.1908047587-32.1373448156-28.9201468892-25.0322290244-20.8559140492-16.6806296601-12.7207123962-9.13243661524-6.02972395292-3.49816373567-1.60709582016-0.419629914320.0-0.419404570175-1.209900414260.0-1.20985879393-3.62904080427-6.03619059888-7.18066825721-5.76217854159-0.41266550280810.315189725927.948354560854.077860265990.3219169835138.261794955199.343813829274.739964587365.158908865470.598817263590.035053641721.04232395859.36853683998.5093466141129.337761881240.913562631318.677077421354.524295351344.945117111291.289796611199.057022031079.6252256943.6405405802.859412518665.802251994538.102138802423.152129419322.663961938237.118477808166.126300593108.71470022563.552563442929.12313759443.85293676602-13.7957027294-25.2617140762-31.8460894757-34.6911626319-34.7739089619-32.9094889604-29.7619169054-25.8593371692-21.6119245542-17.330887905-13.247445904-9.53096154216-6.305670652-3.66562507906-1.68759864209-0.4418317328660.0-0.441599310823-1.271956242520.0-1.27193072074-3.82118246188-6.38096277425-7.66214537509-6.33048538962-0.98720799559.8428246819127.71091227654.227474810291.0229572845139.681048533201.638233947278.043563004369.572861164476.19300201596.875279047729.263745395869.3147310851010.929158541145.560131891262.921592691349.424215871396.200827591397.309013221352.160527291265.036997141145.072169641003.56849263855.650530329711.0281096575.937217619454.116678792347.467358468256.553534724180.997853571119.79307221771.545194269934.65932007217.47782397761-11.6207253232-24.1544864271-31.4966083475-34.8531992409-35.256186883-33.5670313928-30.4879674894-26.5781029359-22.2722742976-17.9010565158-13.7107382172-9.88241214542-6.54959383129-3.81397739458-1.75907198313-0.4615955661380.0-0.461356909646-1.32979041340.0-1.32978120305-4.00281164306-6.71356925333-8.14163272796-6.92669817293-1.64811196239.1870310223527.142846679353.835947220190.8939894873139.886195261202.220556532279.002863329370.853815589477.68267732598.419563184730.713377315870.606604391012.195076931147.260745981266.205557731358.088445021413.878146661424.677734341388.366112991307.710308341190.160641241047.16699144895.545833025746.142450336605.908198476479.028667908367.672300358272.549210903193.345532343129.06284189178.280981607439.357973633510.5782009443-9.74167635619-23.1809053896-31.1698651723-34.9662618455-35.6471390596-34.1123952186-31.0962757583-27.1840074648-22.8313570128-18.385424233-14.1054221494-10.1825534643-6.75837201582-3.9412243956-1.82050895438-0.4786284409840.0-0.478384458352-1.379259144180.0-1.37926610398-4.15974437639-7.00486615204-8.56999800697-7.47562790666-2.286111846378.5021145463526.45855304853.198219605290.3378416123139.423664982201.826142878278.597622463370.290800424476.738414395596.79843978728.073578374866.6179711491006.647148231140.275854461258.70153051352.59171781413.220841661431.039219521402.558045531328.70137661215.559319771074.37183031922.207937965770.721816174627.586246615497.492195511382.932696607284.814238972202.931489498136.3349346583.613541181543.108907079513.0737348302-8.21488011497-22.3784840551-30.8890385222-35.0429476824-35.9518505105-34.5456030129-31.5837096718-27.6722108236-23.2836883203-18.7786129628-14.4267246706-10.4275139747-6.9291672401-4.04555552634-1.87099656305-0.4926641872840.0-0.492415852337-1.416645795390.0-1.41666844013-4.27922813745-7.22855943596-8.90271162979-7.9087589688-2.80103698937.9304389325425.857101792452.58985720989.733115767138.809974465201.154161821277.765509403369.127793454474.991026092594.124738722724.05429748860.798493258998.6341006881129.925649091246.416028121339.577140121401.123972091423.147699121401.089016951333.535879671225.423053161087.84719423937.111930328785.515777301641.319969018509.641590017393.271021785293.315855039209.699561357141.54767718687.485352700145.863420259914.9261785926-7.06827988168-21.7659781092-30.6652521583-35.0884136318-36.1710911068-34.8644295021-31.9462098028-28.0377438639-23.6240926674-19.0757485147-14.6704135308-10.6139032124-7.05951155096-4.12540191851-1.90974459035-0.5034721685950.0-0.50322051937-1.439121439820.0-1.43915895884-4.35155112494-7.36459006629-9.10570709826-8.17347103099-3.115578775237.5825196278625.494073991252.227870252489.3805145814138.459291452200.771286819277.275803914368.399525044473.817705902592.210150031721.007804442856.154278927991.9160138081120.784451041234.842486271326.146785781387.214078151411.506905671394.352089231331.535579411227.118832161091.73521739942.616586845791.93184465647.970544399516.003274655399.002151919298.234998307213.747484146144.74896508589.916101356547.626616256916.1342787038-6.30482808634-21.3456638273-30.4991305129-35.1014640766-36.3021000414-35.0649865556-32.1792393285-28.2758624738-23.8479854028-19.2726845957-14.8329718334-10.7389427224-7.14739896406-4.17949403905-1.93611473126-0.5108659745680.0-0.510612110027-1.445105603520.0-1.44515688684-4.37130179372-7.40178690441-9.15998721377-8.24031963002-3.186223044627.5211027136325.458841030352.238785370589.4585655004138.622807058201.029695307277.619782377368.786486778474.152063402592.319324236720.618278872854.877750926989.2634038231116.232030291227.969891421316.855136211376.01204561399.76003821383.657075371322.696595931220.501481321087.31822583940.306387025791.338676777648.571671293517.305253721400.616167486299.890469872215.276699144146.06280380790.980379098948.442585245616.7239626293-5.90897330367-21.1076304518-30.3836521673-35.0764653917-36.3398885304-35.142626029-32.2784229463-28.3825090102-23.9517113595-19.3662530148-14.9117817568-10.8005975581-7.19137460622-4.20691617954-1.94964767447-0.5147114162440.0-0.514456491048-1.434478024150.0-1.43454169568-4.33810664296-7.33942519715-9.06434906744-8.10739052814-3.0098857327.7513200324925.76019675352.637916671489.9939978811139.346793645202.008287044278.929339066370.504046315476.336371702594.979509384723.669148387858.085637614992.1947195991118.226712791228.17595381314.364123161370.134052911390.31235851371.142473831308.80521651207.247868471076.31441831931.851347227785.157997052644.22088039514.342135659398.66427194298.653358334214.531599437145.64748083490.779432813348.375562634916.7358781187-5.85485863269-21.0351624418-30.3076861503-35.0056787036-36.2787900174-35.0929809413-32.240255475-28.3548014926-23.932886912-19.354504665-14.9052938913-10.7976929851-7.19061145607-4.20715230837-1.95008554055-0.5149330934970.0-0.514678310936-1.408609291560.0-1.40868374876-4.25673425441-7.18745337711-8.83581121396-7.80105932987-2.62522997548.218436603926.322545386253.322983598790.8511916331140.45542786203.485256492280.934249119373.237897309480.027865097599.851234666729.875758091865.6199103411000.767011651127.137103111236.224927111319.872234081371.270016411385.490090821359.613955781292.918500591190.254326141061.29582793919.252072298774.856462507635.960030835507.838523326393.642563249294.859307594211.73723973143.65285877989.412500771647.490947901616.2129308425-6.11446136215-21.1100413359-30.2594432436-34.8815095982-36.1139314696-34.9129326922-32.0627420405-28.191460624-23.7906868817-19.2369031057-14.8131574775-10.7300006671-7.14496506821-4.18011788107-1.93738715526-0.5115188205080.0-0.511265423735-1.370200309260.0-1.37028376812-4.13653116683-6.96531283523-8.50760111027-7.37290520909-2.108233549888.8139165163326.993848168254.084031301491.7438023366141.563154409204.949050856282.967806063376.138127507484.172378662605.67030879737.782820334875.8865852941013.342485161141.434443891250.915088781332.716627221379.727567551387.3714671353.888892451280.943656281174.901368921045.48006657904.390190091761.576159651624.511715982498.267615655385.869228428288.726450725207.045101615140.18484725286.953686181545.840314399215.1905934457-6.66384837529-21.3165797697-30.2290755524-34.6981818728-35.8423096651-34.6013018217-31.7458401445-27.8930915512-23.526023076-19.0144367342-14.6362899604-10.5982808624-7.05499818223-4.12617311548-1.91173407522-0.5045213188730.0-0.504270580625-1.322945878130.0-1.32303642234-3.99024395087-6.69946157142-8.12488094814-6.89302408615-1.562298721219.3895282216127.565193850854.629914651992.2696577393142.119213169205.652854491284.029728104377.885827822487.065267691610.287560906744.759442298885.7687416451026.355116141157.219377421268.311202281349.102330211392.237191941393.601889181352.444763841272.109817681160.961967051029.05577853887.447688906745.42040989609.932706807485.671713083375.386691544280.299981108200.500768242135.28611028983.440220624343.454154836413.6923641789-7.48604440994-21.6434406103-30.2098283703-34.4524604154-35.4632365777-34.1591138476-31.2916101759-27.4622615932-23.1415775731-18.6896264951-14.3768715817-10.404271944-6.92197011631-4.04611495448-1.87352609106-0.4940568156090.0-0.493810026617-1.271063526380.0-1.27115915926-3.83237182058-6.41990288172-7.73872287416-6.44051755897-1.104000167159.7780369466427.800198082254.629338857691.9670649693141.483369395204.713905565282.912095815376.845595002486.524670087610.848842377747.162159927890.7323751441034.260323641167.766353681280.756392251360.652644431400.34986431396.328853581348.464278921260.879927671144.431761811009.371263866.689623677725.262280642591.508931409469.617585757361.948214434269.452031315192.048127896128.9407778178.876370557440.344743632411.7317319934-8.56972853343-22.082781728-30.1974723815-34.1432608798-34.9780564144-33.5893815722-30.7040392178-26.9033530495-22.6416785387-18.2664221658-14.0382611776-10.150625229-6.74778994618-3.94114725283-1.82336601554-0.4803004892570.0-0.480058945589-1.218751008570.0-1.21884970602-3.67727147317-6.1561856991-7.39914116553-6.09242444432-0.8463456699319.8178237823627.470597532653.761707650390.3866984521139.026394558201.251874946278.385965763371.309670391480.19755711604.158570817740.746828497885.2958607651030.070148621163.651010441275.198806461352.375718951388.53015161380.640804371329.030248241238.127395631118.90867053981.869779713838.992318402699.058279727567.961395888449.339325696345.117782548255.950509868181.575854374121.10522556673.253490776636.51903910159.32040761441-9.90400301153-22.6269250609-30.1881633857-33.7702501558-34.3892060549-32.8964529061-29.988571713-26.2222142367-22.0320347072-17.7499985474-13.6248411278-9.84079057707-6.53493703692-3.812831295-1.76203476601-0.4634790481510.0-0.463244037694-1.169650003450.0-1.16974976632-3.537284585-5.93344964241-7.14818756692-5.91270966547-0.8820178284969.3777694520726.392726274751.770243582387.1686882557134.24162707194.549627569269.431058492359.820594772465.999028243587.247613698721.35767289863.8933849421006.961656841136.717981861242.459635581314.472106961346.741398761336.635248141284.797845131195.586208771077.64771963941.322945592800.751205902664.507960857537.901465611424.040846385324.466474451239.584830528168.997221782111.75845304666.58169495431.99854306646.48076803794-11.4705802581-23.2634229278-30.1752921679-33.3317991971-33.6988513496-32.0850742185-29.1514444527-25.4256726621-21.3193708567-17.1464798127-13.141810317-9.47886517222-6.28635677132-3.66302116952-1.69045888731-0.4438610487550.0-0.44363383705-1.126395248470.0-1.12649415221-3.42116415262-5.76910355377-7.01415607102-5.94302104844-1.269281556358.3782731214924.458587032748.507871692182.1106457029126.84654603184.206219342255.468101651341.52529679442.64668716558.14518415685.898230607821.590709616957.3434596091078.886761481176.226245651241.541633321269.778125941258.747446871209.177392791124.88973471012.87624094882.793118282749.046252647619.951332645500.432719803393.278261105299.8101843220.312562718154.340413873100.95773072958.924195562326.84053653593.25903089985-13.235565329-23.9698856529-30.1461816072-32.8228289709-32.9074423689-31.1593884995-28.1989673497-24.5210025758-20.5110250758-16.4626324184-12.5949519888-9.06942312831-6.00534259407-3.49379041262-1.60967356033-0.4217458203580.0-0.421527635956-1.09031548540.0-1.09041172555-3.3330312858-5.67063387465-7.00778752037-6.19669090275-2.022924464776.8046563944121.655571926343.966366245375.2112779282116.849302522170.241047265236.52728926316.458686339410.161667069516.816946497634.209180397758.064475886880.970947464990.1732046641076.815688861134.344907021158.526624581147.565028641102.185725381025.7083811924.049624813805.769054618683.664765731565.421133069455.730996715357.292463056271.405143196198.376246342137.81906551588.881507813850.423539161721.1541935952-0.26479426678-15.1432590839-24.7100702614-30.0795658435-32.233137015-32.0125601795-30.1221070991-27.1369048406-23.5154486319-19.6145755081-15.7055720308-11.9904070529-8.61734618025-5.69541726938-3.30735742078-1.52078468191-0.3974520215250.0-0.397244040982-1.061326443210.0-1.06141837511-3.27200357674-5.63484665336-7.12102172764-6.6568975871-3.11171494244.710553115418.070908843538.28219483466.6782573006104.55988575153.111056862213.277622793285.598478267369.975954234465.367198198569.372318904677.697882074783.549834324877.539354302951.9591472061001.101921251021.329800871011.14874472971.270895001904.658679417816.53480342714.358457083607.505402608502.934530646405.223219413317.116192835240.012737466174.343146066119.85680429675.844571263341.310948149115.1063295409-3.97335588407-17.113933736-25.4324431118-29.9446136907-31.5466890568-31.0083668866-28.974058413-25.9700926233-22.4158963115-18.6375584718-14.8825271615-11.3344823108-8.12767547343-5.36022635592-3.10601732241-1.42493373904-0.3713069016330.0-0.371110234167-1.038021819750.0-1.03810799143-3.23251756296-5.64859209083-7.32838266512-7.27912247692-4.462584959682.2109635143213.880304359131.718109993256.898474942590.5419463531133.632134535186.897108317250.647875658324.565836236407.433067575496.810011529588.704368096677.398247229755.918936736818.009448771858.868266175875.41644763866.417820687832.538771311776.361118909702.320053518616.46937505525.742509503435.951754132351.278118544274.403396172206.805259095149.052305462101.05678116462.280040657331.89541072718.91465575444-7.71617919856-19.0464703528-26.0718009106-29.7018844228-30.742136638-29.8858369239-27.714236928-24.7023768162-21.2287515981-17.5873234034-14.0006927708-10.6335178065-7.60550165773-5.00345550556-2.89208737488-1.32326897193-0.3436372892830.0-0.343452961042-1.017933786520.0-1.01801296449-3.20524840035-5.69076306696-7.59061299928-7.99723984059-5.97042252112-0.5331639992549.3239063659824.625777890346.37978713175.5213083562112.833586717158.836866539213.642705056276.772054351346.943125321421.85336811498.020879334570.828239117635.002738152685.639264006718.855849113732.130010539724.461302242696.435874865650.211373469589.394276363518.726467799443.432070793368.178169181296.569048985231.074261053173.161369488123.49359566382.128627534848.694480349822.53569996212.83014878164-11.3208509056-20.8254679969-26.5537718785-29.3061458851-29.7945448511-28.6337796899-26.340374033-23.3369006469-19.9600548227-16.4710474004-13.0671935453-9.89382954303-7.05590594542-4.62878072938-2.66787174092-1.2169258278-0.3147632079960.0-0.314592145757-0.9979081759130.0-0.997979363886-3.17843806264-5.73516162253-7.85981723713-8.7319784524-7.51138614787-3.335394480384.6752414640117.398887297135.680338619560.279329997391.7968659565130.576814594176.582272144229.250736361287.341258703348.803676724410.727437902469.459797867520.984019883561.521644342588.025447804598.492471806592.133573388569.43727298532.139469353483.081197883425.911841649364.599154535302.817968273243.555706731188.975141451140.44736690498.667752010663.798795982835.610261035413.603171248-2.88704199054-14.6086497582-22.331380845-26.80136911-28.7105826149-28.6780645786-27.2405083167-24.8499552884-21.8767035053-18.6158160248-15.2959087547-12.0891620763-9.12173494622-6.48395952013-4.2398577972-2.43564997753-1.1070190746-0.2849948653740.0-0.284837879373-0.9745269908010.0-0.974589442472-3.13939906421-5.75373329867-8.08520938875-9.40023877849-8.95728399833-6.005384148370.20938230547510.426725270725.341487985945.556952111371.5201812447103.438877722141.181942925184.170805128231.276661689280.750743005330.228854286376.859204834417.582626141449.520342606470.329123045478.457481625473.296829711455.238070055425.637709189386.685351403341.158970247292.072653883242.283862068194.202904308149.652384921109.85008532175.468215581546.728999643523.51003271025.44427160918-7.9927683361-17.4113769948-23.4517226802-26.7424131956-27.87168304-27.3691253324-25.6959052015-23.2415405998-20.3255525357-17.2025299265-14.0693996939-11.07392462-8.32366035051-5.89478358776-3.84035392033-2.19769197996-0.994648277576-0.2546336056520.0-0.254491371088-0.9445137504910.0-0.944566977618-3.07596918436-5.71968913429-8.21860751422-9.92385740604-10.1888039639-8.36818156314-3.824546805554.0557805158915.835262959231.984578572952.828235406978.4772935624108.752860856143.108281109180.563912615219.675510639258.562890901295.023642591326.737971812351.53175989367.629828701373.852692857369.739374991355.593586056332.452848687301.978362079266.266294673227.597002426188.169253804149.888904188114.24678936382.281540716754.603995283531.457508889512.7936826625-1.65026520239-12.2805669017-19.5864361407-24.0914559059-26.3166336578-26.7540599001-25.8496861021-23.9936008928-21.5162163629-18.6889058002-15.7278126019-12.7997465417-10.0292782358-7.50632334876-5.29366791771-3.43402203647-1.95630055657-0.88091767688-0.2239772690650.0-0.22385030572-0.9050727930190.0-0.905116570761-2.97774481363-5.61014757471-8.21902864688-10.2367884003-11.1060485086-10.2790355161-7.22349075358-1.436717758897.5308676898120.041860808936.327818451856.436783511780.1765151526107.060822709136.270324612166.642617966196.708150936224.783643986249.121532319268.093382917280.370110731285.067895535281.842493845270.924844287253.095721884229.599996678202.006297539172.028767439141.342182907111.42845529283.477744987158.34693637436.564675692818.36744808263.75216784102-7.46586273908-15.5970743989-21.0281773423-24.1811970552-25.4815298973-25.3345981111-24.1101515328-22.1330154886-19.6790215167-16.9749087281-14.201099571-11.4964009662-8.96383796422-6.67697806472-4.68624181049-3.02481522508-1.71388115305-0.766970779759-0.1933302477250.0-0.193218897-0.8541366688140.0-0.854171040221-2.83699804149-5.40809271511-8.05603408586-10.2901730899-11.6356534372-11.6328301644-9.8423148069-5.856781691080.67962183574110.043986925222.400137961737.758962440555.937516072376.523141854798.8511905364122.006514722144.858364898166.134018243184.527672797198.829982277208.056099988211.551635444209.062535544200.761505097187.228412016169.386147526148.398486627125.543523485102.08335983979.1526873757.681652721138.357303769821.61903885887.67901607744-3.44226748407-11.8736313618-17.8503299755-21.6746956103-23.6825739103-24.2164886723-23.6055678667-22.1517009103-20.1210901908-17.7402312899-15.1953457982-12.6343527374-10.1705666727-7.88742986092-5.84370720753-4.07868726656-2.61703547042-1.47303613265-0.654039010455-0.1630183147260.0-0.162922713362-0.7905203258780.0-0.790545607208-2.64926519251-5.10361710816-7.71177568724-10.0552563897-11.7345248957-12.3684045681-11.5981478418-9.09693990289-4.585310719352.147604346411.2178367622.617400023836.185558127251.585476776768.292481424385.6006244085102.65313839118.498940698132.171714059142.781763503149.606725657152.167405033150.278329401144.066841081133.958497555120.63031441104.937493587.823771305970.229152362853.009268651436.876664482622.36804878179.83588719717-0.540803816162-8.73285607304-14.8305981634-19.0116435288-21.5102964829-22.5907377839-22.5250815066-21.5766070815-19.9879398786-17.9736326062-15.7164362655-13.3664969188-11.042734982-8.83572780042-6.81150245524-5.015739295-3.47797838119-2.21550620745-1.23667783791-0.54350222862-0.133407940010.0-0.133327989775-0.7140022674420.0-0.714019055239-2.41366574948-4.69456177268-7.18193760288-9.52448417557-11.3907774994-12.4687729931-12.4689656969-11.1317420769-8.23918333447-3.631106052172.7755583738510.965818111120.806875430832.033306319644.241542280756.897991714869.363988566480.938254981490.913964752198.6437685375103.603728164105.446963199104.03958619399.474227448292.059421535982.286142020270.775838462358.217222552145.301022073932.661959037620.834922414810.2286384121.11653440744-6.35806409946-12.1664991237-16.3733408261-19.1126195531-20.5645349913-20.9345301764-20.4358051034-19.2757015381-17.6459272864-15.7162856175-13.6314028695-11.5098716931-9.44521917665-7.50814365218-5.74952232431-4.20376035684-2.89212192206-1.82575055408-1.00814954183-0.436956365407-0.1049291544590.0-0.104864487367-0.6253687056440.0-0.625377884989-2.13306046594-4.18676203618-6.47592164101-8.71133913327-10.6227543305-11.9586227275-12.4885330744-12.0086806897-10.3505743428-7.39274284938-3.074650312272.588631255429.4931306061917.436791061126.117404144335.140440273344.038581304952.302998962259.424117586664.937339930168.467750194369.767623855968.741584922965.456026629860.131538157453.119316173644.864727118435.863067963626.613711421617.57875633069.150928118361.63326076528-4.76921015093-9.94730544105-13.8777003735-16.6079569077-18.2392660811-18.9090649308-18.7750770534-18.001734043-16.7494354967-15.1667238888-13.3851861546-11.5167306842-9.65280526244-7.8650964915-6.20726485041-4.71730581691-3.42017437625-2.33035975581-1.45414531232-0.791335197786-0.336279166352-0.07809987096650.0-0.0780498101723-0.5264663605770.0-0.526469111367-1.8141815845-3.59414635956-5.61667763987-7.64953850165-9.47707567811-10.9004965946-11.7397418666-11.8373916508-11.0648126506-9.33038158198-6.58916306354-2.852923111411.801111650857.2246891507513.198205279719.437382762725.607971582531.348277561736.297844938340.129221966642.578833986843.472841617842.744469769740.440456109936.715741242531.817104383126.057960103819.787762163313.36015011727.103906195651.29994639991-3.83379177371-8.1491754885-11.56725267-14.0717994221-15.6989834299-16.5250395071-16.6535660529-16.2036513951-15.2996227594-14.0628382366-12.605643334-11.0273962136-9.41232367671-7.82889050968-6.33033269698-4.95600535882-3.73321612116-2.67924368792-1.80327242789-1.10800296178-0.590726110024-0.243678066652-0.05354756144610.0-0.0535110792582-0.4203133304260.0-0.420311124106-1.46786372486-2.93891182501-4.6405337688-6.39214347326-8.02654645468-9.39086838253-10.3480327665-10.7793852417-10.5887792967-9.70807342627-8.10359997332-5.78278791344-2.799798539450.7411747976244.686308556788.8373717444212.962341645116.811171345720.135519359722.710381617124.355004614624.950358173924.450823771122.888512827120.369622406717.063313955613.18461776768.973667032184.673995151220.512581174781-3.31619160258-6.66134271627-9.42048571012-11.5398422913-13.010085831-13.8592980829-14.1443472356-13.9418406805-13.3395527282-12.4289437071-11.299119739-10.03235904-8.70116155834-7.36666358544-6.07819050196-4.873688767-3.78077163892-2.81812169607-1.99700831695-1.32269324036-0.795508054555-0.411393208365-0.161692917605-0.03202063560340.0-0.0319963126224-0.3113141370370.0-0.311308708584-1.10946213173-2.25190285372-3.59723359733-5.01093701615-6.3685053685-7.55698720711-8.47611461013-9.03987185233-9.17895783747-8.84420470639-8.01067232055-6.68184917969-4.89316952409-2.71393428916-0.2467406160032.37628324455.000762148097.460669723459.5914286888611.244170688812.299464928212.678761209412.352028416611.34055494399.714525109557.585693285235.096139936292.40460594173-0.327829882348-2.95099552075-5.33637588871-7.38447090699-9.02845477595-10.234363591-10.9984277639-11.3423767474-11.3075887787-10.9488780602-10.3285554418-9.51121155858-8.55948771482-7.53094108327-6.47598717682-5.43681579376-4.44712297271-3.53247420047-2.71110530477-1.9949692309-1.39084195562-0.901302825812-0.525398694315-0.258784632319-0.0931077696948-0.01437529688140.0-0.0143612911499-0.2056045177820.0-0.205597784723-0.759433615782-1.57311283871-2.55011939752-3.59612754895-4.62386863251-5.55497977884-6.32070893785-6.86261055103-7.13377680631-7.10073217129-6.74582400988-6.06972964868-5.0935561997-3.85994097081-2.43258547534-0.8937911636760.6601887601782.125834371063.400568529824.391655058215.024743130795.250977010745.051732736274.440341276443.460559294432.181989215280.693060888376-0.907498793023-2.51961922422-4.05019096766-5.41983942025-6.56759490397-7.45324499144-8.05748627732-8.38024304492-8.43766460925-8.25835431715-7.87934249662-7.34222220973-6.68974898955-5.96308664785-5.19977594572-4.4324193622-3.68801550233-2.98783896656-2.34774148534-1.77874235897-1.28777485518-0.878454212512-0.551726197161-0.306236606409-0.138225892658-0.0406951207751-0.001510725225960.0-0.00150476941934-0.1114711894140.0-0.111465067634-0.443782129067-0.95182553566-1.57597354608-2.25603872839-2.93675165358-3.56932253895-4.11161843209-4.52819047184-4.79065913285-4.87857361343-4.78064000018-4.49607760149-4.03578124844-3.4229342625-2.69273874167-1.89101385724-1.07155780799-0.2923597326530.3890461805780.9206114826241.26060105371.381607602071.273222587230.9430008192950.415583599855-0.269904487449-1.06383741624-1.91092368694-2.75528108416-3.54514477699-4.23670787764-4.79676605841-5.20403852058-5.449225845-5.53401022897-5.46928999079-5.27296783497-4.96759195004-4.57809657166-4.12982059226-3.64691274618-3.15116925248-2.66129969605-2.19258096137-1.7568362473-1.36266402571-1.01583680229-0.719787688691-0.476099532584-0.284901141569-0.145050803503-0.0539395291412-0.006664549368430.005801305510290.00.00580184443633-0.03949657995820.0-0.039492613553-0.193395917001-0.445147056148-0.763391603649-1.11598175717-1.47420875316-1.81349559214-2.11310024426-2.35578587409-2.52776546997-2.61896329947-2.62351826222-2.54039403279-2.37392817074-2.1341415646-1.83664353961-1.50201021553-1.15458376533-0.820730936689-0.526696391057-0.296271402452-0.148552788876-0.0960776985078-0.143583175441-0.287560980005-0.516671156989-0.812960047316-1.15371912533-1.51373836299-1.86766574262-2.19218962339-2.46780982082-2.68004406454-2.82001066994-2.88441694602-2.87505154489-2.79792013664-2.66217705874-2.47899579589-2.26049583706-2.01881051545-1.76534649913-1.51025529981-1.26211305651-1.0277877251-0.812462178565-0.619776291817-0.452049040788-0.310540776258-0.195713309099-0.107437137819-0.0450742959291-0.007320514291610.008395437816720.007301665333650.00.00729960210785-0.001031759683880.0-0.00102918274247-0.0396619888248-0.11230558105-0.207732583173-0.315103605887-0.425441681984-0.531495796349-0.627362846523-0.708210938628-0.770161897071-0.810313927544-0.82686338721-0.819276003039-0.78845329209-0.736839153306-0.668416600921-0.588557129923-0.503705512218-0.42090906234-0.347228588775-0.28909299222-0.251675449546-0.238372567127-0.250457639819-0.286956820685-0.344766401244-0.418995660015-0.50348846527-0.591453276721-0.676119401758-0.751339176881-0.812070215143-0.854695348673-0.877165080848-0.87897277748-0.860992276245-0.825218947317-0.774458449605-0.712003991428-0.641335090124-0.565860974496-0.48872183157-0.412652395762-0.33990561825-0.272229520555-0.210887643944-0.156712339802-0.110179950095-0.0714970064457-0.0406859420373-0.0176556983865-0.002233284673550.005891516945060.007411765186150.004056495208920.00.004053303723020.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0-0.00103175968388-0.0396611857508-0.11230166256-0.207726075736-0.315095845774-0.425434500702-0.531491313871-0.627363318472-0.708218628245-0.7701789586-0.810342296334-0.826904676441-0.81933140954-0.788523515111-0.736924330722-0.668516267424-0.588670201289-0.503830298713-0.421043312878-0.347369565511-0.289237573159-0.251820254512-0.238514100461-0.250592441626-0.287081617542-0.344878247178-0.419092059245-0.503567469666-0.591513552964-0.676160265572-0.751360594175-0.812072772216-0.854680195517-0.877133852951-0.878927502282-0.860935270585-0.825152711887-0.77438556576-0.711927024744-0.641256504062-0.56578305644-0.488646632489-0.412581683844-0.339840846076-0.2721718048-0.210837756126-0.156670706334-0.110146659744-0.071471823233-0.0406683215746-0.017644805379-0.002228008309550.005892556112410.007410230546290.004053303723020.00.0
1.0e11,0.25 Example input. The first line is youngs modulus and Poissons ratio
1 No. of different thicknesses
1,59,1,59,15.0 i.e thickness of Te =5 km
7 no. of different load segments
19,21,21,23,4.16E07 different loads etc...
21,25,23,25,4.16E07
23,27,25,27,4.16E07
25,27,27,29,4.16E07
29,31,27,29,4.16E07
35,37,23,27,4.49E07
37,39,21,29,4.49E07
10.0 delx
59,59 no. of grids of study area in x and y
2 no. of different isostatic restoring forces
1,59,1,59,10000.0 restoring force of seds
19,39,21,29,6000.0 restoring force over volcanoes
5000 max no. of iterartions
1.0E-05 tolerance of convergence
3,57,24,24 row or column used to check convergence
1.7 sor parameter
0,0,0,0 1= broken, 0=contiuous, left, right, bottom, top
0.0,0.0,0.0 end load in x, y and shear: x = up Y= sideways: -ve=compression
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment