database opration

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
giacomovincenzo
Posts: 39
Joined: Thu Feb 21, 2008 6:44 am
Location: Politecnico di Torino

database opration

Post by giacomovincenzo »

Dear all,

I have a problem in saving a model!
When I invoke the database command, the only ooption it accepts is 'File'.
When I try to save (i. e., writing 'save 1'), the programs suddenly quit.

Please, can you help me?!

Thanks!!!
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

why are you saving your model?
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
giacomovincenzo
Posts: 39
Joined: Thu Feb 21, 2008 6:44 am
Location: Politecnico di Torino

Post by giacomovincenzo »

because I do not know the time I have to stop a seismic analysis to reach again stati equilibrium, hence I would like to stop, save, chek the velocities of the nodes, and then restore if necessary.

Thanks for your attention Silvia!

Giacomo
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

you can just do the analysis step by step and at each step, or every ten, you check things and then continue.... that's the power of Tcl
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

does it give any error messages before it quits? if the scripot is small can you post it here, if not
just post a section of it showing elements and materials used.
giacomovincenzo
Posts: 39
Joined: Thu Feb 21, 2008 6:44 am
Location: Politecnico di Torino

Post by giacomovincenzo »

The program quit so suddenly that I cannot read any eventual error message.

this is the script. of secion, elements and the genral script which builds the mode. Sorry for these files that are quite long, but the model is a bit complex (is a model of a RC bridge, with fiber section elements)


[code]# Ponte test
# Torino, novembre 2007 - gennaio 2008
# Giacomo Vincenzo Demarie




# SET UP ----------------------------------------------------------------------------
# Definizione del tipo di modello e della directory di scrittura dell'output
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm=#dimension, ndf=#dofs
source csi.tcl
set dataDir Data_EE_$csi; # set up name of data directory
file mkdir $dataDir; # create data directory
set GMdir "GMfiles"; # ground-motion file directory

# Definition of database file
database File Ponte

# Definizione di alcune costanti
set PI [expr 2*asin(1.0)]; # define constants
set g 9.81; # gravitational acceleration


# --------------------------------------------------------------------------------------------
# ------------------------ COSTRUZIONE DELLE PILE --------------------------------------------
# --------------------------------------------------------------------------------------------

# Coordinate dei nodi lette da file di MatLab
source BuildNodes.tcl


# ------------------------ CONDIZIONI AL CONTORNO ----------------------------------------
# Single point constraints -- Boundary Conditions
fix 1 1 1 1 1 1 1; # node DX DY DZ RX RY RZ
fix 26 1 1 1 1 1 1; # node DX DY DZ RX RY RZ
fix 51 1 1 1 1 1 1; # node DX DY DZ RX RY RZ


# ----------- DEFINIZIONE RELAZIONE SISTEMA DI RIFERIMENTO LOCALE/GLOBALE ----------------------
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ColTransfTag 1; # associate a tag to column transformation
set ColTransfType PDelta; # options, Linear PDelta Corotational, only columns can have PDelta effects (gravity effects)
# Coordinate del vettore vecxz per la pila
set Col_vecxzX 1;
set Col_vecxzY 0;
set Col_vecxzZ 0;
# set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
geomTransf $ColTransfType $ColTransfTag $Col_vecxzX $Col_vecxzY $Col_vecxzZ;
# geomTransf Linear $BeamTransfTag ;





# ----------- DEFINIZIONE DEI MATERIALI CON NON-LINEARITA' ----------------------

# MATERIAL parameters -------------------------------------------------------------------
set IDconcU 1; # material ID tag -- unconfined cover concrete
set IDreinf 2; # material ID tag -- reinforcement

# Calcestruzzo non confinato (legame di Mander et al.)
set fcmax -38000000; # Resistenza di picco del cls (+ trazione, - compressione) UNCONFINED concrete (todeschini parabolic model), maximum stress
set ec -0.0022; # strain at maximum strength of unconfined concrete
set ecu -0.01; # strain at crushing stregth
set Ec 29176000000; # Definito in modo da ottenere il modello di Mander et al.
set ft 2900000; # Resistenza a trazione del cls
set et [expr 2*$ft/$Ec]; # Deformazione ultima a trazione del cls
set beta 0.1; # Parametro esponenziale per il comportamento a trazione

# Acciaio (legame di Menegotto-Pinto)
# -----------
set Fy 494500000; # STEEL yield stress
set Es 200000000000; # modulus of steel
set Bs 0.01037; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches
set cR2 0.15; # control the transition from elastic to plastic branches

uniaxialMaterial Concrete04 $IDconcU $fcmax $ec $ecu $Ec $ft $et $beta
uniaxialMaterial Steel02 $IDreinf $Fy $Es $Bs $R0 $cR1 $cR2;



# Materiale elastico lineare per il comportamento torsionale
set nuc 0; # Coefficiente di Poisson del cls fessurato
set Gc [expr $Ec/(2*(1-$nuc))]; # Modulo di elasticità tangenziale del cls






# ---------------------------- DEFINIZIONE DELLE SEZIONI -------------------------------------------
# FIBER SECTION properties -------------------------------------------------------------
# symmetric section
# z
# ^
# |
# --------------------- -- --
# | o o o | | -- cover
# | | |
# | | |
# | ------> y | H
# | | |
# | | |
# | o o o | | -- cover
# --------------------- -- --
# |-------- B --------|
#
# RC Column section:

# Definizione delle sezioni da file di MatLab
source BuildSections.tcl



# ---------------------------- CONNETTIVITA' DEGLI ELEMENTI ---------------------------------
set numIntgrPts 5; # number of integration points for force-based element
# Lettura da file di MatLab
source BuildElements.tcl


# ---------- APPLICAZIONE DEI CARICHI ESTERNI -----------------------
# Da file di MatLab
source BuildLoads.tcl


# ---------- APPLICAZIONE DELLE MASSE -----------------------
# Da file di MatLab
source BuildMass.tcl




# --------------------------------------------------------------------------------------------
# ------------------------ COSTRUZIONE DELL'IMPALCATO ----------------------------------------
# --------------------------------------------------------------------------------------------

# Definizione dei nodi dell'impalcato e del contrappeso da file di MatLab
source BuildNodesImp.tcl


# ------------------------ CONDIZIONI AL CONTORNO ----------------------------------------
# Single point constraints -- Boundary Conditions
fix 76 1 1 1 0 0 0; # node DX DY DZ RX RY RZ
fix 146 0 1 1 0 0 0; # node DX DY DZ RX RY RZ
fix 147 0 1 1 0 0 0; # node DX DY DZ RX RY RZ





# ----------- DEFINIZIONE RELAZIONE SISTEMA DI RIFERIMENTO LOCALE/GLOBALE ----------------------
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ImpTransfTag 2; # associate a tag to beam deck transformation
set ImpTransfType Linear ; # options, Linear PDelta Corotational, only columns can have PDelta effects (gravity effects)
# Coordinate del vettore vecxz per la pila
set Imp_vecxzX 0;
set Imp_vecxzY 0;
set Imp_vecxzZ -1;
geomTransf $ImpTransfType $ImpTransfTag $Imp_vecxzX $Imp_vecxzY $Imp_vecxzZ;

