dear everyone,Who can check the model of the bridge for me?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
zzZHAO
Posts: 1
Joined: Tue Aug 28, 2018 7:42 pm

dear everyone,Who can check the model of the bridge for me?

Post by zzZHAO » Sun Sep 02, 2018 2:09 am

Who can check the bridge model for me?The result does not change when I change the friction coefficient of the support。
this is my model:
wipe
puts "System"
model basic -ndm 3 -ndf 6
if { [file exists output] == 0 } {
file mkdir output
}
set m 1.;
set N 1.;
set sec 1.;

set LunitTXT "m";
set FunitTXT "N";
set TunitTXT "sec";

set mm [expr 0.001*$m]; # define engineering units
set cm [expr 0.01*$m];

set kN [expr 1000.*$N];
set Pa [expr $N/pow($m,2)];
set kPa [expr 1000.*$Pa];
set MPa [expr 1000.*$kPa];

set m2 [expr $m*$m];
set mm2 [expr $mm*$mm];
set m4 [expr pow($m,4)];

set PI [expr 2.*asin(1.0)]; # define constants
set g [expr 9.8*$m/pow($sec,2)]; # gravitational acceleration
set kg [expr $N*pow($sec,2)/$m];
set ton [expr 1000.*$kg]
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number
puts "Unit input completion"
##--------###-------节点坐标
node 1 0 0 0
node 2 4 0 0
node 3 8 0 0
node 4 12 0 0
node 5 16 0 0
node 6 20 0 0
node 7 24 0 0
node 8 28 0 0
node 9 32 0 0
node 10 36 0 0
node 11 40 0 0
node 12 44 0 0
node 13 48 0 0
node 14 52 0 0
node 15 56 0 0
node 16 60 0 0;

node 24 20 -6 0
node 25 20 -4 0
node 26 20 -2 0
node 27 20 0 0
node 28 20 2 0
node 29 20 4 0
node 30 20 6 0;
node 31 40 -6 0
node 32 40 -4 0
node 33 40 -2 0
node 34 40 0 0
node 35 40 2 0
node 36 40 4 0
node 37 40 6 0;
#node 46 20 -4 0
node 47 20 -4 -1.5
node 48 20 -4 -3
node 49 20 -4 -4.5
node 50 20 -4 -6
node 51 20 -4 -7.5
#node 52 20 4 0
node 53 20 4 -1.5
node 54 20 4 -3
node 55 20 4 -4.5
node 56 20 4 -6
node 57 20 4 -7.5;
#node 58 40 -4 0
node 59 40 -4 -1.5
node 60 40 -4 -3
node 61 40 -4 -4.5
node 62 40 -4 -6
node 63 40 -4 -7.5
#node 64 40 4 0
node 65 40 4 -1.5
node 66 40 4 -3
node 67 40 4 -4.5
node 68 40 4 -6
node 69 40 4 -7.5;

