Search found 29 matches

by ahmadbsr
Mon Aug 10, 2020 11:29 pm
Forum: Parallel Processing
Topic: IDA code
Replies: 4
Views: 18287

Re: IDA code

parasismique wrote: Mon Oct 29, 2018 7:10 am anitha, please.
Can you share the IDA script. I had the same problem?

I appriciate your help.

Hayet BOUAZZA.
Did you get it ? it is my problem too.
by ahmadbsr
Sun Jun 28, 2020 5:33 am
Forum: OpenSees.exe Users
Topic: frame wall connection
Replies: 10
Views: 12979

Re: frame wall connection

vahidbarzegar wrote: Fri May 26, 2017 8:16 am equalDOF?
The adjacent beam and centerline of the wall are 4 meters apart. Does equalDOF work?
The purpose of the stiff beam is 1) to consider the length of the wall and 2) to impose rotations of the wall to adjacent beams.
equalDOF, in this case, imposes the rotations of the centerline of wall to the beams.
Did you fix your problem? I want ask you something
by ahmadbsr
Thu Jun 25, 2020 10:00 am
Forum: OpenSees.exe Users
Topic: how to model...
Replies: 9
Views: 15266

Re: how to model...

gst wrote: Mon Sep 11, 2017 12:35 pm Thank you very much to all of you, I've solved the problem!!
How did you solve it ?
by ahmadbsr
Thu Jun 25, 2020 2:51 am
Forum: OpenSees.exe Users
Topic: Element SFI_MVLEM
Replies: 5
Views: 8274

Re: Element SFI_MVLEM

selimgunay wrote: Sun Aug 19, 2018 3:16 am Could you contact Dr. Kristijan Kolozvari in CSU Fullerton?
Can I model the Shear wall in the bay of frame with SFI method ?
by ahmadbsr
Thu Jun 25, 2020 2:29 am
Forum: OpenSees.exe Users
Topic: double curvature test
Replies: 2
Views: 4984

Re: double curvature test

mohammmad wrote: Sun Jul 21, 2019 12:36 am I have read the report "Shear-Flexure Interaction Modeling for Reinforced Concrete Structural Walls and Columns under Reversed Cyclic Loading".
In this report, it is mentioned that analytical models of column specimens were generated in OpenSees using the SFI-MVLEM model elements.
Three of the four specimens were tested under double curvature, whereas only Specimen #2 (Table 3.1, Shanmugam [2009]) was tested in a single curvature.
How can we model a double curvature test with SFI-MVLEM?
Can anyone share a code for modeling a double curvature test with OpenSees?
Does anyone have a code for modeling a double curvature test with SFI-MVLEM?
Can i model the Shear wall in the bay of frame with SFI method ?
by ahmadbsr
Thu Jun 25, 2020 12:45 am
Forum: OpenSees.exe Users
Topic: shear wall cyclic behaviour
Replies: 4
Views: 7558

Re: shear wall cyclic behaviour

lorenzino wrote: Fri Aug 11, 2017 10:42 am Hi everyone,
I am trying to model a shear wall with SFI-MVLEM. I used Menegotto&Pinto constitutive model for steel and Chang&Mander for concrete. I calculated all the concrete parameters following Chang&Mander formulas, except the values of xcrnu and xcrnc (see the code later). The model seems to work very well but only for the first 4 or 5 displacement-cycle peaks (in total I have 8 peaks). After the first peaks it fails to converge. What should I do? Thanks to everyone is going to help me.

# Wall Geometry
set H 192; # Wall height
set t 12; # Wall thickness

# Create nodes
# node nodeId xCrd yCrd
node 1 0 0;
node 2 0 12.8;
node 3 0 25.6;
node 4 0 38.4;
node 5 0 51.2;
node 6 0 64;
node 7 0 76.8;
node 8 0 89.6;
node 9 0 102.4;
node 10 0 115.2;
node 11 0 128;
node 12 0 140.8;
node 13 0 153.6;
node 14 0 166.4;
node 15 0 179.2;
node 16 0 $H;

# Boundary conditions
fix 1 1 1 1; # Fixed condition at node 1

# Set Control Node and DOF
set IDctrlNode 16;
set IDctrlDOF 1;

# ------------------------------------------------------------------------
# Define uniaxial materials for 2D RC Panel Constitutive Model (FSAM)
# ------------------------------------------------------------------------

# STEEL ...........................................................
# uniaxialMaterial SteelMPF $mattag $fyp $fyn $E0 $bp $bn $R0 $a1 $a2

# steel Xweb and Xboundary (#4)
set fy4 74.25; # fy
set b4 0.012; # strain hardening

# steel Yweb and Yboundary(#6)
set fy6 73.26; # fy
set b6 0.01; # strain hardening

# steel misc
set Es4 22797.05; # Young's modulus
set Es6 24986.36; # Young's modulus
set R0 20.0; # initial value of curvature parameter
set A1 0.925; # curvature degradation parameter
set A2 0.15; # curvature degradation parameter (good value)

# Build steel materials
uniaxialMaterial SteelMPF 1 $fy4 $fy4 $Es4 $b4 $b4 $R0 $A1 $A2; # steel Xweb+Xbound
uniaxialMaterial SteelMPF 2 $fy6 $fy6 $Es6 $b6 $b6 $R0 $A1 $A2; # steel Yweb+Ybound

# CONCRETE ........................................................
# uniaxialMaterial ConcreteCM $mattag $fpcc $epcc $Ec $rc $xcrn $ft $et $rt $xcrp <-GapClose $gap>

# unconfined
set fpc 5.9513; # peak compressive stress - dato da test
set ec0 -0.002196; # strain at peak compressive stress - (0.002303 da test) (concr07 0.002196)
set ft 0.289; # peak tensile stress - da formula concr07
set et 0.00012; # strain at peak tensile stress - da formula concr07
set Ec 4815.61; # Young's modulus - (4815.61 da formula concr07) (2584 da test) (4643.5 da 5000*fc^.5(MPa))
set xcrnu 1.022; # cracking strain - compression (???)
set xcrp 10000; # cracking strain - tension
set ru 6.035; # shape parameter - compression (6.035)
set rt 1.2; # shape parameter - tension

# confined
set fpcc 8.828; # peak compressive stress
set ec0c -0.0075; # strain at peak compressive stress (a rigore sarebbe 0.0061)
set Ecc 5583; # Young's modulus (5583 da concr07)
set xcrnc 1.023; # cracking strain - compression (???)
set rc 9.87; # shape parameter - compression

# Build concrete materials
uniaxialMaterial ConcreteCM 4 -$fpc $ec0 $Ec $ru $xcrnu $ft $et $rt $xcrp -GapClose 0; # unconfined concrete
uniaxialMaterial ConcreteCM 5 -$fpcc $ec0c $Ecc $rc $xcrnc $ft $et $rt $xcrp -GapClose 0; # confined concrete

# ---------------------------------------
# Define 2D RC Panel Material (FSAM)
# ---------------------------------------

# Reinforcing ratios
set rouXw 0.0056; # X web
set rouXb 0.0125 ; # X boundary
set rouYw 0.00828 ; # Y web
set rouYb 0.0157; # Y boundary

# Shear resisting mechanism parameters
set nu 0.2; # friction coefficient
set alfadow 0.01; # dowel action stiffness parameter

