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
displacement boundary conditions
Moderators: silvia, selimgunay, Moderators