node 70 0 0 0;
node 71 60 0 0;
puts "Completion of nodes"
set ZLDMass [expr 45.05*$ton];
set ZLMass [expr 90.1*$ton];
mass 1 0 $ZLDMass 0 0 0 0
mass 2 0 $ZLMass 0 0 0 0
mass 3 0 $ZLMass 0 0 0 0
mass 4 0 $ZLMass 0 0 0 0
mass 5 0 $ZLMass 0 0 0 0
mass 6 0 $ZLMass 0 0 0 0
mass 7 0 $ZLMass 0 0 0 0
mass 8 0 $ZLMass 0 0 0 0
mass 9 0 $ZLMass 0 0 0 0
mass 10 0 $ZLMass 0 0 0 0
mass 11 0 $ZLMass 0 0 0 0
mass 12 0 $ZLMass 0 0 0 0
mass 13 0 $ZLMass 0 0 0 0
mass 14 0 $ZLMass 0 0 0 0
mass 15 0 $ZLMass 0 0 0 0
mass 16 0 $ZLDMass 0 0 0 0;
set GLDMass [expr 4.55*$ton];
set GLMass [expr 9.1*$ton];
mass 24 0 $GLMass 0 0 0 0
mass 25 0 $GLMass 0 0 0 0
mass 26 0 $GLMass 0 0 0 0
mass 27 0 $GLMass 0 0 0 0
mass 28 0 $GLMass 0 0 0 0
mass 29 0 $GLMass 0 0 0 0
mass 30 0 $GLMass 0 0 0 0;
mass 31 0 $GLMass 0 0 0 0
mass 32 0 $GLMass 0 0 0 0
mass 33 0 $GLMass 0 0 0 0
mass 34 0 $GLMass 0 0 0 0
mass 35 0 $GLMass 0 0 0 0
mass 36 0 $GLMass 0 0 0 0
mass 37 0 $GLMass 0 0 0 0;
set DZMass [expr 4.5*$ton];
#mass 46 $DZMass $DZMass $DZMass 0 0 0
mass 47 0 $DZMass 0 0 0 0
mass 48 0 $DZMass 0 0 0 0
mass 49 0 $DZMass 0 0 0 0
mass 50 0 $DZMass 0 0 0 0
mass 51 0 0 0 0 0 0
#mass 52 $DZMass $DZMass $DZMass 0 0 0
mass 53 0 $DZMass 0 0 0 0
mass 54 0 $DZMass 0 0 0 0
mass 55 0 $DZMass 0 0 0 0
mass 56 0 $DZMass 0 0 0 0
mass 57 0 0 0 0 0 0;
#mass 58 $DZMass $DZMass $DZMass 0 0 0
mass 59 0 $DZMass 0 0 0 0
mass 60 0 $DZMass 0 0 0 0
mass 61 0 $DZMass 0 0 0 0
mass 62 0 $DZMass 0 0 0 0
mass 63 0 0 0 0 0 0
#mass 64 $DZMass $DZMass $DZMass 0 0 0
mass 65 0 $DZMass 0 0 0 0
mass 66 0 $DZMass 0 0 0 0
mass 67 0 $DZMass 0 0 0 0
mass 68 0 $DZMass 0 0 0 0
mass 69 0 0 0 0 0 0;
puts "node quality has established"
fix 51 1 1 1 1 1 1;
fix 57 1 1 1 1 1 1;
fix 63 1 1 1 1 1 1;
fix 69 1 1 1 1 1 1;
fix 70 1 1 1 1 1 1;
fix 71 1 1 1 1 1 1;
fix 1 0 0 1 1 1 0;
fix 16 0 0 1 1 1 0;
puts "consolidation"
#坐标转换
geomTransf Linear 1 0 0 1 ;
geomTransf Linear 2 0 0 1 ;
set ABeam [expr 9.36*$m2];
set Acoping [expr 1.82*$m2] ;
set E [expr 34500*$MPa];
set poisson 0.25;
set G [expr $E/(2*(1+$poisson))];
puts "Module input completion"
set BeamIy [expr 5.248*$m4];
set BeamIz [expr 80.121*$m4];
set J1 [expr 14.13*$m4];
set CopingIy [expr 0.2563*$m4];
set CopingIz [expr 0.2972*$m4];
set J2 [expr 0.4627*$m4] ;
puts "Completion of section characteristic input"
element elasticBeamColumn 1 1 2 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 2 2 3 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 3 3 4 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 4 4 5 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 5 5 6 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 6 6 7 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 7 7 8 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 8 8 9 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 9 9 10 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 10 10 11 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 11 11 12 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 12 12 13 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 13 13 14 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 14 14 15 $ABeam $E $G $J1 $BeamIy $BeamIz 1;
element elasticBeamColumn 15 15 16 $ABeam $E $G $J1 $BeamIy $BeamIz 1;

element elasticBeamColumn 22 24 25 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 23 25 26 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 24 26 27 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 25 27 28 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 26 28 29 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 27 29 30 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 28 31 32 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 29 32 33 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 30 33 34 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 31 34 35 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 32 35 36 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
element elasticBeamColumn 33 36 37 $Acoping $E $G $J2 $CopingIy $CopingIz 2;
set Dia [expr 120*$cm];
set ACol [expr $PI*pow($Dia,4)/4];
set IzCol [expr $PI*pow($Dia,4)/64];

set ColSecTag 1;
set coverCol [expr 50*$mm];
set Db [expr 32*$mm];
set barArea [expr $PI*pow($Db/2,2)];

