Search found 8 matches

by aminasareh
Mon May 02, 2011 11:52 am
Forum: OpenSees.exe Users
Topic: Manually Controlling Time Steps in OpenSees
Replies: 2
Views: 2529

Re: Manually Controlling Time Steps in OpenSees

Thanks Frank.

But for using OpenSees in hybrid simulations, I guess you have to be able to control timesteps in simultaneous integration times between programs. How does OpenSees work there? Is there a way to keep OpenSees open during each analysis that is comunicated between multiple programs? Should the OpenSees code be changed for using OpenSees in hybrid simulations?
by aminasareh
Tue Apr 26, 2011 11:11 am
Forum: OpenSees.exe Users
Topic: Manually Controlling Time Steps in OpenSees
Replies: 2
Views: 2529

Manually Controlling Time Steps in OpenSees

Hi all,

Does anyone know if there is a way from TCL to manually control time steps in OpenSees? In particular, can you step back a time step to re-try an analysis of the current time step?

Thanks
Amin
by aminasareh
Wed Apr 20, 2011 4:50 pm
Forum: OpenSees.exe Users
Topic: Goingto a previous timestep while running transient analysis
Replies: 2
Views: 2535

Goingto a previous timestep while running transient analysis

Hi

I'm trying to do hybrid simulations with OpenSees and I would like to know if anyone has tried to put the transient analysis into a loop that can come back and forth between timesteps and probably change the data for some timesteps according to the iterations related to the results of some other program that is giving input to opensees?
I guess my first step would be to have a simple transient analysis that can run one timestep a couple of times. Has anyone written a script for this kind of problem?

Thanks.
by aminasareh
Mon Apr 18, 2011 10:09 am
Forum: Soil Modelling
Topic: Pressure Dependent material
Replies: 3
Views: 4478

Re: Pressure Dependent material

Hi

This website has lots of examples on those materials.
http://cyclic.ucsd.edu/opensees/

Thanks
by aminasareh
Wed Mar 16, 2011 9:06 pm
Forum: OpenSees.exe Users
Topic: running many integrators in one time step
Replies: 4
Views: 3492

Re: running many integrators in one time step

Thanks for your help. I got it now. It's working properly like this:


wipe;
# Unit ---------------------------------------------------------------------
# Force : KN
# Length: m
# --------------------------------------------------------------------------

# --------------------------------------------------------------------------
# Reading source files
# --------------------------------------------------------------------------
source weccblade_nodes.tcl;
puts "Reading nodal coordinates done!"
source weccblade_nodal_mass.tcl;
puts "Reading lumped masses done!"
source weccblade_constraints.tcl;
puts "Reading boundary conditions done!"
source weccblade_elements.tcl;
puts "Reading elements done!"
source weccblade_gravity.tcl;
puts "Reading gravity loads done!"

# --------------------------------------------------------------------------
# Analyze gravity loading
# --------------------------------------------------------------------------

constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width
system BandGeneral; # how to store and solve the system of
test NormDispIncr 1.0e-12 40 0;
algorithm Newton; # use Newton's solution algorithm: updates
integrator LoadControl 1; # determine the next time step for an analysis,
analysis Static; # define type of analysis static or transient
analyze 1; # perform gravity analysis
puts "gravity Analysis Completed"
wipeAnalysis
loadConst -time 0.0; # hold gravity constant and restart time


# --------------------------------------------------------------------------
# Static Analysis (displacement as loading
# --------------------------------------------------------------------------

set Factor1 1
set Factor2 0.017453293

#------------- Getting displacements from FAST----------------------------


set file1 [open "dispX.dat" r]
set DispSeries_1 [expr [read $file1]*$Factor1]
close $file1
set file2 [open "dispY.dat" r]
set DispSeries_2 [expr [read $file2]*$Factor1]
close $file2
set file3 [open "dispZ.dat" r]
set DispSeries_3 [expr [read $file3]*$Factor1]
close $file3
set file4 [open "rotX.dat" r]
set DispSeries_4 [expr [read $file4]*$Factor2]
close $file4
set file5 [open "rotY.dat" r]
set DispSeries_5 [expr [read $file5]*$Factor2]
close $file5
set file6 [open "rotZ.dat" r]
set DispSeries_6 [expr [read $file6]*$Factor2]
close $file6

puts "displacement x from FAST = $DispSeries_1"
puts "displacement y from FAST = $DispSeries_2"
puts "displacement z from FAST = $DispSeries_3"
puts "rotation x from FAST = $DispSeries_4"
puts "rotation y from FAST = $DispSeries_5"
puts "rotation z from FAST = $DispSeries_6"

