Search found 68 matches

by berktaftali
Wed Feb 02, 2005 1:40 pm
Forum: OpenSees.exe Users
Topic: Nonlinear Moment Rotation Hinge
Replies: 2
Views: 6770

FEMA 273 moment-rotation hinge

You can use elastic and steel materials in series and parallel to obtain the desired moment-rotation curve. The procedure below is old and NOT FULLY WORKING. I guess the syntax of some of the commands that I used in this procedure has changed in the newer versions. This will give you an idea. Use it a your own risk ...

PS. I would use Steel01 instead of Hardening material that's used in the procedure....

Code: Select all

# femamomentrotation.tcl
#
# Procedure which creates a uniaxial material to be used in defining 
# moment-rotation curves in FEMA-273 for pushover analysis.
#
# Written: BT
# Date: Dec 2002
#
# Formal arguments
#    eleID - unique uniaxial material ID for this material
#    E     - rotational stiffness (My/EI)
#    My    - yield moment
#    h     - % hardening
#    c,d,e - FEMA values (see figure below)
#    index - defines the dummy material tags
#
#          Q/Qce
#            ^
#            |<-------------- e ------->
#            |<------ d ------>
#            |       __________
#            |      /          |
#            |     /           |
#            |    /            |
#            |   /             |
#            |  /              |_______    ^
#            | /                        |  c            
#            |/                         |  v
#            L-------------------------------> rot/roty
#
#            Q    - generalized component load
#            Qce  - generalized component expected strength
#            rot  - plastic rotation of beam or column
#            roty - rotation at yield
#
# Returns
#    Nothing
#
# Notes
#    - Won't work in OpenSees versions > 1.3

proc FEMAMomentRotation {eleID E My h c d e} {

    # calculate internal values
    set M1   [expr (1-$c)*$My];
    set M2   [expr $c*$My];
    set roty [expr $My/$E];
    set k1   [expr $M1/$roty];
    set k2   [expr $M2/$roty];
    
    # define uniaxial materials
    #                           tag                 E     fy  h_iso               h_kin
    uniaxialMaterial Hardening  [expr $eleID*100+1] $k1   $M1 [expr $h*($k1+$k2)] 0.0
    uniaxialMaterial Hardening  [expr $eleID*100+2] $k2   $M2 0.001               0.0
    uniaxialMaterial Elastic    [expr $eleID*100+3] 1e-5

    # combine in parallel
    #                           tag                 tag1                tag2                max			    min
    uniaxialMaterial Parallel   [expr $eleID*100+4] [expr $eleID*100+1] [expr $eleID*100+3] -max [expr $roty * $d] -min [expr -1* $roty * $d];
    uniaxialMaterial Parallel   [expr $eleID*100+5] [expr $eleID*100+2] [expr $eleID*100+4] -max [expr $roty * $e] -min [expr -1* $roty * $e];
    uniaxialMaterial Parallel   $eleID              [expr $eleID*100+5] [expr $eleID*100+3]
}
by berktaftali
Wed Jan 26, 2005 7:25 pm
Forum: OpenSees.exe Users
Topic: analysis Transient
Replies: 1
Views: 4077

variable time step

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]
}
by berktaftali
Sat Jan 22, 2005 8:28 pm
Forum: OpenSees.exe Users
Topic: Different rebar detailing at different sections of member
Replies: 6
Views: 8238

Araj,

Yes, I would use a beam element per different section. Just define additional nodes at points where your section changes and connect them with beam elements. Don't forget to assign the correct section to each beam element, of course...
by berktaftali
Sat Jan 22, 2005 8:21 pm
Forum: OpenSees.exe Users
Topic: uniaxialMaterial command
Replies: 1
Views: 3978

uniaxial materials

You should define your uniaxial materials considering what you're going to assign them to. If it's going to represent a section of a nonlinearBeamColumn element, then the uniaxialMaterial should define a moment-curvature relationship. If it's going to be assigned to a zero length element (say a rotational spring), then it should define a moment-rotation relationship. Similarly, if it's going to be assigned to a fiber in a fiber section, then it should define a stress-strain relationship...
by berktaftali
Thu Jan 20, 2005 4:04 am
Forum: OpenSees.exe Users
Topic: Beam-Column Elements & Brick Elements in the same analys
Replies: 5
Views: 7179

bricks with beams

There was a post about the same problem, but I guess it got lost somehow. Frank may help you out on this one. While you are waiting his answer, you may want to give this a try:
- define two modelBuilders (one with ndf 2, the other with ndf 3)
- define 2d elements in one, 3d elements in the other
- you have to define the boundary nodes (where the beam connects to the brick) in each modelBuilder (with same nodal coordinate), and that constrain the extra degrees of freedom.

This is what I could remember from that post. I never did it myself but it's worth a try...
by berktaftali
Tue Jan 18, 2005 1:02 pm
Forum: OpenSees.exe Users
Topic: Different rebar detailing at different sections of member
Replies: 6
Views: 8238

different sections @ integration points

There's a way to assign different sections to different integration points of a beam-column element. Check the following thread:

opensees.berkeley.edu/phpBB2/viewtopic.php?t=68
This is still to be documented, though...
by berktaftali
Mon Jan 17, 2005 11:51 am
Forum: OpenSees.exe Users
Topic: ElementDamage Recorder
Replies: 4
Views: 8707

damage recorders

The following are links to .pdf & text files explaning how to use the damage models & recorders in OpenSees. Kudos to the author, Arash Altoonash...

http://www.prism.gatech.edu/~gte994y/sh ... erence.pdf
http://www.prism.gatech.edu/~gte994y/sh ... erence.pdf
http://www.prism.gatech.edu/~gte994y/share/example.zip
by berktaftali
Mon Jan 10, 2005 8:18 am
Forum: OpenSees.exe Users
Topic: more on displace control
Replies: 1
Views: 2573

displacement control vs. imposed displacements

What you need is imposed displacements, not displacement control. Frank answered this question before:

http://opensees.berkeley.edu/phpBB2/vie ... &view=next
by berktaftali
Tue Dec 21, 2004 10:11 am
Forum: OpenSees.exe Users
Topic: zero length elements with nD materials
Replies: 0
Views: 2750

zero length elements with nD materials

Hi guys,

Did anyone try to use nD materials with zero lengt elements? I have implemented a simple 3d plasticity model and I want to compare its results with some opensees test cases. The problem is, I can only simulate a material point at this stage, hence I don't want to use any of the brick elements in opensees. I need something to test the material model directly.

What I though that would work was a zero length element connecting to two nodes with an nD material assigned to it.

Apparently, one cannot assign an nD material directly to a zero length element since it asks for couple of uncoupled uniaxial materials or a section.

To overcome that, I generated a 3d, 6dof model with two nodes at the same coordinates, fixed the first node in all 6 dofs, connected them with a zero length section element. I defined a fiber section with a single fiber of unit area at the origin, and assigned my nD material (J2) to it, and finally assigned the section to the zero length section element.

I imposed a strain history and guess what, it crashed (opensees v1.61). What am I doing wrong? Help this guy out...
by berktaftali
Fri Nov 26, 2004 5:13 pm
Forum: OpenSees.exe Users
Topic: 3D building, diaphragm constraint
Replies: 2
Views: 2757

Be careful about the constraint handler you're using. If you're using transformation handler, multi point constraints do not work with it. Try using Penalty constraint handler...

Hope this helps...
by berktaftali
Wed Nov 24, 2004 12:25 pm
Forum: Documentation
Topic: references beam-column elements
Replies: 10
Views: 20448

references beam-column elements

I need references for the formulation (derivation) of the following elements in openSees:

- nonlinearBeamColumn
- dispBeamColumn
- beamWithHinges

Anyone has anything?
by berktaftali
Thu Nov 18, 2004 10:14 am
Forum: OpenSees.exe Users
Topic: Print residuals
Replies: 2
Views: 4081

Convergence tests have a flag to let the user specify what to output to screen:

test NormUnbalance $tol $maxNumIter <$printFlag>

$printFlag :
0 - no print output (default)
1 - print information on each step
2 - print information when convergence has been achieved
4 - print norm, dU and dR vectors
5 - at convergence failure, carry on, print error message, but do not stop analysis

Let the program print what you want to screen, then capture it by redirecting to a file:

In command prompt, type

opensees "yourfile.tcl" > out.txt 2>&1

to save all program screen output in out.txt

Hope this helps...
by berktaftali
Thu Nov 18, 2004 7:18 am
Forum: OpenSees.exe Users
Topic: How to determine points of uniaxialMaterial Pinching4
Replies: 4
Views: 3876

Pinching 4 info

The following are two .pdf files of the manual and the examples for Pinching4 material that I got from the author:

http://www.prism.gatech.edu/~gte994y/sh ... manual.pdf
http://www.prism.gatech.edu/~gte994y/sh ... amples.pdf

I guess those are pretty much the same as the manual pages, but I'll post it anyway...

Hope it helps...
by berktaftali
Tue Nov 09, 2004 7:20 am
Forum: OpenSees.exe Users
Topic: mass
Replies: 12
Views: 8063

*** is it a bug on the element mass density ??***

No it's not a bug, it's just the way elements calculate their mass matrices. The element takes the density input, multiplies it with its volume to calculate its mass, and lumps it to its nodes as translational mass in X and Y. It does not consider rotational mass (at least the beamcolumn elements).

***if i use ele mass density,can i get right results??***

I ran an example problem with element density and nodal mass (only in X and Y, no rotational mass), and got exactly the same results. Hence, you can use element mass density as long as you don't have to model the rotational mass.

If you want to consider rotational mass, you need to specify it using the mass command or -mass switch in node command.

Hope it is clear this time...
by berktaftali
Sun Nov 07, 2004 8:51 am
Forum: OpenSees.exe Users
Topic: OpenSees script for beam-column joint element
Replies: 2
Views: 3220

Try using the latest bulid (1.6.1). The syntax in the manual differs from the actual syntax in older builds...