# nDMaterial FSAM $mattag $rho $sX $sY $conc $rouX $rouY $nu $alfadow
nDMaterial FSAM 6 0.0 1 2 4 $rouXw $rouYw $nu $alfadow; # Web (unconfined concrete)
nDMaterial FSAM 7 0.0 1 2 5 $rouXb $rouYb $nu $alfadow; # Boundary (confined concrete)

# ------------------------------
# Define SFI_MVLEM elements
# ------------------------------

# element SFI_MVLEM eleTag iNode jNode m c -thick fiberThick -width fiberWidth -mat matTags
element SFI_MVLEM 1 1 2 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 2 2 3 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 3 3 4 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 4 4 5 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 5 5 6 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 6 6 7 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 7 7 8 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 8 8 9 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 9 9 10 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 10 10 11 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 11 11 12 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 12 12 13 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 13 13 14 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 14 14 15 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
element SFI_MVLEM 15 15 16 8 0.4 -thick $t $t $t $t $t $t $t $t -width 8.5 8.5 15.5 15.5 15.5 15.5 8.5 8.5 -mat 7 7 6 6 6 6 7 7
# ------------------------------
# End of model generation
# ------------------------------

# ---------------------
# Define Axial Load
# ---------------------

set N [expr 520.318]; # kips

# -------------------------------------------------------
# Set parameters for displacement controlled analysis
# -------------------------------------------------------

# vector of displacement-cycle peaks in terms of wall drift ratio
set iDmax "0.00125 0.0025 0.005 0.0075"; # 0.01 0.015 0.02 0.025
set Dincr 0.01; # displacement increment for displacement controlled analysis.
set CycleType Full; # type of cyclic analysis: Full / Push / Half
set Ncycles 1; # specify the number of cycles at each peak
set Tol 1.0e-5;
set LunitTXT "inch";

# ------------------------------
# Gravity load analysis
# ------------------------------

# Generate the model and load input variables
source GloriaSW_16.tcl

# Create a Plain load pattern with a linear TimeSeries
pattern Plain 1 "Linear" {

# Create the nodal load - command: load nodeID xForce yForce
load $IDctrlNode 0.0 [expr -$N] 0.0
}

# ------------------------------
# Analysis generation
# ------------------------------

# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1

# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral

# Create the convergence test, the norm of the residual with a tolerance of
# 1e-5 and a max number of iterations of 100
test NormDispIncr $Tol 100 0

# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM

# Create the constraint handler, the transformation method
constraints Transformation

# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton # -initialThenCurrent

# Create the analysis object
analysis Static

# Run analysis
analyze 10


# ----------------------------------------------------
# Displacement Controlled Analysis
# ----------------------------------------------------

source gravity.tcl

puts "Model generated and gravity load applied successfully";

# Set the gravity loads to be constant & reset the time in the domain
loadConst -time 0.0

set Fact $H; # scale drift ratio by storey height for displacement cycles

# Set lateral load pattern with a Linear TimeSeries
set Plateral 1.0; # Reference lateral load
pattern Plain 200 "Linear" {

load $IDctrlNode $Plateral 0.0 0.0
}

set load_step 1;

# set up analysis parameters
source LibAnalysisStaticParameters.tcl; # constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator

# perform Static Cyclic Displacements Analysis
source LibGeneratePeaks.tcl

set fmt1 "%s Cyclic analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis

foreach Dmax $iDmax {

set iDstep [GeneratePeaks $Dmax $Dincr $CycleType $Fact]; # this proc is defined above

for {set i 1} {$i <= $Ncycles} {incr i 1} {

set zeroD 0
set D0 0.0
foreach Dstep $iDstep {
set D1 $Dstep
set Dincr [expr $D1 - $D0]
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr
analysis Static
# ----------------------------------------------first analyze command------------------------
set ok [analyze 1]
# ----------------------------------------------if convergence failure-------------------------
if {$ok != 0} {
# if analysis fails, we try some other stuff
# performance is slower inside this loop global maxNumIterStatic;# max no. of iterations performed before "failure to converge" is ret'd
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 10000 0
algorithm Newton -initial
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic 500 1
}
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test EnergyIncr $Tol 10000 0
algorithm Newton -initial
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic 500 1
}
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormUnbalance $Tol 10000 0
algorithm Newton -initial
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic 500 1
}
if {$ok != 0} {
puts "Trying Newton with InitialThenCurrent Tangent .."
test NormDispIncr $Tol 10000 0
algorithm Newton -initialThenCurrent
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic 500 1
}
if {$ok != 0} {
puts "Trying Newton with InitialThenCurrent Tangent .."
test EnergyIncr $Tol 10000 0
algorithm Newton -initialThenCurrent
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic 500 1
}
if {$ok != 0} {
puts "Trying Newton with InitialThenCurrent Tangent .."
test NormUnbalance $Tol 10000 0
algorithm Newton -initialThenCurrent
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic 500 1
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 3000
set ok [analyze 1 ]
algorithm $algorithmTypeStatic
}
if {$ok != 0} {
puts "Newton Line Search"
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
}
if {$ok != 0} {
puts "BFGS"
algorithm BFGS
set ok [analyze 1];
}
if {$ok != 0} {
set putout [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
puts $putout
return -1
}; # end if
}; # end if
# -----------------------------------------------------------------------------------------------------
set D0 $D1; # move to next step

# print load step on the screen
puts "Load Step: [expr $load_step]"
set load_step [expr $load_step+1]

}; # end Dstep

}; # end i

}; # end of iDmaxCycl
# -----------------------------------------------------------------------------------------------------
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
} else {
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
}

# Print the state at control node
print node $IDctrlNode
Can I model the Shear wall in the bay of frame with SFI method ?
by ahmadbsr
Thu Jun 25, 2020 12:43 am
Forum: OpenSees.exe Users
Topic: SFI-MVLEM shear wall modelling
Replies: 1
Views: 4382

Re: SFI-MVLEM shear wall modelling