set dt 1; #define time interval
set numSteps 1; #define number of points in the data file


#------------- defining load patterns ----------------------------

pattern Plain 11 "Constant" {
sp 24 1 $DispSeries_1
}

pattern Plain 12 "Constant" {
sp 24 2 $DispSeries_2
}

pattern Plain 13 "Constant" {
sp 24 3 $DispSeries_3
}

pattern Plain 14 "Constant" {
sp 24 4 $DispSeries_4
}

pattern Plain 15 "Constant" {
sp 24 5 $DispSeries_5
}

pattern Plain 16 "Constant" {
sp 24 6 $DispSeries_6
}

puts "reading forces!"
recorder Element -file forces.dat -ele 23 globalForce;




#------------- Running analysis ----------------------------
system SparseGeneral -piv;
test NormDispIncr 1.0e-12 40 0;
numberer Plain
constraints Transformation
algorithm Newton
integrator LoadControl $dt
analysis Static
analyze $numSteps;
puts "Static Analysis Completed"
wipe

#------------- Making output files for FAST ----------------------------


set file11 [open forces.dat r]; #assign a channel to the file
set source [read $file11]
regsub -all -- {[[:space:]]+} $source " " source
set elmlst [split $source]; #make a list of elements on each line
set j 0
foreach elm $elmlst {
set A($j) $elm; # assuming array is named "A"
incr j
}
close $file11
set fid1 [open PtfmXMotionFn.dat w]; #assign a channel to the file
puts $fid1 "$A(0)"
close $fid1
set fid2 [open PtfmYMotionFn.dat w]; #assign a channel to the file
puts $fid2 "$A(1)"
close $fid2
set fid3 [open PtfmZMotionFn.dat w]; #assign a channel to the file
puts $fid3 "$A(2)"
close $fid3
set fid4 [open PtfmXMotionMn.dat w]; #assign a channel to the file
puts $fid4 "$A(3)"
close $fid4
set fid5 [open PtfmYMotionMn.dat w]; #assign a channel to the file
puts $fid5 "$A(4)"
close $fid5
set fid6 [open PtfmZMotionMn.dat w]; #assign a channel to the file
puts $fid6 "$A(5)"
close $fid6
by aminasareh
Wed Mar 16, 2011 3:15 pm
Forum: OpenSees.exe Users
Topic: running many integrators in one time step
Replies: 4
Views: 3492

Re: running many integrators in one time step

Thank you for your reply. I changed my code as you said, But it is not working. The constrain handler does not accept "plain". I changed it to other constrains but I'm still getting zero for all the outputs. I only have one value in the files "dispx", "dispY"... and I only need one value to be in the output files of opensees, because opensees is being read by another program in every timestep, and the other program is reading opensees outputs for each timestep.
If this is the correct way of applying displacements please let me know why it's not working. Have you tried running it? Because maybe I'm doing something wrong.
by aminasareh
Tue Mar 15, 2011 3:42 pm
Forum: OpenSees.exe Users
Topic: running many integrators in one time step
Replies: 4
Views: 3492

running many integrators in one time step

Hi all

I have a cantilever column modeled and I want to apply 6 displacements in 6 directions at the free end of the column at once. The displacements are achieved from some other program in separate files (dispx.dat, dispy.dat,...). I have to get the reaction forces from opensees for the 6 directions and feed them back into the other program.
Now my problem is that all displacements have to be applied in one timestep and it seems that opensees cannot run many integrators in one analysis at once. I compared the answers with abaqus and hand calculations and I found out that opensees is giving wrong answers. This code is pretty easy but I'm sure that there is something wrong with running integrators at once. Does anyone have any idea how I can modify this code to get proper results for all six directions at on time step.

This is the code I'm using:

# Use a 3D model with 6 degrees of freedom
model basic -ndm 3 -ndf 6;


# Begin tower nodes
node 1 0.0 0.0 0.0;
node 2 0.0 0.0 0.876;
node 3 0.0 0.0 1.752;
node 4 0.0 0.0 2.628;
node 5 0.0 0.0 3.504;
node 6 0.0 0.0 4.38;
node 7 0.0 0.0 5.256;
node 8 0.0 0.0 6.132000000000001;
node 9 0.0 0.0 7.008000000000001;
node 10 0.0 0.0 7.884000000000001;
node 11 0.0 0.0 8.760000000000002;
node 12 0.0 0.0 9.636000000000001;
node 13 0.0 0.0 10.512;
node 14 0.0 0.0 11.388;
node 15 0.0 0.0 12.264;
node 16 0.0 0.0 13.139999999999999;
node 17 0.0 0.0 14.015999999999998;
node 18 0.0 0.0 14.891999999999998;
node 19 0.0 0.0 15.767999999999997;
node 20 0.0 0.0 16.644;
node 21 0.0 0.0 17.52;
node 22 0.0 0.0 18.396;
node 23 0.0 0.0 19.272000000000002;
node 24 0.0 0.0 20.148000000000003;