# ---------------------------- CONNETTIVITA' DEGLI ELEMENTI ---------------------------------
# Lettura da file di MatLab
source BuildElementsImp.tcl

# ---------- APPLICAZIONE DEI CARICHI ESTERNI -----------------------
# Da file di MatLab
source BuildLoadsImp.tcl

# ---------- APPLICAZIONE DELLE MASSE -----------------------
# Da file di MatLab
source BuildMassImp.tcl



# ---------- CONNESSIONE IMPALCATO/PILA ---------------------------
# Elementi con lunghezza nulla
# Definizione dei legami Forza spostamento nelle direzioni in cui vi è trsmissione degli sforzi fra pila e impalcato (K molto alta)
set IDel21 21;
set K21 100000000000000;
uniaxialMaterial Elastic $IDel21 $K21;
# Generazione degli elementi
element zeroLength 153 25 96 -mat $IDel21 $IDel21 $IDel21 -dir 2 3 4
element zeroLength 154 50 116 -mat $IDel21 $IDel21 $IDel21 -dir 2 3 4
element zeroLength 155 75 136 -mat $IDel21 $IDel21 $IDel21 -dir 2 3 4




# ---------------- ANALISI IN CONDIZIONI STATICHE ------------------------------
# ---------------- EFFETTO DEL SOLO PESO PROPRIO -------------------------------
# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
test NormDispIncr $Tol 20; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 20; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero

puts "Model Built"





# ------------------------------------------------------------------------------------------------------------------------
# ------------------------------------------------------------------------------------------------------------------------
# DYNAMIC ground-motion analysis -------------------------------------------------------------
loadConst -time 0.0; # hold gravity constant and restart time


# Definizione della configurazione di carico
# Applicazione dell'azione sismica
# Richiama il file in cui viene definito il fattore di amplificazione del carico
source LF.tcl


# Vettore contenente l'accelerazione sismica da un file (dt=0.01 è associato al file)
set accelSeries_x "Series -dt 0.01 -filePath MABx.acc -factor $LF";
# Vettore contenente l'accelerazione sismica da un file (dt=0.01 è associato al file)
set accelSeries_y "Series -dt 0.01 -filePath MABy.acc -factor $LF";
# Vettore contenente l'accelerazione sismica da un file (dt=0.01 è associato al file)
set accelSeries_z "Series -dt 0.01 -filePath MABz.acc -factor $LF";


# Applicazione di quale azione sismica su quale dof
pattern UniformExcitation 3 1 -accel $accelSeries_x;
pattern UniformExcitation 4 2 -accel $accelSeries_y;
pattern UniformExcitation 5 3 -accel $accelSeries_z;


# Smorzamento proporzionale di Rayleigh
source alpha.tcl
source betacurr.tcl
source betaini.tcl
source betacommit.tcl
rayleigh $alpha $betacurr $betaini $betacommit; # set damping based on first two eigen modes




# ------------------------- OUTPUT DELL'ANALISI --------------------------------------
set sez 1;
# source BuildRecordersDyn.tcl
# Azioni nodali
set nel 152
for {set numel 1} {$numel <= $nel} {incr numel 1} {
recorder Element -file $dataDir/El$numel.GlobalF.out -time -ele $numel globalForce
}

# Nodi in cui sono valutati spostamenti, velocità e rotazioni
recorder Node -file $dataDir/x_disp.out -time -node all -dof 1 disp;
recorder Node -file $dataDir/y_disp.out -time -node all -dof 2 disp;
recorder Node -file $dataDir/z_disp.out -time -node all -dof 3 disp;
recorder Node -file $dataDir/rx_disp.out -time -node all -dof 4 disp;
recorder Node -file $dataDir/ry_disp.out -time -node all -dof 5 disp;
recorder Node -file $dataDir/rz_disp.out -time -node all -dof 6 disp;

recorder Node -file $dataDir/x_vel.out -time -node all -dof 1 vel;
recorder Node -file $dataDir/y_vel.out -time -node all -dof 2 vel;
recorder Node -file $dataDir/z_vel.out -time -node all -dof 3 vel;
recorder Node -file $dataDir/rx_vel.out -time -node all -dof 4 vel;
recorder Node -file $dataDir/ry_vel.out -time -node all -dof 5 vel;
recorder Node -file $dataDir/rz_vel.out -time -node all -dof 6 vel;

recorder Node -file $dataDir/x_acc.out -time -node all -dof 1 accel;
recorder Node -file $dataDir/y_acc.out -time -node all -dof 2 accel;
recorder Node -file $dataDir/z_acc.out -time -node all -dof 3 accel;
recorder Node -file $dataDir/rx_acc.out -time -node all -dof 4 accel;
recorder Node -file $dataDir/ry_acc.out -time -node all -dof 5 accel;
recorder Node -file $dataDir/rz_acc.out -time -node all -dof 6 accel;


wipeAnalysis;
# Set up Analysis Parameters ---------------------------------------------
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
# Penalty Method -- Uses penalty numbers to enforce constraints
# Transformation Method -- Performs a condensation of constrained degrees of freedom
constraints Plain;

# DOF NUMBERER (number the degrees of freedom in the domain): (://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
# determines the mapping between equation numbers and degrees-of-freedom
# Plain -- Uses the numbering provided by the user
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
numberer Plain;

# SYSTEM (://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
# BandGeneral -- Direct solver for banded unsymmetric matrices
# BandSPD -- Direct solver for banded symmetric positive definite matrices
# SparseGeneral -- Direct solver for unsymmetric sparse matrices (-piv option)
# SparseSPD -- Direct solver for symmetric sparse matrices
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
system BandGeneral;

# TEST: # convergence test to
# Convergence TEST (://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
# -- Accept the current state of the domain as being on the converged solution path
# -- determine if convergence has been achieved at the end of an iteration step
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
# RelativeNormUnbalance --
# RelativeNormDispIncr --
# RelativeEnergyIncr --
set TolDynamic 1e-6; # Convergence Test: tolerance
set maxNumIterDynamic 25; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
set printFlagDynamic 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
# set testTypeDynamic "EnergyIncr"; # Convergence-test type
set testTypeDynamic "NormDispIncr";
# set testTypeDynamic "NormUnbalance";
test $testTypeDynamic $TolDynamic $maxNumIterDynamic $printFlagDynamic;
# for improved-convergence procedure:
set maxNumIterConvergeDynamic 2000;
set printFlagConvergeDynamic 0;

# Solution ALGORITHM: -- Iterate from the last time step to the current (://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
# Linear -- Uses the solution at the first iteration and continues
# Newton -- Uses the tangent at the current iteration to iterate to convergence
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
# NewtonLineSearch --
# KrylovNewton --
# BFGS --
# Broyden --
set algorithmTypeDynamic "ModifiedNewton"
algorithm $algorithmTypeDynamic;