kevineffendyy wrote: Tue Oct 24, 2017 3:52 am Hi,
I currently am working on a research on the validation of SFI-MVLEM analytical modelling on a variety of shear wall specimens, including non rectangular (barbel and flange-shaped) ones. I am using the example file Example1. SFI_MVLEM (http://opensees.berkeley.edu/wiki/index ... r_RC_Walls) as my reference of the modelling in OpenSees. However, in the process I encountered several problems that I would like to ask about.

1. Can the SFI-MVLEM OpenSees code be used in metric units? Or is it built to be used in British units only?

2. When validating RC shear walls with barbel or flange boundaries, can I just simply adjust the thickness of the boundary fibers? Or is there any other parameters or factors needed to be adjusted? During my validation process of these types of walls, I encountered overestimation of stiffness which resulted in a very steep slope on the hysteresis curves unlike the ones from the wall testing. Therefore, I was wondering if maybe there are several other adjustments necessary for these types of walls.

3. If I understand correctly, the parameters of concrete are based on the equations from Chang and Mander. However, I found differences in parameter values, namely the shape parameter of concrete in compression between the empirical equations and the ones inputted in the SFI-MVLEM code example. Because of that, I would like to ask if there are more required adjustments in the process.

Thanks in advance
Can I model the Shear wall in the bay of frame with SFI method ?
by ahmadbsr
Wed Jun 24, 2020 11:50 pm
Forum: OpenSees.exe Users
Topic: Error using "nDMaterial FAReinforcedConcretePlaneStress"
Replies: 11
Views: 11765

Re: Error using "nDMaterial FAReinforcedConcretePlaneStress"

fmk wrote: Tue Jun 19, 2018 3:24 am these materials cause problems .. i have some newer materials for modeling walls .. you might even try forgetting the beam elements with these .. here is some code copied from an example put together by Dr. Petrone

# Concrete
# Parameters for the new concrete model
set E [expr 36900e6*$Pa] ;#elastic modulus
set nu 0.2 ;#Poisson ratio
set fc [expr 56.0e6*$Pa] ;#compressive yield strength
set ft [expr 5.0e6*$Pa] ;#tensile yield strength
set Ap 0.1 ;#damage material data
set An 1.5 ;#damage material data
set Bn 0.75 ;#damage material data
set Beta 0.4

nDMaterial PlasticDamageConcretePlaneStress 10 $E $nu $ft $fc $Beta $Ap $An $Bn; #Boundaries
nDMaterial PlasticDamageConcretePlaneStress 11 $E $nu $ft $fc $Beta $Ap $An $Bn; #Web

#NONLINEAR BIDIRECTIONAL Steel
# STEEL
set Steel 2
set Fy [expr 457.5e+6*$Pa]
set E [expr 200000e+6*$Pa]
set b 0.011042
set R0 20.0
set CR1 0.925
set CR2 0.15
set a1 0.0
set a2 55.0
set a3 0.0
set a4 55.0
#uniaxialMaterial Steel02 $Steel $Fy $E $b $R0 $CR1 $CR2 $a1 $a2 $a3 $a4

#uniaxialMaterial Steel4 $Steel $Fy $E -kin $b 20 0.9 0.15
#uniaxialMaterial Steel02 $Steel $Fy $E $b $R0 $CR1 $CR2 $a1 $a2 $a3 $a4
uniaxialMaterial Steel01 $Steel $Fy $E $b $a1 $a2 $a3 $a4


nDMaterial PlaneStressRebarMaterial 12 $Steel 0; #vertical
nDMaterial PlaneStressRebarMaterial 13 $Steel 90; #horizontal

# define SECTION
set t [expr 6.*2.54*0.01]; #in m

nDMaterial PlaneStressLayeredMaterial 1 3 10 $t 12 [expr $t*.0278] 13 [expr $t*.0278];# Boundaries
nDMaterial PlaneStressLayeredMaterial 2 3 11 $t 12 [expr $t*.00367*1.0] 13 [expr $t*.00367*1.0];#Web FACTOR 1.3


for {set j 0} {$j < $numX} {incr j 1} {
if {$j < $numEdge || $j >= [expr $numX-$numEdge]} {
element quad $eleTag $iNode $jNode $kNode $lNode 1.0 PlaneStress 1
} else {
element quad $eleTag $iNode $jNode $kNode $lNode 1.0 PlaneStress 2
}
Can I model the Shear wall in the bay of frame with SFI element ?
by ahmadbsr
Wed Jun 24, 2020 11:43 pm
Forum: OpenSees.exe Users
Topic: Push over of 3-story R.C. shear wall
Replies: 3
Views: 6226

Re: Push over of 3-story R.C. shear wall

selimgunay wrote: Mon Jun 22, 2020 7:39 pm The quickest way of debugging your tcl file is to add puts commands in several lines to see until which point it proceeds fine. Also it is needed to run opensees from the command prompt to avoid sudden closing of the window
Can I model the Shear wall in the bay of frame with SFI element ?
by ahmadbsr
Sun Jun 14, 2020 11:19 pm
Forum: OpenSees.exe Users
Topic: convergence of analysis
Replies: 6
Views: 8850

Re: convergence of analysis

schoolstru wrote: Sat Apr 29, 2017 7:48 am TPdct wrote:
> Also, I advise you to use OpenSeesMP with Mumps solver to make computation
> fast enough
Thanks for your reply;
this error was due to modeling;
and it removed when i examined and correct the model;
i would like to thank you for your reply; it would be useful for me.
How did you fix your problem? because I have same problem
by ahmadbsr
Sun Jun 14, 2020 1:06 pm
Forum: OpenSees.exe Users
Topic: modelong of rigid diaphragm in 2d steel frame
Replies: 9
Views: 11586

Re: modelong of rigid diaphragm in 2d steel frame

selimgunay wrote: Wed Jun 10, 2020 2:22 pm Yes you need to use transformation, penalty or Lagrange multipliers for mulit-dof constraints (i.e. constraints that related different DOF to each other)
Thanks for your time but I faced with a Problem when I run my model , It did not give me a results, my results of elements and nodes will be zero zero zero........
I will be thankful if you could help me



My Model





# In The Name Of God
# AHMAD BSR
# George D.Hatzigeorgiou a, AsteriosA.Liolios Model
# 2D Concrete Frame Model
# regular ,Model/ 3 Story
# Units KN,M
wipe ;
wipeAnalysis ;
model BasicBuilder -ndm 2 -ndf 3 ;
# define Parameters
set displayMode "displayON"
set L1 5.00 ;
set H1 3.00 ;
set DL 2000.0;
set LL 0 ;
set mConc 2000.0 ;
set FileName "3Story.regular_Spring_Rigid Model"
file mkdir $FileName ;
set fc 20e6 ;
set Ec 21019e6 ;
set Cover 0.04 ;
set pi 3.141592654 ;
# Define nodes
# Base nodes
# X Y
node 1 0.0 0.0 ;
node 2 $L1 0.0 ;
node 3 [expr 2*$L1] 0.0 ;
node 4 [expr 3*$L1] 0.0 ;
node 5 [expr 3*$L1] 0.0 ;
node 6 [expr 2*$L1] 0.0 ;
node 7 $L1 0.0 ;
node 8 0.0 0.0 ;
# First Floor
node 11 0.0 2.8 ;
node 112 0.0 2.8 ;
node 12 $L1 2.8 ;
node 122 $L1 2.8 ;

node 13 [expr 2*$L1] 2.8 ;
node 132 [expr 2*$L1] 2.8 ;
node 14 [expr 3*$L1] 2.8 ;
node 142 [expr 3*$L1] 2.8 ;
node 15 [expr 3*$L1] 3.2 ;
node 152 [expr 3*$L1] 3.2 ;
node 155 [expr 3*$L1] $H1 ;
node 16 [expr 2*$L1] 3.2 ;
node 162 [expr 2*$L1] 3.2 ;
node 166 [expr 2*$L1] $H1 ;
node 17 $L1 3.2 ;
node 172 $L1 3.2 ;
node 177 $L1 $H1 ;
node 18 0.0 3.2 ;
node 182 0.0 3.2 ;

node 188 0.0 $H1 ;
node 123 0.2 $H1 ;
node 1232 0.2 $H1 ;

node 1233 4.85 [expr 1*$H1] ;
node 12332 4.85 [expr 1*$H1] ;

node 124 5.15 [expr 1*$H1] ;
node 1242 5.15 [expr 1*$H1] ;
node 1243 9.85 [expr 1*$H1] ;
node 12432 9.85 [expr 1*$H1] ;
node 125 10.15 [expr 1*$H1] ;
node 1252 10.15 [expr 1*$H1] ;

node 1253 14.85 [expr 1*$H1] ;
node 12532 14.85 [expr 1*$H1] ;

#

# Second Floor
node 21 0.0 5.8 ;
node 212 0.0 5.8 ;
node 22 $L1 5.8 ;
node 222 $L1 5.8 ;
node 23 [expr 2*$L1] 5.8 ;
node 232 [expr 2*$L1] 5.8 ;
node 24 [expr 3*$L1] 5.8 ;
node 242 [expr 3*$L1] 5.8 ;
node 25 [expr 3*$L1] 6.2 ;
node 252 [expr 3*$L1] 6.2 ;
node 255 [expr 3*$L1] [expr 2*$H1] ;
node 26 [expr 2*$L1] 6.2 ;
node 262 [expr 2*$L1] 6.2 ;

node 266 [expr 2*$L1] [expr 2*$H1] ;
node 27 $L1 6.2 ;
node 272 $L1 6.2 ;

node 277 $L1 [expr 2*$H1] ;
node 28 0.0 6.2 ;
node 282 0.0 6.2 ;

node 288 0.0 [expr 2*$H1] ;
node 133 0.15 [expr 2*$H1] ;
node 1332 0.15 [expr 2*$H1] ;

node 1333 4.85 [expr 2*$H1] ;
node 13332 4.85 [expr 2*$H1] ;

node 134 5.15 [expr 2*$H1] ;
node 1342 5.15 [expr 2*$H1] ;
node 1343 9.85 [expr 2*$H1] ;
node 13432 9.85 [expr 2*$H1] ;

node 135 10.15 [expr 2*$H1] ;
node 1352 10.15 [expr 2*$H1] ;
node 1353 14.85 [expr 2*$H1] ;
node 13532 14.85 [expr 2*$H1] ;
# Third Floor
node 31 0.0 8.8 ;
node 312 0.0 8.8 ;

node 32 $L1 8.8 ;
node 322 $L1 8.8 ;

node 33 [expr 2*$L1] 8.8 ;
node 332 [expr 2*$L1] 8.8 ;

node 34 [expr 3*$L1] 8.8 ;
node 342 [expr 3*$L1] 8.8 ;

node 355 [expr 3*$L1] [expr 3*$H1] ;
node 366 [expr 2*$L1] [expr 3*$H1] ;
node 377 $L1 [expr 3*$H1] ;
node 388 0.0 [expr 3*$H1] ;
node 143 0.175 [expr 3*$H1] ;
node 1432 0.175 [expr 3*$H1] ;

node 1433 4.85 [expr 3*$H1] ;
node 14332 4.85 [expr 3*$H1] ;

node 144 5.15 [expr 3*$H1] ;
node 1442 5.15 [expr 3*$H1] ;
node 1443 9.85 [expr 3*$H1] ;
node 14432 9.85 [expr 3*$H1] ;

node 145 10.15 [expr 3*$H1] ;
node 1452 10.15 [expr 3*$H1] ;

node 1453 14.85 [expr 3*$H1] ;
node 14532 14.85 [expr 3*$H1] ;

# Define Constraints
fix 1 1 1 1 ;
fix 2 1 1 1 ;
fix 3 1 1 1 ;
fix 4 1 1 1 ;
# Column 1
rigidLink beam 188 11
rigidLink beam 188 18
rigidLink beam 288 21
rigidLink beam 288 28
rigidLink beam 388 31



# Column 2

rigidLink beam 177 12
rigidLink beam 177 17
rigidLink beam 277 22
rigidLink beam 277 27
rigidLink beam 377 32



# Column 3

rigidLink beam 166 13
rigidLink beam 166 16
rigidLink beam 266 23
rigidLink beam 266 26
rigidLink beam 366 33


# Column 4
rigidLink beam 155 14
rigidLink beam 155 15
rigidLink beam 255 24
rigidLink beam 255 25
rigidLink beam 355 34

#
# Beam Story 1
rigidLink beam 188 123
rigidLink beam 177 1233
rigidLink beam 177 124

rigidLink beam 166 1243
rigidLink beam 166 125
rigidLink beam 155 1253
# Beam Story 2
rigidLink beam 288 133
rigidLink beam 277 1333
rigidLink beam 277 134
rigidLink beam 266 1343
rigidLink beam 266 135
rigidLink beam 255 1353
# Beam Story 3

rigidLink beam 388 143
rigidLink beam 377 1433
rigidLink beam 377 144
rigidLink beam 366 1443
rigidLink beam 366 145
rigidLink beam 355 1453



#First Floor
equalDOF 188 123 1
equalDOF 188 1233 1
equalDOF 188 124 1
equalDOF 188 1243 1
equalDOF 188 125 1
equalDOF 188 1253 1
#Second Floor
equalDOF 288 133 1
equalDOF 288 1333 1
equalDOF 288 134 1
equalDOF 288 1343 1
equalDOF 288 135 1
equalDOF 288 1353 1

#Third Floor
equalDOF 388 143 1
equalDOF 388 1433 1
equalDOF 388 144 1
equalDOF 388 1443 1
equalDOF 388 145 1
equalDOF 388 1453 1


# mass

set g 9.86 ;
#set WeightFloor8 13289.6 ;
#set WeightFloor7 13289.6 ;
#set WeightFloor6 26579.2 ;
#set WeightFloor5 26296.4 ;
#set WeightFloor4 32870.6 ;
#set WeightFloor3 49305.8 ;
#set WeightFloor2 48775.7 ;
#set WeightFloor1 58530.8 ;
#set Weightfloor1Bay [expr ($WeightFloor1/3.0)] ;
#set Weightfloor2Bay [expr ($WeightFloor2/3.0)] ;
#set Weightfloor3Bay [expr ($WeightFloor3/3.0)] ;
#set Weightfloor4Bay [expr ($WeightFloor4/2.0)] ;
#set Weightfloor5Bay [expr ($WeightFloor5/2.0)] ;
#set Weightfloor6Bay [expr ($WeightFloor6/2.0)] ;
#set Weightfloor7Bay [expr ($WeightFloor7/1.0)] ;
#set Weightfloor8Bay [expr ($WeightFloor8/1.0)] ;

set WeightFloor3 [expr (39868.8)] ;
set WeightFloor2 [expr (39868.8)] ;
set WeightFloor1 [expr (39868.8)] ;
set Weightfloor1Bay [expr ($WeightFloor1/3.0)] ;
set Weightfloor2Bay [expr ($WeightFloor2/3.0)] ;
set Weightfloor3Bay [expr ($WeightFloor3/3.0)] ;



#set ColumnFloor1 60321.6 ;
#set ColumnFloor2 45241.2 ;
#set ColumnFloor3 34637.8 ;
#set ColumnFloor4 25978.3 ;
#set ColumnFloor5 25978.3 ;
#set ColumnFloor6 19086.1 ;
#set ColumnFloor7 12724.1 ;
#set ColumnFloor8 12724.1 ;
#
#set WeightColumnFloor1 [expr ($ColumnFloor1/4)];
#set WeightColumnFloor2 [expr ($ColumnFloor2/4)] ;
#set WeightColumnFloor3 [expr ($ColumnFloor3/4)] ;
#set WeightColumnFloor4 [expr ($ColumnFloor4/3)] ;
#set WeightColumnFloor5 [expr ($ColumnFloor5/3)] ;
#set WeightColumnFloor6 [expr ($ColumnFloor6/3)] ;
#set WeightColumnFloor7 [expr ($ColumnFloor7/2)] ;
set DD 50000 ;
set DL [expr 0.2*25000] ;


#set WeightColumnFloor8 [expr ($ColumnFloor8/2)] ;



## First Floor

# First Floor


mass 112 [expr ((($Weightfloor1Bay/$g)/2)+(3181.0+3181.0+$DD+$DL)/$g)] 1.e-9 1.e-9 ;
mass 122 [expr (($Weightfloor1Bay/$g)+(3181.0+3181.0+(2*($DD+$DL))/$g))] 1.e-9 1.e-9 ;
mass 132 [expr (($Weightfloor1Bay/$g)+(3181.0+3181.0+(2*($DD+$DL))/$g))] 1.e-9 1.e-9 ;
mass 142 [expr ((($Weightfloor1Bay/$g)/2)+(3181.0+$DD+$DL)/$g)] 1.e-9 1.e-9 ;
# Second Floor
#
mass 212 [expr ((($Weightfloor2Bay/$g)/2)+(3181.0+3181.0+$DD+$DL)/$g)] 1.e-9 1.e-9 ;
mass 222 [expr (($Weightfloor2Bay/$g)+(3181.0+3181.0+(2*($DD+$DL))/$g))] 1.e-9 1.e-9 ;
mass 232 [expr (($Weightfloor2Bay/$g)+(3181.0+3181.0+(2*($DD+$DL))/$g))] 1.e-9 1.e-9 ;
mass 242 [expr ((($Weightfloor2Bay/$g)/2)+(3181.0+3181.0+$DD+$DL)/$g)] 1.e-9 1.e-9 ;
# Third Floor
#
mass 312 [expr ((($Weightfloor3Bay/$g)/2)+(3181.0+(2*($DD+$DL)))/$g)] 1.e-9 1.e-9 ;
mass 322 [expr (($Weightfloor3Bay/$g)+(3181.0+3181.0+(2*($DD+$DL))/$g))] 1.e-9 1.e-9 ;
mass 332 [expr (($Weightfloor3Bay/$g)+(3181.0+3181.0+(2*($DD+$DL))/$g))] 1.e-9 1.e-9 ;
mass 342 [expr ((($Weightfloor3Bay/$g)/2)+(3181.0+(2*($DD+$DL)))/$g)] 1.e-9 1.e-9





#set mass [expr ((($Weightfloor8Bay/$g)/2)+(($WeightColumnFloor8/2)+$DD)/$g)]
#Define Material
set fc1C 30.0e6 ; # CONFINED concrete (mander model), maximum stress
set eps1C [expr 2.*$fc1C/$Ec]; # strain at maximum stress
set fc2C [expr 0.2*$fc1C]; # ultimate stress
set eps2C [expr 5*$eps1C]; # strain at ultimate stress
# unconfined concrete
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.003; # strain at maximum strength of unconfined concrete
set fc2U [expr 0.2*$fc1U]; # ultimate stress
set eps2U -0.01; # strain at ultimate stress
set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec
# tensile-strength properties
set ftC [expr -0.14*$fc1C]; # tensile strength +tension
set ftU [expr -0.14*$fc1U]; # tensile strength +tension
set Ets [expr $ftU/0.002]; # tension softening stiffness

# Define Material
# n,mm
# Define Steel matTag fy fu Es Esh esh eult
uniaxialMaterial Steel02 1 500e6 2e11 0.01 15 .925 .15
uniaxialMaterial Steel02 41 500e6 2e11 0.01 15 .925 .15

# Define Concrte
# (Confined) matTag
uniaxialMaterial Concrete06 2 30e6 -0.003 1.88 1 0.32 1.38e6 0.00008 0.4 0.08; # build cover concrete (unconfined)

uniaxialMaterial Concrete06 3 20e6 -0.003 1.88 1 0.32 1.38e6 0.00008 0.4 0.08; # build cover concrete (unconfined)

#uniaxialMaterial Concrete02 2 $fc1C $eps1C $fc2C $eps2C $lambda $ftC $Ets;
#
#(Unconfined)
#uniaxialMaterial Concrete02 3 $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # build cover concrete (unconfined)
## Define Sections
#uniaxialMaterial Concrete01 2 -24.e3 -0.002 -4.8e3 -0.005
##uniaxialMaterial Concrete01 3 -28.e3 -0.0024 -5.6e3 -0.015



# Define Sections
# Columns C 30*30 18
set c 0.3 ;
set c2 [expr ($c/2.0)-$Cover] ;
set c3 [expr $c/2.0] ;
set space [expr (0.3-(2.0*$Cover))/2] ;
set CoreMat 2 ;
set CoverMat 3 ;
set BarMatC 1 ;
set UpNum 3 ;
set MidNum 2 ;
set DownNum 3
set UpA18 [expr pow(9.e-3,2)*2*asin(1)];
set UpA22 [expr pow(11.e-3,2)*2*asin(1)] ;
set DownA18 [expr pow(9.e-3,2)*2*asin(1)] ;
set DownA22 [expr pow(11.e-3,2)*2*asin(1)] ;
set MidA18 [expr pow(9.e-3,2)*2*asin(1)] ;
set MidA22 [expr pow(11.e-3,2)*2*asin(1)] ;
# Columns
# C30*30
set hcf 0.3
set hcfi [expr $hcf-2*$Cover]
set hcfii [expr (($hcf-2*$Cover)-$space)]
set bcf 0.3
set bcfi [expr $bcf-2*$Cover]
set hcs 0.3
set hcsi [expr $hcs-2*$Cover]
set bcs 0.3
set bcsi [expr $bcs-2*$Cover]
# C35*35
set hcs35 0.35
set hcsi35 [expr $hcs35-2*$Cover]
set bcs35 0.35
set bcsi35 [expr $hcs35-2*$Cover]
set bcfi35 [expr $hcs35-2*$Cover]
set hcf35 0.35
set hcfi35 [expr $hcf35-2*$Cover]
set hcfii35 [expr (($hcf35-2*$Cover)-$space)]
set space35 [expr (0.35-(2.0*$Cover))/2] ;

# C40*40
set hcs40 0.40
set hcsi40 [expr $hcs40-2*$Cover]
set bcsi40 [expr $hcs40-2*$Cover]
set hcf40 0.40
set hcfi40 [expr $hcf40-2*$Cover]
set hcfii40 [expr (($hcf40-2*$Cover)-$space)]
set space40 [expr (0.4-(2.0*$Cover))/2] ;
set bcs40 0.40
set bcfi40 [expr $hcs40-2*$Cover]

# Beams


# Beam 30*40
set hbs 0.4
set hbsi [expr $hbs-2*$Cover]
set bbs 0.3
set bbsi [expr $bbs-2*$Cover]
# Beam 30*50
set hbs5 0.5
set hbsi5 [expr $hbs5-2*$Cover]
set bbs5 0.3
set bbsi5 [expr $bbs5-2*$Cover]

# Beam 30*60
set hbs6 0.6
set hbsi6 [expr $hbs6-2*$Cover]
set bbs6 0.3
set bbsi6 [expr $bbs6-2*$Cover]


section Fiber 303018 {
patch quad $CoreMat 20 20 [expr -$hcfi/2] [expr $bcfi/2] [expr -$hcfi/2] [expr -$bcfi/2] [expr $hcfi/2] [expr -$bcfi/2] [expr $hcfi/2] [expr $bcfi/2]
patch quad $CoverMat 6 20 [expr -$hcf/2] [expr $bcf/2] [expr -$hcf/2] [expr -$bcf/2] [expr -$hcfi/2] [expr -$bcf/2] [expr -$hcfi/2] [expr $bcf/2]
patch quad $CoverMat 20 6 [expr -$hcfi/2] [expr -$bcfi/2] [expr -$hcfi/2] [expr -$bcf/2] [expr $hcfi/2] [expr -$bcf/2] [expr $hcfi/2] [expr -$bcfi/2]
patch quad $CoverMat 6 20 [expr $hcfi/2] [expr $bcf/2] [expr $hcfi/2] [expr -$bcf/2] [expr $hcf/2] [expr -$bcf/2] [expr $hcf/2] [expr $bcf/2]
patch quad $CoverMat 20 6 [expr -$hcfi/2] [expr $bcf/2] [expr -$hcfi/2] [expr $bcfi/2] [expr $hcfi/2] [expr $bcfi/2] [expr $hcfi/2] [expr $bcf/2]

layer straight $BarMatC 3 [expr pow(9e-3,2)*2*asin(1)] [expr -$hcfi/2] [expr $bcfi/2] [expr -$hcfi/2] [expr -$bcfi/2]
layer straight $BarMatC 3 [expr pow(9e-3,2)*2*asin(1)] [expr $hcfi/2] [expr $bcfi/2] [expr $hcfi/2] [expr -$bcfi/2]
layer straight $BarMatC 2 [expr pow(9e-3,2)*2*asin(1)] [expr $hcfii] [expr $bcfi/2] [expr $hcfii] [expr -$bcfi/2]
} ;

# Column C 30*30 22
section Fiber 303022 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $CoreMat 20 20 [expr -$hcfi/2] [expr $bcfi/2] [expr -$hcfi/2] [expr -$bcfi/2] [expr $hcfi/2] [expr -$bcfi/2] [expr $hcfi/2] [expr $bcfi/2]
patch quad $CoverMat 6 20 [expr -$hcf/2] [expr $bcf/2] [expr -$hcf/2] [expr -$bcf/2] [expr -$hcfi/2] [expr -$bcf/2] [expr -$hcfi/2] [expr $bcf/2]
patch quad $CoverMat 20 6 [expr -$hcfi/2] [expr -$bcfi/2] [expr -$hcfi/2] [expr -$bcf/2] [expr $hcfi/2] [expr -$bcf/2] [expr $hcfi/2] [expr -$bcfi/2]
patch quad $CoverMat 6 20 [expr $hcfi/2] [expr $bcf/2] [expr $hcfi/2] [expr -$bcf/2] [expr $hcf/2] [expr -$bcf/2] [expr $hcf/2] [expr $bcf/2]
patch quad $CoverMat 20 6 [expr -$hcfi/2] [expr $bcf/2] [expr -$hcfi/2] [expr $bcfi/2] [expr $hcfi/2] [expr $bcfi/2] [expr $hcfi/2] [expr $bcf/2]
# MatTag BarNum BarA YStart ZStart YEnd ZEnd
layer straight $BarMatC 3 [expr pow(11e-3,2)*2*asin(1)] [expr -$hcfi/2] [expr $bcfi/2] [expr -$hcfi/2] [expr -$bcfi/2]
layer straight $BarMatC 3 [expr pow(11e-3,2)*2*asin(1)] [expr $hcfi/2] [expr $bcfi/2] [expr $hcfi/2] [expr -$bcfi/2]
layer straight $BarMatC 2 [expr pow(11e-3,2)*2*asin(1)] [expr -$hcfii] [expr $bcfi/2] [expr -$hcfii] [expr -$bcfi/2]

};



puts "ahmad"
#Beam B30/40
set CoreBMat 12 ;
set BarMatB 41 ;
set BB1 0.3 ;
set D1 0.40 ;
set BB2 [expr $BB1/2] ;
set D2 [expr $D1/2] ;
set D3 [expr ($D1/2)-$Cover] ;
set BB3 [expr ($BB1/2)-$Cover] ;
set fcb [expr 1.3*$fc] ;
set eps1b [expr 2.*$fcb/$Ec];
set fc2b [expr 0.2*$fcb] ;
set eps2b [expr 5*$eps1b] ;
set BarAB [expr pow(8.e-3,2)*2*asin(1)] ;
uniaxialMaterial Concrete06 12 24e6 -0.0038 1.88 1 0.32 1.38e6 0.00008 0.4 0.08 ; # build core concrete (confined)

section Fiber 30405 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl

patch quad $CoreBMat 20 20 [expr -$hbsi/2] [expr $bbsi/2] [expr -$hbsi/2] [expr -$bbsi/2] [expr $hbsi/2] [expr -$bbsi/2] [expr $hbsi/2] [expr $bbsi/2]
patch quad $CoverMat 6 20 [expr -$hbs/2] [expr $bbs/2] [expr -$hbs/2] [expr -$bbs/2] [expr -$hbsi/2] [expr -$bbs/2] [expr -$hbsi/2] [expr $bbs/2]
patch quad $CoverMat 20 6 [expr -$hbsi/2] [expr -$bbsi/2] [expr -$hbsi/2] [expr -$bbs/2] [expr $hbsi/2] [expr -$bbs/2] [expr $hbsi/2] [expr -$bbsi/2]
patch quad $CoverMat 6 20 [expr $hbsi/2] [expr $bbs/2] [expr $hbsi/2] [expr -$bbs/2] [expr $hbs/2] [expr -$bbs/2] [expr $hbs/2] [expr $bbs/2]
patch quad $CoverMat 20 6 [expr -$hbsi/2] [expr $bbs/2] [expr -$hbsi/2] [expr $bbsi/2] [expr $hbsi/2] [expr $bbsi/2] [expr $hbsi/2] [expr $bbs/2]

layer straight $BarMatC 3 [expr pow(8e-3,2)*2*asin(1)] [expr -$hbsi/2] [expr $bbsi/2] [expr -$hbsi/2] [expr -$bbsi/2]
layer straight $BarMatC 5 [expr pow(8e-3,2)*2*asin(1)] [expr $hbsi/2] [expr $bbsi/2] [expr $hbsi/2] [expr -$bbsi/2]
};
section Fiber 30406 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $CoreBMat 20 20 [expr -$hbsi/2] [expr $bbsi/2] [expr -$hbsi/2] [expr -$bbsi/2] [expr $hbsi/2] [expr -$bbsi/2] [expr $hbsi/2] [expr $bbsi/2]
patch quad $CoverMat 6 20 [expr -$hbs/2] [expr $bbs/2] [expr -$hbs/2] [expr -$bbs/2] [expr -$hbsi/2] [expr -$bbs/2] [expr -$hbsi/2] [expr $bbs/2]
patch quad $CoverMat 20 6 [expr -$hbsi/2] [expr -$bbsi/2] [expr -$hbsi/2] [expr -$bbs/2] [expr $hbsi/2] [expr -$bbs/2] [expr $hbsi/2] [expr -$bbsi/2]
patch quad $CoverMat 6 20 [expr $hbsi/2] [expr $bbs/2] [expr $hbsi/2] [expr -$bbs/2] [expr $hbs/2] [expr -$bbs/2] [expr $hbs/2] [expr $bbs/2]
patch quad $CoverMat 20 6 [expr -$hbsi/2] [expr $bbs/2] [expr -$hbsi/2] [expr $bbsi/2] [expr $hbsi/2] [expr $bbsi/2] [expr $hbsi/2] [expr $bbs/2]

