Displacement Histories at Sliding Surfaces in TFP

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

Moderators: silvia, selimgunay, Moderators

Post Reply
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

Hello,

I am planning to use existing TFP element for some of my work. However, I need the displacement and velocity histories at different sliding surfaces, which apparently is not immediately available and one need to dig out information from the source code or play with recorders.

Outputting some known matrix/vector appears to be the easiest option to me. For example, in the present case they are calculating v, or vp vectors in real time, which I might be interested in. Can anyone please guide me on how to output these specific vectors?

Thanks,
Manish
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Displacement Histories at Sliding Surfaces in TFP

Post by vesna »

hi manish, we will try to build these recorders for you soon. if there any other outputs that you want from TFP let me know as soon as possible.
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

Thanks Vesna, I need velocity and displacement histories at all the sliding surfaces. I am only guessing that v or vp could be the relative displacements (total and plastic, respectively). From there I guess I can get velocity by numerical differentiation.

If I am thinking right about v and vp, and that there is no velocity matrix in the source code, this is all I need.

Manish
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

Could you please give some idea on when this could possibly be included?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Displacement Histories at Sliding Surfaces in TFP

Post by vesna »

I will talk with the author of the material and see what we can do. I'll let you know after we implement it.
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

Hello Vesna,

Here is what I tried to do. I used the 24-step procedure to create a file named TFP_Bearing.dll. This is what is the name of .cpp and .h files. Firstly, I tried without making any changes in original TFP_Bearing.cpp and TFP_Bearing.h files. I got the .dll file. I took that file to my folder where I needed to perform analysis. In stead of defining TFP element like

element TFP ........

I defined

element TFP_Bearing.........

However, it stops right at this step without giving any error warning. Could you please suggest what could have gone wrong here?

Thanks,
Manish
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

I tried the other way too. I kept the name of files TFPManish.cpp, TFPManish.h and TFPManish was the class name. In the .cpp and .h files I replaced very instance of TFP_Bearing with TFPManish. Obtained the .dll file. Result is still the same.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Displacement Histories at Sliding Surfaces in TFP

Post by vesna »

Manish,

If you download the latest version of OpenSees.exe you will be able to use recorders for v and vp.

I uploaded the wiki page for TFP so you can see what the recorders are.
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

Thanks a lot Vesna.

However, can you please also tell what I am missing in the approach of making .dll file? It might help later if I want to take some output from some other element.

Manish
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

Vesna, can you please check if the new commands are working? I am getting the other element outputs (force) all the columns. However, here is what I am getting when I ask for relativeDisp. I have two different structures, and I am getting numbers for static and dynamic both analyses. Not for the relativeDisp or plasticDisp.


<?xml version="1.0" encoding="UTF-8"?>
<OpenSees
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation = "http://OpenSees.berkeley.edu/xml-schema ... enSees.xsd">
<TimeOutput>
<ResponseType>time</ResponseType>
</TimeOutput>
<ElementOutput eleType="UnknownMovableObject" eleTag="1" node1="1" node2="2"/>
<Data>
0.001
0.002
0.003
0.004
0.005
0.006
0.007
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Displacement Histories at Sliding Surfaces in TFP

Post by vesna »

From your output it looks like it does not recognize the recorder you use.

If you have a model of TFP bearing (1 element model), post it so I can test the recorders.
mkumar3
Posts: 23
Joined: Sat Jun 11, 2011 11:23 am
Location: University at Buffalo

Re: Displacement Histories at Sliding Surfaces in TFP

Post by mkumar3 »

#This program is to run a simple model using the TFP element available with OpenSees

wipe

model BasicBuilder -ndm 2 -ndf 3

node 1 0.0 0.0 ;
node 2 0.0 0.3048 ;

fix 1 1 1 1 ;
fix 2 1 0 1 ;

set NodeMass 2;

mass 1 $NodeMass $NodeMass $NodeMass
mass 2 $NodeMass $NodeMass $NodeMass

set R1 0.4064 ;
set R2 0.4064 ;
set R3 2.2352 ;
set R4 2.2352 ;

set D1 0.4064 ;
set D2 0.4064 ;
set D3 1.1176 ;
set D4 1.1176 ;

set d1 0.3048 ;
set d2 0.3048 ;
set d3 0.4064 ;
set d4 0.4064 ;

set mu1 0.20 ;
set mu2 0.20 ;
set mu3 0.80 ;
set mu4 0.80 ;

set h1 0.0762 ;
set h2 0.0762 ;
set h3 0.1016 ;
set h4 0.1016 ;

set H0 0.3048 ;
set colLoad 100 ;

set eleTag_A 1;
set eleTag_B 2;
set eleTag_3 3;
set eleTag_4 4;
set eleTag_5 5;
set eleTag_6 6;

geomTransf Linear 1

element TFP $eleTag_A 1 2 $R1 $R2 $R3 $R4 $D1 $D2 $D3 $D4 $d1 $d2 $d3 $d4 $mu1 $mu2 $mu3 $mu4 $h1 $h2 $h3 $h4 $H0 $colLoad


# Assign and apply the gravity loads first

set accelGravity 9.81;

pattern Plain 1 Linear {
load 2 0 -1500000 0;
}

#Start of gravity analysis

constraints Plain ;
set NumIter 10;
set Tol 1.0e-6;
test NormDispIncr $Tol $NumIter;
numberer RCM ;
system SparseGeneral;
algorithm Newton;
set LoadSteps 10;
set LoadIncr [expr 1.0/$LoadSteps];
integrator LoadControl $LoadIncr;
analysis Static;

#Maintain constant gravity load and reset time to zero

analyze $LoadSteps
loadConst -time 0.0

puts "Gravity applied!"

#Define ground motion pattern

set deltaT 0.001
set dispSeries "Series -dt $deltaT -filePath Displacement.txt -factor 0.15";

pattern Plain 2 $dispSeries {
sp 2 1 2;
} ;

#Define recorder

recorder Node -file Node1Disp.OUT -time -node 1 -dof 1 disp;
recorder Node -file Node2Disp.OUT -time -node 2 -dof 1 disp;

recorder Element -file Ele1.OUT -time -ele 1 force;
recorder Element -xml RelativeDisp.OUT -time -ele 1 plasticDisp;

# Define analysis object

system SparseGeneral
constraints Penalty 90000000000.0 90000000000.0
test NormDispIncr 1.0e-10 20 0
algorithm Newton
numberer Plain
analysis Static
set LoadSteps 1000;
set LoadIncr [expr 1.0/$LoadSteps];
integrator LoadControl $LoadIncr;
analysis Static;
analyze $LoadSteps

wipe

puts "analysis finished"

#source Text1_Static.tcl
Post Reply