# Static INTEGRATOR: -- determine the next time step for an analysis (://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
# Newmark -- The two parameter time-stepping method developed by Newmark
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
set NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
set NewmarkBeta 0.25; # Newmark-integrator beta parameter
set integratorTypeDynamic "Newmark";
# set $integratorTypeDynamic $NewmarkGamma $NewmarkBeta
integrator Newmark $NewmarkGamma $NewmarkBeta;

# ANALYSIS -- defines what type of analysis is to be performed (://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
set analysisTypeDynamic "Transient"
analysis $analysisTypeDynamic


set DtAnalysis 13.08;
set TmaxAnalysis .1;
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful



if {$ok != 0} { ; # analysis was not successful.
# --------------------------------------------------------------------------------------------------
# change some analysis parameters to achieve convergence
# performance is slower inside this loop
# Time-controlled analysis
set ok 0;
set controlTime [getTime];
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
set ok [analyze 1 $DtAnalysis]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $TolDynamic 1000 0
algorithm Newton -initial
set ok [analyze 1 $DtAnalysis]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .8
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
}
}; # end if ok !0


puts "Ground Motion Done. End Time: [getTime]"


# Save actual state of model
save 1[/code]




SECTION GENERATION
[code]set ColSecTag1 1;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00045239;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag1 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -4.1 -4.9 4.1 -4.9 4.1 -4.1 -4.1 -4.1; # Define the concrete patch
patch quadr $IDconcU 4 49 4.1 -4.9 4.9 -4.9 4.9 4.9 4.1 4.9; # Define the concrete patch
patch quadr $IDconcU 41 4 4.1 4.1 4.1 4.9 -4.1 4.9 -4.1 4.1; # Define the concrete patch
patch quadr $IDconcU 4 49 -4.9 -4.9 -4.1 -4.9 -4.1 4.9 -4.9 4.9; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.838 4.838 -4.838;
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.162 4.838 -4.162;
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.162 4.838 -4.162;
layer straight $IDreinf $numBarsCol $barArea -4.838 4.162 4.838 4.162;
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.838 -4.838 4.838;
layer straight $IDreinf $numBarsCol $barArea -4.162 -4.838 -4.162 4.838;
layer straight $IDreinf $numBarsCol $barArea 4.162 -4.838 4.162 4.838;
layer straight $IDreinf $numBarsCol $barArea 4.838 -4.838 4.838 4.838;
}; # end of fibersection definition


set ColSecTag2 2;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00070686;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag2 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -4.1 -4.9 4.1 -4.9 4.1 -4.1 -4.1 -4.1; # Define the concrete patch
patch quadr $IDconcU 4 49 4.1 -4.9 4.9 -4.9 4.9 4.9 4.1 4.9; # Define the concrete patch
patch quadr $IDconcU 41 4 4.1 4.1 4.1 4.9 -4.1 4.9 -4.1 4.1; # Define the concrete patch
patch quadr $IDconcU 4 49 -4.9 -4.9 -4.1 -4.9 -4.1 4.9 -4.9 4.9; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.838 4.838 -4.838;
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.162 4.838 -4.162;
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.162 4.838 -4.162;
layer straight $IDreinf $numBarsCol $barArea -4.838 4.162 4.838 4.162;
layer straight $IDreinf $numBarsCol $barArea -4.838 -4.838 -4.838 4.838;
layer straight $IDreinf $numBarsCol $barArea -4.162 -4.838 -4.162 4.838;
layer straight $IDreinf $numBarsCol $barArea 4.162 -4.838 4.162 4.838;
layer straight $IDreinf $numBarsCol $barArea 4.838 -4.838 4.838 4.838;
}; # end of fibersection definition


set ColSecTag3 3;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00070686;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag3 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -3.7771 -4.5771 3.7771 -4.5771 3.7771 -3.7771 -3.7771 -3.7771; # Define the concrete patch
patch quadr $IDconcU 4 49 3.7771 -4.5771 4.5771 -4.5771 4.5771 4.5771 3.7771 4.5771; # Define the concrete patch
patch quadr $IDconcU 41 4 3.7771 3.7771 3.7771 4.5771 -3.7771 4.5771 -3.7771 3.7771; # Define the concrete patch
patch quadr $IDconcU 4 49 -4.5771 -4.5771 -3.7771 -4.5771 -3.7771 4.5771 -4.5771 4.5771; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -4.5151 -4.5151 4.5151 -4.5151;
layer straight $IDreinf $numBarsCol $barArea -4.5151 -3.8391 4.5151 -3.8391;
layer straight $IDreinf $numBarsCol $barArea -4.5151 -3.8391 4.5151 -3.8391;
layer straight $IDreinf $numBarsCol $barArea -4.5151 3.8391 4.5151 3.8391;
layer straight $IDreinf $numBarsCol $barArea -4.5151 -4.5151 -4.5151 4.5151;
layer straight $IDreinf $numBarsCol $barArea -3.8391 -4.5151 -3.8391 4.5151;
layer straight $IDreinf $numBarsCol $barArea 3.8391 -4.5151 3.8391 4.5151;
layer straight $IDreinf $numBarsCol $barArea 4.5151 -4.5151 4.5151 4.5151;
}; # end of fibersection definition


set ColSecTag4 4;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00070686;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag4 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -3.4843 -4.2843 3.4843 -4.2843 3.4843 -3.4843 -3.4843 -3.4843; # Define the concrete patch
patch quadr $IDconcU 4 49 3.4843 -4.2843 4.2843 -4.2843 4.2843 4.2843 3.4843 4.2843; # Define the concrete patch
patch quadr $IDconcU 41 4 3.4843 3.4843 3.4843 4.2843 -3.4843 4.2843 -3.4843 3.4843; # Define the concrete patch
patch quadr $IDconcU 4 49 -4.2843 -4.2843 -3.4843 -4.2843 -3.4843 4.2843 -4.2843 4.2843; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -4.2222 -4.2222 4.2222 -4.2222;
layer straight $IDreinf $numBarsCol $barArea -4.2222 -3.5463 4.2222 -3.5463;
layer straight $IDreinf $numBarsCol $barArea -4.2222 -3.5463 4.2222 -3.5463;
layer straight $IDreinf $numBarsCol $barArea -4.2222 3.5463 4.2222 3.5463;
layer straight $IDreinf $numBarsCol $barArea -4.2222 -4.2222 -4.2222 4.2222;
layer straight $IDreinf $numBarsCol $barArea -3.5463 -4.2222 -3.5463 4.2222;
layer straight $IDreinf $numBarsCol $barArea 3.5463 -4.2222 3.5463 4.2222;
layer straight $IDreinf $numBarsCol $barArea 4.2222 -4.2222 4.2222 4.2222;
}; # end of fibersection definition


