Search found 28 matches

by mja441
Wed Feb 10, 2016 4:27 am
Forum: OpenSees.exe Users
Topic: modeling a tunnel
Replies: 0
Views: 1994

modeling a tunnel

Dear All,

I want ti model a underground tunnel using opensees. Can anyone help me out in any way? any suggestions, sample works or documentation provided is highly appreciated.

Best regards
by mja441
Fri Apr 10, 2015 6:53 am
Forum: OpenSees.exe Users
Topic: Modeling a tunnel and soil system in Opensees
Replies: 4
Views: 6027

Re: Modeling a tunnel and soil system in Opensees

Dear All,

I would really appreciate some help.
Nobody has no suggestions for this issue?

Im waiting
thanks
by mja441
Sun Apr 05, 2015 10:26 pm
Forum: OpenSees.exe Users
Topic: Modeling a tunnel and soil system in Opensees
Replies: 4
Views: 6027

Re: Modeling a tunnel and soil system in Opensees

Dear All,

No opinions?

Im still waiting

Thanks in advance
by mja441
Sun Apr 05, 2015 10:22 pm
Forum: OpenSees.exe Users
Topic: Stress-Strain Cuver for Steel Fiber Reinforced Concrete
Replies: 3
Views: 3802

Re: Stress-Strain Cuver for Steel Fiber Reinforced Concrete

Dear mattroidena1,

I too need to model SFRC in opensees. Can u share me the material model u used and any other supporting info ?

I will be very appreciated,

Regards
by mja441
Sat Dec 06, 2014 7:54 am
Forum: OpenSees.exe Users
Topic: Modeling a tunnel and soil system in Opensees
Replies: 4
Views: 6027

Modeling a tunnel and soil system in Opensees

Dear All,

I need to model the tunnel and soil system in opensees.
Does anyone have any ideas or examples for me to start with?

I would greatly appreciate any help ASAP

Best Regards,
MJ
by mja441
Sun Oct 20, 2013 11:43 pm
Forum: OpenSees.exe Users
Topic: foundation modeling
Replies: 2
Views: 2405

Re: foundation modeling

Salam

There is a command called 'shallowfoundationGen' which can be useful for you:
http://opensees.berkeley.edu/wiki/index ... ndationGen

Regards
MJ
by mja441
Sat Oct 12, 2013 11:27 pm
Forum: OpenSees.exe Users
Topic: stiffness in element recorder output
Replies: 3
Views: 3452

Re: stiffness in element recorder output

Hi
This is my question too. What exactly is the output of the element recorder/section/stiffness?
Moreover : What is the output of element recorder/section/deformation?
& finally: What is the output of element recorder/section/force?

I'm really stuck, so plz help me out on these issues.
Regards
by mja441
Sun Aug 04, 2013 11:26 pm
Forum: OpenSees.exe Users
Topic: IDA analysis in opensees
Replies: 10
Views: 13789

Re: IDA analysis in opensees

Salam,
First of all, I forgot to paste the first line. write

