Fatigue material

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

Moderators: silvia, selimgunay, Moderators

Post Reply
karimtarbali
Posts: 82
Joined: Fri Aug 14, 2009 12:11 am
Location: iiees

Fatigue material

Post by karimtarbali »

i have used fatigue mterial for displacementBeamColumn element but i cant get the damage using the damage recorder.

recorder Element -file Data/Damage_ele1.txt -time -ele 1 material 100 damage

i even tried the recorder without material tag
recorder Element -fileData/Damage_ele1.txt -time -ele 1 material damage

could you please tell me what i do wrong
thanks
kt
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Fatigue material

Post by vesna »

The first recorder should work if 100 is a unique material object integer tag for the material that is being wrapped with fatigue materail (not tag of a fatigue material).
karimtarbali
Posts: 82
Joined: Fri Aug 14, 2009 12:11 am
Location: iiees

Re: Fatigue material

Post by karimtarbali »

thanks for your reply. but i could not get it to work. here is a small code which i try to get damage . could you please help me to find out what i do wrong.
thank you very much.

here is the code:

wipe

model BasicBuilder -ndm 2 -ndf 3

set Fy 26061000
set E 21000000000

uniaxialMaterial Steel01 1 $Fy $E 0.01
uniaxialMaterial Fatigue 100 1


proc Wsection { seciD matiD d bf tf tw nfdw nftw nfbf nftf} {

section fiberSec $seciD {
# 1) right flange
patch quadr $matiD $nfbf $nftf [expr $d/2-$tf] [expr $bf/-2] [expr $d/2] [expr $bf/-2] [expr $d/2] [expr $bf/2] [expr $d/2-$tf] [expr $bf/2]
#2) left flange
patch quadr $matiD $nfbf $nftf [expr $d/-2] [expr $bf/-2] [expr $d/-2+$tf] [expr $bf/-2] [expr $d/-2+$tf] [expr $bf/2] [expr $d/-2] [expr $bf/2]
#3) web
patch quadr $matiD $nfbf $nftf [expr $d/2-$tf] [expr $tw/-2] [expr $d/2-$tf] [expr $tw/2] [expr $d/-2+$tf] [expr $tw/2] [expr $d/-2+$tf] [expr $tw/-2]
}
}

# Wsection $seciD $matiD $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
# W36X160

Wsection 1 100 0.9144 0.3048 0.0259 0.0165 12 4 12 4

node 1 0 0 0
node 2 0 1 0

fix 1 1 1 1 1 1 1

geomTransf Corotational 1

element nonlinearBeamColumn 1 1 2 5 1 1

mass 2 [expr 10000/9.81] 0.001 0.001

set x [ eigen 1 ]
set T1 [expr (2*3.141592654)/pow([lindex $x 0 ] , .5)]
puts " T1 =$T1 "

recorder Element -file Damage_ele1.txt -time -ele 1 material 1 damage

recorder Node -file Disp.txt -node 2 -dof 1 disp

constraints Transformation
numberer RCM
test NormDispIncr 1.0e-03 500 0
integrator LoadControl 0.1
algorithm Newton
system UmfPack

integrator Newmark 0.5 0.25
analysis Transient

pattern UniformExcitation 1 1 -accel "Series -factor 1 -filePath la21.acc -factor 0.01 -dt 0.02"
analyze 30 0.02

here is the record:
.045156
.085142
.072012
.077131
.074854
.076268
.074904
.076367
.075116
.076438
.075483
.076601
.075802
.076650
.075795
.076247
.075003
.074720
.072803
.071502
.068483
.065810
.061363
.056985
.050622
.043996
.035242
.025866
.013774
.000551
kt
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Fatigue material

Post by vesna »

When using a nonlinearBeamColumn element you also need to specify the section whose damage you want to record.

this is the command to record the damage of section 1:
recorder Element -file Damage_ele1.txt -time -ele 1 section 1 material 1 damage
karimtarbali
Posts: 82
Joined: Fri Aug 14, 2009 12:11 am
Location: iiees

Re: Fatigue material

Post by karimtarbali »

thank you very much vesna. could i have your technical idea about using the fatigue damage in steel moment resisting frames?
does it make sense that i use the fatigue damage in steel moment resisting frames or it is only meaningful for brace elements?

i appreciate your helpful replies
kt
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Fatigue material

Post by vesna »

Yes, you can use it for frame members too. If you look at PEER 2008/08 report you will see that $E0 and $m are calibrated based on tests on HE and IPE sections that are used for frame elements, not braces.
karimtarbali
Posts: 82
Joined: Fri Aug 14, 2009 12:11 am
Location: iiees

Re: Fatigue material

Post by karimtarbali »

thank you very very very much vesna.
kt
ozgura
Posts: 36
Joined: Mon Apr 19, 2010 9:46 am
Location: Virginia Tech

Re: Fatigue material

Post by ozgura »

Vesna,

To follow up an old discussion, in the following recorder command (taken from the old post above), is the tag after the material (1) really related to the material tag of the parent material?

recorder Element -file Damage_ele1.txt -time -ele 1 section 1 material 1 damage