set ColSecTag5 5;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00098332;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag5 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -3.4843 -4.2843 3.4843 -4.2843 3.4843 -3.4843 -3.4843 -3.4843; # Define the concrete patch
patch quadr $IDconcU 4 49 3.4843 -4.2843 4.2843 -4.2843 4.2843 4.2843 3.4843 4.2843; # Define the concrete patch
patch quadr $IDconcU 41 4 3.4843 3.4843 3.4843 4.2843 -3.4843 4.2843 -3.4843 3.4843; # Define the concrete patch
patch quadr $IDconcU 4 49 -4.2843 -4.2843 -3.4843 -4.2843 -3.4843 4.2843 -4.2843 4.2843; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -4.2222 -4.2222 4.2222 -4.2222;
layer straight $IDreinf $numBarsCol $barArea -4.2222 -3.5463 4.2222 -3.5463;
layer straight $IDreinf $numBarsCol $barArea -4.2222 -3.5463 4.2222 -3.5463;
layer straight $IDreinf $numBarsCol $barArea -4.2222 3.5463 4.2222 3.5463;
layer straight $IDreinf $numBarsCol $barArea -4.2222 -4.2222 -4.2222 4.2222;
layer straight $IDreinf $numBarsCol $barArea -3.5463 -4.2222 -3.5463 4.2222;
layer straight $IDreinf $numBarsCol $barArea 3.5463 -4.2222 3.5463 4.2222;
layer straight $IDreinf $numBarsCol $barArea 4.2222 -4.2222 4.2222 4.2222;
}; # end of fibersection definition


set ColSecTag6 6;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00098332;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag6 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -3.2216 -4.0216 3.2216 -4.0216 3.2216 -3.2216 -3.2216 -3.2216; # Define the concrete patch
patch quadr $IDconcU 4 49 3.2216 -4.0216 4.0216 -4.0216 4.0216 4.0216 3.2216 4.0216; # Define the concrete patch
patch quadr $IDconcU 41 4 3.2216 3.2216 3.2216 4.0216 -3.2216 4.0216 -3.2216 3.2216; # Define the concrete patch
patch quadr $IDconcU 4 49 -4.0216 -4.0216 -3.2216 -4.0216 -3.2216 4.0216 -4.0216 4.0216; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.9596 -3.9596 3.9596 -3.9596;
layer straight $IDreinf $numBarsCol $barArea -3.9596 -3.2836 3.9596 -3.2836;
layer straight $IDreinf $numBarsCol $barArea -3.9596 -3.2836 3.9596 -3.2836;
layer straight $IDreinf $numBarsCol $barArea -3.9596 3.2836 3.9596 3.2836;
layer straight $IDreinf $numBarsCol $barArea -3.9596 -3.9596 -3.9596 3.9596;
layer straight $IDreinf $numBarsCol $barArea -3.2836 -3.9596 -3.2836 3.9596;
layer straight $IDreinf $numBarsCol $barArea 3.2836 -3.9596 3.2836 3.9596;
layer straight $IDreinf $numBarsCol $barArea 3.9596 -3.9596 3.9596 3.9596;
}; # end of fibersection definition


set ColSecTag7 7;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00098332;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag7 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -3.1887 -3.7887 3.1887 -3.7887 3.1887 -3.1887 -3.1887 -3.1887; # Define the concrete patch
patch quadr $IDconcU 4 49 3.1887 -3.7887 3.7887 -3.7887 3.7887 3.7887 3.1887 3.7887; # Define the concrete patch
patch quadr $IDconcU 41 4 3.1887 3.1887 3.1887 3.7887 -3.1887 3.7887 -3.1887 3.1887; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.7887 -3.7887 -3.1887 -3.7887 -3.1887 3.7887 -3.7887 3.7887; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.7267 3.7267 -3.7267;
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.2506 3.7267 -3.2506;
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.2506 3.7267 -3.2506;
layer straight $IDreinf $numBarsCol $barArea -3.7267 3.2506 3.7267 3.2506;
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.7267 -3.7267 3.7267;
layer straight $IDreinf $numBarsCol $barArea -3.2506 -3.7267 -3.2506 3.7267;
layer straight $IDreinf $numBarsCol $barArea 3.2506 -3.7267 3.2506 3.7267;
layer straight $IDreinf $numBarsCol $barArea 3.7267 -3.7267 3.7267 3.7267;
}; # end of fibersection definition


set ColSecTag8 8;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00090478;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag8 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -3.1887 -3.7887 3.1887 -3.7887 3.1887 -3.1887 -3.1887 -3.1887; # Define the concrete patch
patch quadr $IDconcU 4 49 3.1887 -3.7887 3.7887 -3.7887 3.7887 3.7887 3.1887 3.7887; # Define the concrete patch
patch quadr $IDconcU 41 4 3.1887 3.1887 3.1887 3.7887 -3.1887 3.7887 -3.1887 3.1887; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.7887 -3.7887 -3.1887 -3.7887 -3.1887 3.7887 -3.7887 3.7887; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.7267 3.7267 -3.7267;
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.2506 3.7267 -3.2506;
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.2506 3.7267 -3.2506;
layer straight $IDreinf $numBarsCol $barArea -3.7267 3.2506 3.7267 3.2506;
layer straight $IDreinf $numBarsCol $barArea -3.7267 -3.7267 -3.7267 3.7267;
layer straight $IDreinf $numBarsCol $barArea -3.2506 -3.7267 -3.2506 3.7267;
layer straight $IDreinf $numBarsCol $barArea 3.2506 -3.7267 3.2506 3.7267;
layer straight $IDreinf $numBarsCol $barArea 3.7267 -3.7267 3.7267 3.7267;
}; # end of fibersection definition


set ColSecTag9 9;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00090478;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag9 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.9192 -3.5192 2.9192 -3.5192 2.9192 -2.9192 -2.9192 -2.9192; # Define the concrete patch
patch quadr $IDconcU 4 49 2.9192 -3.5192 3.5192 -3.5192 3.5192 3.5192 2.9192 3.5192; # Define the concrete patch
patch quadr $IDconcU 41 4 2.9192 2.9192 2.9192 3.5192 -2.9192 3.5192 -2.9192 2.9192; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.5192 -3.5192 -2.9192 -3.5192 -2.9192 3.5192 -3.5192 3.5192; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.4572 -3.4572 3.4572 -3.4572;
layer straight $IDreinf $numBarsCol $barArea -3.4572 -2.9812 3.4572 -2.9812;
layer straight $IDreinf $numBarsCol $barArea -3.4572 -2.9812 3.4572 -2.9812;
layer straight $IDreinf $numBarsCol $barArea -3.4572 2.9812 3.4572 2.9812;
layer straight $IDreinf $numBarsCol $barArea -3.4572 -3.4572 -3.4572 3.4572;
layer straight $IDreinf $numBarsCol $barArea -2.9812 -3.4572 -2.9812 3.4572;
layer straight $IDreinf $numBarsCol $barArea 2.9812 -3.4572 2.9812 3.4572;
layer straight $IDreinf $numBarsCol $barArea 3.4572 -3.4572 3.4572 3.4572;
}; # end of fibersection definition