for {set i 5} {$i<=7} {incr i} {

at the beginning of the code I provided above.

The choice of the ground motion factor and step is up to yourself. Actually you only chose the step and initial ground motion factor, i.e. 0.4g and 0.2g in my code :
#define your GM intensity step: 0.4g,...
> > set s [expr 2+4*$i]

All you have to set is: range of i ( range of ground motion factor) in line:
for {set i 5} {$i<=7} {incr i} {

and numbers 2 & 4 in line:
> > set s [expr 2+4*$i]

Plz contact if your problem persists,

Regards,
MJ
by mja441
Sat Apr 27, 2013 10:18 am
Forum: OpenSees.exe Users
Topic: IDA analysis in opensees
Replies: 10
Views: 13789

Re: IDA analysis in opensees

> Hi ftoledoj;
The Toldynamic variable is a variable which you can u can change to reach convergance in your analysis. The default is 1.e-3, but you can increase it to reach higher precision in your analysis (for example 1.e-8) or if you have convergance problems in your script, you can reduce this value to maybe fix the problem (for example 1.e-2.

In the following script:
> > #define your GM intensity step: 0.4g,...
> > set s [expr 2+4*$i]
> > set gmf [expr $s/10.]

The number that is multipied into $i ( i.e. 4 here) is the step in which you want to increase the PGA factor in IDA analysis. for example in this case,
The first ground motion factor(gmf) is (2+4*1)/10=0.6 , the next gmf is : (2+4*2)/10=1.0, ... and so on ( as you can see, the gmf is grownig by 0.4).

Best Regards,
MJ,
Phd candidate in Earthquake Eng. at University of Tehran, Iran.




ftoledoj wrote:
> HI. what does the first part of the script means? thanks
> > #change to reach convergance
> > variable TolDynamic 1.e-3; # Convergence
> > Test:tolerance
> >
> > #define your GM intensity step: 0.1g,...
> > set s [expr 2+4*$i]
> > set gmf [expr $s/10.]
> >
> > puts "gmf=[expr $gmf]"
> > puts ******************
> >
>


)
>
> mja441 wrote:
> > Hi,
> > I wrote the following code for IDA and its simple and it works.
> > I've commented as far as possible, but Please let me know if you dont
> > understand any part of it.
> >
> > regards
> >
> > IDA code:
> >
> >
> > wipeAnalysis
> >
> > #change to reach convergance
> > variable TolDynamic 1.e-3; # Convergence
> > Test:tolerance
> >
> > #define your GM intensity step: 0.1g,...
> > set s [expr 2+4*$i]
> > set gmf [expr $s/10.]
> >
> > puts "gmf=[expr $gmf]"
> > puts ******************
> >
> >
> > file mkdir x[expr $gmf]
> >
> > #Paste your model here
> > puts "model built!"
> >
> >
> >
> >
> >
> >
> > #define gravity loads and perform gravity analysis
> >
> > constraints Plain
> > numberer Plain
> > system BandGeneral
> > test NormDispIncr 1.e-8 60
> > algorithm ModifiedNewton
> > integrator LoadControl 0.1
> > analysis Static
> > analyze 10
> > loadConst -time 0.0
> >
> >
> > ####################
> > #define recorders
> > recorder Node -file x[expr $gmf]/node2dispX[expr $gmf].out -time -node 2
> > -dof 1 disp
> > recorder Node -file x[expr $gmf]/node3dispX[expr $gmf].out -time -node 3
> > -dof 1 disp
> > recorder Node -file x[expr $gmf]/node4(roof)dispX[expr $gmf].out -time
> > -node 4 -dof 1 disp
> >
> > recorder Node -file x[expr $gmf]/node1reacX[expr $gmf].out -time -node 1
> > -dof 1 reaction
> > recorder Node -file x[expr $gmf]/node5reacX[expr $gmf].out -time -node 5
> > -dof 1 reaction
> >
> > recorder Drift -file x[expr $gmf]/driftS1X[expr $gmf].out -time -iNode 1
> > -jNode 2 -dof 1 -perpDirn 2
> > recorder Drift -file x[expr $gmf]/driftS2X[expr $gmf].out -time -iNode 2
> > -jNode 3 -dof 1 -perpDirn 2
> > recorder Drift -file x[expr $gmf]/driftS3X[expr $gmf].out -time -iNode 3
> > -jNode 4 -dof 1 -perpDirn 2
> >
> > recorder EnvelopeNode -file x[expr $gmf]/envDisp2X[expr $gmf].out -time
> > -node 2 -dof 1 disp
> > recorder EnvelopeNode -file x[expr $gmf]/envDisp3X[expr $gmf].out -time
> > -node 3 -dof 1 disp
> > recorder EnvelopeNode -file x[expr $gmf]/envDisp4X[expr $gmf].out -time
> > -node 4 -dof 1 disp
> >
> >
> > for {set j 1} {$j<=15} {incr j} {
> >
> > recorder Element -file x[expr $gmf]/ele[expr $j]-X[expr $gmf].out -time
> > -ele $j localForce
> > }
> >
> >
> > ##EarthQuake Loading
> >
> > puts "groundmotion start!.Time: [getTime]"
> >
> > #define damping
> > set xDamp 0.05; # damping ratio
> > set MpropSwitch 1.0;
> > set KcurrSwitch 0.0;
> > set KcommSwitch 1.0;
> > set KinitSwitch 0.0;
> > set nEigenI 1; # mode 1
> > set nEigenJ 3; # mode 3
> > set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ
> > modes
> >
> > set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
> > set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
> > set omegaI [expr pow($lambdaI,0.5)];
> > set omegaJ [expr pow($lambdaJ,0.5)];
> > set alphaM [expr
> > $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop.
> > damping; D = alphaM*M
> > set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; #
> > current-K; +beatKcurr*KCurrent
> > set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; #
> > last-committed K; +betaKcomm*KlastCommitt
> > set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; #
> > initial-K; +beatKinit*Kini
> >
> > rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
> >
> > puts "damping ok!"
> >
> >
> > #-------------------------------
> > ### change these parameters for each record:
> > ## TmaxAnalysis , DtAnalysis , "Series -dt .. - filepath .."
> >
> >
> > set TmaxAnalysis 49.97 ; # maximum duration of ground-motion
> > analysis -- should be 50*$sec
> > set DtAnalysis 0.01; # time-step Dt for lateral analysis
> >
> > #increment gmf
> > set accel "Series -dt 0.01 -filePath LADSPx3.8.txt -factor [expr
> > ($gmf)*9.81]"
> >
> > pattern UniformExcitation [expr $i+100] 1 -accel $accel
> >
> >
> >
> >
> > ##Dynamic Analysis Parameters
> >
> > variable constraintsTypeDynamic Transformation;
> > constraints $constraintsTypeDynamic ;
> >
> > variable numbererTypeDynamic RCM
> > numberer $numbererTypeDynamic
> >
> > variable systemTypeDynamic BandGeneral; # try UmfPack for large problems
> > system $systemTypeDynamic
> >
> > variable maxNumIterDynamic 400; # Convergence Test: maximum
> > number of iterations that will be performed before "failure to
> > converge" is returned
> > variable printFlagDynamic 0; # Convergence Test: flag used
> > to print information on convergence (optional) # 1: print
> > information on each step;
> > variable testTypeDynamic EnergyIncr; # Convergence-test type
> > test $testTypeDynamic $TolDynamic $maxNumIterDynamic $printFlagDynamic;
> >
> > variable maxNumIterConvergeDynamic 2000;
> > variable printFlagConvergeDynamic 0;
> >
> > variable algorithmTypeDynamic KrylovNewton;
> > algorithm $algorithmTypeDynamic;
> >
> > variable NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
> > variable NewmarkBeta 0.26; # Newmark-integrator beta parameter
> > variable integratorTypeDynamic Newmark;
> > integrator $integratorTypeDynamic $NewmarkGamma $NewmarkBeta
> > variable analysisTypeDynamic VariableTransient
> > analysis $analysisTypeDynamic
> >
> > #-------------------------------
> > #
> > set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
> > #analyze $Nsteps $DtAnalysis
> > #loadConst -time 0.0
> > 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 .6
> > set ok [analyze 1 $DtAnalysis]
> > algorithm $algorithmTypeDynamic
> > }
> > if {$ok != 0} {
> > puts "Trying ModifiedNewton .."
> > algorithm ModifiedNewton
> > set ok [analyze 1 $DtAnalysis]
> > algorithm $algorithmTypeDynamic
> > }
> > if {$ok != 0} {
> > puts "Trying BFGS.."
> > algorithm BFGS
> > set ok [analyze 1 $DtAnalysis]
> > algorithm $algorithmTypeDynamic
> > }
> > }
> > }; # end if ok !0
> >
> >
> >
> > puts "Ground Motion DoneX[expr $gmf]. End Time: [getTime]"
> > puts ****************************************************************
> > puts ****************************************************************
by mja441
Thu Nov 24, 2011 1:19 am
Forum: OpenSees.exe Users
Topic: problem using opensees navigator ver. 2.5
Replies: 1
Views: 2341