layer straight $BarMatC 3 [expr pow(8e-3,2)*2*asin(1)] [expr -$hbsi/2] [expr $bbsi/2] [expr -$hbsi/2] [expr -$bbsi/2]
layer straight $BarMatC 6 [expr pow(8e-3,2)*2*asin(1)] [expr $hbsi/2] [expr $bbsi/2] [expr $hbsi/2] [expr -$bbsi/2]


};


puts "ahmad"
# Define Transformation
geomTransf Linear 1 ;
geomTransf Corotational 2 ;
# Define Elements
set Load [expr (10000)] ;

# Define Hyesteretic Material for SPRING
# Column 303018
# Column 303018
set My_Col3030183 96864 ;# yield moment of the columns
set Mu_Col3030183 116667 ; # ultimate moment of the columns
set K_slip3030183 23921004.5 ;
set THy_Col3030183 [expr $My_Col3030183/$K_slip3030183]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col3030183 0.038196; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column 303022
set My_Col3030223 139969 ;# yield moment of the columns
set Mu_Col3030223 164410 ; # ultimate moment of the columns
set K_slip3030223 28279400.28 ;
set THy_Col3030223 [expr $My_Col3030223/$K_slip3030223]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col3030223 0.033119; # ultimate chord rotation for columns of the 1st floor in rad (EC8)

