How to set recorder for ShellMITC4 element

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

Moderators: silvia, selimgunay, Moderators

Post Reply
benissimo
Posts: 3
Joined: Mon May 30, 2016 10:39 am
Location: HSLU

How to set recorder for ShellMITC4 element

Post by benissimo » Sat Dec 09, 2017 8:44 am

Good afternoon, can anyone tell me what the correct input format for outputting stress and strain of a shell element is? I would like to record the stresses and strains for each node in the core concrete over the height. Thank you very much. Below is my code for a shearwall with shell elements.




#Code for a Shear-Wall with axial force and a displacement-based time-series
#All units in m / N


wipe

set fc 21

set ecm [expr 0.00079*pow($fc,0.277)]; #strain at maximum strength
set ecu [expr 0.006*pow($fc,-0.1666)]; #strain at ultimate strength
set Ec [expr 10000*pow($fc,0.3333)]; #E-modulus

#calculate the ultimate Strain with mader-model

proc mander {eci ec fc Ec } {
set fci [expr $Ec/($Ec-$fc/$ec)*$eci/$ec/(($Ec/($Ec-$fc/$ec))-1+pow($eci/$ec,$Ec/($Ec-$fc/$ec)))*$fc]
return $fci
}

set ft [expr 0.3*pow($fc,0.6666)*1e6] ;#Tention, (neglectet)
set fcu [expr [mander $ecu $ecm $fc $Ec]*1e6] ;#fc(ecu)
set fc [expr $fc*1e6]

set ecrush [expr ($ecu*$fc-$ecm*$fcu)/($fc-$fcu)] ;#the strain with stress=0, linearisation {fc,fcu}{ec,ecu}

set lw 0.9 ;#length of wall
set hw 0.61 ;#hight of wall

set cnom 0.005 ;#cover
set tw 0.08 ;#thickness of wall

#set #Bars vertical and horizontal
set nvbar 10 ;#vert
set nhbar 10 ;#hor
set dbarv 0.006 ;#vert
set dbarh 0.004 ;#hor

#set #discretisation horizontal and vertical

set lshell 9 ;#hor
set hshell 10 ;#vert

set nlp [expr $lshell+1] ;#number of nodes horizontal
set nhp [expr $hshell+1] ;#number of nodes vertical

#increment of hight

set dlw [expr $lw/$lshell]
set dhw [expr $hw/$hshell]

#latest node

set pushnode [expr ($lshell+1)*($hshell+1)]



model basic -ndm 3 -ndf 6

# nDMaterial PlaneStressUserMaterial $matTag $nStatevs $nProps $Prop1 ... $ Propn
# fc ft fcu epsc0 epscu epstu stc
nDMaterial PlaneStressUserMaterial 1 40 7 $fc 0.1 -0.1 -$ecm -$ecrush 0.001 0.1

# nDMaterial PlateFromPlaneStress $matTag $PlaneStressMatTag $OutOfPlaneShearModulus
nDMaterial PlateFromPlaneStress 4 1 [expr $Ec/(2*(1+0.2))*$lw*$tw*1e6]
puts [expr $Ec/(2*(1+0.2))*$lw*$tw*1e6]


#steel vertical
set Fy 504e6
set Ft 634e6
set Es 180e9
set esu 0.11
set esy [expr $Fy*pow($Es,-1)]
set esy $esy


set b [expr ($Ft-$Fy)/($esu-$esy)/$Es]

##d=6 longitudinal reinforced steel in the confined region
uniaxialMaterial Steel02 7 $Fy $Es $b 18.5 0.925 0.15



#steel horizontal
##d=4 transverse reinforced steel and longitudinal reinforced steel in the middle region

set Fy 745e6
set Ft 800e6
set Es 208e9
set esu 0.023

set b [expr ($Ft-$Fy)/($esu-$esy)/$Es]

uniaxialMaterial Steel02 8 $Fy $Es $b 18.5 0.925 0.15


#angle=90 longitudinal reinforced steel
##d=6
nDMaterial PlateRebar 9 7 90

#angle=0 transverse reinforced steel
##d=4
nDMaterial PlateRebar 11 8 0


#Wall is divided into 8 layers


set seci [expr ($tw-2*$cnom)/4]

set pi 3.14159
set th [expr $dbarh*$dbarh*$nhbar*$pi/4/2/$lw]; #thickness of horizontal steel-layer
set tv [expr $dbarv*$dbarv*$nvbar*$pi/4/2/$hw]; #thickness of vertical steellayer (neglected, modeled as truss)


#middle region
# material absolute thickness angle(steel) material tag
##cover $dcnom 4
##d=4transverse $th 0 11
##core $seci 4
##d=4transverse $th 0 11
##cover 0.0025 4



# section LayeredShell $sectionTag $nLayers $matTag1 $thickness1...$matTagn $thicknessn
section LayeredShell 1 8 4 $cnom 11 $th 4 $seci 4 $seci 4 $seci 4 $seci 11 $th 4 $cnom

#define nodes

