平面薄膜单元.docx

上传人:b****8 文档编号:9059040 上传时间:2023-02-03 格式:DOCX 页数:15 大小:17.45KB
下载 相关 举报
平面薄膜单元.docx_第1页
第1页 / 共15页
平面薄膜单元.docx_第2页
第2页 / 共15页
平面薄膜单元.docx_第3页
第3页 / 共15页
平面薄膜单元.docx_第4页
第4页 / 共15页
平面薄膜单元.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

平面薄膜单元.docx

《平面薄膜单元.docx》由会员分享,可在线阅读,更多相关《平面薄膜单元.docx(15页珍藏版)》请在冰豆网上搜索。

平面薄膜单元.docx

平面薄膜单元

#N_FSW13.tcl

#

#Applyaxialloadfirst

#------------------------------

#Units:

N,mm,sec,MPa

#------------------------------

#------------------------------

#Startofmodelgeneration

#------------------------------

#4.1

#------------------------------------------------------------------------------

#CreateModelBuilderforbeamsandcolumns(withtwo-dimensionsand3DOF/node)

#------------------------------------------------------------------------------

modelbasic-ndm2-ndf3

#---------------------------------------------------------

#Createnodesneededforbeamsandcolumns(3dof)

#---------------------------------------------------------

#setdimensionofthewallandmesh

setL1068;

setH1068;

setdeltaL356;

setdeltaH356;

setnL[expr$L/$deltaL];

setnH[expr$H/$deltaH];

sett76.2;

setbeamTypenonlinearBeamColumn

#Createnodesforbeamsandcolumns

#tagXY

 

setnodeStartID[expr($nH+1)*($nL+1)+1];

seteleStartID[expr$nH*$nL+1]

setj0;

while{$j<[expr$nH+1]}{

if{$j<[expr$nH]}{

node[expr$nodeStartID+$j*2]0.0[expr$deltaH*$j]

node[expr$nodeStartID+$j*2+1][expr$L][expr$deltaH*$j]

}else{

seti0;

while{$i<[expr$nL+1]}{

node[expr$nodeStartID+$j*2+$i][expr$i*$deltaL][expr$H]

seti[expr$i+1]

}

}

setj[expr$j+1]

}

node273560.0

node287120.0

#--------------------------------------------------

#Definematerialsfornonlinearcolumnsandbeams

#--------------------------------------------------

#CONCRETEtagf'cec0f'cuecu

#Coreconcrete(confined)

uniaxialMaterialConcrete011-64.7-0.0024-13.0-0.006

#Coverconcrete(unconfined)

uniaxialMaterialConcrete012-57.0-0.002-0.0-0.005

#STEEL

#Reinforcingsteel

setfy370.0;#Yieldstressfor#7bar

setE216082.0;#Young'smodulus

#tagfyE0b

uniaxialMaterialSteel013$fy$E0.023

#uniaxialMaterialSteelZ013$fy$E49.750.033

#-----------------------------------------------

#Definecross-sectionfornonlinearcolumns

#-----------------------------------------------

#setsomeparamaters

setcolWidth152.4

setcolDepth152.4

setcover20.0

setAs126.7;#areaofno.4bars

#somevariablesderivedfromtheparameters

setcy1[expr$colDepth/2.0]

setcz1[expr$colWidth/2.0]

sectionFiber1{

#Createtheconcretecorefibers

patchrect1101[expr$cover-$cy1][expr$cover-$cz1][expr$cy1-$cover][expr$cz1-$cover]

#Createtheconcretecoverfibers(top,bottom,left,right)

patchrect2101[expr-$cy1][expr$cz1-$cover]$cy1$cz1

patchrect2101[expr-$cy1][expr-$cz1]$cy1[expr$cover-$cz1]

patchrect221[expr-$cy1][expr$cover-$cz1][expr$cover-$cy1][expr$cz1-$cover]

patchrect221[expr$cy1-$cover][expr$cover-$cz1]$cy1[expr$cz1-$cover]

#Createthereinforcingfibers(4layers)

layerstraight33$As[expr$cy1-$cover][expr$cz1-$cover][expr$cy1-$cover][expr$cover-$cz1]

layerstraight33$As[expr$cover-$cy1][expr$cz1-$cover][expr$cover-$cy1][expr$cover-$cz1]

}

 