##########################################
##Beam
set My_Beam304055 93621 ;# yield moment of the columns
set Mu_Beam304055 129558 ; # ultimate moment of the columns
set K_slipBeam304055 436030898.3 ;

#set K_slipBeam304055 [expr 0.35*645150000] ;


set THy_Beam304055 [expr $My_Beam304055/$K_slipBeam304055]; # yield chord rotation for columns of the 1st floor in rad
set THu_Beam304055 0.089954; # ultimate chord rotation for columns of the 1st floor in rad (EC8)




set Arigid 0.12; # define area of truss section (make much larger than A of frame elements)
set Irigid 0.001870;


#define element
set Beta 1.0 ;


# Column303018
uniaxialMaterial Hysteretic 3030183 $My_Col3030183 $THy_Col3030183 $Mu_Col3030183 $THu_Col3030183 [expr $My_Col3030183*(-1)] [expr $THy_Col3030183*(-1)] [expr $Mu_Col3030183*(-1)] [expr $THu_Col3030183*(-1)] 1 1 0 0 $Beta ;
#Column303022
puts "ahmad"
uniaxialMaterial Hysteretic 3030223 $My_Col3030223 $THy_Col3030223 $Mu_Col3030223 $THu_Col3030223 [expr $My_Col3030223*(-1)] [expr $THy_Col3030223*(-1)] [expr $Mu_Col3030223*(-1)] [expr $THu_Col3030223*(-1)] 1 1 0 0 $Beta ;
puts "ahmad"