set i 1
set j 1
set incr 1

while {$i<$nhp+1} {

while {$j<$nlp+1} {

node $incr [expr ($j-1)*$dlw] [expr ($i-1)*$dhw] 0

set j [expr $j+1]
set incr [expr $incr+1]
}

set j 1
set i [expr $i+1]
}



###define Elements


set unconftag 1

set i 1
set j 1
set incr 1
set jstep 0

while {$i<$nhp} {

while {$j<$nlp} {

element ShellMITC4 $incr [expr $j+$jstep] [expr $j+$jstep+1] [expr $j+1+$jstep+$nlp] [expr $j+$jstep+$nlp] $unconftag

set j [expr $j+1]
set incr [expr $incr+1]
}
set jstep [expr $jstep+$nlp]
set j 1
set i [expr $i+1]
}




#longitudinal reinforced steel in the confined region insert in the shell elements as truss elements



set As [expr $dbarv*$dbarv*$pi*$nvbar/$nlp/4]
puts $As

set j 1
set i 1
set int 0

while {$j<$nlp+1} {
while {$i<$nhp} {

element truss $incr [expr $j+$int] [expr $j+$nlp+$int] $As 7
set int [expr $int+$nlp]
set incr [expr $incr+1]
set i [expr $i+1]
}

set int 0
set i 1
set j [expr $j+1]

}




fixY 0.0 1 1 1 1 1 1



set Nd 130000 ;#axial Force

pattern Plain 1 Linear {

set Ni [expr $Nd/$nlp]
set i [expr $pushnode- $nlp+1]
while {$i<$pushnode+1} {

load $i 0 -$Ni 0 0 0 0
set i [expr $i+1]

}
}


constraints Plain
numberer RCM
system BandGeneral
test NormDispIncr 1.0e-6 200 ;
algorithm BFGS -count 100
integrator LoadControl 1;
analysis Static
#analyze 10;
analyze 1;


puts "gravity analyze ok..."
loadConst -time 0.0;



#reaction of nodes at fixation

set dataDir out

set i 1
while {$i<$nlp+1} {

recorder Node -file $dataDir/$i.txt -time -node $i -dof 1 2 3 reaction

set i [expr $i+1]

}


#displacement at top

set dataDir2 outdisp


set i 1
while {$i<$nlp+1} {

recorder Node -file $dataDir2/$i.txt -time -node [expr $pushnode- $nlp+$i] -dof 1 2 3 disp
set i [expr $i+1]

}



#displacement for every node

set dataDir3 outall


set j 1
set i 1
set incr 1

while {$i<$nhp+1} {
while {$j<$nlp} {

recorder Node -file $dataDir3/$incr.txt -time -node $incr -dof 1 2 3 disp

set incr [expr $incr+1]
set j [expr $j+1]

}
set int [expr $int+$nlp]
set j 1
set i [expr $i+1]

}

####no idea???

recorder Element -file ele1sec1StressStrain.txt –time -ele 2 material 4 4 stresses
recorder Element -file ele1sec1StressStrain2.txt –time -ele 2 material 4 4 stress
recorder Element -file ele1sec1StressStrain3.txt –time -ele 2 material 4 stress
recorder Element -file ele1sec1StressStrain4.txt –time -ele 4 material 2 4 stress

timeSeries Path 1 -dt 0.1 -filePath mypath.txt ;


#Pushes all head-nodes at same time

pattern Plain 2 1 {
set i [expr $pushnode- $nlp+1]
set inc [expr pow($nlp,-1)]
while {$i<$pushnode+1} {
sp $i 1 1

set i [expr $i+1]

}
}


constraints Penalty 1e20 1e20;
numberer RCM;
system BandGeneral;
test NormDispIncr 1e-4 5000 2;
algorithm KrylovNewton;
integrator LoadControl 0.01;
analysis Static ;
analyze 2000

dgale
Posts: 53
Joined: Fri Jan 15, 2016 4:01 am
Location: UPM

Re: How to set recorder for ShellMITC4 element

Post by dgale » Mon Dec 11, 2017 1:00 am

Hello,
Outputs for LayeredShell elements must be like these:
recorder Element -file Outputs/Plates/ele1gp1forces.out -time -ele 1 material 1 forces [Time Nxx, Nyy, Nxy, Mxx, Myy, Mxy, Vxz, Vyz]
recorder Element -file Outputs/Plates/ele1gp1deformations .out -time -ele 1 material 1 deformations [Time Strain11, Strain22, Shear12, Curvature11, Curvature22, Curvature12, Shear13, Shear23]

recorder Element -file Outputs/Plates/ele1gp1forces.out -time -ele 1 material 1 fiber 1 stresses [Time Sigma11 Sigma22 Sigma12 Sigma23 Sigma31]
recorder Element -file Outputs/Plates/ele1gp1deformations .out -time -ele 1 material 1 fiber 1 strains [Time Strain11 Strain22 Strain12 Strain23 Strain31]

Notes:
material=gauss point
fiber 1=first layer

Post Reply