set ColSecTag10 10;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00090478;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag10 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.7058 -3.3059 2.7058 -3.3059 2.7058 -2.7058 -2.7058 -2.7058; # Define the concrete patch
patch quadr $IDconcU 4 49 2.7058 -3.3059 3.3059 -3.3059 3.3059 3.3059 2.7058 3.3059; # Define the concrete patch
patch quadr $IDconcU 41 4 2.7058 2.7058 2.7058 3.3059 -2.7058 3.3059 -2.7058 2.7058; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.3059 -3.3059 -2.7058 -3.3059 -2.7058 3.3059 -3.3059 3.3059; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.2439 -3.2439 3.2439 -3.2439;
layer straight $IDreinf $numBarsCol $barArea -3.2439 -2.7678 3.2439 -2.7678;
layer straight $IDreinf $numBarsCol $barArea -3.2439 -2.7678 3.2439 -2.7678;
layer straight $IDreinf $numBarsCol $barArea -3.2439 2.7678 3.2439 2.7678;
layer straight $IDreinf $numBarsCol $barArea -3.2439 -3.2439 -3.2439 3.2439;
layer straight $IDreinf $numBarsCol $barArea -2.7678 -3.2439 -2.7678 3.2439;
layer straight $IDreinf $numBarsCol $barArea 2.7678 -3.2439 2.7678 3.2439;
layer straight $IDreinf $numBarsCol $barArea 3.2439 -3.2439 3.2439 3.2439;
}; # end of fibersection definition


set ColSecTag11 11;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00070686;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag11 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.7058 -3.3059 2.7058 -3.3059 2.7058 -2.7058 -2.7058 -2.7058; # Define the concrete patch
patch quadr $IDconcU 4 49 2.7058 -3.3059 3.3059 -3.3059 3.3059 3.3059 2.7058 3.3059; # Define the concrete patch
patch quadr $IDconcU 41 4 2.7058 2.7058 2.7058 3.3059 -2.7058 3.3059 -2.7058 2.7058; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.3059 -3.3059 -2.7058 -3.3059 -2.7058 3.3059 -3.3059 3.3059; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.2439 -3.2439 3.2439 -3.2439;
layer straight $IDreinf $numBarsCol $barArea -3.2439 -2.7678 3.2439 -2.7678;
layer straight $IDreinf $numBarsCol $barArea -3.2439 -2.7678 3.2439 -2.7678;
layer straight $IDreinf $numBarsCol $barArea -3.2439 2.7678 3.2439 2.7678;
layer straight $IDreinf $numBarsCol $barArea -3.2439 -3.2439 -3.2439 3.2439;
layer straight $IDreinf $numBarsCol $barArea -2.7678 -3.2439 -2.7678 3.2439;
layer straight $IDreinf $numBarsCol $barArea 2.7678 -3.2439 2.7678 3.2439;
layer straight $IDreinf $numBarsCol $barArea 3.2439 -3.2439 3.2439 3.2439;
}; # end of fibersection definition


set ColSecTag12 12;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00070686;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag12 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.5486 -3.1486 2.5486 -3.1486 2.5486 -2.5486 -2.5486 -2.5486; # Define the concrete patch
patch quadr $IDconcU 4 49 2.5486 -3.1486 3.1486 -3.1486 3.1486 3.1486 2.5486 3.1486; # Define the concrete patch
patch quadr $IDconcU 41 4 2.5486 2.5486 2.5486 3.1486 -2.5486 3.1486 -2.5486 2.5486; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.1486 -3.1486 -2.5486 -3.1486 -2.5486 3.1486 -3.1486 3.1486; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -3.0866 -3.0866 3.0866 -3.0866;
layer straight $IDreinf $numBarsCol $barArea -3.0866 -2.6106 3.0866 -2.6106;
layer straight $IDreinf $numBarsCol $barArea -3.0866 -2.6106 3.0866 -2.6106;
layer straight $IDreinf $numBarsCol $barArea -3.0866 2.6106 3.0866 2.6106;
layer straight $IDreinf $numBarsCol $barArea -3.0866 -3.0866 -3.0866 3.0866;
layer straight $IDreinf $numBarsCol $barArea -2.6106 -3.0866 -2.6106 3.0866;
layer straight $IDreinf $numBarsCol $barArea 2.6106 -3.0866 2.6106 3.0866;
layer straight $IDreinf $numBarsCol $barArea 3.0866 -3.0866 3.0866 3.0866;
}; # end of fibersection definition


set ColSecTag13 13;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00070686;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag13 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.6475 -3.0475 2.6475 -3.0475 2.6475 -2.6475 -2.6475 -2.6475; # Define the concrete patch
patch quadr $IDconcU 4 49 2.6475 -3.0475 3.0475 -3.0475 3.0475 3.0475 2.6475 3.0475; # Define the concrete patch
patch quadr $IDconcU 41 4 2.6475 2.6475 2.6475 3.0475 -2.6475 3.0475 -2.6475 2.6475; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.0475 -3.0475 -2.6475 -3.0475 -2.6475 3.0475 -3.0475 3.0475; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.9855 2.9855 -2.9855;
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.7094 2.9855 -2.7094;
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.7094 2.9855 -2.7094;
layer straight $IDreinf $numBarsCol $barArea -2.9855 2.7094 2.9855 2.7094;
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.9855 -2.9855 2.9855;
layer straight $IDreinf $numBarsCol $barArea -2.7094 -2.9855 -2.7094 2.9855;
layer straight $IDreinf $numBarsCol $barArea 2.7094 -2.9855 2.7094 2.9855;
layer straight $IDreinf $numBarsCol $barArea 2.9855 -2.9855 2.9855 2.9855;
}; # end of fibersection definition


set ColSecTag14 14;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00045239;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag14 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.6475 -3.0475 2.6475 -3.0475 2.6475 -2.6475 -2.6475 -2.6475; # Define the concrete patch
patch quadr $IDconcU 4 49 2.6475 -3.0475 3.0475 -3.0475 3.0475 3.0475 2.6475 3.0475; # Define the concrete patch
patch quadr $IDconcU 41 4 2.6475 2.6475 2.6475 3.0475 -2.6475 3.0475 -2.6475 2.6475; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.0475 -3.0475 -2.6475 -3.0475 -2.6475 3.0475 -3.0475 3.0475; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.9855 2.9855 -2.9855;
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.7094 2.9855 -2.7094;
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.7094 2.9855 -2.7094;
layer straight $IDreinf $numBarsCol $barArea -2.9855 2.7094 2.9855 2.7094;
layer straight $IDreinf $numBarsCol $barArea -2.9855 -2.9855 -2.9855 2.9855;
layer straight $IDreinf $numBarsCol $barArea -2.7094 -2.9855 -2.7094 2.9855;
layer straight $IDreinf $numBarsCol $barArea 2.7094 -2.9855 2.7094 2.9855;
layer straight $IDreinf $numBarsCol $barArea 2.9855 -2.9855 2.9855 2.9855;
}; # end of fibersection definition


