Recording material behavior in zeroLength elements

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

Moderators: silvia, selimgunay, Moderators

Post Reply
dschmuhl
Posts: 13
Joined: Sun Jan 13, 2013 8:20 am
Location: The Ohio State University

Recording material behavior in zeroLength elements

Post by dschmuhl »

Hello all,

I have a fairly basic question. I am running an analysis that is meant to display material behavior. I accomplish this by modeling a zeroLength element, fixing it at one end, and forcing the free end through increasing sinusoidal displacement in a single direction and then recording nodal displacements and reactions in that direction. The final material I am using in the zeroLength element is made up of many different materials oriented in series and parallel. I would like to know if there is a way to set up an element recorder for the zeroLength element that targets one specific sub-material which is a component of the final material and record its behavior. I know there is functionality in the zeroLength element recorder to specify a material, but I have failed to get output using that recorder setup when testing the final material and targeting the sub-material in the recorder. Any help on how to extract the sub-material behavior would be appreciated.

My current code follows:

# library of materials
set IDstrand 6
set IDpara1 7
set IDpara2 8
set IDpara3 9
set IDpara4 10
set IDpara5 11
set IDpara6 12
set IDpara7 13

set IDElas1 14
set IDElas2 15
set IDElas3 16
set IDElas4 17
set IDElas5 18
set IDElas6 19
set IDElas7 20

set IDKcr1 21
set IDKcr2 22
set IDKcr3 23
set IDKcr4 24
set IDKcr5 25
set IDKcr6 26
set IDKcr7 27

set IDSeriesWire1 28
set IDSeriesWire2 29
set IDSeriesWire3 30
set IDSeriesWire4 31
set IDSeriesWire5 32
set IDSeriesWire6 33
set IDSeriesWire7 34

set IDMaxStrain1 35
set IDMaxStrain2 36
set IDMaxStrain3 37
set IDMaxStrain4 38
set IDMaxStrain5 39
set IDMaxStrain6 40
set IDMaxStrain7 41

set IDNoComp1 42
set IDNoComp2 43
set IDNoComp3 44
set IDNoComp4 45
set IDNoComp5 46
set IDNoComp6 47
set IDNoComp7 48

set IDWire1 49
set IDWire2 50
set IDWire3 51
set IDWire4 52
set IDWire5 53
set IDWire6 54
set IDWire7 55

set IDStrainWire1 56
set IDStrainWire2 57
set IDStrainWire3 58
set IDStrainWire4 59
set IDStrainWire5 60
set IDStrainWire6 61
set IDStrainWire7 62

set IDStrainWire21 63
set IDStrainWire22 64
set IDStrainWire23 65
set IDStrainWire24 66
set IDStrainWire25 67
set IDStrainWire26 68
set IDStrainWire27 69


### Parallel Strand Materials
uniaxialMaterial Steel02 $IDpara1 [expr $fy($t)*0.096059] [expr $Ep($t)*0.096059] $bstrand $R0 $cR1 $cR2
uniaxialMaterial Steel02 $IDpara2 [expr $fy($t)*0.096059] [expr $Ep($t)*0.096059] $bstrand $R0 $cR1 $cR2
uniaxialMaterial Steel02 $IDpara3 [expr $fy($t)*0.096059] [expr $Ep($t)*0.096059] $bstrand $R0 $cR1 $cR2
uniaxialMaterial Steel02 $IDpara4 [expr $fy($t)*0.096059] [expr $Ep($t)*0.096059] $bstrand $R0 $cR1 $cR2
uniaxialMaterial Steel02 $IDpara5 [expr $fy($t)*0.096059] [expr $Ep($t)*0.096059] $bstrand $R0 $cR1 $cR2
uniaxialMaterial Steel02 $IDpara6 [expr $fy($t)*0.096059] [expr $Ep($t)*0.096059] $bstrand $R0 $cR1 $cR2
uniaxialMaterial Steel02 $IDSeriesWire7 [expr $fy($t)*0.423645] [expr $Ep($t)*0.423645] $bstrand $R0 $cR1 $cR2

uniaxialMaterial Elastic $IDElas1 [expr 100*$E_p];
uniaxialMaterial Elastic $IDElas2 [expr 100*$E_p];
uniaxialMaterial Elastic $IDElas3 [expr 100*$E_p];
uniaxialMaterial Elastic $IDElas4 [expr 100*$E_p];
uniaxialMaterial Elastic $IDElas5 [expr 100*$E_p];
uniaxialMaterial Elastic $IDElas6 [expr 100*$E_p];