problem using opensees navigator ver. 2.5

Dear All,

I've recently installed OSN ver 2.5 ( the version which is run from inside matlab), It opens up ok, I can define the geometry and nodes, but when I want to define materials amd elements, it returns errors in matlab command window ( error message: callupdate error ) and I'm not able to define mat's and elements.

Is there a problem with this version or am I doing something wrong?

Regards
by mja441
Wed Nov 16, 2011 12:02 pm
Forum: OpenSees.exe Users
Topic: Problem in modeling CBF
Replies: 12
Views: 12382

Re: Problem in modeling CBF

I figured it out. As u said and suggested by vesna for nonlinearbeamcolumn elements, I used very stiff truss elements between the nodes I used for defining the beams, and removed the equaldof command and it worked!:) I got equal disp's in all nodes.

The reason for the low disp values, was due to very stiff braces. I changed brace sections to HSS5x5x2 and I got reasonble results. I've pasted my modified final model. Many thanks for your commitment and time,

Regards

_________________________________
file mkdir x[expr $gmf]

###Model
model BasicBuilder -ndm 2
#units N,m,s
source Wsection.tcl; # procedure to define fiber W section


node 1 0.0 0.0
node 2 0.0 3.2
node 3 3.45 0.0
node 4 3.45 3.2
node 5 0.0 3.2
node 6 3.45 3.2
node 7 1.725 3.2
node 8 1.725 3.2
node 9 0.8689 1.5965
node 10 2.5939 1.6034

