how to set Iso2spring section in a frame?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
luochuizi
Posts: 18
Joined: Fri Jun 07, 2019 6:54 pm

how to set Iso2spring section in a frame?

Post by luochuizi »

i want to use Iso2spring section to make a Dynamic analyse in 1*1 frame .but the model work wrong like this:
ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (8, 0).
what's wrong with the model? help please!
here is the model code :
wipe
model basic -ndm 2 -ndf 3;
node 1 0 0;
node 2 6000 0;
node 3 0 3600 ;
node 4 6000 3600;
node 5 0 0;
node 6 6000 0;
fix 1 1 1 1;
fix 2 1 1 1;
fix 5 0 0 1;
fix 6 0 0 1;
set cwidth 400;
set chigh 400;
set bwight 200;
set bhigh 450;
set cover 30;

#Units: mm, dimensionless
set g 9820
#set PI [expr 2.0 * asin(1.0)]
# Define the model builder
#model BasicBuilder -ndm 2 -ndf 3
## Assumed parameters which define system
## Period associated with second stiffness k2o
#set Tb 2.5
## Normalized axial load parameter P/Pcr. Vary to produce data for Figure 4a
set PPcr 0.001
## Normalized axial load paramter P/Po. Vary to produce data for Figure 4b
set PPo 0.25
## Unit mass
set M 1.0
# Bearing shape factor
set S 20.0
## Yield displacement
set uy 1.0
## Strength coefficient (determines yield strength)
set mu 0.1
set tol 1.0e-10
### Parameters computed from the assumed ones
#set wb [expr (2.0*$PI/$Tb)]
set k2o 30
set Fyo 1000
set k1 200
set kvo [expr 6.0*$S*$S*$k2o]
set Pcr [expr $M*$g/$PPcr]
set Pe [expr 50.0*$Pcr]
set Ps [expr 1.0/50.0*$Pcr]
set hb [expr $Ps/$k2o]
set Po [expr $M*$g/$PPo]
################
uniaxialMaterial Concrete01 1 -36.1 -0.002 -7.2 -0.006;
uniaxialMaterial Concrete01 2 -45.5 -0.0025 -9.1 -0.012;
uniaxialMaterial Concrete01 3 -42.4 -0.0025 -8.3 -0.010;
uniaxialMaterial Steel01 4 420 200000 0.02;
uniaxialMaterial Steel02 5 100000 2000 0.15
section Fiber 1 {
patch rect 2 10 10 [expr 0.5*$cwidth-$cover] [expr 0.5*$chigh-$cover] [expr -(0.5*$cwidth-$cover)] [expr -(0.5*$chigh-$cover)]
patch rect 1 8 1 [expr -0.5*$cwidth] [expr 0.5*$chigh-$cover] [expr 0.5*$cwidth] [expr 0.5*$chigh]
patch rect 1 8 1 [expr -0.5*$cwidth] [expr -(0.5*$chigh-$cover)] [expr 0.5*$cwidth] [expr -0.5*$chigh]
patch rect 1 4 1 [expr -0.5*$cwidth] [expr 0.5*$chigh-$cover] [expr -(0.5*$cwidth-$cover)] [expr -(0.5*$chigh-$cover)]
patch rect 1 4 1 [expr 0.5*$cwidth-$cover] [expr 0.5*$chigh-$cover] [expr 0.5*$cwidth] [expr -(0.5*$chigh-$cover)]
layer straight 4 4 201.1 [expr 0.5*$cwidth-$cover] [expr 0.5*$chigh-$cover] [expr 0.5*$cwidth-$cover] [expr -(0.5*$chigh-$cover)]
layer straight 4 2 201.1 [expr (0.5*$cwidth-$cover)/3] [expr 0.5*$chigh-$cover] [expr (0.5*$cwidth-$cover)/3] [expr -(0.5*$chigh-$cover)]
layer straight 4 2 201.1 [expr -(0.5*$cwidth-$cover)/3] [expr 0.5*$chigh-$cover] [expr -(0.5*$cwidth-$cover)/3] [expr -(0.5*$chigh-$cover)]
layer straight 4 4 201.1 [expr -(0.5*$cwidth-$cover)] [expr 0.5*$chigh-$cover] [expr -(0.5*$cwidth-$cover)] [expr -(0.5*$chigh-$cover)]
}
section Fiber 2 {
patch rect 3 10 4 [expr 0.5*$bhigh-$cover] [expr 0.5*$bwight-$cover] [expr -(0.5*$bhigh-$cover)] [expr -(0.5*$bwight-$cover)]
patch rect 1 2 1 [expr -0.5*$bhigh] [expr 0.5*$bwight-$cover] [expr 0.5*$bhigh] [expr 0.5*$bwight]
patch rect 1 2 1 [expr -0.5*$bhigh] [expr -(0.5*$bwight-$cover)] [expr 0.5*$bhigh] [expr -0.5*$bwight]
patch rect 1 2 1 [expr -0.5*$bhigh] [expr 0.5*$bwight-$cover] [expr -(0.5*$bhigh-$cover)] [expr -(0.5*$bwight-$cover)]
patch rect 1 2 1 [expr 0.5*$bhigh-$cover] [expr 0.5*$bwight-$cover] [expr 0.5*$bhigh] [expr -(0.5*$bwight-$cover)]
layer straight 4 3 201.1 [expr 0.5*$bhigh-$cover] [expr 0.5*$bwight-$cover] [expr 0.5*$bhigh-$cover] [expr -(0.5*$bwight-$cover)]
layer straight 4 3 201.1 [expr -(0.5*$bhigh-$cover)] [expr 0.5*$bwight-$cover] [expr -(0.5*$bhigh-$cover)] [expr -(0.5*$bwight-$cover)]
}
# Create Iso2spring section
section Iso2spring 3 $tol $k1 $Fyo $k2o $kvo $hb $Pe $Po
geomTransf Linear 1;
geomTransf Linear 2;
element nonlinearBeamColumn 1 5 3 5 1 1;
element nonlinearBeamColumn 2 6 4 5 1 1;
element nonlinearBeamColumn 3 3 4 5 2 2;
element zeroLengthSection 4 1 5 3
element zeroLengthSection 5 2 6 3