###########BEAM
uniaxialMaterial Hysteretic 304055 $My_Beam304055 $THy_Beam304055 $Mu_Beam304055 $THu_Beam304055 [expr $My_Beam304055*(-1)] [expr $THy_Beam304055*(-1)] [expr $Mu_Beam304055*(-1)] [expr $THu_Beam304055*(-1)] 1 1 0 0 $Beta ;




puts "ahmad"
# Define Elements
# Columns
# First Floor

# Tag inode jnode np SecTag TransT Mass
element nonlinearBeamColumn 1 8 112 5 303018 1 ;
element nonlinearBeamColumn 2 7 122 5 303022 1 ;
element nonlinearBeamColumn 3 6 132 5 303022 1 ;
element nonlinearBeamColumn 4 5 142 5 303018 1 ;
# Second Floor
# Tag inode jnode np SecTag TransT Mass
element nonlinearBeamColumn 11 182 212 5 303018 1 ;
element nonlinearBeamColumn 12 172 222 5 303022 1 ;
element nonlinearBeamColumn 13 162 232 5 303022 1 ;
element nonlinearBeamColumn 14 152 242 5 303018 1 ;
# Third Floor Tag inode jnode np SecTag TransT Mass
element nonlinearBeamColumn 21 282 312 5 303018 1 ;
element nonlinearBeamColumn 22 272 322 5 303022 1 ;
element nonlinearBeamColumn 23 262 332 5 303022 1 ;
element nonlinearBeamColumn 24 252 342 5 303018 1 ;