#-----------------------------------------------

#Definecross-sectionfornonlinearbeams

#-----------------------------------------------

#setsomeparamaters

setbeamWidth152.4

setbeamDepth152.4

#somevariablesderivedfromtheparameters

setby1[expr$beamDepth/2.0]

setbz1[expr$beamWidth/2.0]

sectionFiber2{

#Createtheconcretecorefibers

patchrect1101[expr$cover-$by1][expr$cover-$bz1][expr$by1-$cover][expr$bz1-$cover]

#Createtheconcretecoverfibers(top,bottom,left,right)

patchrect2101[expr-$by1][expr$bz1-$cover]$by1$bz1

patchrect2101[expr-$by1][expr-$bz1]$by1[expr$cover-$bz1]

patchrect221[expr-$by1][expr$cover-$bz1][expr$cover-$by1][expr$bz1-$cover]

patchrect221[expr$by1-$cover][expr$cover-$bz1]$by1[expr$bz1-$cover]

#Createthereinforcingfibers(2layers)

layerstraight33$As[expr$by1-$cover][expr$bz1-$cover][expr$by1-$cover][expr$cover-$bz1]

layerstraight33$As[expr$cover-$by1][expr$bz1-$cover][expr$cover-$by1][expr$cover-$bz1]

}

 

#-------------------------------------------------------

#Definecolumnelements

#-------------------------------------------------------

 

geomTransfLinear1

setnp3

setiterNum10

setiterTol1e-3

setj0;

while{$j<[expr$nH]}{

if{$j<[expr$nH-1]}{

#definethecolumnselements

element$beamType[expr$eleStartID+$j*2][expr$nodeStartID+$j*2][expr$nodeStartID+$j*2+2]$np11-iter$iterNum$iterTol

element$beamType[expr$eleStartID+$j*2+1][expr$nodeStartID+$j*2+1][expr$nodeStartID+$j*2+3]$np11-iter$iterNum$iterTol

}else{

element$beamType[expr$eleStartID+$j*2][expr$nodeStartID+$j*2][expr$nodeStartID+$j*2+2]$np11-iter$iterNum$iterTol

element$beamType[expr$eleStartID+$j*2+1][expr$nodeStartID+$j*2+1][expr$nodeStartID+$nH*2+$nL]$np11-iter$iterNum$iterTol

}

setj[expr$j+1]

}

 

#----------------------------------------------------------

#Definebeamelments

#---------------------------------------------------------

geomTransfLinear2

setj[expr$nH];

setbA48000;

setbE2e15;

setbI1e10;

seti0;

while{$i<[expr$nL]}{

element$beamType[expr$eleStartID+$j*2+$i][expr$nodeStartID+$j*2+$i][expr$nodeStartID+$j*2+1+$i]$np22-iter$iterNum$iterTol

#elementelasticBeamColumn[expr$eleStartID+$j*2+$i][expr$nodeStartID+$j*2+$i][expr$nodeStartID+$j*2+1+$i]$bA$bE$bI2

seti[expr$i+1]

}

element$beamType191727$np22-iter$iterNum$iterTol

element$beamType202728$np22-iter$iterNum$iterTol

element$beamType212818$np22-iter$iterNum$iterTol

#4.2

#-------------------------------------------------------------------------

#CreateModelBuilderfor2Delement(withtwo-dimensionsand2DOF/node)

#-------------------------------------------------------------------------

modelbasic-ndm2-ndf2

 

#Createnodes&addtoDomain-command:

nodenodeIdxCrdyCrd

setj0;