recorder Node -file disp_34.out -time -node 3 4 -dof 1 disp;
recorder Node -file reaction_1.out -time -node 1 -dof 1 2 3 reaction;
recorder Node -file reaction_2.out -time -node 2 -dof 1 2 3 reaction;
recorder Element -file NC_stressStrain.out -time -ele 1 section 1 fiber [expr ($cwidth/2)] 0 2 stressStrain ;
recorder Element -file NR_stressStrain.out -time -ele 1 section 1 fiber [expr 0.5*$bhigh-$cover] [expr (0.5*$cwidth-$cover)/3] 4 stressStrain;
recorder Element -file deforcol_1.out -time -ele 1 section 1 deformation;
recorder Element -file deforcol_2.out -time -ele 2 section 1 deformation;
recorder Element -file forcecol_1.out -time -ele 1 section 1 force;
recorder Element -file forcecol_2.out -time -ele 2 section 1 force;
recorder Element -file deforcol_4.out -time -ele 4 deformation;
recorder Element -file force_4.out -time -ele 4 force;
recorder Element -file force_1.out -time -ele 1 force;

loadConst -time 0
mass 3 20. 0. 0
mass 4 20. 0. 0
timeSeries Path 1 -dt 0.02 -filePath tabas.txt -factor 385.8;
pattern UniformExcitation 2 1 -accel 1
set temp [eigen 1]
scan $temp "%e" w1s
set w1 [expr sqrt($w1s)]
puts "第一阶频率 f: [expr $w1/6.28]"
set ksi 0.02
set a0 0
set a1 [expr $ksi*2.0/$w1]
rayleigh $a0 0.0 $a1 0.0
wipeAnalysis
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr 1.0e-8 10 2
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
analyze 500 0.02
puts " earthquake finished..."
ahmadbsr
Posts: 29
Joined: Thu Feb 28, 2019 5:43 am
Location: shahid chamran

Re: how to set Iso2spring section in a frame?

Post by ahmadbsr »