set mass 523.07
set DL 241.42
set LL 57.48
mass 2 [expr 38.48+19.25+$mass+$DL+.2*$LL] 1.e-9 0.
mass 4 [expr 38.48+19.25+$mass+$DL+.2*$LL] 1.e-9 0.
mass 7 [expr 43.76+$mass+$DL+.2*$LL] 1.e-9 0.


fix 1 1 1 0
fix 3 1 1 0


#columns to beam pinned connections
equalDOF 2 5 1 2
equalDOF 4 6 1 2
#brace to columns & beam pinned connections
equalDOF 7 8 1 2


set transftagbeam 1
set transftagcolumn 2
set transftagbrace 3

geomTransf Linear $transftagbeam
geomTransf PDelta $transftagcolumn
geomTransf Corotational $transftagbrace

set material tag
set foolad 1
uniaxialMaterial Steel01 $foolad 2.4e8 2e11 0.01

#column section: W100x100x4 mm
set ColSecTag 1
set a 0.1
set t 0.004
set b [expr $a-2*$t];

section fiberSec 1 {
patch quad 1 6 20 [expr $b/2] [expr $a/2] [expr $b/2] [expr -$a/2] [expr $a/2] [expr -$a/2] [expr $a/2] [expr $a/2]
patch quad 1 20 6 [expr -$b/2] [expr $a/2] [expr -$b/2] [expr $b/2] [expr $b/2] [expr $b/2] [expr $b/2] [expr $a/2]
patch quad 1 20 6 [expr -$b/2] [expr -$b/2] [expr -$b/2] [expr -$a/2] [expr $b/2] [expr -$a/2] [expr $b/2] [expr -$b/2]
patch quad 1 6 20 [expr -$a/2] [expr $a/2] [expr -$a/2] [expr -$a/2] [expr -$b/2] [expr -$a/2] [expr -$b/2] [expr $a/2]
}

#Brace section: W50x50x2 mm
set BraceSecTag 3
set a 0.05
set t 0.002
set b [expr $a-2*$t];

section fiberSec 3 {
patch quad 1 6 20 [expr $b/2] [expr $a/2] [expr $b/2] [expr -$a/2] [expr $a/2] [expr -$a/2] [expr $a/2] [expr $a/2]
patch quad 1 20 6 [expr -$b/2] [expr $a/2] [expr -$b/2] [expr $b/2] [expr $b/2] [expr $b/2] [expr $b/2] [expr $a/2]
patch quad 1 20 6 [expr -$b/2] [expr -$b/2] [expr -$b/2] [expr -$a/2] [expr $b/2] [expr -$a/2] [expr $b/2] [expr -$b/2]
patch quad 1 6 20 [expr -$a/2] [expr $a/2] [expr -$a/2] [expr -$a/2] [expr -$b/2] [expr -$a/2] [expr -$b/2] [expr $a/2]
}

#Beam section: IPE200
set BeamSecTag 2
set d 0.2; #depth
set bf .1 ; #flange width
set tf .0085 ; #flange thickness
set tw 0.0056 ; #web thickness
set nfdw 20 ; #number of fibers along dw
set nftw 2; # number of fibers along tw
set nfbf 16; # number of fibers along bf
set nftf 4; # number of fibers along tf
Wsection $BeamSecTag $foolad $d $bf $tf $tw $nfdw $nftw $nfbf $nftf

##Elements
#columns
set np 6
element nonlinearBeamColumn 1 1 2 $np $ColSecTag $transftagcolumn
element nonlinearBeamColumn 4 4 3 $np $ColSecTag $transftagcolumn

