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
How to set recorder for ShellMITC4 element
Moderators: silvia, selimgunay, Moderators
Re: How to set recorder for ShellMITC4 element
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
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