set IDconcU 1;
set IDconc 2;
set IDreinf 3;
set Ec [expr 32500*$MPa];
set fcU [expr -26.8*$MPa];

set fc [expr -34.84*$MPa];
set fc1c $fc;
set eps1c [expr 2.*$fc1c/$Ec]; # strain at maximum stress
set fc2c [expr 0.2*$fc1c];
set eps2c [expr 20*$eps1c]; # strain at ultimate stress

set fc1U $fcU;
set eps1U -0.003;
set fc2U [expr 0.2*$fc1U];
set eps2U -0.01;

#set Fy [expr 235*$MPa];
set Fy [expr 400*$MPa];
set Es [expr 200000*$MPa];
set bS 0.001;
set R0 20;
set cR1 0.925;
set cR2 0.15;
set numBarsSec 16; #number of uniformly-distributed longitudinal-reinforcement bars

uniaxialMaterial Concrete01 $IDconcU $fc1U $eps1U $fc2U $eps2U ;
uniaxialMaterial Concrete01 $IDconc $fc1c $eps1c $fc2c $eps2c ;

uniaxialMaterial Steel02 $IDreinf $Fy $Es $bS $R0 $cR1 $cR2 ;
puts "Cross section input is completed"

set exR [expr $Dia/2.0];
set inR [expr $Dia/2.0-$coverCol];
set nfTranc 8;
set nfRadc 8;
set nfTranu 8;
set nfRadu 4;
section fiberSec $ColSecTag {
patch circ $IDconc $nfTranc $nfRadc 0.0 0.0 0.0 $inR 0.0 360.0;
patch circ $IDconcU $nfTranu $nfRadu 0.0 0.0 $inR $exR 0.0 360.0;
set theta [expr 360.0/$numBarsSec]; # Determine angle increment between bars
layer circ $IDreinf $numBarsSec $barArea 0.0 0.0 $inR $theta 360.0;
};
puts "Completion of section"
set IDpierTransf 3;
geomTransf Linear 3 1 0 0 ;

#element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag

element dispBeamColumn 40 25 47 5 $ColSecTag 3
element dispBeamColumn 41 47 48 5 $ColSecTag 3
element dispBeamColumn 42 48 49 5 $ColSecTag 3
element dispBeamColumn 43 49 50 5 $ColSecTag 3
element dispBeamColumn 44 50 51 5 $ColSecTag 3
element dispBeamColumn 45 29 53 5 $ColSecTag 3
element dispBeamColumn 46 53 54 5 $ColSecTag 3
element dispBeamColumn 47 54 55 5 $ColSecTag 3
element dispBeamColumn 48 55 56 5 $ColSecTag 3
element dispBeamColumn 49 56 57 5 $ColSecTag 3
element dispBeamColumn 50 32 59 5 $ColSecTag 3
element dispBeamColumn 51 59 60 5 $ColSecTag 3
element dispBeamColumn 52 60 61 5 $ColSecTag 3
element dispBeamColumn 53 61 62 5 $ColSecTag 3
element dispBeamColumn 54 62 63 5 $ColSecTag 3
element dispBeamColumn 55 36 65 5 $ColSecTag 3
element dispBeamColumn 56 65 66 5 $ColSecTag 3
element dispBeamColumn 57 66 67 5 $ColSecTag 3
element dispBeamColumn 58 67 68 5 $ColSecTag 3
element dispBeamColumn 59 68 69 5 $ColSecTag 3

# Define material models
# ---------------------

#set mv [expr 336734*$kg]
#set MT [expr ]
set kv [expr 2677959*$kN/$m];
#set zetaVertical 0.02
#set cv [expr 2.0*$zetaVertical*sqrt($kv*$mv)]
set ks [expr 1142406.601*$kN/$m];
uniaxialMaterial Elastic 5 $kv ;##$cv;
#uniaxialMaterial Elastic 8 ;
uniaxialMaterial Elastic 6 0.0;
uniaxialMaterial Elastic 7 $ks ;##$cv;
#set niu 45190561224
#uniaxialMaterial Elastic 8 $niu

frictionModel Coulomb 5 0.4
frictionModel Coulomb 6 0.02

set k1 [expr 9920*$kN/$m];