# Define the geometric transforms
geomTransf Linear 2000 1 0 0


# Begin tower elements
element elasticBeamColumn 1 1 2 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 2 2 3 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 3 3 4 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 4 4 5 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 5 5 6 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 6 6 7 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 7 7 8 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 8 8 9 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 9 9 10 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 10 10 11 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 11 11 12 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 12 12 13 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 13 13 14 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 14 14 15 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 15 15 16 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 16 16 17 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 17 17 18 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 18 18 19 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 19 19 20 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 20 20 21 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 21 21 22 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 22 22 23 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;
element elasticBeamColumn 23 23 24 0.6565745648230567 210000000.0 80769230.76923077 5.81960201389299 2.909801006946495 2.909801006946495 2000;

# Fix the base of the tower
fix 1 1 1 1 1 1 1

pattern Plain 1 Linear {

# Begin tower gravity
load 2 -0.0 -0.0 -48.52214835965947 0.0 0.0 0.0;
load 3 -0.0 -0.0 -48.34826018413288 0.0 0.0 0.0;
load 4 -0.0 -0.0 -48.174372008606085 0.0 0.0 0.0;
load 5 -0.0 -0.0 -48.000483833079294 0.0 0.0 0.0;
load 6 -0.0 -0.0 -47.8265956575525 0.0 0.0 0.0;
load 7 -0.0 -0.0 -47.6527074820255 0.0 0.0 0.0;
load 8 -0.0 -0.0 -47.47881930649891 0.0 0.0 0.0;
load 9 -0.0 -0.0 -47.30493113097232 0.0 0.0 0.0;
load 10 -0.0 -0.0 -47.13104295544553 0.0 0.0 0.0;
load 11 -0.0 -0.0 -45.57639498136299 0.0 0.0 0.0;
load 12 -0.0 -0.0 -44.02689924951799 0.0 0.0 0.0;
load 13 -0.0 -0.0 -43.863315558466695 0.0 0.0 0.0;
load 14 -0.0 -0.0 -43.699731867415714 0.0 0.0 0.0;
load 15 -0.0 -0.0 -43.536148176364726 0.0 0.0 0.0;
load 16 -0.0 -0.0 -43.372564485313646 0.0 0.0 0.0;
load 17 -0.0 -0.0 -43.20898079426246 0.0 0.0 0.0;
load 18 -0.0 -0.0 -43.04539710321127 0.0 0.0 0.0;
load 19 -0.0 -0.0 -42.881813412160184 0.0 0.0 0.0;
load 20 -0.0 -0.0 -42.718229721109196 0.0 0.0 0.0;
load 21 -0.0 -0.0 -41.88964999465035 0.0 0.0 0.0;
load 22 -0.0 -0.0 -41.063646389310264 0.0 0.0 0.0;
load 23 -0.0 -0.0 -40.90521494049704 0.0 0.0 0.0;
load 24 -0.0 -0.0 -40.746783491683814 0.0 0.0 0.0;

}

# Begin tower nodal masss
mass 2 4.946192493339395 4.946192493339395 4.946192493339395 0.0 0.0 0.0;
mass 3 4.928466889310181 4.928466889310181 4.928466889310181 0.0 0.0 0.0;
mass 4 4.910741285280946 4.910741285280946 4.910741285280946 0.0 0.0 0.0;
mass 5 4.893015681251712 4.893015681251712 4.893015681251712 0.0 0.0 0.0;
mass 6 4.875290077222477 4.875290077222477 4.875290077222477 0.0 0.0 0.0;
mass 7 4.857564473193221 4.857564473193221 4.857564473193221 0.0 0.0 0.0;
mass 8 4.839838869164007 4.839838869164007 4.839838869164007 0.0 0.0 0.0;
mass 9 4.822113265134793 4.822113265134793 4.822113265134793 0.0 0.0 0.0;
mass 10 4.804387661105558 4.804387661105558 4.804387661105558 0.0 0.0 0.0;
mass 11 4.645911822768908 4.645911822768908 4.645911822768908 0.0 0.0 0.0;
mass 12 4.487961187514576 4.487961187514576 4.487961187514576 0.0 0.0 0.0;
mass 13 4.47128598965002 4.47128598965002 4.47128598965002 0.0 0.0 0.0;
mass 14 4.454610791785496 4.454610791785496 4.454610791785496 0.0 0.0 0.0;
mass 15 4.437935593920971 4.437935593920971 4.437935593920971 0.0 0.0 0.0;
mass 16 4.421260396056437 4.421260396056437 4.421260396056437 0.0 0.0 0.0;
mass 17 4.404585198191891 4.404585198191891 4.404585198191891 0.0 0.0 0.0;
mass 18 4.387910000327347 4.387910000327347 4.387910000327347 0.0 0.0 0.0;
mass 19 4.371234802462812 4.371234802462812 4.371234802462812 0.0 0.0 0.0;
mass 20 4.354559604598287 4.354559604598287 4.354559604598287 0.0 0.0 0.0;
mass 21 4.270096839413899 4.270096839413899 4.270096839413899 0.0 0.0 0.0;
mass 22 4.185896675770669 4.185896675770669 4.185896675770669 0.0 0.0 0.0;
mass 23 4.169746680988485 4.169746680988485 4.169746680988485 0.0 0.0 0.0;
mass 24 4.153596686206301 4.153596686206301 4.153596686206301 0.0 0.0 0.0;

