The father of fuzzy logic, Professor Lotfi Asker Zadeh has passed away. He is best known for proposing the fuzzy mathematics in the 1960s.
The thing to remember about fuzzy logic is that it is not the same as probability. Not even a little bit the same.
May peace be on him and condolences to his dear family, colleagues and the scientifics community at large for this loss.
The thing to remember about fuzzy logic is that it is not the same as probability. Not even a little bit the same.
May peace be on him and condolences to his dear family, colleagues and the scientifics community at large for this loss.
As i accounted an equation for Zero-Length Element command a little while ago, take the example 2 for instance:
Units: Kips, Inches, second
model BasicBuilder -ndm 2 -ndf 3
node 1 0.000 277.850 0.000 ;
node 100 0.000 277.850 0.000 ;
equalDOF 1 100 1 2 ;
uniaxialMaterial Steel02 300 42.06 29007 0.029 18.5 0.925 0.15 ;
element zeroLength 1 1 100 -mat 300 - dir 6 ;
Equation cotrol in node 1 :
2 + 1 = 3 Right
π https://t.me/OpenSeesCommunity
Units: Kips, Inches, second
model BasicBuilder -ndm 2 -ndf 3
node 1 0.000 277.850 0.000 ;
node 100 0.000 277.850 0.000 ;
equalDOF 1 100 1 2 ;
uniaxialMaterial Steel02 300 42.06 29007 0.029 18.5 0.925 0.15 ;
element zeroLength 1 1 100 -mat 300 - dir 6 ;
Equation cotrol in node 1 :
2 + 1 = 3 Right
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
Sometimes we are going to accomplish Three-dimensional simulation of a bridge that has a continuous concrete deck with the bents being integral, and the dual-column bent caps for the bridge are supported by reinforced concrete columns.
Today, i wanna begin talking about a special way of fusing, or some people might say, confusing, bridge bent caps and unreal elastic beams. It means, in order to prevent bending of the bent caps in the model about the global vertical axis, another element is introduced with large EI values that restricts bending only about the vertical axis.
It goes without saying that the bridge bent cap and unreal elastic beam are both connected to two same nodes. But that's pretty much where the similarities end.
This way approximates the behavior of the bent cap being integral to the superstructure.
π https://t.me/OpenSeesCommunity
Today, i wanna begin talking about a special way of fusing, or some people might say, confusing, bridge bent caps and unreal elastic beams. It means, in order to prevent bending of the bent caps in the model about the global vertical axis, another element is introduced with large EI values that restricts bending only about the vertical axis.
It goes without saying that the bridge bent cap and unreal elastic beam are both connected to two same nodes. But that's pretty much where the similarities end.
This way approximates the behavior of the bent cap being integral to the superstructure.
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
As i accounted for a new special way of fusing, bridge bent caps and unreal elastic beams, to three-dimensional simulation of bridge a little while ago, take example 3 for instance:
# Units: Kips, Inches , Second
model BasicBuilder -ndm 3 -ndf 6
# Bent Nodes/Masses
node 200 432.000 290.250 0.000;
node 201 432.000 290.250 63.500;
node 202 432.000 290.250 131.500;
node 203 432.000 290.250 199.500;
node 204 432.000 290.250 267.500;
node 205 432.000 290.250 335.500;
node 206 432.000 290.250 399.000;
mass 200 0.0067724 0.0067724 0.0067724 0.0 0.0 0.0;
mass 201 0.0140248 0.0140248 0.0140248 0.0 0.0 0.0;
mass 202 0.0145047 0.0145047 0.0145047 0.0 0.0 0.0;
mass 203 0.0145047 0.0145047 0.0145047 0.0 0.0 0.0;
mass 204 0.0145047 0.0145047 0.0145047 0.0 0.0 0.0;
mass 205 0.0140248 0.0140248 0.0140248 0.0 0.0 0.0;
mass 206 0.0067724 0.0067724 0.0067724 0.0 0.0 0.0;
# Cover Concrete
# fc1U=-4.29 ksi
# eps1U=-0.002023 in./in.
# fc2U=0.0 ksi
# eps2U=-0.005 in./in.
# Ec=3733.391219789322 ksi
uniaxialMaterial Concrete01 4 -4.290 -0.002023 0.0 -0.005 ;
# Core Concrete
# fc1C=-4.464 ksi
# eps1C=-0.002433 in./in.
# eps2C=-0.010 in./in.
uniaxialMaterial Concrete04 3 -4.464 -0.002433 -0.01 3733.4 0.0 0.0 0.0 ;
# Reinforcing Steel
# Fy=40.0 ksi
# Fu=40.0 ksi
# Es=29000.0 ksi
# ey=0.001379
# eu=0.2 in./in.
uniaxialMaterial Hysteretic 5 20.0 0.0006897 40.0 0.0013793 40.0 0.20 -20.0 -0.0006897 -40.0 -0.0013793 -40.0 -0.20 1.0 1.0 0.0 0.0 0.0 ;
# Bent Dimensions: H=60.5 , B=16.0 ;
section fiberSec 2300 { ;
# Define the core patch
patch quad 3 16 16 -28.115000000000002 5.865 -28.115000000000002 -5.865 25.615000000000002 -5.865 25.615000000000002 5.865
# Define the four cover patches
patch quad 4 1 4 -30.25 8.0 -28.115000000000002 5.865 25.615000000000002 5.865 30.25 8.0
patch quad 4 1 4 -28.115000000000002 -5.865 -30.25 -8.0 30.25 -8.0 25.615000000000002 -5.865
patch quad 4 4 1 -30.25 8.0 -30.25 -8.0 -28.115000000000002 -5.865 -28.115000000000002 5.865
patch quad 4 4 1 25.615000000000002 5.865 25.615000000000002 -5.865 30.25 -8.0 30.25 8.0
# Define reinfocement layers
# Top layer
layer straight 5 3 1.27 25.615000000000002 5.865 25.615000000000002 -5.865; # top layer reinforcement
# Top middle layer
layer straight 5 2 0.2 7.949999999999999 5.865 7.949999999999999 -5.865; # top layer reinforcement
# Bottom middle layer
layer straight 5 2 0.2 -10.45 5.865 -10.45 -5.865; # bottom layer reinforcement
# Bottom layer
layer straight 5 3 1.27 -28.115000000000002 5.865 -28.115000000000002 -5.865; # bottom layer
reinfocement
}; # end of fibersection definition
uniaxialMaterial Elastic 2310 1.0e+010
section Aggregator 2320 2310 T -section 2300
geomTransf Linear 2330 -1 0 0
# Bent Elements
element dispBeamColumn 200 200 201 5 2320 2330;
element dispBeamColumn 201 201 202 5 2320 2330;
element dispBeamColumn 202 202 203 5 2320 2330;
element dispBeamColumn 203 203 204 5 2320 2330;
element dispBeamColumn 204 204 205 5 2320 2330;
element dispBeamColumn 205 205 206 5 2320 2330;
element elasticBeamColumn 2020 201 202 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
element elasticBeamColumn 2030 202 203 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
element elasticBeamColumn 2040 203 204 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
element elasticBeamColumn 2050 204 205 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
π https://t.me/OpenSeesCommunity
# Units: Kips, Inches , Second
model BasicBuilder -ndm 3 -ndf 6
# Bent Nodes/Masses
node 200 432.000 290.250 0.000;
node 201 432.000 290.250 63.500;
node 202 432.000 290.250 131.500;
node 203 432.000 290.250 199.500;
node 204 432.000 290.250 267.500;
node 205 432.000 290.250 335.500;
node 206 432.000 290.250 399.000;
mass 200 0.0067724 0.0067724 0.0067724 0.0 0.0 0.0;
mass 201 0.0140248 0.0140248 0.0140248 0.0 0.0 0.0;
mass 202 0.0145047 0.0145047 0.0145047 0.0 0.0 0.0;
mass 203 0.0145047 0.0145047 0.0145047 0.0 0.0 0.0;
mass 204 0.0145047 0.0145047 0.0145047 0.0 0.0 0.0;
mass 205 0.0140248 0.0140248 0.0140248 0.0 0.0 0.0;
mass 206 0.0067724 0.0067724 0.0067724 0.0 0.0 0.0;
# Cover Concrete
# fc1U=-4.29 ksi
# eps1U=-0.002023 in./in.
# fc2U=0.0 ksi
# eps2U=-0.005 in./in.
# Ec=3733.391219789322 ksi
uniaxialMaterial Concrete01 4 -4.290 -0.002023 0.0 -0.005 ;
# Core Concrete
# fc1C=-4.464 ksi
# eps1C=-0.002433 in./in.
# eps2C=-0.010 in./in.
uniaxialMaterial Concrete04 3 -4.464 -0.002433 -0.01 3733.4 0.0 0.0 0.0 ;
# Reinforcing Steel
# Fy=40.0 ksi
# Fu=40.0 ksi
# Es=29000.0 ksi
# ey=0.001379
# eu=0.2 in./in.
uniaxialMaterial Hysteretic 5 20.0 0.0006897 40.0 0.0013793 40.0 0.20 -20.0 -0.0006897 -40.0 -0.0013793 -40.0 -0.20 1.0 1.0 0.0 0.0 0.0 ;
# Bent Dimensions: H=60.5 , B=16.0 ;
section fiberSec 2300 { ;
# Define the core patch
patch quad 3 16 16 -28.115000000000002 5.865 -28.115000000000002 -5.865 25.615000000000002 -5.865 25.615000000000002 5.865
# Define the four cover patches
patch quad 4 1 4 -30.25 8.0 -28.115000000000002 5.865 25.615000000000002 5.865 30.25 8.0
patch quad 4 1 4 -28.115000000000002 -5.865 -30.25 -8.0 30.25 -8.0 25.615000000000002 -5.865
patch quad 4 4 1 -30.25 8.0 -30.25 -8.0 -28.115000000000002 -5.865 -28.115000000000002 5.865
patch quad 4 4 1 25.615000000000002 5.865 25.615000000000002 -5.865 30.25 -8.0 30.25 8.0
# Define reinfocement layers
# Top layer
layer straight 5 3 1.27 25.615000000000002 5.865 25.615000000000002 -5.865; # top layer reinforcement
# Top middle layer
layer straight 5 2 0.2 7.949999999999999 5.865 7.949999999999999 -5.865; # top layer reinforcement
# Bottom middle layer
layer straight 5 2 0.2 -10.45 5.865 -10.45 -5.865; # bottom layer reinforcement
# Bottom layer
layer straight 5 3 1.27 -28.115000000000002 5.865 -28.115000000000002 -5.865; # bottom layer
reinfocement
}; # end of fibersection definition
uniaxialMaterial Elastic 2310 1.0e+010
section Aggregator 2320 2310 T -section 2300
geomTransf Linear 2330 -1 0 0
# Bent Elements
element dispBeamColumn 200 200 201 5 2320 2330;
element dispBeamColumn 201 201 202 5 2320 2330;
element dispBeamColumn 202 202 203 5 2320 2330;
element dispBeamColumn 203 203 204 5 2320 2330;
element dispBeamColumn 204 204 205 5 2320 2330;
element dispBeamColumn 205 205 206 5 2320 2330;
element elasticBeamColumn 2020 201 202 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
element elasticBeamColumn 2030 202 203 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
element elasticBeamColumn 2040 203 204 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
element elasticBeamColumn 2050 204 205 1e-007 4e+003 1e-007 1e-007 6e+007 1e-007 2330
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
OpenSee 2012 - Geotechnical Modeling.mp4
323.4 MB
Prof. Pedro Arduino (University of washington) discusses geotechnical modeling and provides examples. πππ
π https://t.me/OpenSeesCommunity
π https://t.me/OpenSeesCommunity
The critiques reactions really tore the Prof. Julie Ferguson's cources (University of California) to pieces because of her extremely fascinating/controversial teaching method.
You can see what is causing all the fuss. She explains Seismic Waves.πππ
π https://t.me/OpenSeesCommunity
You can see what is causing all the fuss. She explains Seismic Waves.πππ
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
In actuality, rigid offsets at beam column connections and brace to frame connections (to model the gusset plates) have long been simulated through separating an element to some segments at which each segment has a given stiffness.
While some are adamantly claiming that mentioned method should be given more prominence, many may take an opposit viewpoint and believe that using multi-segments element can give rise to changing in behavior of element.
Nevertheless, many (like me!!!) remain neutral, sharing this view that a myriad of factors should be taken into consideration so as to be able to prove which belief is closer to reality.
In near future, i will aptly elucidate a new method to consider rigid offsets.πππ
π https://t.me/OpenSeesCommunity
While some are adamantly claiming that mentioned method should be given more prominence, many may take an opposit viewpoint and believe that using multi-segments element can give rise to changing in behavior of element.
Nevertheless, many (like me!!!) remain neutral, sharing this view that a myriad of factors should be taken into consideration so as to be able to prove which belief is closer to reality.
In near future, i will aptly elucidate a new method to consider rigid offsets.πππ
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
Let me close today's discussion with a novel suggestion to keep in mind while you are simulating rigid offsets.
It is established beyond doubt that rigid offsets play a crucial role in structural behavior, especially in reinforced concrete moment frames.
Geometric Transformation Command has the potential to consider mentioned effects.
Furthermore, use of Geometric Transformation Command seems to be a relevant/meaningful approximation to simulate rigid offsets.πππ
π https://t.me/OpenSeesCommunity
It is established beyond doubt that rigid offsets play a crucial role in structural behavior, especially in reinforced concrete moment frames.
Geometric Transformation Command has the potential to consider mentioned effects.
Furthermore, use of Geometric Transformation Command seems to be a relevant/meaningful approximation to simulate rigid offsets.πππ
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
According to growth of the channel Contents, you can also join here:πππ
https://www.instagram.com/openseescommunity
https://www.instagram.com/openseescommunity
To know and understand more precisely and be involved in structural engineering concepts, in this video you can see the quasi-static testing of a full-scale steel braced frame equipped with Cast ConneX High-Strength Connectors.πππ
π https://t.me/OpenSeesCommunity
https://www.instagram.com/openseescommunity
π https://t.me/OpenSeesCommunity
https://www.instagram.com/openseescommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
As i accounted for a new special way, to consider rigid offsets a little while ago, take example 4 for instance:πππ
(Part 1);
# Units: N , Meter , seconds;
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder,
# Define Building Geometry, Nodes, and Constraints
set NStories 1; # number of stories
set NBaysX 3; # number of frame bays in Direction X
set WBayX [expr 4.5]; # bay width in Direction X (meter)
set NBaysY 3; # number of frame bays in Direction X
set WBayY [expr 4.5]; # bay width in Direction Y (meter)
set HStory1 [expr 5.0]; # First story height in meter
set PierX1 0.0; # leftmost column line
set PierX2 [expr $PierX1 + $WBayX];
set PierX3 [expr $PierX2 + $WBayX];
set PierX4 [expr $PierX3 + $WBayX];
set PierY1 0.0; # leftmost column line
set PierY2 [expr $PierY1 + $WBayY];
set PierY3 [expr $PierY2 + $WBayY];
set PierY4 [expr $PierY3 + $WBayY];
set ground 0.0; # ground floor
set Floor1 [expr $ground + $HStory1];
# calculate nodal masses -- lump floor masses at frame nodes
set SquareG [expr 9.81 * 9.81]; # convert to mass value ,
acceleration due to gravity;
# Exterior Beams;
# W1 = 15 kN/m x 104 = 1560 kN
# Interior Beams;
# W2 = 10 kN/m x 63 = 630 kN
# Floor1Weight = W1 + W2 = 2190 kN
set FloorWeight 2190000; # weight of Floor 1 in N;
set NodalMassX [expr ($FloorWeight/$SquareG) / (16.0)]; # massX at each node on Floors
set NodalMassY [expr ($FloorWeight/$SquareG) / (16.0)]; # massY at each node on Floors
set NodalMassZ [expr ($FloorWeight/$SquareG) / (16.0)]; # massY at each node on Floors
set Negligible 1e-9; # a very smnumber to avoid problems with zero ;
node 1 $PierX1 $PierY1 $ground ;
node 2 $PierX2 $PierY1 $ground ;
node 3 $PierX3 $PierY1 $ground ;
node 4 $PierX4 $PierY1 $ground ;
node 5 $PierX1 $PierY2 $ground ;
node 6 $PierX2 $PierY2 $ground ;
node 7 $PierX3 $PierY2 $ground ;
node 8 $PierX4 $PierY2 $ground ;
node 9 $PierX1 $PierY3 $ground ;
node 10 $PierX2 $PierY3 $ground ;
node 11 $PierX3 $PierY3 $ground ;
node 12 $PierX4 $PierY3 $ground ;
node 13 $PierX1 $PierY4 $ground ;
node 14 $PierX2 $PierY4 $ground ;
node 15 $PierX3 $PierY4 $ground ;
node 16 $PierX4 $PierY4 $ground ;
node 101 $PierX1 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 102 $PierX2 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 103 $PierX3 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 104 $PierX4 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 105 $PierX1 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 106 $PierX2 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 107 $PierX3 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 108 $PierX4 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 109 $PierX1 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 110 $PierX2 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 111 $PierX3 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 112 $PierX4 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 113 $PierX1 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 114 $PierX2 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 115 $PierX3 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 116 $PierX4 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
π https://t.me/OpenSeesCommunity
(Part 1);
# Units: N , Meter , seconds;
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder,
# Define Building Geometry, Nodes, and Constraints
set NStories 1; # number of stories
set NBaysX 3; # number of frame bays in Direction X
set WBayX [expr 4.5]; # bay width in Direction X (meter)
set NBaysY 3; # number of frame bays in Direction X
set WBayY [expr 4.5]; # bay width in Direction Y (meter)
set HStory1 [expr 5.0]; # First story height in meter
set PierX1 0.0; # leftmost column line
set PierX2 [expr $PierX1 + $WBayX];
set PierX3 [expr $PierX2 + $WBayX];
set PierX4 [expr $PierX3 + $WBayX];
set PierY1 0.0; # leftmost column line
set PierY2 [expr $PierY1 + $WBayY];
set PierY3 [expr $PierY2 + $WBayY];
set PierY4 [expr $PierY3 + $WBayY];
set ground 0.0; # ground floor
set Floor1 [expr $ground + $HStory1];
# calculate nodal masses -- lump floor masses at frame nodes
set SquareG [expr 9.81 * 9.81]; # convert to mass value ,
acceleration due to gravity;
# Exterior Beams;
# W1 = 15 kN/m x 104 = 1560 kN
# Interior Beams;
# W2 = 10 kN/m x 63 = 630 kN
# Floor1Weight = W1 + W2 = 2190 kN
set FloorWeight 2190000; # weight of Floor 1 in N;
set NodalMassX [expr ($FloorWeight/$SquareG) / (16.0)]; # massX at each node on Floors
set NodalMassY [expr ($FloorWeight/$SquareG) / (16.0)]; # massY at each node on Floors
set NodalMassZ [expr ($FloorWeight/$SquareG) / (16.0)]; # massY at each node on Floors
set Negligible 1e-9; # a very smnumber to avoid problems with zero ;
node 1 $PierX1 $PierY1 $ground ;
node 2 $PierX2 $PierY1 $ground ;
node 3 $PierX3 $PierY1 $ground ;
node 4 $PierX4 $PierY1 $ground ;
node 5 $PierX1 $PierY2 $ground ;
node 6 $PierX2 $PierY2 $ground ;
node 7 $PierX3 $PierY2 $ground ;
node 8 $PierX4 $PierY2 $ground ;
node 9 $PierX1 $PierY3 $ground ;
node 10 $PierX2 $PierY3 $ground ;
node 11 $PierX3 $PierY3 $ground ;
node 12 $PierX4 $PierY3 $ground ;
node 13 $PierX1 $PierY4 $ground ;
node 14 $PierX2 $PierY4 $ground ;
node 15 $PierX3 $PierY4 $ground ;
node 16 $PierX4 $PierY4 $ground ;
node 101 $PierX1 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 102 $PierX2 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 103 $PierX3 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 104 $PierX4 $PierY1 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 105 $PierX1 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 106 $PierX2 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 107 $PierX3 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 108 $PierX4 $PierY2 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 109 $PierX1 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 110 $PierX2 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 111 $PierX3 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 112 $PierX4 $PierY3 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 113 $PierX1 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 114 $PierX2 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 115 $PierX3 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
node 116 $PierX4 $PierY4 $Floor1 -mass $NodalMassX $NodalMassY $NodalMassZ $Negligible $Negligible $Negligible;
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
(Part 2);
set dof1 1; # constrain movement in dof 1 (X-direction);
for {set i 1} {$i <= $NStories} {incr i} {
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 2] $dof1;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 3] $dof1;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 4] $dof1;
equalDOF [expr ($i*100) + 5] [expr ($i*100) + 6] $dof1;
equalDOF [expr ($i*100) + 5] [expr ($i*100) + 7] $dof1;
equalDOF [expr ($i*100) + 5] [expr ($i*100) + 8] $dof1;
equalDOF [expr ($i*100) + 9] [expr ($i*100) + 10] $dof1;
equalDOF [expr ($i*100) + 9] [expr ($i*100) + 11] $dof1;
equalDOF [expr ($i*100) + 9] [expr ($i*100) + 12] $dof1;
equalDOF [expr ($i*100) + 13] [expr ($i*100) + 14] $dof1;
equalDOF [expr ($i*100) + 13] [expr ($i*100) + 15] $dof1;
equalDOF [expr ($i*100) + 13] [expr ($i*100) + 16] $dof1;
};
set dof2 2; # constrain movement in dof 2 (Y-direction);
for {set i 1} {$i <= $NStories} {incr i} {
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 5] $dof2;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 9] $dof2;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 13] $dof2;
equalDOF [expr ($i*100) + 2] [expr ($i*100) + 6] $dof2;
equalDOF [expr ($i*100) + 2] [expr ($i*100) + 10] $dof2;
equalDOF [expr ($i*100) + 2] [expr ($i*100) + 14] $dof2;
equalDOF [expr ($i*100) + 3] [expr ($i*100) + 7] $dof2;
equalDOF [expr ($i*100) + 3] [expr ($i*100) + 11] $dof2;
equalDOF [expr ($i*100) + 3] [expr ($i*100) + 15] $dof2;
equalDOF [expr ($i*100) + 4] [expr ($i*100) + 8] $dof2;
equalDOF [expr ($i*100) + 4] [expr ($i*100) + 12] $dof2;
equalDOF [expr ($i*100) + 4] [expr ($i*100) + 16] $dof2;
} ;
fix 1 1 1 1 1 1 1;
fix 2 1 1 1 1 1 1;
fix 3 1 1 1 1 1 1;
fix 4 1 1 1 1 1 1;
fix 5 1 1 1 1 1 1;
fix 6 1 1 1 1 1 1;
fix 7 1 1 1 1 1 1;
fix 8 1 1 1 1 1 1;
fix 9 1 1 1 1 1 1;
fix 10 1 1 1 1 1 1;
fix 11 1 1 1 1 1 1;
fix 12 1 1 1 1 1 1;
fix 13 1 1 1 1 1 1;
fix 14 1 1 1 1 1 1;
fix 15 1 1 1 1 1 1;
fix 16 1 1 1 1 1 1;
set CoreID 1; # material ID tag -- confined cover concrete
set CoverID 2; # material ID tag -- unconfined cover
set ReinfID 3; # material ID tag -- reinforcement
set fc -30700000 ; # Samples test , (N/m^2) ;
set Econ 21384000000 ; # (N/m^2)
set Fy 275000000 ; # (N/m^2)
set EtsConcrete [expr $Econ/10.]; # (N/m^2), tension softening stiffness for Concrete, also recommend to Consider as ($ft/0.002);
set Esteel 200000000000 ; # (N/m^2) #
################ Confined Concrete ##########
set fccore [expr (1.26394 * $fc)]; # Core Compressive Strength
(N/m^2)(+Tension, -Compression) ;
set epsc1 [expr (2 * $fccore / $Econ)];
set epsc2 [expr (5 * $epsc1)];
set fucore $fc;
########## Concrete02 variables ########### ;
set lambda 0.1 ; # ratio between unloading slope at
$epsc2 and initial slope ;
set ftc [expr (-0.1 *$fccore)]; # (N/m^2) , this value
always should be positive (Tension is +) and recommend to Consider as (- 0.1 * $fccore);
set b 0.02; # post-yield stiffness ratio of steel;
################ UnConfined Concrete ########## ;
set fccover $fc ; # (N/m^2);
set fucover [expr (0.1 * $fccover)]; # (N/m^2);
set ftucover [expr (-0.1 * $fccover)]; # (N/m^2);
uniaxialMaterial Concrete02 $CoreID $fccore $epsc1 $fucore $epsc2 $lambda $ftc $EtsConcrete; # CORE CONCRETE;
uniaxialMaterial Concrete02 $CoverID $fccover -0.003 $fucover -0.006 $lambda $ftucover $EtsConcrete ; #Cover CONCRETE;
set matTagReinforcingSteel $ReinfID ;
set fyReinforcingSteel $Fy ;
set fuReinforcingSteel 375000000 ;
set EsReinforcingSteel 200000000000 ;
set EshReinforcingSteel 50000000000 ;
set eshReinforcingSteel 0.024
set eultReinforcingSteel 0.053
set LsrReinforcingSteel 25 ;
set betaReinforcingSteel 1 ;
set rReinforcingSteel 0.4 ;
set gamaReinforcingSteel 0.5
uniaxialMaterial ReinforcingSteel $matTagReinforcingSteel
$fyReinforcingSteel $fuReinforcingSteel $EsReinforcingSteel
$EshReinforcingSteel $eshReinforcingSteel $eultReinforcingSteel -GABuck
$LsrReinforcingSteel $betaReinforcingSteel $rReinforcingSteel
$gamaReinforcingSteel ;
π https://t.me/OpenSeesCommunity
set dof1 1; # constrain movement in dof 1 (X-direction);
for {set i 1} {$i <= $NStories} {incr i} {
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 2] $dof1;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 3] $dof1;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 4] $dof1;
equalDOF [expr ($i*100) + 5] [expr ($i*100) + 6] $dof1;
equalDOF [expr ($i*100) + 5] [expr ($i*100) + 7] $dof1;
equalDOF [expr ($i*100) + 5] [expr ($i*100) + 8] $dof1;
equalDOF [expr ($i*100) + 9] [expr ($i*100) + 10] $dof1;
equalDOF [expr ($i*100) + 9] [expr ($i*100) + 11] $dof1;
equalDOF [expr ($i*100) + 9] [expr ($i*100) + 12] $dof1;
equalDOF [expr ($i*100) + 13] [expr ($i*100) + 14] $dof1;
equalDOF [expr ($i*100) + 13] [expr ($i*100) + 15] $dof1;
equalDOF [expr ($i*100) + 13] [expr ($i*100) + 16] $dof1;
};
set dof2 2; # constrain movement in dof 2 (Y-direction);
for {set i 1} {$i <= $NStories} {incr i} {
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 5] $dof2;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 9] $dof2;
equalDOF [expr ($i*100) + 1] [expr ($i*100) + 13] $dof2;
equalDOF [expr ($i*100) + 2] [expr ($i*100) + 6] $dof2;
equalDOF [expr ($i*100) + 2] [expr ($i*100) + 10] $dof2;
equalDOF [expr ($i*100) + 2] [expr ($i*100) + 14] $dof2;
equalDOF [expr ($i*100) + 3] [expr ($i*100) + 7] $dof2;
equalDOF [expr ($i*100) + 3] [expr ($i*100) + 11] $dof2;
equalDOF [expr ($i*100) + 3] [expr ($i*100) + 15] $dof2;
equalDOF [expr ($i*100) + 4] [expr ($i*100) + 8] $dof2;
equalDOF [expr ($i*100) + 4] [expr ($i*100) + 12] $dof2;
equalDOF [expr ($i*100) + 4] [expr ($i*100) + 16] $dof2;
} ;
fix 1 1 1 1 1 1 1;
fix 2 1 1 1 1 1 1;
fix 3 1 1 1 1 1 1;
fix 4 1 1 1 1 1 1;
fix 5 1 1 1 1 1 1;
fix 6 1 1 1 1 1 1;
fix 7 1 1 1 1 1 1;
fix 8 1 1 1 1 1 1;
fix 9 1 1 1 1 1 1;
fix 10 1 1 1 1 1 1;
fix 11 1 1 1 1 1 1;
fix 12 1 1 1 1 1 1;
fix 13 1 1 1 1 1 1;
fix 14 1 1 1 1 1 1;
fix 15 1 1 1 1 1 1;
fix 16 1 1 1 1 1 1;
set CoreID 1; # material ID tag -- confined cover concrete
set CoverID 2; # material ID tag -- unconfined cover
set ReinfID 3; # material ID tag -- reinforcement
set fc -30700000 ; # Samples test , (N/m^2) ;
set Econ 21384000000 ; # (N/m^2)
set Fy 275000000 ; # (N/m^2)
set EtsConcrete [expr $Econ/10.]; # (N/m^2), tension softening stiffness for Concrete, also recommend to Consider as ($ft/0.002);
set Esteel 200000000000 ; # (N/m^2) #
################ Confined Concrete ##########
set fccore [expr (1.26394 * $fc)]; # Core Compressive Strength
(N/m^2)(+Tension, -Compression) ;
set epsc1 [expr (2 * $fccore / $Econ)];
set epsc2 [expr (5 * $epsc1)];
set fucore $fc;
########## Concrete02 variables ########### ;
set lambda 0.1 ; # ratio between unloading slope at
$epsc2 and initial slope ;
set ftc [expr (-0.1 *$fccore)]; # (N/m^2) , this value
always should be positive (Tension is +) and recommend to Consider as (- 0.1 * $fccore);
set b 0.02; # post-yield stiffness ratio of steel;
################ UnConfined Concrete ########## ;
set fccover $fc ; # (N/m^2);
set fucover [expr (0.1 * $fccover)]; # (N/m^2);
set ftucover [expr (-0.1 * $fccover)]; # (N/m^2);
uniaxialMaterial Concrete02 $CoreID $fccore $epsc1 $fucore $epsc2 $lambda $ftc $EtsConcrete; # CORE CONCRETE;
uniaxialMaterial Concrete02 $CoverID $fccover -0.003 $fucover -0.006 $lambda $ftucover $EtsConcrete ; #Cover CONCRETE;
set matTagReinforcingSteel $ReinfID ;
set fyReinforcingSteel $Fy ;
set fuReinforcingSteel 375000000 ;
set EsReinforcingSteel 200000000000 ;
set EshReinforcingSteel 50000000000 ;
set eshReinforcingSteel 0.024
set eultReinforcingSteel 0.053
set LsrReinforcingSteel 25 ;
set betaReinforcingSteel 1 ;
set rReinforcingSteel 0.4 ;
set gamaReinforcingSteel 0.5
uniaxialMaterial ReinforcingSteel $matTagReinforcingSteel
$fyReinforcingSteel $fuReinforcingSteel $EsReinforcingSteel
$EshReinforcingSteel $eshReinforcingSteel $eultReinforcingSteel -GABuck
$LsrReinforcingSteel $betaReinforcingSteel $rReinforcingSteel
$gamaReinforcingSteel ;
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
(Part 3);
## This Part is only to Define Material of Columns Story 1 ;
set ColStOneCoreID 6; # material ID tag -- confined
set ColStOneCoverID 7; # material ID tag -- unconfined
set ColStOneReinfID 8; # material ID tag -- reinforcement
set ColStOnefc -45700000 ; # Samples test , (N/m^2) ;
set ColStOneEcon 21384000000 ; # (N/m^2)
set ColStOneFy 275000000 ; # (N/m^2)
set ColStOneEtsConcrete [expr $ColStOneEcon/10.]; # (N/m^2), tension softening stiffness for Concrete, also recommend to Consider as ($ft/0.002);
set ColStOneEsteel 200000000000 ; # (N/m^2) #
################ Confined Concrete ##########
set ColStOnefccore [expr (1.26394 * $ColStOnefc)]; # Core Compressive Strength (N/m^2)(+Tension, -Compression)
set ColStOneepsc1 [expr (2 * $ColStOnefccore / $ColStOneEcon)];
set ColStOneepsc2 [expr (5 * $ColStOneepsc1)];
set ColStOnefucore $ColStOnefc;
########## Concrete02 variables ;
set ColStOnelambda 0.1 ; # ratio between unloading
slope at $epsc2 and initial slope ;
set ColStOneftc [expr (-0.1 *$ColStOnefccore)]; # (N/m^2) ,
this value always should be positive (Tension is +) and recommend to Consider as (-0.1 * $fccore);
set ColStOneb 0.02; # post-yield stiffness ratio of steel;
################ UnConfined Concrete ########## ;
set ColStOnefccover $ColStOnefc ; # (N/m^2);
set ColStOnefucover [expr (0.1 * $ColStOnefccover)]; #
(N/m^2);
set ColStOneftucover [expr (-0.1 * $ColStOnefccover)]; #
(N/m^2);
uniaxialMaterial Concrete02 $ColStOneCoreID $ColStOnefccore $ColStOneepsc1 $ColStOnefucore $ColStOneepsc2 $ColStOnelambda $ColStOneftc $ColStOneEtsConcrete; # CORE CONCRETE;
uniaxialMaterial Concrete02 $ColStOneCoverID $ColStOnefccover -0.003 $ColStOnefucover -0.006 $ColStOnelambda $ColStOneftucover $ColStOneEtsConcrete ; #Cover CONCRETE;
uniaxialMaterial ReinforcingSteel $ColStOneReinfID $fyReinforcingSteel
$fuReinforcingSteel $EsReinforcingSteel $EshReinforcingSteel
$eshReinforcingSteel $eultReinforcingSteel -GABuck $LsrReinforcingSteel $betaReinforcingSteel $rReinforcingSteel $gamaReinforcingSteel ;
set FrpID 9;
uniaxialMaterial Elastic 77 230000000000.0
uniaxialMaterial MinMax $FrpID 77 -min 0.0 -max 1.8e-2 ;
### ********************** ;
set tFrp 0.001 ; # 3 layer frp = 1 mm = 0.001 m ;
proc FRPColumn_Sec {id Hsec Bsec tcover ColStOneReinfID BarNum1 BarNum2
BarArea ColStOneCoreID ColStOneCoverID tFrp} { ;
section Fiber $id {
set FrpID 9;
#Core
.
#bottom cover
.
#top cover
.
#left cover
#Right cover
.
# Bottom frp
.
#Top frp
.
#Right frp
.
#Left frp
.
# bottom bars
.
# top bars
.
# left bars
.
# Right bars
.
}
} ;
proc BeamsXdirection_Sec {id Hsec Bsec tcover ReinfID BarNumtop
BarNumbottom BarAreatop BarAreabottom CoreID CoverID} { ;
section Fiber $id {
# Core
.
# bottom cover
.
# top cover
.
# left cover
.
# Right cover
.
# bottom bars
.
# top bars
.
}
} ;
proc BeamsYdirection_Sec {id Hsec Bsec tcover ReinfID BarNumtopsery1 BarNumbottomsery1 BarAreatopsery1 BarAreabottomsery1 BarNumtopsery2 BarNumbottomsery2 BarAreatopsery2 BarAreabottomsery2 CoreID CoverID} { ;
section Fiber $id {
#Core
.
#bottom cover
.
#top cover
.
#left cover
.
#Right cover
.
# bottom bars sery 1
.
# top bars sery 1
.
# bottom bars sery 2
.
# top bars sery 2
.
}
} ;
FRPColumn_Sec 70 0.35 0.35 0.04 8 5 3 0.000314 6 7 0.001 ;
# columnsStoryOne ;
BeamsXdirection_Sec 90 0.4 0.3 0.04 3 4 4 0.0002 0.0002 1 2;
BeamsYdirection_Sec 95 0.4 0.3 0.04 3 4 3 0.0002 0.0002 3 2
0.0002 0.0002 1 2;
set SecTagTorsion 71
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number
set nu 0.2; # Poisson's ratio
set Gc [expr $Econ/2./[expr 1+$nu]]; # Torsional stiffness
Modulus ;
set J $Ubig; # set large torsional stiffnes
# assign torsional Stiffness for 3D Model
uniaxialMaterial Elastic $SecTagTorsion $Ubig
π https://t.me/OpenSeesCommunity
## This Part is only to Define Material of Columns Story 1 ;
set ColStOneCoreID 6; # material ID tag -- confined
set ColStOneCoverID 7; # material ID tag -- unconfined
set ColStOneReinfID 8; # material ID tag -- reinforcement
set ColStOnefc -45700000 ; # Samples test , (N/m^2) ;
set ColStOneEcon 21384000000 ; # (N/m^2)
set ColStOneFy 275000000 ; # (N/m^2)
set ColStOneEtsConcrete [expr $ColStOneEcon/10.]; # (N/m^2), tension softening stiffness for Concrete, also recommend to Consider as ($ft/0.002);
set ColStOneEsteel 200000000000 ; # (N/m^2) #
################ Confined Concrete ##########
set ColStOnefccore [expr (1.26394 * $ColStOnefc)]; # Core Compressive Strength (N/m^2)(+Tension, -Compression)
set ColStOneepsc1 [expr (2 * $ColStOnefccore / $ColStOneEcon)];
set ColStOneepsc2 [expr (5 * $ColStOneepsc1)];
set ColStOnefucore $ColStOnefc;
########## Concrete02 variables ;
set ColStOnelambda 0.1 ; # ratio between unloading
slope at $epsc2 and initial slope ;
set ColStOneftc [expr (-0.1 *$ColStOnefccore)]; # (N/m^2) ,
this value always should be positive (Tension is +) and recommend to Consider as (-0.1 * $fccore);
set ColStOneb 0.02; # post-yield stiffness ratio of steel;
################ UnConfined Concrete ########## ;
set ColStOnefccover $ColStOnefc ; # (N/m^2);
set ColStOnefucover [expr (0.1 * $ColStOnefccover)]; #
(N/m^2);
set ColStOneftucover [expr (-0.1 * $ColStOnefccover)]; #
(N/m^2);
uniaxialMaterial Concrete02 $ColStOneCoreID $ColStOnefccore $ColStOneepsc1 $ColStOnefucore $ColStOneepsc2 $ColStOnelambda $ColStOneftc $ColStOneEtsConcrete; # CORE CONCRETE;
uniaxialMaterial Concrete02 $ColStOneCoverID $ColStOnefccover -0.003 $ColStOnefucover -0.006 $ColStOnelambda $ColStOneftucover $ColStOneEtsConcrete ; #Cover CONCRETE;
uniaxialMaterial ReinforcingSteel $ColStOneReinfID $fyReinforcingSteel
$fuReinforcingSteel $EsReinforcingSteel $EshReinforcingSteel
$eshReinforcingSteel $eultReinforcingSteel -GABuck $LsrReinforcingSteel $betaReinforcingSteel $rReinforcingSteel $gamaReinforcingSteel ;
set FrpID 9;
uniaxialMaterial Elastic 77 230000000000.0
uniaxialMaterial MinMax $FrpID 77 -min 0.0 -max 1.8e-2 ;
### ********************** ;
set tFrp 0.001 ; # 3 layer frp = 1 mm = 0.001 m ;
proc FRPColumn_Sec {id Hsec Bsec tcover ColStOneReinfID BarNum1 BarNum2
BarArea ColStOneCoreID ColStOneCoverID tFrp} { ;
section Fiber $id {
set FrpID 9;
#Core
.
#bottom cover
.
#top cover
.
#left cover
#Right cover
.
# Bottom frp
.
#Top frp
.
#Right frp
.
#Left frp
.
# bottom bars
.
# top bars
.
# left bars
.
# Right bars
.
}
} ;
proc BeamsXdirection_Sec {id Hsec Bsec tcover ReinfID BarNumtop
BarNumbottom BarAreatop BarAreabottom CoreID CoverID} { ;
section Fiber $id {
# Core
.
# bottom cover
.
# top cover
.
# left cover
.
# Right cover
.
# bottom bars
.
# top bars
.
}
} ;
proc BeamsYdirection_Sec {id Hsec Bsec tcover ReinfID BarNumtopsery1 BarNumbottomsery1 BarAreatopsery1 BarAreabottomsery1 BarNumtopsery2 BarNumbottomsery2 BarAreatopsery2 BarAreabottomsery2 CoreID CoverID} { ;
section Fiber $id {
#Core
.
#bottom cover
.
#top cover
.
#left cover
.
#Right cover
.
# bottom bars sery 1
.
# top bars sery 1
.
# bottom bars sery 2
.
# top bars sery 2
.
}
} ;
FRPColumn_Sec 70 0.35 0.35 0.04 8 5 3 0.000314 6 7 0.001 ;
# columnsStoryOne ;
BeamsXdirection_Sec 90 0.4 0.3 0.04 3 4 4 0.0002 0.0002 1 2;
BeamsYdirection_Sec 95 0.4 0.3 0.04 3 4 3 0.0002 0.0002 3 2
0.0002 0.0002 1 2;
set SecTagTorsion 71
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number
set nu 0.2; # Poisson's ratio
set Gc [expr $Econ/2./[expr 1+$nu]]; # Torsional stiffness
Modulus ;
set J $Ubig; # set large torsional stiffnes
# assign torsional Stiffness for 3D Model
uniaxialMaterial Elastic $SecTagTorsion $Ubig
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
(Part 4);
section Aggregator 700 $SecTagTorsion T -section 70
section Aggregator 900 $SecTagTorsion T -section 90
section Aggregator 950 $SecTagTorsion T -section 95
# set up geometric transformations of elements ;
geomTransf PDelta 1 0.0 0.0 -1.0 -jntOffset 0.17 0.0 0.0 0.17 0.0 0.0 ; # PDelta transformation for all beams Directon X ;
geomTransf PDelta 2 0.0 0.0 -1.0 -jntOffset 0.0 0.17 0.0 0.0 0.17 0.0 ; # PDelta transformation for all beams Directon Y ;
geomTransf PDelta 3 1.0 0.0 0.0 -jntOffset 0.0 0.0 0.17 0.0 0.0 0.17 ; # PDelta transformation for all Columns ;
# define nonlinear column elements using "element" command ;
# # Columns ;
element nonlinearBeamColumn 101 1 101 5 700 3
element nonlinearBeamColumn 102 2 102 5 700 3
element nonlinearBeamColumn 103 3 103 5 700 3
...
...
# Beams direction X ;
element nonlinearBeamColumn 1001 101 102 5 900 1
element nonlinearBeamColumn 1002 102 103 5 900 1
element nonlinearBeamColumn 1003 103 104 5 900 1
...
...
# Beams direction Y ;
element nonlinearBeamColumn 1013 101 105 5 950 2
element nonlinearBeamColumn 1014 105 109 5 950 2
element nonlinearBeamColumn 1015 109 113 5 950 2
...
...
puts " Congratulation !!! , Columns & Beams elements defined !!!."
puts " "
puts " "
π https://t.me/OpenSeesCommunity
section Aggregator 700 $SecTagTorsion T -section 70
section Aggregator 900 $SecTagTorsion T -section 90
section Aggregator 950 $SecTagTorsion T -section 95
# set up geometric transformations of elements ;
geomTransf PDelta 1 0.0 0.0 -1.0 -jntOffset 0.17 0.0 0.0 0.17 0.0 0.0 ; # PDelta transformation for all beams Directon X ;
geomTransf PDelta 2 0.0 0.0 -1.0 -jntOffset 0.0 0.17 0.0 0.0 0.17 0.0 ; # PDelta transformation for all beams Directon Y ;
geomTransf PDelta 3 1.0 0.0 0.0 -jntOffset 0.0 0.0 0.17 0.0 0.0 0.17 ; # PDelta transformation for all Columns ;
# define nonlinear column elements using "element" command ;
# # Columns ;
element nonlinearBeamColumn 101 1 101 5 700 3
element nonlinearBeamColumn 102 2 102 5 700 3
element nonlinearBeamColumn 103 3 103 5 700 3
...
...
# Beams direction X ;
element nonlinearBeamColumn 1001 101 102 5 900 1
element nonlinearBeamColumn 1002 102 103 5 900 1
element nonlinearBeamColumn 1003 103 104 5 900 1
...
...
# Beams direction Y ;
element nonlinearBeamColumn 1013 101 105 5 950 2
element nonlinearBeamColumn 1014 105 109 5 950 2
element nonlinearBeamColumn 1015 109 113 5 950 2
...
...
puts " Congratulation !!! , Columns & Beams elements defined !!!."
puts " "
puts " "
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
Forwarded from Opensees Community
According to growth of the channel Contents, you can also join here:πππ
https://www.instagram.com/openseescommunity
https://www.instagram.com/openseescommunity
The OpenSees applications allows developers to use their own material modules to the application. Unlike most other programs, the materials are added at run time and not at compile time. The advantage of this is the developers:
1- Do not need the OpenSees source files or libraries to compile and link the application.
2- Can share their modules with others without having to provide the source code.
For those new to programming NEVER EVER NEVER start with an empty file. Take something similar that works and make changes to that file. So, for the purpose of adding your code to OpenSees, C++, C and Fortran examples are provided here:
http://opensees.berkeley.edu/OpenSees/developer/ πππ
π https://t.me/OpenSeesCommunity
1- Do not need the OpenSees source files or libraries to compile and link the application.
2- Can share their modules with others without having to provide the source code.
For those new to programming NEVER EVER NEVER start with an empty file. Take something similar that works and make changes to that file. So, for the purpose of adding your code to OpenSees, C++, C and Fortran examples are provided here:
http://opensees.berkeley.edu/OpenSees/developer/ πππ
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
A powerful 7.3 magnitude earthquake near the Iran-Iraq border killed over 400 people and injured thousands, sent residents fleeing their homes into the night and was felt as far away as the Mediterranean coast. The quake was centered 19 miles (31 kilometers) outside the eastern Iraqi city of Halabja, according to the most recent measurements from the U.S. Geological Survey. It struck at 9:48 p.m. Iran time, just as people began retiring for the night. The quake's worst damage appeared to be in the town of Sarpol-e-Zahab in Kermanshah province, which sits in the Zagros Mountains that divide Iran and Iraq.
May peace be on them and condolences to their dear families, for this loss.πππ
π https://t.me/OpenSeesCommunity
May peace be on them and condolences to their dear families, for this loss.πππ
π https://t.me/OpenSeesCommunity
Telegram
Opensees Community
The Largest OpenSees Community of Iran (LOCI). Channel is managed by Dr. Afshin Alborzi.
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
https://www.instagram.com/ledocteurafshina
YouTube: LOCI Community
Contact with administratorπ
@OpenSeesCommunity_pm
Forwarded from d d d d
Prof. Jack Baker (Stanford University) discusses methods of ground motion simulation and approaches for simulation validation.πππ
π https://t.me/OpenSeesCommunity2
π https://t.me/OpenSeesCommunity2