Hi, I tried to obtain stress and strain for a reinforced concrete section, but I got results only for reinforcing steel, while for concrete the stress is zero; I'm sure that is a mistake but I don't know where.
Below are atached the 2 files:
1'st file
proc MomentCurvature {secTag axialLoad maxK {numIncr 100} } {
# Define two nodes at (0,0)
node 1 0.0 0.0
node 2 0.0 0.0
# Fix all degrees of freedom except axial and bending
fix 1 1 1 1
fix 2 0 1 0
# Define element
# tag ndI ndJ secTag
element zeroLengthSection 1 1 2 $secTag
# Create recorder
recorder Element -file eleGRINDAsecA(steel-down).out -time -ele 1 section fiber -0.07 -0.145 stressStrain
recorder Element -file eleGRINDAsecA(concrete-down).out -time -ele 1 section fiber 0.0 -0.1715 stressStrain
recorder Element -file eleGRINDAsecA(steel-up).out -time -ele 1 section fiber -0.27 0.156 stressStrain
recorder Element -file eleGRINDAsecA(concrete-up).out -time -ele 1 section fiber 0.0 0.1715 stressStrain
# Define constant axial load
pattern Plain 1 "Constant" {
load 2 $axialLoad 0.0 0.0
}
# Define analysis parameters
integrator LoadControl 0 1 0 0
system SparseGeneral -piv; # Overkill, but may need the pivoting!
test NormUnbalance 1.0e-9 10
numberer Plain
constraints Plain
#algorithm Newton
algorithm Linear
#algorithm NewtonLineSearch 0.65
#algorithm ModifiedNewton
#algorithm KrylovNewton
analysis Static
# Do one analysis for constant axial load
analyze 1
# Define reference moment
pattern Plain 2 "Linear" {
load 2 0.0 0.0 1.0
}
# Compute curvature increment
set dK [expr $maxK/$numIncr]
# Use displacement control at node 2 for section analysis
integrator DisplacementControl 2 3 $dK 1 $dK $dK
# Do the section analysis
analyze $numIncr
}
2'nd file
# Define model builder
model basic -ndm 2 -ndf 3
# Define materials for nonlinear columns
# Betonul tag f'c ec0 f'cu ecu
# Betonul interior (confined)
uniaxialMaterial Concrete01 1 -12500 -0.002 -2500 -0.0139
# Betonul de acoperire (unconfined)
uniaxialMaterial Concrete01 2 -12500 -0.002 -1000 -0.01482
# Otel
set shr 1E-3
# Armatura (armatura sus fi 12 - sectiunea A-A, fi 12 si 16 C-C, fi 12 si 16 D-D)
set fy3 235000; # Yield strength
set E 200e6; # Young's modulus
set shr 1E-3
# tag fy E0 b
uniaxialMaterial Steel01 3 $fy3 $E $shr
# Armatura (armatura de jos fi 12 - sectiunea A-A)
set fy7 104600.0; # Yield strength
set E 200.0e6; # Young's modulus
# tag fy E0 b
uniaxialMaterial Steel01 7 $fy7 $E $shr
# Definirea sectiunii transversale a GRINZII A-A(grinda T - stalp marginal)
# ------------------------------------------
# set some parameters
set b 0.200; #latime rigla
set hb 0.350; #inaltime rigla
set b1 0.260; #latime placa stanga de la fata riglei
set b2 0.260; #latime placa dreapta de la fata riglei
set hp 0.100; #inaltime placa
set caxdown10 0.030; #acoperirea cu beton pana in axul armaturii longitudinale de jos fi10
set caxdown12 0.031; #acoperirea cu beton pana in axul armaturii longitudinale de jos fi12
set caxupplaca 0.019;
set caxup12 0.031;
set Asdown10 78.5e-6; # area of fi10 bars
set Asdown12 113e-6; # area of fi12 bars
set Asdown [expr ((2*$Asdown10+$Asdown12)/3)]; #arie mediata armatura jos
set Asup12 113e-6; # area of fi12 bars
set Asupplaca 50.3e-6;
section Fiber 3 {
# grinda T - sec A-A (concrete)
patch quad 2 1 50 -0.1 -0.175 0.1 -0.175 0.1 0.175 -0.1 0.175;
# placa stanga (left concrete)
patch quad 2 1 50 -0.36 0.075 -0.1 0.075 -0.1 0.175 -0.36 0.175;
# placa dreapta (right concrete)
patch quad 2 1 50 0.1 0.075 0.36 0.075 0.36 0.175 0.1 0.175;
# reinforcing steel in plate (steel up)=fi 8
layer straight 3 4 $Asupplaca -0.27 0.156 0.27 0.156;
# reinforcing steel in beam = fi 12
layer straight 3 4 $Asup12 -0.069 0.144 0.069 0.144;
# reinforcing steel in beam (steel down) = fi 10
layer straight 7 3 $Asdown -0.07 -0.145 0.07 -0.145;
}
# Estimate yield curvature
# (Assuming no axial load and only top and bottom steel)
set d [expr $hb-$caxupplaca] ;# d -- from cover to rebar
set epsy [expr $fy3/$E] ;# steel yield strain
set Ky [expr $epsy/(0.7*$d)]
# Print estimate to standard output
puts "Estimated yield curvature: $Ky"
# Set axial load
#set P -100; #stalpi parter
set P 0; #grinzi
set mu 15; # Target ductility for analysis
set numIncr 100; # Number of analysis increments
# Call the section analysis procedure
source MomentCurvature.tcl
#proc MomentCurvature {secTag axialLoad maxK {numIncr 100} } {
stress and strain
Moderators: silvia, selimgunay, Moderators
stress and strain
sorin