Reverse cycle displacement control at two nodes

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

Moderators: silvia, selimgunay, Moderators

Post Reply
hjxiang
Posts: 16
Joined: Sun Mar 29, 2009 5:29 am
Location: Beijing Jiaotong University

Reverse cycle displacement control at two nodes

Post by hjxiang »

Hi, all,

I have a set of data from a real experiment of a reverse cycle displacement control of a structure. And I am trying to model its behavior with Opensees, so I do a static analysis by applying the displacements (loaded from a file).

To do that I have to define a time series like this:
set History "Series -dt $dt -filePath displacement.out"
and then define the load pattern like this:
pattern Plain 10 $History {
sp $nodeTag $dofTag $dofValue
}

Is it right? It is confuse me beacause the displacements are loaded from a file. How to dtermine the $dofValue?

My 2nd qustion is how to apply two different displacement history at two different nodes. Can I do that like this?
set History1 "Series -dt $dt -filePath displacement1.out"
set History1 "Series -dt $dt -filePath displacement2.out"
and then define the load pattern like this:
pattern Plain 10 $History1 {
sp $nodeTag1 $dofTag $dofValue
}
pattern Plain 10 $History2 {
sp $nodeTag2 $dofTag $dofValue
}
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Reverse cycle displacement control at two nodes

Post by vesna »

$dofValue would be a scaling factor for your displacement history. If you do not want to change it, it should be 1.0.

Yes, if you want to simultaneously apply two displacement histories you do exactly what you sad. You only need to have different load pattern tags:
set History1 "Series -dt $dt -filePath displacement1.out"
set History2 "Series -dt $dt -filePath displacement2.out"
and then define the load pattern like this:
pattern Plain 10 $History1 {
sp $nodeTag1 $dofTag1 $dofValue
}
pattern Plain 11 $History2 {
sp $nodeTag2 $dofTag2 $dofValue
}
hjxiang
Posts: 16
Joined: Sun Mar 29, 2009 5:29 am
Location: Beijing Jiaotong University

Re: Reverse cycle displacement control at two nodes

Post by hjxiang »

vesna , it works now. I really appreciate your help.

Now I have another question. I want to apply a load history from a file, and I do it in this way:

set History "Series -dt 0.1 -filePath Force.txt";
pattern Plain 1 $History {
load $node 1.0 0.0 0.0;
}

integrator DisplacementControl $node 1 0.001;


However, I got an error as follows

"DisplacementControl::domainChanged()-Zero refference loadStaticAnalysis::setAlgorithm()-Integrator::domainChanged() failedStaticAnalysis::analysis()-domainChanged failed at step 0 of 10

analyze failed, returned: -1 error flag -1"

Could you give me some guidance again? Thank you.




vesna wrote:
> $dofValue would be a scaling factor for your displacement history. If you
> do not want to change it, it should be 1.0.
>
> Yes, if you want to simultaneously apply two displacement histories you do
> exactly what you sad. You only need to have different load pattern tags:
> set History1 "Series -dt $dt -filePath displacement1.out"
> set History2 "Series -dt $dt -filePath displacement2.out"
> and then define the load pattern like this:
> pattern Plain 10 $History1 {
> sp $nodeTag1 $dofTag1 $dofValue
> }
> pattern Plain 11 $History2 {
> sp $nodeTag2 $dofTag2 $dofValue
> }
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Reverse cycle displacement control at two nodes

Post by vesna »

Switch to LoadControl integrator and it should work.
hjxiang
Posts: 16
Joined: Sun Mar 29, 2009 5:29 am
Location: Beijing Jiaotong University

Re: Reverse cycle displacement control at two nodes

Post by hjxiang »

Thank you. Yes, it works with loadControl. However, there is convergence problem using loadControl in reverse cycle pushover analysis, so I changed it to displacementControl.
civilengr_tahir
Posts: 26
Joined: Sat Aug 15, 2009 6:42 am
Location: Bangkok
Contact:

Re: Reverse cycle displacement control at two nodes

Post by civilengr_tahir »

hi hjxiang and Vesna..
I also want to apply the Reverse cyclic history on a certain in my model. I did the same as you( hjxiang) have done,but when I look at the results it shows that displacement is increasing monotonically not as i write in my dispalcement history(i.e reverse cyclic). Can you please share your full input tcl script or atleast the analysis part of you in put plz
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Reverse cycle displacement control at two nodes

Post by vesna »

Here is an example of a cyclic analysis: http://opensees.berkeley.edu/wiki/index ... ed_Element

Ignore the fact that the displacement history was defined in the tcl script.
dapkraken
Posts: 15
Joined: Thu Aug 23, 2007 5:22 pm

Re: Reverse cycle displacement control at two nodes

Post by dapkraken »

Good Evening!

I am trying to run a 4point bending model model using elasticBeamColumn and 2 zeroLength with pinching4 elements to model the hinges at the loading points. The parameters for P4 are below and included a descending branch but I don't get the analysis to continue on the negative stiffness branch. If I make the stiffness of the elasticBeamColumn elements then the model is capable of taking the descending branch.

What could it be the problem? I am applying a displacement at nodes 2 and 6 from 0 to 4in

