displacement boundary conditions

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Alexzhou
Posts: 11
Joined: Wed Aug 10, 2005 11:01 pm
Location: UI

displacement boundary conditions

Post by Alexzhou »

Hi,

I modified the exmaple1.tcl to impose a displacement in x direction on node 3, which is previously fixed in the example. And I changed the constraint handler to penalty accordingly, whereas the transformation handler just crashes the program. But the results I got is just garbage, can you help me to find what I did wrong in the following file? Thanks.

# written: fmk
# date: 02/99
#
# purpose: example1 in OpenSeesIntro.tex
#
# $Revision: 1.4 $
# $Date: 2002/12/17 02:03:54 $
# $Source: /usr/local/cvs/OpenSees/EXAMPLES/ExampleScripts/example1.tcl,v $


#create the ModelBuilder object
model BasicBuilder -ndm 2 -ndf 2

# build the model

# add nodes - command: node nodeId xCrd yCrd
node 1 0.0 0.0
node 2 144.0 0.0
node 3 168.0 0.0
node 4 72.0 96.0

# add material - command: uniaxialMaterial <matType> matID <matArgs>
uniaxialMaterial Elastic 1 3000

# add truss elements - command: element truss trussID node1 node2 A matID
#element truss 1 1 4 10.0 1
#element truss 2 2 4 5.0 1
#element truss 3 3 4 5.0 1

# add feap truss elements - command: element fTruss trussID node1 node2 A E
element fTruss 1 1 4 10.0 3000
element fTruss 2 2 4 5.0 3000
element fTruss 3 3 4 5.0 3000

# set the boundary conditions - command: fix nodeID xResrnt? yRestrnt?
fix 1 1 1
fix 2 1 1
fix 3 0 1

pattern Plain 1 "Linear" {
# apply the load - command: load nodeID xForce yForce
load 4 100 -50
sp 3 0 1
}


# build the components for the analysis object
system BandSPD
#constraints Plain
#constraints Transformation
constraints Penalty 1e9 1e9
integrator LoadControl 1.0
algorithm Linear
numberer RCM

# create the analysis object
analysis Static

# create a Recorder object for the nodal displacements at node 4
recorder Node -file example.out -load -nodes 4 -dof 1 2 disp

# perform the analysis
analyze 1

# print the results at node and at all elements
print node 3
print node 4
print ele
#playback 1
wipe

Since the above example doesn’t run for me, so I can’t find the answer for the following questions by myself.

The questions I have are about the non-homogeneous constraints (“nSP” for brief).
Do I have to put it in a load pattern?
And if the nSP are too large for a single step to converge, how OpenSees will make it converge by small steps? For instance, this happens in nonlinear problems with very large displacement boundary conditions.
Or, if I want to enforce the total displacement (=10) on a node/nodes, will it work if I use the following command:
sp nodeTag defTag 1.0
analyze 10
If negative, what the way to do so?
Forgiving my ignorance, your helps are appreciated.


Alex
Alexzhou
Posts: 11
Joined: Wed Aug 10, 2005 11:01 pm
Location: UI

Post by Alexzhou »

Any response? Are these qustions too simple?
I can hardly find examples that use incremental displacement boundary condtions. Can anyone point out some?

Alex
zcheng
Posts: 2
Joined: Thu Aug 25, 2005 11:36 am
Location: EMI

Post by zcheng »

You made a mistake in using sp command:

sp $nodeTag $DOFtag $DOFvalue

you wrote 'sp 3 0 1'. It cannot use 0 for DOFtag (1 or 2), an example:
sp 3 1 0.01.

Hope a little help.

Zhao
Alexzhou
Posts: 11
Joined: Wed Aug 10, 2005 11:01 pm
Location: UI

Post by Alexzhou »

Thanks. That helps a lot.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

this is why i recommend using variables and copying and pasting the commands from the manual.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Post Reply