#beam
element nonlinearBeamColumn 2 5 7 $np $BeamSecTag $transftagbeam
element nonlinearBeamColumn 3 7 6 $np $BeamSecTag $transftagbeam


#Braces
element nonlinearBeamColumn 5 1 9 $np $BraceSecTag $transftagbrace
element nonlinearBeamColumn 6 9 8 $np $BraceSecTag $transftagbrace
element nonlinearBeamColumn 7 8 10 $np $BraceSecTag $transftagbrace
element nonlinearBeamColumn 8 10 3 $np $BraceSecTag $transftagbrace

####Stiff Roof Truss to create rigid diaphragm
uniaxialMaterial Elastic 700 10E+11
set A 1.0
element truss 701 5 7 $A 700
element truss 703 7 6 $A 700


puts " Model Built! "


eigen 1;
set T1gravity [expr 2*3.1416/(pow([eigen 1],0.5))]
puts "T1gravity(Bare Unloaded frame)=[expr $T1gravity]sec"


recorder display "Frame" 500 0 600 600 -file namayesh
prp 90 0 0
vup 0 1 0
vpn 1 0 1
viewWindow -2 2 -2 2
display 2 5 15


##########################
#define gravity loads

pattern Plain 1 Linear {

eleLoad -ele 2 -type -beamUniform [expr -2059.4-490.33-4462.03]
eleLoad -ele 3 -type -beamUniform [expr -2059.4-490.33-4462.03]

}



constraints Plain
numberer Plain
system BandGeneral
test EnergyIncr 1.e-8 60
algorithm ModifiedNewton
integrator LoadControl 0.1
analysis Static
analyze 10
loadConst -time 0.0

eigen 1;
set T1gravity [expr 2*3.1416/(pow([eigen 1],0.5))]
puts "T1gravity(Bare loaded frame)=[expr $T1gravity]sec"
by mja441
Wed Nov 16, 2011 1:13 am
Forum: OpenSees.exe Users
Topic: Problem in modeling CBF
Replies: 12
Views: 12382

Re: Problem in modeling CBF

Many thanks for your time and devotion, I really appreciate it.
Yes, as I said there's no problem in pushover.I've send u the EQ file ( my email: mja441@gmail.com)
I'll give vesna's suggestion a try and let u know of the results.

Regards,

Mohammad
by mja441
Tue Nov 15, 2011 12:39 am
Forum: OpenSees.exe Users
Topic: Problem in modeling CBF
Replies: 12
Views: 12382

Re: Problem in modeling CBF

Dear Eidini,

I performed pushover analysis in my CBF-inverted V model successfully, but in IDA analysis, I've encountered the following problems:

1) The model is showing very stiff behavior, for example it gives very small drift values at very high intensities which is wrong.
2) The roof isn't behaving as a rigid diaphragm, i.e. nodes 2,5,7,4 give similar displacements while nodes 6 and 8 give
completely different values.

It seems that shear forces aren't successfully transfering to the roof. I've pasted my IDA code.
What do u think is wrong?
If you've modeled a CBF and EBF (both inverted V) before in opensees, I'd appreciate u giving it to me.

regards