set ColSecTag15 15;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00045239;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag15 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.6067 -3.0067 2.6067 -3.0067 2.6067 -2.6067 -2.6067 -2.6067; # Define the concrete patch
patch quadr $IDconcU 4 49 2.6067 -3.0067 3.0067 -3.0067 3.0067 3.0067 2.6067 3.0067; # Define the concrete patch
patch quadr $IDconcU 41 4 2.6067 2.6067 2.6067 3.0067 -2.6067 3.0067 -2.6067 2.6067; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.0067 -3.0067 -2.6067 -3.0067 -2.6067 3.0067 -3.0067 3.0067; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.9448 2.9448 -2.9448;
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.6687 2.9448 -2.6687;
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.6687 2.9448 -2.6687;
layer straight $IDreinf $numBarsCol $barArea -2.9448 2.6687 2.9448 2.6687;
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.9448 -2.9448 2.9448;
layer straight $IDreinf $numBarsCol $barArea -2.6687 -2.9448 -2.6687 2.9448;
layer straight $IDreinf $numBarsCol $barArea 2.6687 -2.9448 2.6687 2.9448;
layer straight $IDreinf $numBarsCol $barArea 2.9448 -2.9448 2.9448 2.9448;
}; # end of fibersection definition


set ColSecTag16 16;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00025447;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag16 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.6067 -3.0067 2.6067 -3.0067 2.6067 -2.6067 -2.6067 -2.6067; # Define the concrete patch
patch quadr $IDconcU 4 49 2.6067 -3.0067 3.0067 -3.0067 3.0067 3.0067 2.6067 3.0067; # Define the concrete patch
patch quadr $IDconcU 41 4 2.6067 2.6067 2.6067 3.0067 -2.6067 3.0067 -2.6067 2.6067; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.0067 -3.0067 -2.6067 -3.0067 -2.6067 3.0067 -3.0067 3.0067; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.9448 2.9448 -2.9448;
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.6687 2.9448 -2.6687;
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.6687 2.9448 -2.6687;
layer straight $IDreinf $numBarsCol $barArea -2.9448 2.6687 2.9448 2.6687;
layer straight $IDreinf $numBarsCol $barArea -2.9448 -2.9448 -2.9448 2.9448;
layer straight $IDreinf $numBarsCol $barArea -2.6687 -2.9448 -2.6687 2.9448;
layer straight $IDreinf $numBarsCol $barArea 2.6687 -2.9448 2.6687 2.9448;
layer straight $IDreinf $numBarsCol $barArea 2.9448 -2.9448 2.9448 2.9448;
}; # end of fibersection definition


set ColSecTag17 17;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00025447;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag17 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.6 -3 2.6 -3 2.6 -2.6 -2.6 -2.6; # Define the concrete patch
patch quadr $IDconcU 4 49 2.6 -3 3 -3 3 3 2.6 3; # Define the concrete patch
patch quadr $IDconcU 41 4 2.6 2.6 2.6 3 -2.6 3 -2.6 2.6; # Define the concrete patch
patch quadr $IDconcU 4 49 -3 -3 -2.6 -3 -2.6 3 -3 3; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -2.938 -2.938 2.938 -2.938;
layer straight $IDreinf $numBarsCol $barArea -2.938 -2.662 2.938 -2.662;
layer straight $IDreinf $numBarsCol $barArea -2.938 -2.662 2.938 -2.662;
layer straight $IDreinf $numBarsCol $barArea -2.938 2.662 2.938 2.662;
layer straight $IDreinf $numBarsCol $barArea -2.938 -2.938 -2.938 2.938;
layer straight $IDreinf $numBarsCol $barArea -2.662 -2.938 -2.662 2.938;
layer straight $IDreinf $numBarsCol $barArea 2.662 -2.938 2.662 2.938;
layer straight $IDreinf $numBarsCol $barArea 2.938 -2.938 2.938 2.938;
}; # end of fibersection definition


set ColSecTag18 18;
# assign a tag number to the column section
# define section geometry
set numBarsCol 50;
set barArea 0.00025447;
#
# RC Column section:
# define section geometry
section fiberSec $ColSecTag18 {; # Define the fiber section
# Parte in cls
patch quadr $IDconcU 41 4 -2.6362 -3.0362 2.6362 -3.0362 2.6362 -2.6362 -2.6362 -2.6362; # Define the concrete patch
patch quadr $IDconcU 4 49 2.6362 -3.0362 3.0362 -3.0362 3.0362 3.0362 2.6362 3.0362; # Define the concrete patch
patch quadr $IDconcU 41 4 2.6362 2.6362 2.6362 3.0362 -2.6362 3.0362 -2.6362 2.6362; # Define the concrete patch
patch quadr $IDconcU 4 49 -3.0362 -3.0362 -2.6362 -3.0362 -2.6362 3.0362 -3.0362 3.0362; # Define the concrete patch
# Parte in acciaio
layer straight $IDreinf $numBarsCol $barArea -2.9742 -2.9742 2.9742 -2.9742;
layer straight $IDreinf $numBarsCol $barArea -2.9742 -2.6982 2.9742 -2.6982;
layer straight $IDreinf $numBarsCol $barArea -2.9742 -2.6982 2.9742 -2.6982;
layer straight $IDreinf $numBarsCol $barArea -2.9742 2.6982 2.9742 2.6982;
layer straight $IDreinf $numBarsCol $barArea -2.9742 -2.9742 -2.9742 2.9742;
layer straight $IDreinf $numBarsCol $barArea -2.6982 -2.9742 -2.6982 2.9742;
layer straight $IDreinf $numBarsCol $barArea 2.6982 -2.9742 2.6982 2.9742;
layer straight $IDreinf $numBarsCol $barArea 2.9742 -2.9742 2.9742 2.9742;
}; # end of fibersection definition


# Aggrego la sezione 1
set IDel3 3;
set A1 28.8;
set t1 0.24505;
set GAt1 [expr ($Gc*$A1/$t1)];
uniaxialMaterial Elastic $IDel3 $GAt1;
set ColSecAg19 19;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg19 $IDel3 Vy $IDel3 Vz -section $ColSecTag1;


# Aggrego la sezione 2
set IDel4 4;
set A2 28.8;
set t2 0.24505;
set GAt2 [expr ($Gc*$A2/$t2)];
uniaxialMaterial Elastic $IDel4 $GAt2;
set ColSecAg20 20;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg20 $IDel4 Vy $IDel4 Vz -section $ColSecTag2;


# Aggrego la sezione 3
set IDel5 5;
set A3 26.7338;
set t3 0.23812;
set GAt3 [expr ($Gc*$A3/$t3)];
uniaxialMaterial Elastic $IDel5 $GAt3;
set ColSecAg21 21;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg21 $IDel5 Vy $IDel5 Vz -section $ColSecTag3;


# Aggrego la sezione 4
set IDel6 6;
set A4 24.8578;
set t4 0.23133;
set GAt4 [expr ($Gc*$A4/$t4)];
uniaxialMaterial Elastic $IDel6 $GAt4;
set ColSecAg22 22;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg22 $IDel6 Vy $IDel6 Vz -section $ColSecTag4;


# Aggrego la sezione 5
set IDel7 7;
set A5 24.8578;
set t5 0.23133;
set GAt5 [expr ($Gc*$A5/$t5)];
uniaxialMaterial Elastic $IDel7 $GAt5;
set ColSecAg23 23;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg23 $IDel7 Vy $IDel7 Vz -section $ColSecTag5;