uniaxialMaterial MinMax $IDKcr1 $IDElas1 -max [expr 586535.916164/(100*$E_p)];
uniaxialMaterial MinMax $IDKcr2 $IDElas2 -max [expr 586535.916164/(100*$E_p)];
uniaxialMaterial MinMax $IDKcr3 $IDElas3 -max [expr 586535.916164/(100*$E_p)];
uniaxialMaterial MinMax $IDKcr4 $IDElas4 -max [expr 586535.916164/(100*$E_p)];
uniaxialMaterial MinMax $IDKcr5 $IDElas5 -max [expr 586535.916164/(100*$E_p)];
uniaxialMaterial MinMax $IDKcr6 $IDElas6 -max [expr 586535.916164/(100*$E_p)];

uniaxialMaterial Series $IDSeriesWire1 $IDpara1 $IDKcr1
uniaxialMaterial Series $IDSeriesWire2 $IDpara2 $IDKcr2
uniaxialMaterial Series $IDSeriesWire3 $IDpara3 $IDKcr3
uniaxialMaterial Series $IDSeriesWire4 $IDpara4 $IDKcr4
uniaxialMaterial Series $IDSeriesWire5 $IDpara5 $IDKcr5
uniaxialMaterial Series $IDSeriesWire6 $IDpara6 $IDKcr6

uniaxialMaterial MinMax $IDMaxStrain1 $IDSeriesWire1 -max $epsups
uniaxialMaterial MinMax $IDMaxStrain2 $IDSeriesWire2 -max $epsups
uniaxialMaterial MinMax $IDMaxStrain3 $IDSeriesWire3 -max $epsups
uniaxialMaterial MinMax $IDMaxStrain4 $IDSeriesWire4 -max $epsups
uniaxialMaterial MinMax $IDMaxStrain5 $IDSeriesWire5 -max $epsups
uniaxialMaterial MinMax $IDMaxStrain6 $IDSeriesWire6 -max $epsups
uniaxialMaterial MinMax $IDMaxStrain7 $IDSeriesWire7 -max $epsups

uniaxialMaterial ElasticPPGap $IDNoComp1 [expr $E_p*100] [expr $f_y*100] 0.
uniaxialMaterial ElasticPPGap $IDNoComp2 [expr $E_p*100] [expr $f_y*100] 0.
uniaxialMaterial ElasticPPGap $IDNoComp3 [expr $E_p*100] [expr $f_y*100] 0.
uniaxialMaterial ElasticPPGap $IDNoComp4 [expr $E_p*100] [expr $f_y*100] 0.
uniaxialMaterial ElasticPPGap $IDNoComp5 [expr $E_p*100] [expr $f_y*100] 0.
uniaxialMaterial ElasticPPGap $IDNoComp6 [expr $E_p*100] [expr $f_y*100] 0.
uniaxialMaterial ElasticPPGap $IDNoComp7 [expr $E_p*100] [expr $f_y*100] 0.

uniaxialMaterial Series $IDWire1 $IDMaxStrain1 $IDNoComp1
uniaxialMaterial Series $IDWire2 $IDMaxStrain2 $IDNoComp2
uniaxialMaterial Series $IDWire3 $IDMaxStrain3 $IDNoComp3
uniaxialMaterial Series $IDWire4 $IDMaxStrain4 $IDNoComp4
uniaxialMaterial Series $IDWire5 $IDMaxStrain5 $IDNoComp5
uniaxialMaterial Series $IDWire6 $IDMaxStrain6 $IDNoComp6
uniaxialMaterial Series $IDWire7 $IDMaxStrain7 $IDNoComp7

### Final Material
uniaxialMaterial Parallel $IDinitStrain(0) $IDWire1 $IDWire2 $IDWire3 $IDWire4 $IDWire5 $IDWire6 $IDWire7;
element zeroLength 1 1 2 -mat $IDinitStrain(0) -dir 1

set dirname F_D_Force_Sin
file mkdir $dirname/;
### Node recorders
recorder Node -file $dirname/Reac.out -load -nodes 1 -dof 1 reaction
recorder Node -file $dirname/Disp.out -load -nodes 2 -dof 1 disp
### Sub-material element recorders
recorder Element -file $dirname/KcrMat.out -load -ele 1 material $IDKcr1 force
dschmuhl
Posts: 13
Joined: Sun Jan 13, 2013 8:20 am
Location: The Ohio State University

Re: Recording material behavior in zeroLength elements

Post by dschmuhl »

I would very much appreciate assistance on this topic if anyone has any insight. Thanks!
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Recording material behavior in zeroLength elements

Post by fmk »

the $IDKcr1 in recorder should be replaced with a 1
dschmuhl
Posts: 13
Joined: Sun Jan 13, 2013 8:20 am
Location: The Ohio State University

Re: Recording material behavior in zeroLength elements

Post by dschmuhl »

Thank you for responding! After making that switch, I am still not getting output from the recorder. I thought that a material tag had to be specified after the word "material" when using the recorder in this format. Any help is appreciated.
Post Reply