analysis Transient

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
aemmons
Posts: 9
Joined: Wed Jan 26, 2005 3:30 pm
Location: Colorado School of Mines

analysis Transient

Post by aemmons »

I am running a dynamic analysis on a 3-story 4-bay nonlinear frame, and am having to use a very small time step for the simulation to run successfully.

Does the following methodolgy look correct, or is there a better "solver", that would enable the use of a larger timestep???

set inctimestep 0.0002

system UmfPack
constraints Plain
test NormDispIncr 1.0e-7 40 0;
algorithm Newton
numberer RCM
integrator Newmark 0.5 0.25;
analysis Transient
analyze $totaltimestep $inctimestep

Thanks ahead of time for any information.
berktaftali
Posts: 68
Joined: Fri Jul 02, 2004 6:10 am
Location: Computers and Structures, Inc.

variable time step

Post by berktaftali »

Try using variable time step. Start with a bigger time step, say 0.02. Run the analysis in a loop, storing the return value of the analyze command. If it returns anything else than zero, than that step is failed. Reduce your time step to 0.0002 and run 100 steps. If converged, go back to original time step. If not, this means even 0.0002 is not small enough...

Something like the following should do the trick...

Code: Select all

# set time step
set timeStep 0.02

# total groundmotion time
set tGm 60.0; # seconds

# get the pseudo time
set tCurrent [getTime]

# set parameter to check if analysis is converged or not
set analysisConverged 0;
	
# Perform the transient analysis till the end of the ground motion
# or convergence failure
while {$analysisConverged == 0 && $tCurrent < $tGm} {
		
     # analyze one step,
     set analysisConverged [analyze 1 $timeStep]

     # if the analysis fails try reducing the time step
     if {$analysisCompleted != 0} {
						
          # set the reduced time step			
          set reducedTimeStep 0.0002				
                        
          # analyze 100 steps with the reduced time step
          set analysisConverged [analyze 100 $reducedTimeStep]
     }
		
     # get current the pseudo time
     set tCurrent [getTime]
}
Berk Taftali
Georgia Institute of Technology
Ph.D. Candidate, Structural Engineering, Mechanics, and Materials
School of Civil and Environmental Engineering
Atlanta, GA 30332 USA
Email: gte994y@mail.gatech.edu
Post Reply