# Aggrego la sezione 6
set IDel8 8;
set A6 23.1779;
set t6 0.22482;
set GAt6 [expr ($Gc*$A6/$t6)];
uniaxialMaterial Elastic $IDel8 $GAt6;
set ColSecAg24 24;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg24 $IDel8 Vy $IDel8 Vz -section $ColSecTag6;


# Aggrego la sezione 7
set IDel9 9;
set A7 16.7455;
set t7 0.2481;
set GAt7 [expr ($Gc*$A7/$t7)];
uniaxialMaterial Elastic $IDel9 $GAt7;
set ColSecAg25 25;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg25 $IDel9 Vy $IDel9 Vz -section $ColSecTag7;


# Aggrego la sezione 8
set IDel10 10;
set A8 16.7455;
set t8 0.2481;
set GAt8 [expr ($Gc*$A8/$t8)];
uniaxialMaterial Elastic $IDel10 $GAt8;
set ColSecAg26 26;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg26 $IDel10 Vy $IDel10 Vz -section $ColSecTag8;


# Aggrego la sezione 9
set IDel11 11;
set A9 15.4522;
set t9 0.24066;
set GAt9 [expr ($Gc*$A9/$t9)];
uniaxialMaterial Elastic $IDel11 $GAt9;
set ColSecAg27 27;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg27 $IDel11 Vy $IDel11 Vz -section $ColSecTag9;


# Aggrego la sezione 10
set IDel12 12;
set A10 14.4281;
set t10 0.23425;
set GAt10 [expr ($Gc*$A10/$t10)];
uniaxialMaterial Elastic $IDel12 $GAt10;
set ColSecAg28 28;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg28 $IDel12 Vy $IDel12 Vz -section $ColSecTag10;


# Aggrego la sezione 11
set IDel13 13;
set A11 14.4281;
set t11 0.23425;
set GAt11 [expr ($Gc*$A11/$t11)];
uniaxialMaterial Elastic $IDel13 $GAt11;
set ColSecAg29 29;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg29 $IDel13 Vy $IDel13 Vz -section $ColSecTag11;


# Aggrego la sezione 12
set IDel14 14;
set A12 13.6733;
set t12 0.22924;
set GAt12 [expr ($Gc*$A12/$t12)];
uniaxialMaterial Elastic $IDel14 $GAt12;
set ColSecAg30 30;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg30 $IDel14 Vy $IDel14 Vz -section $ColSecTag12;


# Aggrego la sezione 13
set IDel15 15;
set A13 9.1118;
set t13 0.26612;
set GAt13 [expr ($Gc*$A13/$t13)];
uniaxialMaterial Elastic $IDel15 $GAt13;
set ColSecAg31 31;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg31 $IDel15 Vy $IDel15 Vz -section $ColSecTag13;


# Aggrego la sezione 14
set IDel16 16;
set A14 9.1118;
set t14 0.26612;
set GAt14 [expr ($Gc*$A14/$t14)];
uniaxialMaterial Elastic $IDel16 $GAt14;
set ColSecAg32 32;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg32 $IDel16 Vy $IDel16 Vz -section $ColSecTag14;


# Aggrego la sezione 15
set IDel17 17;
set A15 8.9816;
set t15 0.26488;
set GAt15 [expr ($Gc*$A15/$t15)];
uniaxialMaterial Elastic $IDel17 $GAt15;
set ColSecAg33 33;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg33 $IDel17 Vy $IDel17 Vz -section $ColSecTag15;


# Aggrego la sezione 16
set IDel18 18;
set A16 8.9816;
set t16 0.26488;
set GAt16 [expr ($Gc*$A16/$t16)];
uniaxialMaterial Elastic $IDel18 $GAt16;
set ColSecAg34 34;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg34 $IDel18 Vy $IDel18 Vz -section $ColSecTag16;


# Aggrego la sezione 17
set IDel19 19;
set A17 8.96;
set t17 0.26467;
set GAt17 [expr ($Gc*$A17/$t17)];
uniaxialMaterial Elastic $IDel19 $GAt17;
set ColSecAg35 35;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg35 $IDel19 Vy $IDel19 Vz -section $ColSecTag17;


# Aggrego la sezione 18
set IDel20 20;
set A18 9.0757;
set t18 0.26578;
set GAt18 [expr ($Gc*$A18/$t18)];
uniaxialMaterial Elastic $IDel20 $GAt18;
set ColSecAg36 36;
# Aggrego i comportamenti a presso-flessione con quelli a torsione e taglio
section Aggregator $ColSecAg36 $IDel20 Vy $IDel20 Vz -section $ColSecTag18;
[/code]