## Beams
## First Floor
## Tag inode jnode np SecT TransT Mass
element nonlinearBeamColumn 101 1232 12332 5 30405 2
element nonlinearBeamColumn 102 1242 12432 5 30405 2
element nonlinearBeamColumn 103 1252 12532 5 30405 2
# Second Floor
# Tag inode jnode np SecT TransT Mass
element nonlinearBeamColumn 201 1332 13332 5 30405 2
element nonlinearBeamColumn 202 1342 13432 5 30405 2
element nonlinearBeamColumn 203 1352 13532 5 30405 2
# Third Floor
# Tag inode jnode np SecT TransT Mass
element nonlinearBeamColumn 301 1432 14332 5 30405 2
element nonlinearBeamColumn 302 1442 1443 5 30405 2
element nonlinearBeamColumn 303 1452 14532 5 30405 2











puts "End of Define Model"



#COLUMNS/Spring
element zeroLength 111 1 8 -mat 3030183 -dir 6
element zeroLength 112 2 7 -mat 3030223 -dir 6
element zeroLength 113 3 6 -mat 3030223 -dir 6
element zeroLength 114 4 5 -mat 3030183 -dir 6
# UP
element zeroLength 1111 11 112 -mat 3030183 -dir 6
element zeroLength 1112 12 122 -mat 3030223 -dir 6
element zeroLength 1113 13 132 -mat 3030223 -dir 6
element zeroLength 1114 14 142 -mat 3030183 -dir 6
# Second Floor
# Down
element zeroLength 218 18 182 -mat 3030183 -dir 6
element zeroLength 217 17 172 -mat 3030223 -dir 6
element zeroLength 216 16 162 -mat 3030223 -dir 6
element zeroLength 215 15 152 -mat 3030183 -dir 6
# UP
element zeroLength 2211 21 212 -mat 3030183 -dir 6
element zeroLength 2212 22 222 -mat 3030223 -dir 6
element zeroLength 2213 23 232 -mat 3030223 -dir 6
element zeroLength 2214 24 242 -mat 3030183 -dir 6
# Third Floor
# Down
element zeroLength 318 28 282 -mat 3030183 -dir 6
element zeroLength 317 27 272 -mat 3030223 -dir 6
element zeroLength 316 26 262 -mat 3030223 -dir 6
element zeroLength 315 25 252 -mat 3030183 -dir 6
# UP
element zeroLength 3311 31 312 -mat 3030183 -dir 6
element zeroLength 3312 32 322 -mat 3030223 -dir 6
element zeroLength 3313 33 332 -mat 3030223 -dir 6
element zeroLength 3314 34 342 -mat 3030183 -dir 6
#################################################################################
#BEAMS/Spring