while{$j<[expr$nH+1]}{

seti0;

while{$i<[expr$nL+1]}{

node[expr$j*($nL+1)+$i+1][expr$i*$deltaL][expr$j*$deltaH]

seti[expr$i+1]

}

setj[expr$j+1]

}

#fixoneendasapin,theotherendasaroller

fix111

fix401

#tienodesbetweenbeam,columnand2Delements

equalDOF11712

equalDOF41812

equalDOF51912

equalDOF82012

equalDOF92112

equalDOF122212

equalDOF132312

equalDOF142412

equalDOF152512

equalDOF162612

equalDOF22712

equalDOF32812

#-----------------------------------------------------------------

#Definematerialsfor2DReinforceConcretePlaneStresselement

#-----------------------------------------------------------------

#setfcfyE

setwfc57.0;

setwfy419.2;

setwE187544.0;

setrou10.0023;

setrou20.0023;

#UniaxialMaterial:

steelZ01

#tagfyE0fpcrou

uniaxialMaterialSteelZ0111$wfy$wE$wfc$rou1

uniaxialMaterialSteelZ0112$wfy$wE$wfc$rou2

 

#UniaxialMaterial:

concreteZ01

#ConcreteZ01tagf'cec0

uniaxialMaterialConcreteZ0113[expr-$wfc]-0.0025

uniaxialMaterialConcreteZ0114[expr-$wfc]-0.0025

setpi3.141592654

#NDMaterial:

ReinforceConcretePlaneStress

#tagrhos1s2c1c2angle1angle2rou1rou2fpcfyE0

nDMaterialFAReinforcedConcretePlaneStress150.011121314[expr0.0*$pi][expr0.5*$pi]$rou1$rou2$wfc$wfy$wE0.002

 

#-----------------------------------------------------------------

#Define2DReinforceConcretePlaneStresselement

#-----------------------------------------------------------------

setj0;

while{$j<$nH}{

seti0;

while{$i<$nL}{

#Createquadelements-command:

#elementquadeleIDnode1node2node3node4thicktypematID

elementquad[expr$j*$nL+$i+1][expr$j*($nL+1)+$i+1][expr$j*($nL+1)+$i+2][expr($j+1)*($nL+1)+$i+2][expr($j+1)*($nL+1)+$i+1]$tPlaneStress15

seti[expr$i+1]

}

setj[expr$j+1]

}

#4.3

#---------------------------

#Definehorizontalloads

#---------------------------

 

setN89000.0;

#CreateaPlainloadpatternwithalinearTimeSeries

patternPlain1"Linear"{

#Createthenodalload-command:

loadnodeIDxForceyForce

load130[expr-$N]

load160[expr-$N]

}

#4.4

#------------------------------

#Endofmodelgeneration

#------------------------------

#------------------------------

#Startofanalysisgeneration

#------------------------------

 

#Createthesystemofequation,asparsesolverwithpartialpivoting

systemBandGeneral

 

#Createtheconstrainthandler

constraintsPlain

#CreatetheDOFnumberer

numbererPlain

 

#Createtheconvergencetest

testNormDispIncr1.0e-4101

 

#Createthesolutionalgorithm

algorithmKrylovNewton

#Createtheintegrationscheme,theDisplacementControlscheme

integratorLoadControl0.1

#Createtheanalysisobject

analysisStatic

#initializeincaseweneedtodoaninitialstiffnessiteration

#initialize

#------------------------------

#Endofanalysisgeneration

#------------------------------

#Createarecordertomonitornodaldisplacements

#recorderNode-fileN_FSW13.out-time-node15-dof123disp

#performtheanalysis

analyze10

 

#Printoutthestateofnodes,ifwanted

#printnode1314151626272818

#Printoutthestateofelements,ifwanted

#printele4

#4.5

#Setthegravityloadstobeconstant&resetthetimeinthedomain

loadConst-time0.0

#----------------------------------------------------

#EndofModelGeneration&InitialGravityAnalysis

#----------------------------------------------------

#----------------------------------------------------

#Startofadditionalmodelingforlat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1