________________________________________________
for {set i 0} {$i<=10} {incr i} {

wipe
wipeAnalysis

variable TolDynamic 1.e-8; # Convergence Test:tolerance

set s [expr 2+4*$i]
set gmf [expr $s/10.]

###for collapse point
#set s [expr 30+1*$i]
#set gmf [expr $s/10.]

puts "gmf=[expr $gmf]"
puts ******************

file mkdir x[expr $gmf]

###Model
model BasicBuilder -ndm 2
#units N,m,s
source Wsection.tcl; # procedure to define fiber W section


node 1 0.0 0.0
node 2 0.0 3.2
node 3 3.45 0.0
node 4 3.45 3.2
node 5 0.0 3.2
node 6 3.45 3.2
node 7 1.725 3.2
node 8 1.725 3.2
node 9 0.8689 1.5965
node 10 2.5939 1.6034

set mass 523.07
mass 2 [expr 38.48+19.25+$mass] 1.e-9 0.
mass 4 [expr 38.48+19.25+$mass] 1.e-9 0.
mass 7 [expr 43.76+$mass] 1.e-9 0.


fix 1 1 1 0
fix 3 1 1 0

#rigid diaphragm
equalDOF 2 4 1
equalDOF 2 7 1


#columns to beam pinned connections
equalDOF 2 5 1 2
equalDOF 4 6 1 2
#brace to columns & beam pinned connections
equalDOF 7 8 1 2


set transftagbeam 1
set transftagcolumn 2
set transftagbrace 3

geomTransf Linear $transftagbeam
geomTransf PDelta $transftagcolumn
geomTransf Corotational $transftagbrace

set material tag
set foolad 1
uniaxialMaterial Steel01 $foolad 2.4e8 2e11 0.01

#column & Brace section: W100x100x4 mm
set ColBraceTag 1
set a 0.1
set t 0.004
set b [expr $a-2*$t];

section fiberSec 1 {
patch quad 1 6 20 [expr $b/2] [expr $a/2] [expr $b/2] [expr -$a/2] [expr $a/2] [expr -$a/2] [expr $a/2] [expr $a/2]
patch quad 1 20 6 [expr -$b/2] [expr $a/2] [expr -$b/2] [expr $b/2] [expr $b/2] [expr $b/2] [expr $b/2] [expr $a/2]
patch quad 1 20 6 [expr -$b/2] [expr -$b/2] [expr -$b/2] [expr -$a/2] [expr $b/2] [expr -$a/2] [expr $b/2] [expr -$b/2]
patch quad 1 6 20 [expr -$a/2] [expr $a/2] [expr -$a/2] [expr -$a/2] [expr -$b/2] [expr -$a/2] [expr -$b/2] [expr $a/2]
}


#Beam section: IPE200
set BeamSecTag 2
set d 0.2; #depth
set bf .1 ; #flange width
set tf .0085 ; #flange thickness
set tw 0.0056 ; #web thickness
set nfdw 20 ; #number of fibers along dw
set nftw 2; # number of fibers along tw
set nfbf 16; # number of fibers along bf
set nftf 4; # number of fibers along tf
Wsection $BeamSecTag $foolad $d $bf $tf $tw $nfdw $nftw $nfbf $nftf

##Elements
#columns
set np 6
element nonlinearBeamColumn 1 1 2 $np $ColBraceTag $transftagcolumn
element nonlinearBeamColumn 4 4 3 $np $ColBraceTag $transftagcolumn

#beam
element nonlinearBeamColumn 2 5 7 $np $BeamSecTag $transftagbeam
element nonlinearBeamColumn 3 7 6 $np $BeamSecTag $transftagbeam


#Braces
element nonlinearBeamColumn 5 1 9 $np $ColBraceTag $transftagbrace
element nonlinearBeamColumn 6 9 8 $np $ColBraceTag $transftagbrace
element nonlinearBeamColumn 7 8 10 $np $ColBraceTag $transftagbrace
element nonlinearBeamColumn 8 10 3 $np $ColBraceTag $transftagbrace

#section Elastic 700 2.e11 1 1.e20
###Stiff Roof Truss
#element truss 700 2 8 700
#element truss 701 8 6 700

puts " Model Built! "


eigen 1;
set T1gravity [expr 2*3.1416/(pow([eigen 1],0.5))]
puts "T1gravity(Bare Unloaded frame)=[expr $T1gravity]sec"


recorder display "Frame" 820 0 400 400 -file namayesh
prp 90 0 0
vup 0 1 0
vpn 1 0 1
viewWindow -2.5 2.5 -2.5 2.5
display 2 5 15


##########################
#define gravity loads

pattern Plain 1 Linear {

eleLoad -ele 2 -type -beamUniform [expr -2059.4-490.33]
eleLoad -ele 3 -type -beamUniform [expr -2059.4-490.33]

}



constraints Plain
numberer Plain
system BandGeneral
test EnergyIncr 1.e-8 60
algorithm ModifiedNewton
integrator LoadControl 0.1
analysis Static
analyze 10
loadConst -time 0.0

eigen 1;
set T1gravity [expr 2*3.1416/(pow([eigen 1],0.5))]
puts "T1gravity(Bare loaded frame)=[expr $T1gravity]sec"

#
##--------------------
#infill
#set deevar 2
#uniaxialMaterial Hysteretic $deevar 1e-11 0.0001 1e-11 0.003 1e-11 0.0072 -2.62e6 -0.0005 -4.54e6 -0.003 -1.36e6 -0.0072 0.8 0.2 0.0 0.0
#element truss 9 2 3 0.048 $deevar
#element truss 10 1 4 0.048 $deevar

eigen 1 ;
set T1gravity [expr 2*3.1416/(pow([eigen 1],0.5))]
puts "T1gravity(loaded infilled frame)=[expr $T1gravity]sec"




####################
#recorders
recorder Node -file x[expr $gmf]/node2disp.out -time -node 2 -dof 1 disp
recorder Node -file x[expr $gmf]/node5disp.out -time -node 5 -dof 1 disp
recorder Node -file x[expr $gmf]/node7disp.out -time -node 7 -dof 1 disp
recorder Node -file x[expr $gmf]/node8disp.out -time -node 8 -dof 1 disp
recorder Node -file x[expr $gmf]/node6disp.out -time -node 6 -dof 1 disp
recorder Node -file x[expr $gmf]/node4disp.out -time -node 4 -dof 1 disp


recorder Node -file x[expr $gmf]/node1reac.out -time -node 1 -dof 1 reaction
recorder Node -file x[expr $gmf]/node3reac.out -time -node 3 -dof 1 reaction

recorder Drift -file x[expr $gmf]/driftS1.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2

recorder EnvelopeNode -file x[expr $gmf]/envDisp2.out -time -node 2 -dof 1 disp


for {set j 1} {$j<=10} {incr j} {

recorder Element -file x[expr $gmf]/ele[expr $j].out -time -ele $j localForce
}


##EQ Loading

puts "groundmotion start!.Time: [getTime]"

#define damping
set xDamp 0.05; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 1.0;
set KinitSwitch 0.0;
set nEigenI 1; # mode 1
set nEigenJ 2; # mode 3
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes

set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-K; +beatKinit*Kini

rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping

puts "damping ok!"


#-------------------------------
### change these parameters for each record:
## TmaxAnalysis , DtAnalysis , "Series -dt .. - filepath .."


set TmaxAnalysis 49.97 ; # maximum duration of ground-motion analysis -- should be 50*$sec
set DtAnalysis 0.01; # time-step Dt for lateral analysis

#increment gmf
set accel "Series -dt 0.02 -filePath LADSPx3.8.txt -factor [expr ($gmf)*9.81]"

pattern UniformExcitation [expr $i+100] 1 -accel $accel




##Dynamic Analysis Parameters

variable constraintsTypeDynamic Transformation;
constraints $constraintsTypeDynamic ;

variable numbererTypeDynamic RCM
numberer $numbererTypeDynamic

variable systemTypeDynamic BandGeneral; # try UmfPack for large problems
system $systemTypeDynamic

variable maxNumIterDynamic 400; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
variable printFlagDynamic 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
variable testTypeDynamic EnergyIncr; # Convergence-test type
test $testTypeDynamic $TolDynamic $maxNumIterDynamic $printFlagDynamic;

variable maxNumIterConvergeDynamic 2000;
variable printFlagConvergeDynamic 0;

variable algorithmTypeDynamic KrylovNewton;
algorithm $algorithmTypeDynamic;

variable NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
variable NewmarkBeta 0.26; # Newmark-integrator beta parameter
variable integratorTypeDynamic Newmark;
integrator $integratorTypeDynamic $NewmarkGamma $NewmarkBeta
variable analysisTypeDynamic VariableTransient
analysis $analysisTypeDynamic

#-------------------------------
#
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
#analyze $Nsteps $DtAnalysis
#loadConst -time 0.0
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 .6
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying ModifiedNewton .."
algorithm ModifiedNewton
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying BFGS.."
algorithm BFGS
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
}
}; # end if ok !0



puts "Ground Motion DoneX[expr $gmf]. End Time: [getTime]"
puts ****************************************************************
puts ****************************************************************
by mja441
Mon Nov 14, 2011 4:39 am
Forum: OpenSees.exe Users
Topic: Problem in modeling CBF
Replies: 12
Views: 12382

Re: Problem in modeling CBF

Once again many thanks,

mamnoon
by mja441
Sun Nov 13, 2011 1:04 am
Forum: OpenSees.exe Users
Topic: Problem in modeling CBF
Replies: 12
Views: 12382

Re: Problem in modeling CBF

Many thanks Maryam,

It solved the problem.

By the way , are u iranian?

regards