element zeroLength 9911 123 1232 -mat 304055 -dir 6
element zeroLength 9912 1233 12332 -mat 304055 -dir 6
element zeroLength 9913 124 1242 -mat 304055 -dir 6
element zeroLength 9914 1243 12432 -mat 304055 -dir 6
element zeroLength 9915 125 1252 -mat 304055 -dir 6
element zeroLength 9916 1253 12532 -mat 304055 -dir 6
element zeroLength 9917 133 1332 -mat 304055 -dir 6
element zeroLength 9918 1333 13332 -mat 304055 -dir 6
element zeroLength 9919 134 1342 -mat 304055 -dir 6
element zeroLength 9920 1343 13432 -mat 304055 -dir 6
element zeroLength 9921 135 1352 -mat 304055 -dir 6
element zeroLength 9922 1353 13532 -mat 304055 -dir 6
element zeroLength 9923 143 1432 -mat 304055 -dir 6
element zeroLength 9924 1433 14332 -mat 304055 -dir 6
element zeroLength 9925 144 1442 -mat 304055 -dir 6
element zeroLength 9926 1443 14432 -mat 304055 -dir 6
element zeroLength 9927 145 1452 -mat 304055 -dir 6
element zeroLength 9928 1453 14532 -mat 304055 -dir 6
###

# EQUALDOF Rotational Springs
# Columns
# First Floor
equalDOF 1 8 1 2
equalDOF 2 7 1 2
equalDOF 3 6 1 2
equalDOF 4 5 1 2
equalDOF 11 112 1 2
equalDOF 12 122 1 2
equalDOF 13 132 1 2
equalDOF 14 142 1 2
# Second Floor
equalDOF 18 182 1 2
equalDOF 17 172 1 2
equalDOF 16 162 1 2
equalDOF 15 152 1 2
equalDOF 21 212 1 2
equalDOF 22 222 1 2
equalDOF 23 232 1 2
equalDOF 24 242 1 2
# Third Floor
equalDOF 28 282 1 2
equalDOF 27 272 1 2
equalDOF 26 262 1 2
equalDOF 25 252 1 2
equalDOF 31 312 1 2
equalDOF 32 322 1 2
equalDOF 33 332 1 2
equalDOF 34 342 1 2

################################################
#Beams
#################
equalDOF 123 1232 1 2
equalDOF 1233 12332 1 2
equalDOF 124 1242 1 2
equalDOF 1243 12432 1 2
equalDOF 125 1252 1 2
equalDOF 1253 12532 1 2
#####################
equalDOF 133 1332 1 2
equalDOF 1333 13332 1 2
equalDOF 134 1342 1 2
equalDOF 1343 13432 1 2
equalDOF 135 1352 1 2
equalDOF 1353 13532 1 2
#############################
equalDOF 143 1432 1 2
equalDOF 1433 14332 1 2
equalDOF 144 1442 1 2
equalDOF 1443 14432 1 2
equalDOF 145 1452 1 2
equalDOF 1453 14532 1 2
#######################




puts "model build!"

#Define Eigen Parameters
#set a [eigen 6] ;
#set W11 [lindex $a 0] ;
#set W22 [lindex $a 1] ;
#set W33 [lindex $a 2] ;
#set W44 [lindex $a 3] ;
#set W55 [lindex $a 4] ;
#set W66 [lindex $a 5] ;
#set W1 [expr pow($W11,0.5)] ;
#set W2 [expr pow($W22,0.5)] ;
#set W3 [expr pow($W33,0.5)] ;
#set W4 [expr pow($W44,0.5)] ;
#set W5 [expr pow($W55,0.5)] ;
#set W6 [expr pow($W66,0.5)] ;
#set T1 [expr 2.0*$pi/$W1] ;
#set T2 [expr 2.0*$pi/$W2] ;
#set T3 [expr 2.0*$pi/$W3] ;
#set T4 [expr 2.0*$pi/$W4] ;
#set T5 [expr 2.0*$pi/$W5] ;
#set T6 [expr 2.0*$pi/$W6] ;
#set Load [expr (10000)] ;
#puts "*************"
#puts "W1=$W1 Rad/Sec"
#puts "T1=$T1 Sec"
#puts "*************"
#puts "W2=$W2 Rad/Sec"
#puts "T2=$T2 Sec"
#puts "*************"
#puts "W3=$W3 Rad/Sec"
#puts "T3=$T3 Sec"
#puts "*************"
#puts "W4=$W4 Rad/Sec"
#puts "T4=$T4 Sec"
#puts "*************"
#puts "W5=$W5 Rad/Sec"
#puts "T5=$T5 Sec"
#puts "*************"
#puts "W6=$W6 Rad/Sec"
#puts "T6=$T6 Sec"
#puts "****

set lambda [eigen -fullGenLapack 6];

# calculate frequencies and periods of the structure
set omega {}
set f {}
set T {}
set pi 3.141593

foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "Periods are $T"

set Load [expr (20000+10000) ]

# Define Load
pattern Plain 1 Linear { ;
eleLoad -ele 101 102 103 -type -beamUniform -$Load
eleLoad -ele 201 202 203 -type -beamUniform -$Load
eleLoad -ele 301 302 303 -type -beamUniform -$Load
} ;





recorder Element -file ele302.out -time -ele 301 disp ;
recorder Node -file reaction1.out -time -node 388 -dof 1 2 3 disp ;


puts "si"

set GravSteps 10
set Tol 1.0e-8
set TimeStep [expr 1/$GravSteps]



system BandGeneral
constraints Transformation
numberer RCM
test NormDispIncr $Tol 6
algorithm ModifiedNewton
integrator LoadControl $TimeStep
analysis Static
analyze $GravSteps
loadConst -time 0.1
puts "Gravity Analysis Complete"



set lambda [eigen -fullGenLapack 6];

# calculate frequencies and periods of the structure
set omega {}
set f {}
set T {}
set pi 3.141593

foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "Periods are $T"
by ahmadbsr
Sun Jun 14, 2020 12:48 pm
Forum: OpenSees.exe Users
Topic: how to use "rigid link" command
Replies: 1
Views: 5158

Re: how to use "rigid link" command

YamanoKazuki wrote: Mon Sep 10, 2018 12:03 am Dear all

I want to use "rigid link" command considering beam attached to wall. However, opensees say that "constraint matrix not identity" and I could't get the analysis. Please teach me how to solve the problem or another way to analyze.
I have same problem did you fix it ?
by ahmadbsr
Sun Jun 14, 2020 4:32 am
Forum: OpenSees.exe Users
Topic: Convergence Problem: Gravity Analysis - SPSW
Replies: 4
Views: 9086

Re: Convergence Problem: Gravity Analysis - SPSW

MohsenShani wrote: Sun Jan 03, 2016 3:39 am i see your model.
the model is not correct. some problem in your model.
if you see the node displacement , You will find
I have the problem in WARNING: CTestNormDispIncr::test() - failed to converge
will be thankful if you could help me
by ahmadbsr
Sun Jun 14, 2020 12:16 am
Forum: OpenSees.exe Users
Topic: ConvergenceTest object failed in test
Replies: 4
Views: 8273

Re: ConvergenceTest object failed in test

wengmini wrote: Tue Sep 18, 2018 10:41 am Hi,

I have the same problem with my model. It will not converge, I was wondering what was the problem with your model, maybe I can have a look at mine as well.

Thanks,
I have same problem did you fix your problem ?
by ahmadbsr
Wed Jun 10, 2020 9:42 am
Forum: OpenSees.exe Users
Topic: modelong of rigid diaphragm in 2d steel frame
Replies: 9
Views: 11586

Re: modelong of rigid diaphragm in 2d steel frame

I have the rigidlink beam and equalDOF command in my model and i tried all of the constrained but non of the them worked except the "Constrain transformation " can i use it ?