Sir,
I m working in soil structure interaction problem.I modeled bridge in opensees.I modeled soil domain in GID.But I could not assign L-K boundary condition.I created BAS File even though it is not taking.I could not get boundary conditions in calculation file in GID.Please help me in this regard.If possible kindly provide any example for BAS File. Your reply is very important for my thesis progress.
how to assign lysimer kuhlemeyer boundary conditions in GID
Moderator: Moderators
-
- Posts: 38
- Joined: Thu Jun 17, 2010 7:08 am
- Location: L&T EDRC KOLKATA
Re: how to assign lysimer kuhlemeyer boundary conditions in
I created an example a while back that showed how to use GiD to set up an analysis of a 2D slope. I incorporated a Lysmer-Kuhlemeyer dashpot boundary condition there. In that example, I provided the problemType (.bas file) that I used, and I explain how to apply the various conditions in GiD. This should give you some ideas/hints on how to do it for your model.
http://opensees.berkeley.edu/wiki/index ... Generation
Chris McGann
University of Washington
http://opensees.berkeley.edu/wiki/index ... Generation
Chris McGann
University of Washington
Re: how to assign lysimer kuhlemeyer boundary conditions in
Hi Chris,
Regarding '' Effective Stress Site Response Analysis of a Layered Soil Column'' that you have posted the code online , I have tired to create my own code to generate the node numbers and coordinates. Part of my code for -ndm 2 -ndf 2 is as follows. However, I dont know why I am getting an error. Would you please take a look at it. Thanks.
#---SOIL GEOMETRY
# thicknesses of soil profile (m)
set soilThick 30.0
# number of soil layers
set numLayers 3
# layer thicknesses
set layerThick(3) 2.0
set layerThick(2) 8.0
set layerThick(1) 20.0
# depth of water table
set waterTable 2.0
# define layer boundaries
set layerBound(1) $layerThick(1)
set sum $layerBound(1)
for {set i 2} {$i<=$numLayers} {incr i 1} {
set sum [expr $sum+$layerThick($i)]
set layerBound($i) $sum
}
#---MESH GEOMETRY
# number of elements in horizontal direction
set nElemX 1
# number of nodes in horizontal direction
set nNodeX [expr 2*$nElemX+1]
# horizontal element size (m)
set sElemX 2.0
# number of elements in vertical direction for each layer
set nElemY(3) 4
set nElemY(2) 16
set nElemY(1) 40
# total number of elements in vertical direction
set nElemT 60
# vertical element size in each layer
for {set i 1} {$i <=$numLayers} {incr i 1} {
set sElemY($i) [expr $layerThick($i)/$nElemY($i)]
puts "size: $sElemY($i)"
}
# number of nodes in vertical direction
set nNodeY [expr 2*$nElemT+1]
# total number of nodes
set nNodeT [expr $nNodeX*$nNodeY]
################# creating interiror nodes #################
model BasicBuilder -ndm 2 -ndf 2
set x1coord [expr $sElemX/2]
set x2coord $sElemX
set k 1
set nodelist {}
set lowerBound 0
for {set j 1} {$j<= $nNodeY} {incr j 1} {
if {[expr ($j-1)*$sElemY($k)/2]<=$layerBound($k) && [expr ($j-1)*$sElemY($k)/2]> $lowerBound} {
set ycoord [expr ($j-1)*$sElemY($k)/2]
lappend nodelist $ycoord
return $nodelist
} else {
set k [expr $k+1]
if {$k>3} {
set k 3
}
}
set lowerBound $layerBound($k)
}
for {set i 2} {$i <= $nNodeY} {incr i 3} {
set k 2
set ycoor [lindex $nodelist [expr $i-$k]]
node $i $x1coord $ycoor
set k [expr $k+2]
}
for {set i 1} {$i <= [expr $nNodeY-$nElemT]} {incr i 6} {
set k 0
set ycoor [lindex $nodelist [expr $i-$k]]
node $i 0 $ycoor
node [expr $i+2] $x2coord $ycoor
set k [expr $k+4]
}
Regarding '' Effective Stress Site Response Analysis of a Layered Soil Column'' that you have posted the code online , I have tired to create my own code to generate the node numbers and coordinates. Part of my code for -ndm 2 -ndf 2 is as follows. However, I dont know why I am getting an error. Would you please take a look at it. Thanks.
#---SOIL GEOMETRY
# thicknesses of soil profile (m)
set soilThick 30.0
# number of soil layers
set numLayers 3
# layer thicknesses
set layerThick(3) 2.0
set layerThick(2) 8.0
set layerThick(1) 20.0
# depth of water table
set waterTable 2.0
# define layer boundaries
set layerBound(1) $layerThick(1)
set sum $layerBound(1)
for {set i 2} {$i<=$numLayers} {incr i 1} {
set sum [expr $sum+$layerThick($i)]
set layerBound($i) $sum
}
#---MESH GEOMETRY
# number of elements in horizontal direction
set nElemX 1
# number of nodes in horizontal direction
set nNodeX [expr 2*$nElemX+1]
# horizontal element size (m)
set sElemX 2.0
# number of elements in vertical direction for each layer
set nElemY(3) 4
set nElemY(2) 16
set nElemY(1) 40
# total number of elements in vertical direction
set nElemT 60
# vertical element size in each layer
for {set i 1} {$i <=$numLayers} {incr i 1} {
set sElemY($i) [expr $layerThick($i)/$nElemY($i)]
puts "size: $sElemY($i)"
}
# number of nodes in vertical direction
set nNodeY [expr 2*$nElemT+1]
# total number of nodes
set nNodeT [expr $nNodeX*$nNodeY]
################# creating interiror nodes #################
model BasicBuilder -ndm 2 -ndf 2
set x1coord [expr $sElemX/2]
set x2coord $sElemX
set k 1
set nodelist {}
set lowerBound 0
for {set j 1} {$j<= $nNodeY} {incr j 1} {
if {[expr ($j-1)*$sElemY($k)/2]<=$layerBound($k) && [expr ($j-1)*$sElemY($k)/2]> $lowerBound} {
set ycoord [expr ($j-1)*$sElemY($k)/2]
lappend nodelist $ycoord
return $nodelist
} else {
set k [expr $k+1]
if {$k>3} {
set k 3
}
}
set lowerBound $layerBound($k)
}
for {set i 2} {$i <= $nNodeY} {incr i 3} {
set k 2
set ycoor [lindex $nodelist [expr $i-$k]]
node $i $x1coord $ycoor
set k [expr $k+2]
}
for {set i 1} {$i <= [expr $nNodeY-$nElemT]} {incr i 6} {
set k 0
set ycoor [lindex $nodelist [expr $i-$k]]
node $i 0 $ycoor
node [expr $i+2] $x2coord $ycoor
set k [expr $k+4]
}
Re:
Your summits and the specifics are overwhelming and it is mostly accommodating and unadventurous meant for me.