I feel like that is not really the material tag but it is related to the number of fibers we have in the cross section. I came up with this conclusion because if you assign a material tag which is greater than the number of fibers in the cross section, then the recorder does not work.

In the following post and script, you will see that damage recorder works for only the material tags which are smaller than the number of fibers in the cross section (which is 36).

The strain history I used is the same as the one used in Fatigue Material example on OpenSees Wiki.

Please let me know if I am missing something.
Thanks.
Ozgur Atlayan
Virginia Tech
ozgura
Posts: 36
Joined: Mon Apr 19, 2010 9:46 am
Location: Virginia Tech

Re: Fatigue material

Post by ozgura »

# Run an example script to test the fatigue material model
source Wsection.tcl
## Define model and loads
model BasicBuilder -ndm 2 -ndf 3
node 1 0.0 0.0
node 2 100.0 0.0
node 3 300.0 0 0
fix 1 1 1 1
fix 2 0 0 0
set MatTag 77 ; # integer tag for parent material
set FatMatTag 97 ; # integer tag for fatigue material
uniaxialMaterial Steel01 $MatTag 60.0 29000.0 0.003
uniaxialMaterial Fatigue $FatMatTag $MatTag -E0 0.12 -m -0.458
set nfdw 32 ; # number of fibers along dw of WF sections
set nftw 1 ; # number of fibers along tw of WF sections
set nfbf 1 ; # number of fibers along bf of WF sections
set nftf 2 ; # number of fibers along tf of WF sections
set WsecBm1 1500 ; # integer tag identifying beam section
Wsection $WsecBm1 $FatMatTag 20.0 10.0 2.0 1.0 $nfdw $nftw $nfbf $nftf
set Transf_Beam 1001;
geomTransf PDelta $Transf_Beam
element forceBeamColumn 1 1 2 5 $WsecBm1 $Transf_Beam
element forceBeamColumn 2 2 3 5 $WsecBm1 $Transf_Beam
pattern Plain 1 "Linear" {
# nd FX
load 3 0.0 1.0 0.0
}
## Recorders
recorder Element -file "Damage1.out" -time -ele 1 2 section 1 material 1 damage
recorder Element -file "Damage2.out" -time -ele 1 2 section 1 material 35.9 damage
recorder Element -file "Damage3.out" -time -ele 1 2 section 1 material 36 damage
recorder Element -file "Damage4.out" -time -ele 1 2 section 1 material $MatTag damage
recorder Element -file "Damage5.out" -time -ele 1 2 section 1 material $FatMatTag damage
recorder Element -file "StressStrain.out" -time -ele 2 section 1 material $MatTag stressANDstrain;
## Set analysis parameters
test EnergyIncr 1.0e-8 200 0
algorithm Newton
system UmfPack
numberer RCM
constraints Plain
analysis Static
## Source the displacement history, and initialize analysis parameters
source RandomStrainHstory.tcl
set LoopLength [array size disp]
set h 1
set controlNode 3
set currentDisp [nodeDisp $controlNode 2 ]
puts [format " \n STARTING DISPLACEMENT = %5.3f \n" $currentDisp]
## Run the static cyclic analysis
while {$h < $LoopLength} {
set controlNodeDisp [nodeDisp $controlNode 2 ]
set dU [expr (2.0*($disp($h) - $controlNodeDisp))/100.0]
integrator DisplacementControl $controlNode 2 $dU 2 $dU $dU
set ok [ analyze 100]
set h [expr $h + 1 ]
}
Ozgur Atlayan
Virginia Tech
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Fatigue material

Post by vesna »

The argument following the "material" in a recorder is always a material tag which is not in any way related to the number of fibers in the section. This material tag needs to be unique number. In case of recording a damage of a fatigue material it is a tag of a child material (based on the example posted by the material developer).
structural10
Posts: 8
Joined: Tue May 04, 2010 6:46 am
Location: Virginia Tech

Re: Fatigue material

Post by structural10 »

I am also having the same problem recording response from a material wrapped with the fatigue material. When I run the script posted by ozgura, I get output for material tags less than 36, which happens to be the number of fibers in the height of the sections. But, I do not get response when I use material tags greater than 36. This is strange as I get output when I call "1" for the material tag, but not "77" for the material tag though that's the only material in the model.
kavir
Posts: 65
Joined: Thu Dec 19, 2013 6:47 am
Location: ghayen - Iran

Re: Fatigue material

Post by kavir »

Hi
I model a invert V frame by nonlinear beam column element with Steel02 material that wrapped with fatigue material.
i enforce cyclic displacement to frame for hysteresis curve.when I run it; it work properly and drew hysteresis curve.the maximum drift of frame is 30 cm but i do not see influence of fatigue in curve.hysteresis curve ِdrewn to ultimate drift but damage in braces not received to fracture level.
is it normal?
please help me ? :(
kavir
Posts: 65
Joined: Thu Dec 19, 2013 6:47 am
Location: ghayen - Iran

Re: Fatigue material

Post by kavir »

Hi
what is normal range of "min & max " in " uniaxialMaterial Fatigue $matTag $tag <-E0 $E0> <-m $m>
<-min $min> <-max $max>" for cyclic displacement ? elements is nonlinear beamcolumn.
Post Reply