Any help would be appreciate it

------------------------------------------------------------------------------------
model BasicBuilder -ndm 2 -ndf 3
# ---------------------------------------------------------------------------------#
# Set Units #
set in 1
set kip 1
set lb [expr $kip/1.000]
# ---------------------------------------------------------------------------------#
# Create Nodes #
node 1 -96.000 0
node 2 -32.000 0
node 3 -32.000 0
node 4 0.000 0
node 5 32.000 0
node 6 32.000 0
node 7 96.000 0
# node DX DY RZ
fix 1 0 1 0
#fix 2 1 0 0
fix 7 1 1 0
equalDOF 2 3 1 2
equalDOF 2 6 2
equalDOF 5 6 1 2
geomTransf Linear 10

set epd1s [expr 0.000001/1000]
set epd2s [expr 0.216792/1000]
set epd3s [expr 0.577391/1000]
set epd4s [expr 1.155537/1000]
set epf1s [expr 258*$lb]
set epf2s [expr 374.98*$lb]
set epf3s [expr 198.82*$lb]
set epf4s [expr 198.81*$lb]
# Negative Moment BackBone Definition #
set end1s [expr -0.000001/1000]
set end2s [expr -0.216792/1000]
set end3s [expr -0.577391/1000]
set end4s [expr -1.155537/1000]
set enf1s [expr -258*$lb]
set enf2s [expr -374.98*$lb]
set enf3s [expr -198.82*$lb]
set enf4s [expr -198.81*$lb]
# ---------------------------------------------------------------------------------#
# Pinching Parameters Definition #
set rdispps [expr 0.17]
set rforceps [expr 0.29]
set uforceps [expr -0.18]
set rdispns [expr 0.2]
set rforcens [expr 0.32]
set uforcens [expr -0.21]
# ---------------------------------------------------------------------------------#
# Damage Parameters Definition # 2
set gk1s 0
set gk2s 1.01
set gk3s 0
set gk4s 0.32
set gklims 1000
set gd1s 0
set gd2s 0
set gd3s 0
set gd4s 0
set gdlims 0
set gf1s 0
set gf2s 0.07
set gf3s 0
set gf4s 0
set gflims 1000
set ges 11.3152
# ---------------------------------------------------------------------------------#
uniaxialMaterial Pinching4 4 $epf1s $epd1s $epf2s $epd2s $epf3s $epd3s $epf4s $epd4s $enf1s $end1s $enf2s $end2s $enf3s $end3s $enf4s $end4s $rdispps $rforceps $uforceps $rdispns $rforcens $uforcens $gk1s $gk2s $gk3s $gk4s $gklims $gd1s $gd2s $gd3s $gd4s $gdlims $gf1s $gf2s $gf3s $gf4s $gflims $ges "energy"
# ---------------------------------------------------------------------------------#
element zeroLength 1 2 3 -mat 4 -dir 6 # Uses uniaxial P4 material
element zeroLength 2 5 6 -mat 4 -dir 6 # Uses uniaxial P4 material
element elasticBeamColumn 3 1 2 2.64605 29500 27.6 10
element elasticBeamColumn 4 3 4 2.64605 29500 27.6 10
element elasticBeamColumn 5 4 5 2.64605 29500 27.6 10
element elasticBeamColumn 6 6 7 2.64605 29500 27.6 10

pattern Plain $DxPattern "Series -dt 1.0 -filePath $filename -factor 1.0" {
sp $ControlNode 2 64
}

constraints Penalty 1e15 1e15
numberer RCM
system FullGeneral
test EnergyIncr 1.e-8 50 0
algorithm Newton
integrator LoadControl 1.0
analysis Static
set ok [analyze 600]

-------------------------------------------------
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Reverse cycle displacement control at two nodes

Post by fmk »

what is the error message?
dapkraken
Posts: 15
Joined: Thu Aug 23, 2007 5:22 pm

Re: Reverse cycle displacement control at two nodes

Post by dapkraken »

Thanks for your reply Frank,

There is not error message, the program executes all the monotonic displacements in the pattern I set. However the response I am getting from the zeroLength elements does not match the backbone in the pinching4 uniaxial material. After the peak the program for some reason jumps to a incredible huge rotation (~100 times the corresponding point 3 of the defined backbone.

I guess my question is whether there is a compatibility problem when using the zeroLength elements to simulate hinges together with elasticbeamcolumn elements.
One thing, if I make the elasticbeamcolumn elements rigid (multiplying E by 1000) I get the zeroLength element response to have a descending branch, but that is not the behavior I want.
Or if there is a way to run the analysis that can get me on the descending branch of the backbone without problems.

Thank you for your help
teruna
Posts: 4
Joined: Sun Nov 02, 2014 10:18 pm

Re: Reverse cycle displacement control at two nodes

Post by teruna »

Hi! All

I am beginner in opensees. I want to know how to apply cyclic increasing displacement history. for example 3 cycle of displacement:
0, 1.0, 0, -1.0, 0; 0, 2.0, 0, -2.0, 0; 0, 4.0, 0, -4.0, 0. Any help is highly appreciated.

Regards
Teruna
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Reverse cycle displacement control at two nodes

Post by fmk »

Post Reply