recorder Node -file PtfmXMotionFn.dat -node 1 -dof 1 reaction;
recorder Node -file PtfmYMotionFn.dat -node 1 -dof 2 reaction;
recorder Node -file PtfmZMotionFn.dat -node 1 -dof 3 reaction;
recorder Node -file PtfmXMotionMn.dat -node 1 -dof 4 reaction;
recorder Node -file PtfmYMotionMn.dat -node 1 -dof 5 reaction;
recorder Node -file PtfmZMotionMn.dat -node 1 -dof 6 reaction;

# Analyze gravity loading

constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width
# (optimization), if you want to
system BandGeneral; # how to store and solve the system of
# equations in the analysis
test NormDispIncr 1.0e-12 40 0;
# determine if convergence has been achieved
# at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates
# tangent stiffness at every iteration
integrator LoadControl 1; # determine the next time step for an analysis,
# apply gravity in 10 steps
analysis Static; # define type of analysis static or transient
analyze 1; # perform gravity analysis

puts "gravity Analysis Completed"
wipeAnalysis
loadConst -time 0.0; # hold gravity constant and restart time

#-------------------------------------------
set IDloadTag1 1000;
set Factor1 1
set Factor2 1


set file1 [open "dispX.dat" r]
set DispSeries_1 [expr [read $file1]*$Factor1]
close $file1
set file2 [open "dispY.dat" r]
set DispSeries_2 [expr [read $file2]*$Factor1]
close $file2
set file3 [open "dispZ.dat" r]
set DispSeries_3 [expr [read $file3]*$Factor1]
close $file3
set file4 [open "rotX.dat" r]
set DispSeries_4 [expr [read $file4]*$Factor2]
close $file4
set file5 [open "rotY.dat" r]
set DispSeries_5 [expr [read $file5]*$Factor2]
close $file5
set file6 [open "rotZ.dat" r]
set DispSeries_6 [expr [read $file6]*$Factor2]
close $file6

puts "displacement x from FAST = $DispSeries_1"
puts "displacement y from FAST = $DispSeries_2"
puts "displacement z from FAST = $DispSeries_3"
puts "rotation x from FAST = $DispSeries_4"
puts "rotation y from FAST = $DispSeries_5"
puts "rotation z from FAST = $DispSeries_6"



pattern Plain $IDloadTag1 "Constant" {
load 24 1.0 1.0 1.0 1.0 1.0 1.0
}

system SparseGeneral -piv;
test NormDispIncr 1.0e-12 40 0;
numberer Plain
constraints Plain
algorithm Newton
integrator DisplacementControl 24 1 $DispSeries_1
integrator DisplacementControl 24 2 $DispSeries_2
integrator DisplacementControl 24 3 $DispSeries_3
integrator DisplacementControl 24 4 $DispSeries_4
integrator DisplacementControl 24 5 $DispSeries_5
integrator DisplacementControl 24 6 $DispSeries_6
analysis Static
analyze 1;
puts "Static Analysis Completed"

wipe
by aminasareh
Thu Sep 17, 2009 12:58 pm
Forum: Soil Modelling
Topic: OpenSees Version 2.1:mass density of soil
Replies: 16
Views: 39803

Hi

In the pressure dependent and independent material you have $massdens, which is the density of soil.

nDMaterial PressureDependMultiYield 2 2 $massDen $G $B $fangle .1 80 0.5 \
$ptangle 0.17 0.4 10 10 0.015 1.0