平面薄膜单元Word下载.docx
《平面薄膜单元Word下载.docx》由会员分享,可在线阅读,更多相关《平面薄膜单元Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
#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
setbeamWidth152.4
setbeamDepth152.4
setby1[expr$beamDepth/2.0]
setbz1[expr$beamWidth/2.0]
sectionFiber2{
patchrect1101[expr$cover-$by1][expr$cover-$bz1][expr$by1-$cover][expr$bz1-$cover]
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
[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
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
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
node[expr$j*($nL+1)+$i+1][expr$i*$deltaL][expr$j*$deltaH]
#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
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
$nH}{
$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
#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