Nut Javid Hoek
Nut Javid Hoek
;---------------------------------------------------------------------
; 2D rough strip footing
;---------------------------------------------------------------------
def test0
tim0=clock
end
test0
def test1
tim=(clock-tim0)/100
end
;---------------------------------------------------------------------
;Maillage
;---------------------------------------------------------------------
;---------------------------------------------------------------------
; SOIL GROUP
;---------------------------------------------------------------------
gen zone brick size 10 1 80 p0=0.0, 0.0, 0.0 p1=1.0, 0.0, 0.0 p2=0.0, 1.0 ,0.0 &
p3=0.0, 0.0, 8.0 ratio 0.9616851186 1 0.8294058203
gen zone brick size 190 1 80 p0=1.0, 0.0, 0.0 p1=20.0, 0.0, 0.0 p2=1.0, 1.0, 0.0 &
p3=1.0, 0.0, 8.0 ratio 1.1431963 1 0.8294058203
;pause
;---------------------------------------------------------------------
;FOOTING GROUP
;---------------------------------------------------------------------
gen zone brick size 5 1 1 p0=0.0, 0.0, 9.0 p1=1.0, 0.0, 9.0 p2=0.0, 1.0, 9.0 &
p3=0.0, 0.0, 9.5 ratio 1 1 1
;---------------------------------------------------------------------
;INTERFACE
;---------------------------------------------------------------------
;---------------------------------------------------------------------
; MODEL MOHR, HOEK-BROWN
;---------------------------------------------------------------------
;---------------------------------------------------------------------
; PROPERTIES OF SOIL, FOOTING AND INTERFACE
;---------------------------------------------------------------------
inter 1 prop ks 1.0e9 kn 1.0e9 friction 30.0 dilation 30.0 cohesion 20.0e3
inter 1 prop bslip=on
;---------------------------------------------------------------------
; Function that calculate the effective width of the footing and search
; for soil nodes in contact with the footing
;---------------------------------------------------------------------
;def p_cons
; array LoadPoints(200) ;Must increase if grid
zones are increased
; pnt = gp_head
; n = 0
; xnext1 = 20.0
;
; loop while pnt # null
; if gp_zpos(pnt) > 9.999
; if gp_xpos(pnt) < 1.001
; n = n + 1
; LoadPoints(n) = pnt ;save addresses
; endif
; if gp_xpos(pnt) > 1.000 ;get 1st gp outside
footing
; xnext1 = min(xnext1,gp_xpos(pnt))
; endif
; endif
; pnt = gp_next(pnt)
; end_Loop
; nLoads = n
;effwid=1+(xnext1-1)/2
;end
;p_cons
;---------------------------------------------------------------------
; Function that calculate the vertical stress at the center of the footing
;---------------------------------------------------------------------
def qult
pload = 0.0
B = 1
p_in = i_node_head(i_head)
qult = pload/B
; qulteff =
pload/effwid
pult = (pload/B)*B
; pulteff =
qulteff*B
end
;---------------------------------------------------------------------
; Function that calculate the vertical displacement at the center of the footing
;---------------------------------------------------------------------
def c_zdisp
pdis1 = gp_near(0,0,10)
pdis2 = gp_near(0,1,10)
c_zdisp = -(gp_zdisp(pdis1) + gp_zdisp(pdis2)) / 2
end
;---------------------------------------------------------------------
; Function that calculate the horizontal displacement at the center of the footing
;---------------------------------------------------------------------
def c_xdisp
pdis3 = gp_near(0,0,10)
pdis4 = gp_near(0,1,10)
c_xdisp = -(gp_xdisp(pdis3) + gp_xdisp(pdis4)) / 2
end
;---------------------------------------------------------------------
; Function that calculate the average shear and normal stresses along the interface
; elements,shear displacements and penetration of the interface nodes
;---------------------------------------------------------------------
def sstav
B = 1
valns = 0.0
valss = 0.0
valsd = 0.0
valnd = 0.0
count = 0.0
p_in = i_node_head(i_head)
end
;_____________________________________________________________________
;---------------------------------------------------------------------
; BOUNDARY CONDITIONS
;---------------------------------------------------------------------
solve
ini xdis 0
ini ydis 0
ini zdis 0
save ini-javid1.sav
ini zvel -1e-5 range x 0.0 1.0 z 10.0 group footing ;initialize vertical
velocity at the footing node
fix zvel range x 0.0 1.0 z 10.0 group footing ;fix zdisplacement (or
zvelocity) at the footing node
hist nstep 1
hist unbal
hist qult pult c_zdisp c_xdisp sstav phoriz sjdisp njdisp
step 1000
test1
save javid1.sav