set k2 [expr 11754*$kN/$m]; #
#####element flatSliderBearing eleTag NodeI NodeJ frnMdlTag kInit -P matTag -T matTag -My matTag -Mz matTag <-orient <x1 x2 x3> y1 y2 y3> <-shearDist sDratio> <-doRayleigh> <-mass m> <-iter maxIter tol>
element flatSliderBearing 67 6 27 5 $k1 -P 5 -T 6 -My 6 -Mz 6 -orient 0 0 1 1 0 0
element flatSliderBearing 68 11 34 5 $k1 -P 5 -T 6 -My 6 -Mz 6 -orient 0 0 1 1 0 0
element flatSliderBearing 69 1 70 6 $k2 -P 7 -T 6 -My 6 -Mz 6 -orient 0 0 1 1 0 0
element flatSliderBearing 70 16 71 6 $k2 -P 7 -T 6 -My 6 -Mz 6 -orient 0 0 1 1 0 0
equalDOF 27 6 3 4 5 6;
equalDOF 34 11 3 4 5 6;
equalDOF 1 70 3 4 5 6;
equalDOF 16 71 3 4 5 6;
puts "Support to complete"

recorder Node -file output/disp_27.out -time -node 27 -dof 1 2 3 disp
recorder Node -file output/disp_6.out -time -node 6 -dof 1 2 3 disp
recorder Node -file output/disp_25.out -time -node 25 -dof 1 2 3 disp
recorder Node -file output/disp_29.out -time -node 29 -dof 1 2 3 disp
recorder Node -file output/disp_32.out -time -node 32 -dof 1 2 3 disp
recorder Node -file output/disp_36.out -time -node 36 -dof 1 2 3 disp
recorder Node -file output/disp_31.out -time -node 31 -dof 1 2 3 disp
recorder Node -file output/disp_34.out -time -node 34 -dof 1 2 3 disp
puts "OVER"

set numModes 3;
set lambda [eigen $numModes] ;
set period "Periods.txt" ;
set Periods [open $period "w"] ;
puts $Periods " $lambda" ;
close $Periods
record
puts "record"
#############################################################################

set pi [expr 2.0*asin(1.0)];
set nEigenI 1;
set nEigenJ 2;
set nEigenK 3;
set lambdaN [eigen [expr $nEigenK]];
set lambdaI [lindex $lambdaN [expr $nEigenI-1]];
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]];
set lambdaK [lindex $lambdaN [expr $nEigenK-1]];
set w1 [expr pow($lambdaI,0.5)];
set w2 [expr pow($lambdaJ,0.5)];
set w3 [expr pow($lambdaK,0.5)];
set T1 [expr 2.0*$pi/$w1];
set T2 [expr 2.0*$pi/$w2];
set T3 [expr 2.0*$pi/$w3];
set F1 [expr 1.0/$T1]; # 1st mode frequency of the structure
set F2 [expr 1.0/$T2]; # 2nd mode frequency of the structure
set F3 [expr 1.0/$T3]; # 3nd mode frequency of the structure

puts "T1 = $T1 s";
puts "T2 = $T2 s";
puts "T3 = $T3 s";

puts "f1 = $F1 Hz"; # display the first mode period in the command window
puts "f2 = $F2 Hz"; # display the second mode period in the command window
puts "f3 = $F3 Hz"; # display the third mode period in the command window

set ZHONGLI [expr 3373*$kN]
set ZHONGLI1 [expr 3250*$kN]
pattern Plain 100 Linear {
load 1 0.0 0.0 -$ZHONGLI 0.0 0.0 0.0
load 6 0.0 0.0 -$ZHONGLI1 0.0 0.0 0.0
load 11 0.0 0.0 -$ZHONGLI1 0.0 0.0 0.0
load 16 0.0 0.0 -$ZHONGLI 0.0 0.0 0.0
}
system BandGeneral
# Create the DOF numberer
numberer Plain
# Create the constraint handler
constraints Transformation
# Create the convergence test
test NormDispIncr 1.0e-12 10
# Create the integration scheme
integrator LoadControl 0.1
# Create the solution algorithm
algorithm Newton
# Create the analysis object
analysis Static
analyze 10
puts "gravity over"

Post Reply