Search found 3 matches

by benissimo
Sat Dec 09, 2017 8:44 am
Forum: OpenSees.exe Users
Topic: How to set recorder for ShellMITC4 element
Replies: 1
Views: 2822

How to set recorder for ShellMITC4 element

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
by benissimo
Sun Jun 19, 2016 5:03 am
Forum: Reliability Analysis
Topic: Calculating the probability of failure by Zhou & Novak
Replies: 0
Views: 11959

Calculating the probability of failure by Zhou & Novak

Hi, I am new to Opensees and I would be happy if someone could help me.

I would like to calculate the probability of failure of a reinforced concrete frame under horizontal loads. I do not want to carry a FORM analysis, but with a method according to Zhou & Novak "integration formulas to evaluate functions of random variables" in 1988.

This works as follows:
I have n random variables, which may be correlated.
With the method of Zhou & Novak I have 2 * n ^ 2 + 1 points, to which I have to run a FEM calculation.
So for example an elastic frame in which only the Young's modulus is a lognormal distribution with mu = 30000N/mm^2, sd = 1000N/mm ^2
2 * 1 ^ 2 + 1 = 3
Now I have 3 FEM calculations with the following points as Young's modulus:

x1 = 29983 N / mm ^ 2
x2 = 31765 N / mm ^ 2
x3 = 28301 N / mm ^ 2

this 3 deformations "G" at the top of the frame should get saved in the same output-file.

G1 (x1), G2 (x2), G3 (x3)

At the end, the individual calculations are weighted.

w1 = 0.666
w2 = 0.166
w3 = 0.166

The first two moments be then:

E [G] = w1 * G1 + w2 * G2 + w3 * G3
sd ^ 2 = E [G ^ 2] -E [G] ^ 2
beta = mu / sd
pf = NORMINV (- beta)

My real question is: can you read a list of parameters in Opensees, for example, with 10 random variables.
This list contains 2 * 10 ^ 2 + 1 = 201 lines and 10 columns for 201 calculations and 10 random variables. The calculation starts with the parameters in line 1, for example, save the horizontal deformation d1 in the output-file "calculation.out".
Thereafter, a further calculation for the line 2 is performed with the parameters 1-10 and save d2 in the same output-file "calculation.out" and so on. This, until one arrives at line "201".
At the end, the individual results are weighted again.

I hope that I could make my question comprehensible.
(Sorry for my english)

For an answer, I thank you in advance

#Exemple:

# Create nodes
# tag X Y
node 1 0.0 0.0
node 2 $width 0.0
node 3 0.0 $height
node 4 $width $height

# Fix supports at base of columns
# tag DX DY RZ
fix 1 1 1 1
fix 2 1 1 1

# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -6.0 -0.004 -5.0 -0.014 #Here, parameters should be taken from a list

# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -5.0 -0.002 0.0 -0.006 #Here, parameters should be taken from a list

# STEEL
# Reinforcing steel
set fy 60.0; # Yield stress #Here, parameters should be taken from a list
set E 30000.0; # Young's modulus #Here, parameters should be taken from a list
# tag fy E0 b
uniaxialMaterial Steel01 3 $fy $E 0.01
by benissimo
Tue Jun 07, 2016 1:54 am
Forum: OpenSees.exe Users
Topic: Unable to plot response
Replies: 1
Views: 2272

Unable to plot response

Hello everybody,
I have to plot a problem to the response of my analysis, this generally . In this particular case by a push over- analysis.
The script works fine , but if I want a plot produce , always following message appears :

>undefined function or variable "makecform"
>Error in distinguishable_colers (line 96)
>Error in plotResponse (line 50)
>Error while evaluating UIControl Callback


Can anyone help to solve this problem ?

I use Opensees Navigator.

best thanks in advance
Ben