-
if
{ [file exists output] == 0 }
{
file mkdir output
}
建立活页夹
model basic -ndm 2 -ndf 3
node
5 0.0
162.0 -mass $$m1 $$m1 0.0
约束
品质
# tag fy E0
b
uniaxialMaterial
Steel01
3 $$fy $$E 0.01
Steel02
Material
tag fy E0 b
$$R0 $$CR1 $$CR2
$$R0
=between 10 and 20,
$$cR1
=0.925,
$$cR2
=0.15
CONCRETE
tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial
Concrete01
1 -6.0 -0.004
-5.0 -0.014
set
fc1U
$$fc;
#
UNCONFINED
concrete
(todeschini
parabolic
model), maximum
stress
set
eps1U
-0.003;
#
strain at maximum strength of
unconfined
concrete
set
fc2U
[
expr
0.2*$$fc1U];
# ultimate
stress
set
eps2U
-0.01;
# strain
at ultimate stress
set
lambda 0.1;
#
ratio
between
unloading
slope
at
$$eps2
and
initial slope $$Ec
# tensile-strength properties
set
ftU
[
expr
-0.14*$$fc1U];
# tensile
strength +tension
set
Ets
[
expr
$$ftU/0.002];
# tension
softening stiffness
uniaxialMaterial
Concrete02
$$IDconcU
$$fc1U
$$eps1U
$$fc2U
$$eps2U
$$lambda
$$ftU $$Ets
section
Fiber
1 {
# Create the concrete core fibers
patch
rect
1
10
1
[
expr
$$cover-$$y1]
[
expr
$$cover-$$z1]
[
expr
$$y1-$$cover]
[
expr
$$z1-$$cover]
# Create the concrete
cover fibers (top, bottom, left, right)
patch
rect 2
10 1 [
expr
-$$y1]
[
expr
$$z1-$$cover] $$y1 $$z1
patch
rect 2
10 1 [
expr
-$$y1]
[
expr
-$$z1] $$y1
[
expr
$$cover-$$z1]
patch
rect 2
2 1 [
expr
-$$y1]
[
expr
$$cover-$$z1]
[
expr
$$cover-$$y1]
[
expr
$$z1-$$cover]
patch
rect 2
2 1 [
expr
$$y1-$$cover]
[
expr
$$cover-$$z1] $$y1
[
expr
$$z1-$$cover]
# Create the
reinforcing fibers (left, middle, right)
layer
straight
3 3 $$As
[
expr
$$y1-$$cover]
[
expr
$$z1-$$cover]
[
expr
$$y1-$$cover]
[
expr
$$cover-$$z1]
layer
straight
3 2 $$As 0.0
[
expr
$$z1-$$cover] 0.0
[
expr
$$cover-$$z1]
layer
straight
3 3 $$As
[
expr
$$cover-$$y1]
[
expr
$$z1-$$cover]
[
expr
$$cover-$$y1]
[
expr
$$cover-$$z1]
}
定义截面
tag
ndI ndJ A E Iz transfTag
element
elasticBeamColumn
3 3
4 360 4030 8640 2
弹性梁柱、
定义(二维)
element elasticBeamColumn
$$eleTag $$iNode $$jNode $$A $$E $$G $$J $$Iy $$Iz
$$transfTag
(三维)
#
tag ndI ndJ nsecs secID transfTag
element nonlinearBeamColumn 1 1 3 $$np 1
1
(非线性的梁柱单元)
pattern
Plain
1 1 {
eleLoad
-ele
13
14
15
(单元编号)
-type
p>
–
beamUniform
(均布线荷载)
-$$w1
(沿着
y
< br>轴的线荷载大小)
eleLoad -ele
16 17 18 -type -beamUniform -$$w2
eleLoad -ele 19 20 21 -type -beamUniform -$$w3
}
单元加载
pattern
Plain
1
# Create nodal loads at nodes 3
& 4
# nd FX
FY MZ
load
3
0.0 [
expr
-$$P] 0.0
load
4 0.0
[
expr
-$$P] 0.0
}
节点载入
geomTransf
Linear
1;
# beams
geomTransf
PDelta
2;
#
columns
(二维坐标下的坐标转换)
recorder
Node -file Data/
-time -node 2 -dof 1 2 3 disp;
{
节点记录
}
recorder
Element
-file -ele 1 4 7 10 forces
(单元的记录)
# Define RECORDERS
---------
--------------------------------------------------
--
recorder
Node -file Data/
-time -node 2 -dof 1 2 3 disp;
# displacements of free
nodes
recorder
Node -file Data/ -time -node 1 -dof 1 2 3 disp;
# displacements
of support nodes
recorder
Node -file Data/
-time -node 1 -dof 1 2 3 reaction;
# support
reaction
recorder
Drift
-file Data/ -time
-iNode 1 -jNode 2 -dof 1
-perpDirn 2
# lateral drift
recorder
Element -file Data/
-time -ele 1 globalForce;
# element forces -- column
recorder
Element -file Data/
-time -ele 1 deformations;
# element deformations --
column
set
lambda [eigen $$numModes
];
(求解
$$numModes
阶振型
)
set
eigenValue [lindex $$eigenValues
0]
提取第一节特征值
set
xDamp
0.05
;
————设置阻尼比为
0.05
set
nEigenI
1;
————主振型
1
为第
1
振型
set
nEigenJ
2;
————主振型
2
为第
2
振型
set
lambdaN
[eigen
[expr
$$nEi
genJ]];
————求解两阶振型即可
set
lambdaI
[lindex
$$lambdaN
[expr
$$nEigenI-1]];
————提取第
1
阶特征值
set
lambdaJ
[lindex
$$lambdaN
[expr
$$nEigenJ-1]];
————提取第
2
阶特征值
set
omegaI
[expr
pow($$lambdaI,0.5)];
———
—从特征值求圆频率
set
omegaJ
[expr
pow(
$$lambdaJ,0.5)];
————从特征值求圆频率
set
alphaM
[expr
$$xDamp*(2*$$omegaI*$$omegaJ)/($$omegaI+$$om
egaJ)];
————
alphaM
为
a0
,即质量相关系数;
。
set
betaKcurr
[expr
2.*$$xDam
p/($$omegaI+$$omegaJ)];
—
——
betaKcurr
为
a
1
,即刚度相关系数;
rayleigh
$$alphaM
$$betaKcurr
0
0
———定义瑞利阻尼,
只需要填写
a0
、
a1
,
其
它值为
0
。
set
alphaM 0.;
# M-prop. damping; D =
alphaM*M
set
betaKcurr 0.;
# K-proportional damping;
+beatKcurr*KCurrent
set
betaKcomm
[
expr
2.*$$xDamp/($$omega)];
# K-prop. damping
parameter;
+betaKcomm*KlastCommitt
set
betaKinit 0.;
2
、
OPENSEES
品质源
OPENSEES
基本上采用结点质量源的形式,与大部分有限元程序一样,也就是
每个结点
有
6
个自由度,
6
个自由度上都有广义质量,平动方向
UX
,
UY
,
UZ
称
为质量,而转动方向
RX
,
RY
,
RZ
称为转动惯量(除了刚体,基本上结点没有转
动惯量)。普通结点只有
UX
,
UY
,
UZ
的平动质量,且三个值是相等的。
puts
mass
mass
$$NUM
$$MUX
$$MUY
$$MUZ
$$MRX
$$MRY
$$MRZ
其中,
$$NUM
为结点编号,
$$MUX
$$MUY
$$MUZ
$$MRX
$$MRY
p>
$$MRZ
代表各
个自由度的质量,以单位制
(
N
,
mm
)
的规定,质量的单位应该为
ton
(吨)。
普通结点的质量定义如下:
mass
$$NUM
$$M
$$M
$$M
0
0
0
3
、模态分析
模态分析的命令流与普通静力分析的命令流最大的区别在于记录与分析设置。
记录命令
如下:
puts
recorder
Node
-file
eigen1_
-time
-nodeRange
1
28
-dof
1
2
3
n
1
该命令
流用于输出振型位移,即振型形状。
其中,
eigen1_
为输出振型位移的文件名,
-dof
1
2
3
代输出的自由
度;
1
< br>代表输出的为“第
1
振型”。
for
{
set
k 1 } { $$k <= $$numModes
} {
incr
k } {
recorder
Node
-file
[format
$$k]
-nodeRange
1
6
-dof
1 2 3
}
模态分析设置的命令流:
set
numModes
12
set
lambda
[eigen
$$numModes]
set
period
set
Periods
[open
$$period
puts
$$Periods
$$lambda
close
$$Periods
record
其中,
set
lambda
[eigen
$$numModes]
,代表计算
n
阶振型,将特征值计算
结
果存为
lambda
数组;
set
period
,定义输出文本文件的名字为“
”;用于存
计算的特征值。
set
Periods
[open
$$period
,代表打开文本文件进行记录。
puts
$$Periods
$$lambda
,代表记录特征值数据至文本当中。
< br>
close
$$Periods
,代表记录完成,关闭文本文件。
record
代表记录命令。
4
< br>、单向地震波资料设置的命令流如下:
set
IDloadTag
1001;
————地震波工况号为
1001
set
iGMfile
————地震波数据文件名为
,需要与
T
CL
檔放在同一个目录下。
set
iGMdirection
————地震波方向为
x
方向,即系统
1
方向
set
iGMfact
————地震波峰值放大系数为
0.138mm/s2
set
dt
0.02;
————地震波时间间隔为
0.02s
foreach
GMdirection
$$iGMdirection
GMfile
$$iGMfile
GMfact
$$iGMfact
{
incr
IDloadTag;
set
GMfatt
[expr
1*$$GMfact];
set
AccelSeries
-dt
$$dt
-file
Path
$$iGMfile
-factor
$$GMfatt
-
-
-
-
-
-
-
-
-
上一篇:ANSYS 热分析的可用单元
下一篇:边界元与有限元