ELEMENT SCRIPT
[code]element nonlinearBeamColumn 2 2 3 $numIntgrPts $ColSecAg20 $ColTransfTag;
element nonlinearBeamColumn 3 3 4 $numIntgrPts $ColSecAg21 $ColTransfTag;
element nonlinearBeamColumn 4 4 5 $numIntgrPts $ColSecAg21 $ColTransfTag;
element nonlinearBeamColumn 5 5 6 $numIntgrPts $ColSecAg22 $ColTransfTag;
element nonlinearBeamColumn 6 6 7 $numIntgrPts $ColSecAg23 $ColTransfTag;
element nonlinearBeamColumn 7 7 8 $numIntgrPts $ColSecAg24 $ColTransfTag;
element nonlinearBeamColumn 8 8 9 $numIntgrPts $ColSecAg24 $ColTransfTag;
element nonlinearBeamColumn 9 9 10 $numIntgrPts $ColSecAg25 $ColTransfTag;
element nonlinearBeamColumn 10 10 11 $numIntgrPts $ColSecAg26 $ColTransfTag;
element nonlinearBeamColumn 11 11 12 $numIntgrPts $ColSecAg27 $ColTransfTag;
element nonlinearBeamColumn 12 12 13 $numIntgrPts $ColSecAg27 $ColTransfTag;
element nonlinearBeamColumn 13 13 14 $numIntgrPts $ColSecAg28 $ColTransfTag;
element nonlinearBeamColumn 14 14 15 $numIntgrPts $ColSecAg29 $ColTransfTag;
element nonlinearBeamColumn 15 15 16 $numIntgrPts $ColSecAg30 $ColTransfTag;
element nonlinearBeamColumn 16 16 17 $numIntgrPts $ColSecAg30 $ColTransfTag;
element nonlinearBeamColumn 17 17 18 $numIntgrPts $ColSecAg31 $ColTransfTag;
element nonlinearBeamColumn 18 18 19 $numIntgrPts $ColSecAg32 $ColTransfTag;
element nonlinearBeamColumn 19 19 20 $numIntgrPts $ColSecAg33 $ColTransfTag;
element nonlinearBeamColumn 20 20 21 $numIntgrPts $ColSecAg34 $ColTransfTag;
element nonlinearBeamColumn 21 21 22 $numIntgrPts $ColSecAg35 $ColTransfTag;
element nonlinearBeamColumn 22 22 23 $numIntgrPts $ColSecAg35 $ColTransfTag;
element nonlinearBeamColumn 23 23 24 $numIntgrPts $ColSecAg36 $ColTransfTag;
element nonlinearBeamColumn 24 24 25 $numIntgrPts $ColSecAg36 $ColTransfTag;
element nonlinearBeamColumn 25 26 27 $numIntgrPts $ColSecAg19 $ColTransfTag;
element nonlinearBeamColumn 26 27 28 $numIntgrPts $ColSecAg20 $ColTransfTag;
element nonlinearBeamColumn 27 28 29 $numIntgrPts $ColSecAg21 $ColTransfTag;
element nonlinearBeamColumn 28 29 30 $numIntgrPts $ColSecAg21 $ColTransfTag;
element nonlinearBeamColumn 29 30 31 $numIntgrPts $ColSecAg22 $ColTransfTag;
element nonlinearBeamColumn 30 31 32 $numIntgrPts $ColSecAg23 $ColTransfTag;
element nonlinearBeamColumn 31 32 33 $numIntgrPts $ColSecAg24 $ColTransfTag;
element nonlinearBeamColumn 32 33 34 $numIntgrPts $ColSecAg24 $ColTransfTag;
element nonlinearBeamColumn 33 34 35 $numIntgrPts $ColSecAg25 $ColTransfTag;
element nonlinearBeamColumn 34 35 36 $numIntgrPts $ColSecAg26 $ColTransfTag;
element nonlinearBeamColumn 35 36 37 $numIntgrPts $ColSecAg27 $ColTransfTag;
element nonlinearBeamColumn 36 37 38 $numIntgrPts $ColSecAg27 $ColTransfTag;
element nonlinearBeamColumn 37 38 39 $numIntgrPts $ColSecAg28 $ColTransfTag;
element nonlinearBeamColumn 38 39 40 $numIntgrPts $ColSecAg29 $ColTransfTag;
element nonlinearBeamColumn 39 40 41 $numIntgrPts $ColSecAg30 $ColTransfTag;
element nonlinearBeamColumn 40 41 42 $numIntgrPts $ColSecAg30 $ColTransfTag;
element nonlinearBeamColumn 41 42 43 $numIntgrPts $ColSecAg31 $ColTransfTag;
element nonlinearBeamColumn 42 43 44 $numIntgrPts $ColSecAg32 $ColTransfTag;
element nonlinearBeamColumn 43 44 45 $numIntgrPts $ColSecAg33 $ColTransfTag;
element nonlinearBeamColumn 44 45 46 $numIntgrPts $ColSecAg34 $ColTransfTag;
element nonlinearBeamColumn 45 46 47 $numIntgrPts $ColSecAg35 $ColTransfTag;
element nonlinearBeamColumn 46 47 48 $numIntgrPts $ColSecAg35 $ColTransfTag;
element nonlinearBeamColumn 47 48 49 $numIntgrPts $ColSecAg36 $ColTransfTag;
element nonlinearBeamColumn 48 49 50 $numIntgrPts $ColSecAg36 $ColTransfTag;
element nonlinearBeamColumn 49 51 52 $numIntgrPts $ColSecAg19 $ColTransfTag;
element nonlinearBeamColumn 50 52 53 $numIntgrPts $ColSecAg20 $ColTransfTag;
element nonlinearBeamColumn 51 53 54 $numIntgrPts $ColSecAg21 $ColTransfTag;
element nonlinearBeamColumn 52 54 55 $numIntgrPts $ColSecAg21 $ColTransfTag;
element nonlinearBeamColumn 53 55 56 $numIntgrPts $ColSecAg22 $ColTransfTag;
element nonlinearBeamColumn 54 56 57 $numIntgrPts $ColSecAg23 $ColTransfTag;
element nonlinearBeamColumn 55 57 58 $numIntgrPts $ColSecAg24 $ColTransfTag;
element nonlinearBeamColumn 56 58 59 $numIntgrPts $ColSecAg24 $ColTransfTag;
element nonlinearBeamColumn 57 59 60 $numIntgrPts $ColSecAg25 $ColTransfTag;
element nonlinearBeamColumn 58 60 61 $numIntgrPts $ColSecAg26 $ColTransfTag;
element nonlinearBeamColumn 59 61 62 $numIntgrPts $ColSecAg27 $ColTransfTag;
element nonlinearBeamColumn 60 62 63 $numIntgrPts $ColSecAg27 $ColTransfTag;
element nonlinearBeamColumn 61 63 64 $numIntgrPts $ColSecAg28 $ColTransfTag;
element nonlinearBeamColumn 62 64 65 $numIntgrPts $ColSecAg29 $ColTransfTag;
element nonlinearBeamColumn 63 65 66 $numIntgrPts $ColSecAg30 $ColTransfTag;
element nonlinearBeamColumn 64 66 67 $numIntgrPts $ColSecAg30 $ColTransfTag;
element nonlinearBeamColumn 65 67 68 $numIntgrPts $ColSecAg31 $ColTransfTag;
element nonlinearBeamColumn 66 68 69 $numIntgrPts $ColSecAg32 $ColTransfTag;
element nonlinearBeamColumn 67 69 70 $numIntgrPts $ColSecAg33 $ColTransfTag;
element nonlinearBeamColumn 68 70 71 $numIntgrPts $ColSecAg34 $ColTransfTag;
element nonlinearBeamColumn 69 71 72 $numIntgrPts $ColSecAg35 $ColTransfTag;
element nonlinearBeamColumn 70 72 73 $numIntgrPts $ColSecAg35 $ColTransfTag;
element nonlinearBeamColumn 71 73 74 $numIntgrPts $ColSecAg36 $ColTransfTag;
element nonlinearBeamColumn 72 74 75 $numIntgrPts $ColSecAg36 $ColTransfTag;[/code]


THANK U VERY MUCH!!!!

Giacomo
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

if you run it from DOS, you can see the message.

also, i found that, the program ends suddenly when you are applying a load on an element that doesn't exist, or something like that.
check that.
please send me the files to opensees-support at berkeley dot edu
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

here's what i got from frank:


it was a bug in the code .. it has been fixed and the updated code is in the repository .. it is not in the 2.0.0 .exe, it will be in the next released version.

> Are they working now???
> s-
>
> -----Original Message-----
> From: Frank McKenna [mailto:fmckenna@ce.berkeley.edu]
> Sent: Monday, July 07, 2008 4:03 PM
> To: mazzoni@berkeley.edu
> Subject: Re: Emailing: BuildNodes.zip
>
>
> There was a bug in Concrete04 .. inm latest release only Concrete01
> and
> Steel01 can be saved/retrieved .. that has been also fixed.
>
>> Frank,
>> I think there is something wrong with the database commands.
>> See the attached files,
>> Source Telaio5_E.tcl
>>
>>
>> Silvia
>>
>
>
>
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
giacomovincenzo
Posts: 39
Joined: Thu Feb 21, 2008 6:44 am
Location: Politecnico di Torino

Thanks!

Post by giacomovincenzo »

Thank you very very much, Silvia!

So, I will wait the new version.

In the meanwhile, I'm running analyses for a very long time (it's a time consuming stategy, but it works!).

Giacomo

:D
Post Reply