luochuizi wrote:
> i want to use Iso2spring section to make a Dynamic analyse in 1*1 frame
> .but the model work wrong like this:
> ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (8, 0).
> what's wrong with the model? help please!
> here is the model code :
> wipe
> model basic -ndm 2 -ndf 3;
> node 1 0 0;
> node 2 6000 0;
> node 3 0 3600 ;
> node 4 6000 3600;
> node 5 0 0;
> node 6 6000 0;
> fix 1 1 1 1;
> fix 2 1 1 1;
> fix 5 0 0 1;
> fix 6 0 0 1;
> set cwidth 400;
> set chigh 400;
> set bwight 200;
> set bhigh 450;
> set cover 30;
>
> #Units: mm, dimensionless
> set g 9820
> #set PI [expr 2.0 * asin(1.0)]
> # Define the model builder
> #model BasicBuilder -ndm 2 -ndf 3
> ## Assumed parameters which define system
> ## Period associated with second stiffness k2o
> #set Tb 2.5
> ## Normalized axial load parameter P/Pcr. Vary to produce data for Figure
> 4a
> set PPcr 0.001
> ## Normalized axial load paramter P/Po. Vary to produce data for Figure 4b
> set PPo 0.25
> ## Unit mass
> set M 1.0
> # Bearing shape factor
> set S 20.0
> ## Yield displacement
> set uy 1.0
> ## Strength coefficient (determines yield strength)
> set mu 0.1
> set tol 1.0e-10
> ### Parameters computed from the assumed ones
> #set wb [expr (2.0*$PI/$Tb)]
> set k2o 30
> set Fyo 1000
> set k1 200
> set kvo [expr 6.0*$S*$S*$k2o]
> set Pcr [expr $M*$g/$PPcr]
> set Pe [expr 50.0*$Pcr]
> set Ps [expr 1.0/50.0*$Pcr]
> set hb [expr $Ps/$k2o]
> set Po [expr $M*$g/$PPo]
> ################
> uniaxialMaterial Concrete01 1 -36.1 -0.002 -7.2 -0.006;
> uniaxialMaterial Concrete01 2 -45.5 -0.0025 -9.1 -0.012;
> uniaxialMaterial Concrete01 3 -42.4 -0.0025 -8.3 -0.010;
> uniaxialMaterial Steel01 4 420 200000 0.02;
> uniaxialMaterial Steel02 5 100000 2000 0.15
> section Fiber 1 {
> patch rect 2 10 10 [expr 0.5*$cwidth-$cover] [expr 0.5*$chigh-$cover] [expr
> -(0.5*$cwidth-$cover)] [expr -(0.5*$chigh-$cover)]
> patch rect 1 8 1 [expr -0.5*$cwidth] [expr 0.5*$chigh-$cover] [expr
> 0.5*$cwidth] [expr 0.5*$chigh]
> patch rect 1 8 1 [expr -0.5*$cwidth] [expr -(0.5*$chigh-$cover)] [expr
> 0.5*$cwidth] [expr -0.5*$chigh]
> patch rect 1 4 1 [expr -0.5*$cwidth] [expr 0.5*$chigh-$cover] [expr
> -(0.5*$cwidth-$cover)] [expr -(0.5*$chigh-$cover)]
> patch rect 1 4 1 [expr 0.5*$cwidth-$cover] [expr 0.5*$chigh-$cover] [expr
> 0.5*$cwidth] [expr -(0.5*$chigh-$cover)]
> layer straight 4 4 201.1 [expr 0.5*$cwidth-$cover] [expr 0.5*$chigh-$cover]
> [expr 0.5*$cwidth-$cover] [expr -(0.5*$chigh-$cover)]
> layer straight 4 2 201.1 [expr (0.5*$cwidth-$cover)/3] [expr
> 0.5*$chigh-$cover] [expr (0.5*$cwidth-$cover)/3] [expr
> -(0.5*$chigh-$cover)]
> layer straight 4 2 201.1 [expr -(0.5*$cwidth-$cover)/3] [expr
> 0.5*$chigh-$cover] [expr -(0.5*$cwidth-$cover)/3] [expr
> -(0.5*$chigh-$cover)]
> layer straight 4 4 201.1 [expr -(0.5*$cwidth-$cover)] [expr
> 0.5*$chigh-$cover] [expr -(0.5*$cwidth-$cover)] [expr -(0.5*$chigh-$cover)]
> }
> section Fiber 2 {
> patch rect 3 10 4 [expr 0.5*$bhigh-$cover] [expr 0.5*$bwight-$cover] [expr
> -(0.5*$bhigh-$cover)] [expr -(0.5*$bwight-$cover)]
> patch rect 1 2 1 [expr -0.5*$bhigh] [expr 0.5*$bwight-$cover] [expr
> 0.5*$bhigh] [expr 0.5*$bwight]
> patch rect 1 2 1 [expr -0.5*$bhigh] [expr -(0.5*$bwight-$cover)] [expr
> 0.5*$bhigh] [expr -0.5*$bwight]
> patch rect 1 2 1 [expr -0.5*$bhigh] [expr 0.5*$bwight-$cover] [expr
> -(0.5*$bhigh-$cover)] [expr -(0.5*$bwight-$cover)]
> patch rect 1 2 1 [expr 0.5*$bhigh-$cover] [expr 0.5*$bwight-$cover] [expr
> 0.5*$bhigh] [expr -(0.5*$bwight-$cover)]
> layer straight 4 3 201.1 [expr 0.5*$bhigh-$cover] [expr 0.5*$bwight-$cover]
> [expr 0.5*$bhigh-$cover] [expr -(0.5*$bwight-$cover)]
> layer straight 4 3 201.1 [expr -(0.5*$bhigh-$cover)] [expr
> 0.5*$bwight-$cover] [expr -(0.5*$bhigh-$cover)] [expr
> -(0.5*$bwight-$cover)]
> }
> # Create Iso2spring section
> section Iso2spring 3 $tol $k1 $Fyo $k2o $kvo $hb $Pe $Po
> geomTransf Linear 1;
> geomTransf Linear 2;
> element nonlinearBeamColumn 1 5 3 5 1 1;
> element nonlinearBeamColumn 2 6 4 5 1 1;
> element nonlinearBeamColumn 3 3 4 5 2 2;
> element zeroLengthSection 4 1 5 3
> element zeroLengthSection 5 2 6 3
>
> recorder Node -file disp_34.out -time -node 3 4 -dof 1 disp;
> recorder Node -file reaction_1.out -time -node 1 -dof 1 2 3 reaction;
> recorder Node -file reaction_2.out -time -node 2 -dof 1 2 3 reaction;
> recorder Element -file NC_stressStrain.out -time -ele 1 section 1 fiber
> [expr ($cwidth/2)] 0 2 stressStrain ;
> recorder Element -file NR_stressStrain.out -time -ele 1 section 1 fiber
> [expr 0.5*$bhigh-$cover] [expr (0.5*$cwidth-$cover)/3] 4 stressStrain;
> recorder Element -file deforcol_1.out -time -ele 1 section 1 deformation;
> recorder Element -file deforcol_2.out -time -ele 2 section 1 deformation;
> recorder Element -file forcecol_1.out -time -ele 1 section 1 force;
> recorder Element -file forcecol_2.out -time -ele 2 section 1 force;
> recorder Element -file deforcol_4.out -time -ele 4 deformation;
> recorder Element -file force_4.out -time -ele 4 force;
> recorder Element -file force_1.out -time -ele 1 force;
>
> loadConst -time 0
> mass 3 20. 0. 0
> mass 4 20. 0. 0
> timeSeries Path 1 -dt 0.02 -filePath tabas.txt -factor 385.8;
>
> pattern UniformExcitation 2 1 -accel 1
> set temp [eigen 1]
> scan $temp "%e" w1s
> set w1 [expr sqrt($w1s)]
> puts "第一阶频率 f: [expr $w1/6.28]"
> set ksi 0.02
> set a0 0
> set a1 [expr $ksi*2.0/$w1]
> rayleigh $a0 0.0 $a1 0.0
> wipeAnalysis
>
> constraints Plain
> numberer Plain
> system BandGeneral
> test NormDispIncr 1.0e-8 10 2
> algorithm Newton
> integrator Newmark 0.5 0.25
>
> analysis Transient
> analyze 500 0.02
> puts " earthquake finished..."
I have same problem how did you fix it ?
Post Reply