feat: initial otko import
Some checks failed
CI / lint (push) Has been cancelled
CI / test (macos-latest, 3.10) (push) Has been cancelled
CI / test (macos-latest, 3.11) (push) Has been cancelled
CI / test (macos-latest, 3.12) (push) Has been cancelled
CI / test (ubuntu-latest, 3.10) (push) Has been cancelled
CI / test (ubuntu-latest, 3.11) (push) Has been cancelled
CI / test (ubuntu-latest, 3.12) (push) Has been cancelled
CI / test (windows-latest, 3.10) (push) Has been cancelled
CI / test (windows-latest, 3.11) (push) Has been cancelled
CI / test (windows-latest, 3.12) (push) Has been cancelled
Some checks failed
CI / lint (push) Has been cancelled
CI / test (macos-latest, 3.10) (push) Has been cancelled
CI / test (macos-latest, 3.11) (push) Has been cancelled
CI / test (macos-latest, 3.12) (push) Has been cancelled
CI / test (ubuntu-latest, 3.10) (push) Has been cancelled
CI / test (ubuntu-latest, 3.11) (push) Has been cancelled
CI / test (ubuntu-latest, 3.12) (push) Has been cancelled
CI / test (windows-latest, 3.10) (push) Has been cancelled
CI / test (windows-latest, 3.11) (push) Has been cancelled
CI / test (windows-latest, 3.12) (push) Has been cancelled
This commit is contained in:
commit
612936a00b
540 changed files with 174136 additions and 0 deletions
1598
examples/data/A10000.txt
Normal file
1598
examples/data/A10000.txt
Normal file
File diff suppressed because it is too large
Load diff
800
examples/data/BM68elc.acc
Normal file
800
examples/data/BM68elc.acc
Normal file
|
|
@ -0,0 +1,800 @@
|
|||
-.1368849E-02 -.1659410E-02 -.1466880E-02 -.6865326E-03 -.6491235E-03
|
||||
-.6172128E-03 -.5942289E-03 -.5720329E-03 -.5517003E-03 -.5367939E-03
|
||||
-.5300330E-03 -.5315104E-03 -.5389920E-03 -.5492582E-03 -.5592027E-03
|
||||
-.5659958E-03 -.5672101E-03 -.5617805E-03 -.5502959E-03 -.5347288E-03
|
||||
-.5176619E-03 -.5013709E-03 -.4873454E-03 -.4763228E-03 -.4683559E-03
|
||||
-.4626830E-03 -.4579708E-03 -.4512405E-03 -.4376077E-03 -.4130071E-03
|
||||
-.3772566E-03 -.3363394E-03 -.3030926E-03 -.2926074E-03 -.3144186E-03
|
||||
-.3668375E-03 -.4373818E-03 -.5104884E-03 -.5745380E-03 -.6248976E-03
|
||||
-.6621411E-03 -.6878470E-03 -.7014600E-03 -.6985488E-03 -.6737667E-03
|
||||
-.6258232E-03 -.5616336E-03 -.4955459E-03 -.4432164E-03 -.4144737E-03
|
||||
-.4103149E-03 -.4251781E-03 -.4493034E-03 -.4742715E-03 -.4942019E-03
|
||||
-.5021476E-03 -.4907415E-03 -.4549906E-03 -.4008473E-03 -.3457893E-03
|
||||
-.3076823E-03 -.2975411E-03 -.3148410E-03 -.3469618E-03 -.3746677E-03
|
||||
-.3814194E-03 -.3598713E-03 -.3127679E-03 -.2503611E-03 -.1870004E-03
|
||||
-.1381307E-03 -.1166398E-03 -.1296596E-03 -.1730662E-03 -.2365307E-03
|
||||
-.3092055E-03 -.3795541E-03 -.4410602E-03 -.4886626E-03 -.5170590E-03
|
||||
-.5252823E-03 -.5139311E-03 -.4858098E-03 -.4459504E-03 -.3992677E-03
|
||||
-.3528575E-03 -.3119584E-03 -.2767747E-03 -.2493392E-03 -.2343354E-03
|
||||
-.2328132E-03 -.2443271E-03 -.2710242E-03 -.3142711E-03 -.3756243E-03
|
||||
-.4585760E-03 -.5641321E-03 -.6901264E-03 -.8277058E-03 -.9398496E-03
|
||||
-.9604577E-03 -.8289034E-03 -.5332316E-03 -.1380318E-03 .2342108E-03
|
||||
.4651973E-03 .5026886E-03 .3746881E-03 .1623773E-03 -.5159882E-04
|
||||
-.2224880E-03 -.3475301E-03 -.4529523E-03 -.5485990E-03 -.5963545E-03
|
||||
-.5423656E-03 -.3657646E-03 -.1048402E-03 .1563278E-03 .3291475E-03
|
||||
.3576328E-03 .2409380E-03 .2377646E-04 -.2316319E-03 -.4694656E-03
|
||||
-.6625028E-03 -.8119362E-03 -.9298628E-03 -.1028468E-02 -.1108383E-02
|
||||
-.1131224E-02 -.1020689E-02 -.7165112E-03 -.2327270E-03 .3181869E-03
|
||||
.7732246E-03 .1012043E-02 .1013671E-02 .8560355E-03 .6690806E-03
|
||||
.5646968E-03 .5919845E-03 .7377345E-03 .9490117E-03 .1157766E-02
|
||||
.1288701E-02 .1282487E-02 .1122759E-02 .8318915E-03 .4619941E-03
|
||||
.7578448E-04 -.2595554E-03 -.4939353E-03 -.6127490E-03 -.6275750E-03
|
||||
-.5752344E-03 -.4995743E-03 -.4264229E-03 -.3601404E-03 -.3004083E-03
|
||||
-.2406227E-03 -.1628483E-03 -.3998632E-04 .1649808E-03 .4539122E-03
|
||||
.7517190E-03 .9316287E-03 .8846478E-03 .5857181E-03 .1074495E-03
|
||||
-.4397852E-03 -.9508948E-03 -.1343749E-02 -.1561289E-02 -.1537678E-02
|
||||
-.1227062E-02 -.6359309E-03 .1519731E-03 .9751270E-03 .1659683E-02
|
||||
.2090323E-02 .2247826E-02 .2201305E-02 .2058203E-02 .1895573E-02
|
||||
.1737760E-02 .1553215E-02 .1242380E-02 .7156433E-03 .5001116E-04
|
||||
-.5054628E-03 -.6890887E-03 -.4238027E-03 .1011130E-03 .5498104E-03
|
||||
.6308834E-03 .2434936E-03 -.5144872E-03 -.1425978E-02 -.2207871E-02
|
||||
-.2588403E-02 -.2416130E-02 -.1701441E-02 -.6324158E-03 .4489725E-03
|
||||
.1181227E-02 .1316547E-02 .7973359E-03 -.2602228E-03 -.1657394E-02
|
||||
-.3151829E-02 -.4439463E-02 -.5178411E-02 -.5151548E-02 -.4419849E-02
|
||||
-.3294586E-02 -.2165649E-02 -.1266916E-02 -.5719502E-03 .1140084E-03
|
||||
.9530592E-03 .1899989E-02 .2754509E-02 .3333837E-02 .3558579E-02
|
||||
.3481950E-02 .3221851E-02 .2824910E-02 .2273374E-02 .1577169E-02
|
||||
.8367896E-03 .2027145E-03 -.2373641E-03 -.4614556E-03 -.4731789E-03
|
||||
-.2183073E-03 .4104828E-03 .1459868E-02 .2860114E-02 .4348360E-02
|
||||
.5528933E-02 .6097511E-02 .5985376E-02 .5383175E-02 .4639648E-02
|
||||
.4059716E-02 .3743902E-02 .3490429E-02 .2858654E-02 .1525807E-02
|
||||
-.3418321E-03 -.2117817E-02 -.3132606E-02 -.3067405E-02 -.2029459E-02
|
||||
-.4221254E-03 .1279269E-02 .2716792E-02 .3687018E-02 .4125139E-02
|
||||
.4074137E-02 .3662913E-02 .3043893E-02 .2233206E-02 .1065048E-02
|
||||
-.5910665E-03 -.2497506E-02 -.4059191E-02 -.4734788E-02 -.4355504E-02
|
||||
-.3183642E-02 -.1697557E-02 -.2707831E-03 .9875352E-03 .2151907E-02
|
||||
.3263816E-02 .4199429E-02 .4759887E-02 .4825527E-02 .4432848E-02
|
||||
.3760105E-02 .3017075E-02 .2350750E-02 .1810708E-02 .1373070E-02
|
||||
.9716151E-03 .5537977E-03 .1551401E-03 -.1146315E-03 -.1525016E-03
|
||||
.8037190E-04 .5542061E-03 .1173618E-02 .1820585E-02 .2425000E-02
|
||||
.2926893E-02 .3238843E-02 .3279656E-02 .2992806E-02 .2362163E-02
|
||||
.1372295E-02 .2313812E-04 -.1448616E-02 -.2543549E-02 -.2850379E-02
|
||||
-.2427525E-02 -.1864917E-02 -.1841201E-02 -.2558433E-02 -.3556204E-02
|
||||
-.4063939E-02 -.3529889E-02 -.1969941E-02 .1971637E-05 .1588542E-02
|
||||
.2244687E-02 .1873185E-02 .7977154E-03 -.5171107E-03 -.1717952E-02
|
||||
-.2648191E-02 -.3320288E-02 -.3766790E-02 -.3906620E-02 -.3602483E-02
|
||||
-.2795473E-02 -.1624758E-02 -.4698606E-03 .2144823E-03 .1413113E-03
|
||||
-.6730203E-03 -.1847835E-02 -.2630158E-02 -.2274249E-02 -.6524350E-03
|
||||
.1573817E-02 .3385189E-02 .4056466E-02 .3445002E-02 .1897480E-02
|
||||
-.7834726E-06 -.1758264E-02 -.3163954E-02 -.4224580E-02 -.4961730E-02
|
||||
-.5277184E-02 -.4996010E-02 -.4023828E-02 -.2450240E-02 -.5552267E-03
|
||||
.1274664E-02 .2708539E-02 .3615917E-02 .4076754E-02 .4278436E-02
|
||||
.4381952E-02 .4374117E-02 .4039416E-02 .3125690E-02 .1526682E-02
|
||||
-.6629957E-03 -.3174034E-02 -.5620508E-02 -.7393678E-02 -.7657670E-02
|
||||
-.5879189E-02 -.2309056E-02 .2104524E-02 .6124863E-02 .8661836E-02
|
||||
.9093149E-02 .7418333E-02 .4183904E-02 .1723107E-03 -.3926354E-02
|
||||
-.7599501E-02 -.1040893E-01 -.1196732E-01 -.1209718E-01 -.1098399E-01
|
||||
-.9148456E-02 -.7211587E-02 -.5598882E-02 -.4332776E-02 -.3016100E-02
|
||||
-.1208796E-02 .1051286E-02 .3165395E-02 .4405513E-02 .4396087E-02
|
||||
.3297939E-02 .1655353E-02 .7416014E-04 -.1064366E-02 -.1709471E-02
|
||||
-.2034871E-02 -.2232056E-02 -.2305923E-02 -.2068891E-02 -.1321939E-02
|
||||
-.8340139E-04 .1261539E-02 .2134704E-02 .2109285E-02 .1105460E-02
|
||||
-.5894554E-03 -.2470004E-02 -.4065335E-02 -.5114128E-02 -.5622219E-02
|
||||
-.5758567E-02 -.5625456E-02 -.5164963E-02 -.4249916E-02 -.2873503E-02
|
||||
-.1300094E-02 -.4597824E-05 .5635215E-03 .2430489E-03 -.7996342E-03
|
||||
-.2202475E-02 -.3517325E-02 -.4370145E-02 -.4594031E-02 -.4247630E-02
|
||||
-.3535756E-02 -.2695440E-02 -.1891009E-02 -.1114788E-02 -.2001966E-03
|
||||
.1063983E-02 .2729472E-02 .4506580E-02 .5904495E-02 .6538514E-02
|
||||
.6304454E-02 .5380864E-02 .4057021E-02 .2569189E-02 .1081627E-02
|
||||
-.2431288E-03 -.1132123E-02 -.1222615E-02 -.2623135E-03 .1692263E-02
|
||||
.4233489E-02 .6691237E-02 .8351827E-02 .8781418E-02 .7993135E-02
|
||||
.6368712E-02 .4417529E-02 .2553299E-02 .9862523E-03 -.2879211E-03
|
||||
-.1353996E-02 -.2215209E-02 -.2753861E-02 -.2802267E-02 -.2290656E-02
|
||||
-.1316115E-02 -.6447474E-04 .1257941E-02 .2452606E-02 .3298001E-02
|
||||
.3545191E-02 .3020925E-02 .1768330E-02 .1555108E-03 -.1161917E-02
|
||||
-.1511165E-02 -.5886191E-03 .1294113E-02 .3326199E-02 .4659119E-02
|
||||
.4817445E-02 .3850162E-02 .2221826E-02 .5993848E-03 -.3028908E-03
|
||||
.4499610E-04 .1757564E-02 .4515811E-02 .7747015E-02 .1080406E-01
|
||||
.1304353E-01 .1395124E-01 .1333330E-01 .1139073E-01 .8626151E-02
|
||||
.5657044E-02 .2991235E-02 .8765410E-03 -.7137361E-03 -.1944390E-02
|
||||
-.2910045E-02 -.3511966E-02 -.3524041E-02 -.2828079E-02 -.1517566E-02
|
||||
.1316982E-03 .1753455E-02 .3100957E-02 .4107929E-02 .4813638E-02
|
||||
.5258774E-02 .5355058E-02 .4944081E-02 .3965876E-02 .2490912E-02
|
||||
.6955959E-03 -.1175544E-02 -.2833030E-02 -.3900410E-02 -.3998603E-02
|
||||
-.2931521E-02 -.8106600E-03 .2012093E-02 .5086689E-02 .7945016E-02
|
||||
.1019194E-01 .1156584E-01 .1204074E-01 .1182632E-01 .1122714E-01
|
||||
.1050766E-01 .9726859E-02 .8686699E-02 .7115794E-02 .4980392E-02
|
||||
.2607636E-02 .4853645E-03 -.1043528E-02 -.2024556E-02 -.2885799E-02
|
||||
-.4165203E-02 -.6174022E-02 -.8735769E-02 -.1119461E-01 -.1278969E-01
|
||||
-.1308059E-01 -.1213089E-01 -.1045354E-01 -.8704736E-02 -.7365831E-02
|
||||
-.6595419E-02 -.6254681E-02 -.6079807E-02 -.5833011E-02 -.5404578E-02
|
||||
-.4812268E-02 -.4096855E-02 -.3282374E-02 -.2382386E-02 -.1371636E-02
|
||||
-.2345010E-03 .1029128E-02 .2427386E-02 .3910080E-02 .5297981E-02
|
||||
.6098532E-02 .5564267E-02 .3285883E-02 -.4251326E-03 -.4773041E-02
|
||||
-.8874927E-02 -.1201173E-01 -.1370493E-01 -.1378610E-01 -.1244907E-01
|
||||
-.1014931E-01 -.7440821E-02 -.4775990E-02 -.2391629E-02 -.3412078E-03
|
||||
.1422210E-02 .2980469E-02 .4361524E-02 .5424185E-02 .5920223E-02
|
||||
.5656604E-02 .4614099E-02 .2987099E-02 .1059008E-02 -.9265047E-03
|
||||
-.2832559E-02 -.4642235E-02 -.6381750E-02 -.7981423E-02 -.9160859E-02
|
||||
-.9536279E-02 -.8840301E-02 -.7065088E-02 -.4407939E-02 -.1073603E-02
|
||||
.2747630E-02 .6774304E-02 .1060120E-01 .1376236E-01 .1586998E-01
|
||||
.1671592E-01 .1635498E-01 .1510440E-01 .1335503E-01 .1139606E-01
|
||||
.9353882E-02 .7269033E-02 .5321099E-02 .3970154E-02 .3756399E-02
|
||||
.4945238E-02 .7369704E-02 .1047504E-01 .1341277E-01 .1519901E-01
|
||||
.1512407E-01 .1319094E-01 .1012762E-01 .6957527E-02 .4458216E-02
|
||||
.2895137E-02 .2114719E-02 .1841946E-02 .1945955E-02 .2461216E-02
|
||||
.3432909E-02 .4777061E-02 .6226826E-02 .7409148E-02 .8047544E-02
|
||||
.8084369E-02 .7690493E-02 .7230160E-02 .7136600E-02 .7601987E-02
|
||||
.8262116E-02 .8252509E-02 .6705430E-02 .3405972E-02 -.9392068E-03
|
||||
-.5076408E-02 -.7945572E-02 -.9148912E-02 -.8901434E-02 -.7674806E-02
|
||||
-.5875240E-02 -.3781398E-02 -.1573361E-02 .5790951E-03 .2473429E-02
|
||||
.3977300E-02 .5076070E-02 .5860220E-02 .6468372E-02 .6916667E-02
|
||||
.7024350E-02 .6537226E-02 .5305538E-02 .3436577E-02 .1270087E-02
|
||||
-.7914175E-03 -.2458895E-02 -.3683615E-02 -.4640394E-02 -.5600477E-02
|
||||
-.6752352E-02 -.8119755E-02 -.9593167E-02 -.1103590E-01 -.1236491E-01
|
||||
-.1357366E-01 -.1471308E-01 -.1572562E-01 -.1632927E-01 -.1607012E-01
|
||||
-.1455760E-01 -.1170511E-01 -.7707945E-02 -.2845726E-02 .2593552E-02
|
||||
.8239099E-02 .1371021E-01 .1861603E-01 .2247447E-01 .2484857E-01
|
||||
.2550516E-01 .2458508E-01 .2256438E-01 .2001827E-01 .1742999E-01
|
||||
.1506325E-01 .1292138E-01 .1082082E-01 .8621126E-02 .6408467E-02
|
||||
.4540162E-02 .3447775E-02 .3325761E-02 .4038313E-02 .5274964E-02
|
||||
.6656132E-02 .7902636E-02 .8921166E-02 .9655239E-02 .9989046E-02
|
||||
.9732258E-02 .8780388E-02 .7159844E-02 .4964532E-02 .2307752E-02
|
||||
-.6598585E-03 -.3801772E-02 -.7083769E-02 -.1046226E-01 -.1390451E-01
|
||||
-.1739559E-01 -.2086425E-01 -.2418894E-01 -.2721328E-01 -.2965826E-01
|
||||
-.3105506E-01 -.3092283E-01 -.2907427E-01 -.2567129E-01 -.2091488E-01
|
||||
-.1488636E-01 -.7665321E-02 .6185650E-03 .9603872E-02 .1826989E-01
|
||||
.2490295E-01 .2781942E-01 .2632389E-01 .2106028E-01 .1353917E-01
|
||||
.5409180E-02 -.2194669E-02 -.8995550E-02 -.1531422E-01 -.2164288E-01
|
||||
-.2810458E-01 -.3396651E-01 -.3805669E-01 -.3954256E-01 -.3823027E-01
|
||||
-.3463815E-01 -.2965534E-01 -.2389699E-01 -.1754370E-01 -.1032278E-01
|
||||
-.1798833E-02 .7899254E-02 .1774161E-01 .2585594E-01 .3026364E-01
|
||||
.3001526E-01 .2568086E-01 .1872162E-01 .1064011E-01 .2562814E-02
|
||||
-.5082948E-02 -.1227003E-01 -.1900838E-01 -.2517957E-01 -.3042440E-01
|
||||
-.3433626E-01 -.3669936E-01 -.3742471E-01 -.3640279E-01 -.3380826E-01
|
||||
-.3004120E-01 -.2557789E-01 -.2102416E-01 -.1677586E-01 -.1282777E-01
|
||||
-.8711441E-02 -.3827573E-02 .1826430E-02 .7539540E-02 .1232010E-01
|
||||
.1540526E-01 .1665511E-01 .1650193E-01 .1552809E-01 .1404259E-01
|
||||
.1197892E-01 .9178393E-02 .5548425E-02 .1189046E-02 -.3380682E-02
|
||||
-.7406748E-02 -.1015732E-01 -.1119443E-01 -.1066680E-01 -.9078330E-02
|
||||
-.6958574E-02 -.4656017E-02 -.2360902E-02 -.7646585E-04 .2316568E-02
|
||||
.4821873E-02 .7298118E-02 .9270378E-02 .9896334E-02 .8407688E-02
|
||||
.4582978E-02 -.1039746E-02 -.7169492E-02 -.1217499E-01 -.1481022E-01
|
||||
-.1481108E-01 -.1275542E-01 -.9714298E-02 -.6894851E-02 -.5083874E-02
|
||||
-.4659003E-02 -.5491210E-02 -.7023740E-02 -.8844939E-02 -.1069379E-01
|
||||
-.1250066E-01 -.1454846E-01 -.1707686E-01 -.1989536E-01 -.2233137E-01
|
||||
-.2337480E-01 -.2216943E-01 -.1848253E-01 -.1266237E-01 -.5488932E-02
|
||||
.1933627E-02 .8465627E-02 .1329814E-01 .1618511E-01 .1730439E-01
|
||||
.1705052E-01 .1586226E-01 .1402368E-01 .1162920E-01 .8715639E-02
|
||||
.5517490E-02 .2446470E-02 -.6760063E-04 -.1730739E-02 -.2643284E-02
|
||||
-.3230591E-02 -.4078908E-02 -.5544881E-02 -.7297788E-02 -.8575398E-02
|
||||
-.8701870E-02 -.7335231E-02 -.4596454E-02 -.1089148E-02 .2308446E-02
|
||||
.4930489E-02 .6542544E-02 .7365063E-02 .8007596E-02 .8993838E-02
|
||||
.1061887E-01 .1289529E-01 .1537708E-01 .1740325E-01 .1855977E-01
|
||||
.1879475E-01 .1823605E-01 .1728071E-01 .1636020E-01 .1557678E-01
|
||||
.1487995E-01 .1410674E-01 .1312163E-01 .1187395E-01 .1047366E-01
|
||||
.9401153E-02 .8976578E-02 .9189091E-02 .9935435E-02 .1091718E-01
|
||||
.1178125E-01 .1219021E-01 .1208668E-01 .1164181E-01 .1092886E-01
|
||||
.1033433E-01 .1044840E-01 .1168691E-01 .1398808E-01 .1657557E-01
|
||||
.1843491E-01 .1882112E-01 .1750543E-01 .1453506E-01 .1014117E-01
|
||||
.4922797E-02 -.1521883E-03 -.3943517E-02 -.5637022E-02 -.5201442E-02
|
||||
-.3427316E-02 -.1447996E-02 -.3824361E-03 -.9026158E-03 -.2899126E-02
|
||||
-.5725932E-02 -.8629017E-02 -.1101399E-01 -.1248361E-01 -.1285285E-01
|
||||
-.1218286E-01 -.1059188E-01 -.8178625E-02 -.4990100E-02 -.1028538E-02
|
||||
.3150664E-02 .6362955E-02 .7546259E-02 .6259687E-02 .2864968E-02
|
||||
-.1635834E-02 -.6229456E-02 -.1030984E-01 -.1363929E-01 -.1633579E-01
|
||||
-.1859400E-01 -.2033242E-01 -.2129428E-01 -.2115705E-01 -.1995381E-01
|
||||
-.1803703E-01 -.1572271E-01 -.1346108E-01 -.1157558E-01 -.1028342E-01
|
||||
-.9973393E-02 -.1088589E-01 -.1283440E-01 -.1521976E-01 -.1700754E-01
|
||||
-.1700241E-01 -.1464764E-01 -.1020196E-01 -.4479077E-02 .1320025E-02
|
||||
.6097918E-02 .9342135E-02 .1111878E-01 .1183866E-01 .1189031E-01
|
||||
.1125836E-01 .9810133E-02 .7402317E-02 .4095284E-02 .1828470E-03
|
||||
-.4088318E-02 -.8438761E-02 -.1270788E-01 -.1650415E-01 -.1902820E-01
|
||||
-.1941728E-01 -.1716774E-01 -.1240415E-01 -.5653437E-02 .2476229E-02
|
||||
.1130678E-01 .1996734E-01 .2754194E-01 .3310088E-01 .3597632E-01
|
||||
.3620774E-01 .3446190E-01 .3184828E-01 .2958874E-01 .2850179E-01
|
||||
.2876039E-01 .2975068E-01 .3013135E-01 .2831505E-01 .2328487E-01
|
||||
.1514390E-01 .4924578E-02 -.5911273E-02 -.1587064E-01 -.2387583E-01
|
||||
-.2952881E-01 -.3279504E-01 -.3384369E-01 -.3301784E-01 -.3063855E-01
|
||||
-.2689125E-01 -.2179400E-01 -.1538950E-01 -.7952897E-02 -.9614722E-06
|
||||
.7845226E-02 .1515901E-01 .2172301E-01 .2721474E-01 .3118629E-01
|
||||
.3321061E-01 .3315358E-01 .3141515E-01 .2869304E-01 .2566259E-01
|
||||
.2279068E-01 .2024065E-01 .1800577E-01 .1598535E-01 .1414388E-01
|
||||
.1245735E-01 .1078543E-01 .8834504E-02 .6219473E-02 .2691722E-02
|
||||
-.1693293E-02 -.6300586E-02 -.1002109E-01 -.1160434E-01 -.1034660E-01
|
||||
-.6522354E-02 -.1193026E-02 .4069759E-02 .7675377E-02 .8652136E-02
|
||||
.7037568E-02 .3689011E-02 -.1703597E-03 -.3524754E-02 -.5959860E-02
|
||||
-.7514396E-02 -.8400751E-02 -.8698959E-02 -.8162413E-02 -.6605212E-02
|
||||
-.4054499E-02 -.7536645E-03 .2726845E-02 .5629213E-02 .7297529E-02
|
||||
.7477676E-02 .6330082E-02 .4341098E-02 .2067891E-02 -.9504297E-04
|
||||
-.1997928E-02 -.3688179E-02 -.5087495E-02 -.5982067E-02 -.6480055E-02
|
||||
-.7252330E-02 -.9021151E-02 -.1171408E-01 -.1436533E-01 -.1583704E-01
|
||||
-.1554842E-01 -.1380533E-01 -.1170943E-01 -.1055543E-01 -.1110769E-01
|
||||
-.1302097E-01 -.1486034E-01 -.1504907E-01 -.1265275E-01 -.7609021E-02
|
||||
-.6534508E-03 .7069084E-02 .1429999E-01 .1976389E-01 .2237736E-01
|
||||
.2172482E-01 .1833358E-01 .1331135E-01 .7787639E-02 .2693778E-02
|
||||
-.1145081E-02 -.3063542E-02 -.2688044E-02 -.1992260E-03 .3516970E-02
|
||||
.7112396E-02 .9205986E-02 .8945032E-02 .6403670E-02 .2372275E-02
|
||||
-.2278300E-02 -.6769582E-02 -.1058472E-01 -.1341400E-01 -.1473648E-01
|
||||
-.1408597E-01 -.1135366E-01 -.6882144E-02 -.1458501E-02 .4002616E-02
|
||||
.8496996E-02 .1090352E-01 .1052907E-01 .7505903E-02 .2602705E-02
|
||||
-.3152815E-02 -.8746525E-02 -.1308470E-01 -.1511365E-01 -.1421543E-01
|
||||
-.1043071E-01 -.4478917E-02 .2554198E-02 .9666669E-02 .1596795E-01
|
||||
.2044187E-01 .2229090E-01 .2108773E-01 .1676433E-01 .9953076E-02
|
||||
.2087643E-02 -.4699501E-02 -.8461761E-02 -.8571464E-02 -.5788908E-02
|
||||
-.1529597E-02 .2786955E-02 .6275468E-02 .8679429E-02 .1002905E-01
|
||||
.1042510E-01 .1004069E-01 .9072301E-02 .7679290E-02 .6074455E-02
|
||||
.4473075E-02 .3067263E-02 .1876768E-02 .8717062E-03 .3874273E-04
|
||||
-.7671303E-03 -.1613149E-02 -.2440585E-02 -.3194246E-02 -.3793401E-02
|
||||
-.4178739E-02 -.4371920E-02 -.4428270E-02 -.4444974E-02 -.4507241E-02
|
||||
-.4583253E-02 -.4686428E-02 -.4835609E-02 -.4934173E-02 -.5009819E-02
|
||||
-.5108526E-02 -.5215524E-02 -.5363476E-02 -.5621534E-02 -.6092668E-02
|
||||
-.6926939E-02 -.8356982E-02 -.1046107E-01 -.1306359E-01 -.1585233E-01
|
||||
-.1816486E-01 -.1922537E-01 -.1863163E-01 -.1631364E-01 -.1262393E-01
|
||||
-.7983982E-02 -.2435903E-02 .3674736E-02 .9291033E-02 .1301129E-01
|
||||
.1388301E-01 .1192520E-01 .7868640E-02 .2877415E-02 -.2157623E-02
|
||||
-.6911937E-02 -.1124143E-01 -.1500486E-01 -.1768727E-01 -.1852320E-01
|
||||
-.1697383E-01 -.1298640E-01 -.7084300E-02 -.7721108E-04 .7034756E-02
|
||||
.1297544E-01 .1665017E-01 .1779682E-01 .1692438E-01 .1496840E-01
|
||||
.1272775E-01 .1023923E-01 .6891558E-02 .1983961E-02 -.4715016E-02
|
||||
-.1287864E-01 -.2164600E-01 -.2960101E-01 -.3515917E-01 -.3713777E-01
|
||||
-.3533459E-01 -.3063518E-01 -.2440813E-01 -.1781452E-01 -.1142552E-01
|
||||
-.5141503E-02 .1498338E-02 .8866538E-02 .1688690E-01 .2470682E-01
|
||||
.3058300E-01 .3238546E-01 .2889857E-01 .2094647E-01 .1083059E-01
|
||||
.9575448E-03 -.7089134E-02 -.1283213E-01 -.1619175E-01 -.1684417E-01
|
||||
-.1445279E-01 -.9549346E-02 -.3879482E-02 .4078140E-03 .1928972E-02
|
||||
.7526545E-03 -.1856707E-02 -.4191256E-02 -.4972957E-02 -.3965310E-02
|
||||
-.2070338E-02 -.7092010E-03 -.9489900E-03 -.3100835E-02 -.6707078E-02
|
||||
-.1080124E-01 -.1430832E-01 -.1612181E-01 -.1518834E-01 -.1123060E-01
|
||||
-.4823611E-02 .3024228E-02 .1071457E-01 .1645373E-01 .1889990E-01
|
||||
.1757643E-01 .1320395E-01 .7106346E-02 .5534812E-03 -.5513032E-02
|
||||
-.1061932E-01 -.1439279E-01 -.1645384E-01 -.1672504E-01 -.1540873E-01
|
||||
-.1275695E-01 -.9118096E-02 -.4867156E-02 -.2455867E-03 .4230080E-02
|
||||
.7672429E-02 .9142766E-02 .8019062E-02 .4453303E-02 -.8225852E-03
|
||||
-.6841658E-02 -.1275177E-01 -.1813499E-01 -.2261233E-01 -.2564713E-01
|
||||
-.2684913E-01 -.2616440E-01 -.2380227E-01 -.1977725E-01 -.1365101E-01
|
||||
-.5088131E-02 .5197379E-02 .1550537E-01 .2408050E-01 .3004262E-01
|
||||
.3360170E-01 .3521722E-01 .3522096E-01 .3380402E-01 .3094955E-01
|
||||
.2685286E-01 .2192577E-01 .1657763E-01 .1121935E-01 .6148842E-02
|
||||
.1575380E-02 -.2472731E-02 -.6185611E-02 -.9684531E-02 -.1308251E-01
|
||||
-.1661101E-01 -.2043943E-01 -.2465044E-01 -.2891475E-01 -.3214394E-01
|
||||
-.3306835E-01 -.3093236E-01 -.2593347E-01 -.1928827E-01 -.1274861E-01
|
||||
-.7825682E-02 -.5133567E-02 -.4425851E-02 -.4818741E-02 -.5252232E-02
|
||||
-.4930240E-02 -.3672806E-02 -.2020577E-02 -.8254652E-03 -.8623670E-03
|
||||
-.2420186E-02 -.5125718E-02 -.8013458E-02 -.9941214E-02 -.1001373E-01
|
||||
-.7816071E-02 -.3770037E-02 .1162191E-02 .6006638E-02 .9756063E-02
|
||||
.1172414E-01 .1180266E-01 .1034587E-01 .8106998E-02 .5764324E-02
|
||||
.3702295E-02 .2109327E-02 .8522273E-03 -.4087143E-03 -.1958545E-02
|
||||
-.3776898E-02 -.5280190E-02 -.5708328E-02 -.4667265E-02 -.2201315E-02
|
||||
.1272191E-02 .5028644E-02 .8190299E-02 .1023330E-01 .1121147E-01
|
||||
.1140253E-01 .1117003E-01 .1078246E-01 .1021337E-01 .9389039E-02
|
||||
.8031923E-02 .5774986E-02 .2565933E-02 -.1537241E-02 -.6345046E-02
|
||||
-.1170225E-01 -.1765976E-01 -.2419191E-01 -.3101631E-01 -.3736947E-01
|
||||
-.4232024E-01 -.4541069E-01 -.4652028E-01 -.4578869E-01 -.4361636E-01
|
||||
-.4038329E-01 -.3636168E-01 -.3167082E-01 -.2655599E-01 -.2157473E-01
|
||||
-.1738166E-01 -.1447114E-01 -.1283825E-01 -.1207965E-01 -.1171937E-01
|
||||
-.1129131E-01 -.1059250E-01 -.9596382E-02 -.8229236E-02 -.6418498E-02
|
||||
-.4035644E-02 -.1143476E-02 .2077366E-02 .5351418E-02 .8341142E-02
|
||||
.1100083E-01 .1331432E-01 .1519221E-01 .1643695E-01 .1674342E-01
|
||||
.1592628E-01 .1411161E-01 .1171599E-01 .9296672E-02 .7472793E-02
|
||||
.6577241E-02 .6637887E-02 .7456219E-02 .8644244E-02 .1005389E-01
|
||||
.1186538E-01 .1417436E-01 .1673345E-01 .1899539E-01 .2042756E-01
|
||||
.2091466E-01 .2054275E-01 .1939914E-01 .1767041E-01 .1535188E-01
|
||||
.1237763E-01 .8704570E-02 .4147236E-02 -.1360430E-02 -.7787316E-02
|
||||
-.1486702E-01 -.2177232E-01 -.2736238E-01 -.3066875E-01 -.3144420E-01
|
||||
-.3027946E-01 -.2814377E-01 -.2601297E-01 -.2455224E-01 -.2386868E-01
|
||||
-.2363605E-01 -.2353825E-01 -.2333943E-01 -.2288862E-01 -.2227907E-01
|
||||
-.2161968E-01 -.2099637E-01 -.2040827E-01 -.1973868E-01 -.1893775E-01
|
||||
-.1797027E-01 -.1667843E-01 -.1487935E-01 -.1246686E-01 -.9483893E-02
|
||||
-.6337230E-02 -.3506977E-02 -.1291572E-02 .2429348E-03 .1248035E-02
|
||||
.1976424E-02 .2601214E-02 .2968768E-02 .2795946E-02 .1798981E-02
|
||||
-.1659973E-03 -.2845534E-02 -.5849434E-02 -.8908303E-02 -.1182109E-01
|
||||
-.1452760E-01 -.1696396E-01 -.1883610E-01 -.1968982E-01 -.1901421E-01
|
||||
-.1669585E-01 -.1313140E-01 -.8861982E-02 -.4456569E-02 -.3243527E-03
|
||||
.3309549E-02 .6103826E-02 .7759009E-02 .8226937E-02 .7582430E-02
|
||||
.6252748E-02 .4737565E-02 .3470717E-02 .3108701E-02 .4169565E-02
|
||||
.6781691E-02 .1079032E-01 .1556154E-01 .2013236E-01 .2382233E-01
|
||||
.2626433E-01 .2745505E-01 .2788424E-01 .2811386E-01 .2843440E-01
|
||||
.2895634E-01 .2960218E-01 .3003924E-01 .3003745E-01 .2953782E-01
|
||||
.2847969E-01 .2723935E-01 .2630562E-01 .2600641E-01 .2686385E-01
|
||||
.2900223E-01 .3201463E-01 .3563619E-01 .3949034E-01 .4313774E-01
|
||||
.4661442E-01 .4993431E-01 .5291145E-01 .5533222E-01 .5665800E-01
|
||||
.5645912E-01 .5503413E-01 .5279327E-01 .5007040E-01 .4737852E-01
|
||||
.4487943E-01 .4235794E-01 .3974572E-01 .3686028E-01 .3368732E-01
|
||||
.3055061E-01 .2781146E-01 .2609253E-01 .2599445E-01 .2757407E-01
|
||||
.3018356E-01 .3314234E-01 .3576748E-01 .3741581E-01 .3763105E-01
|
||||
.3611741E-01 .3313879E-01 .2902728E-01 .2419680E-01 .1935050E-01
|
||||
.1467773E-01 .1004832E-01 .5684898E-02 .1508315E-02 -.2792435E-02
|
||||
-.7023769E-02 -.1107366E-01 -.1449093E-01 -.1658374E-01 -.1736586E-01
|
||||
-.1709493E-01 -.1650190E-01 -.1654562E-01 -.1754671E-01 -.1935994E-01
|
||||
-.2175887E-01 -.2421596E-01 -.2633406E-01 -.2826962E-01 -.3007234E-01
|
||||
-.3178528E-01 -.3368383E-01 -.3588525E-01 -.3838538E-01 -.4116496E-01
|
||||
-.4399211E-01 -.4660682E-01 -.4828366E-01 -.4786318E-01 -.4458027E-01
|
||||
-.3845997E-01 -.3070465E-01 -.2270198E-01 -.1560400E-01 -.1010790E-01
|
||||
-.5980578E-02 -.2772934E-02 -.1713775E-04 .2673980E-02 .5519567E-02
|
||||
.8460680E-02 .1130877E-01 .1401008E-01 .1656949E-01 .1883679E-01
|
||||
.2051101E-01 .2146666E-01 .2153975E-01 .2084240E-01 .1990095E-01
|
||||
.1882448E-01 .1767300E-01 .1666248E-01 .1545950E-01 .1377915E-01
|
||||
.1181045E-01 .9534539E-02 .7009097E-02 .4686050E-02 .2836866E-02
|
||||
.1815343E-02 .1898834E-02 .2840229E-02 .4322539E-02 .5996240E-02
|
||||
.7348233E-02 .7878039E-02 .7258954E-02 .5524328E-02 .2910175E-02
|
||||
-.1192840E-03 -.2709780E-02 -.4433065E-02 -.5095499E-02 -.4517425E-02
|
||||
-.3210972E-02 -.1762970E-02 -.3308239E-03 .6434073E-03 .5748676E-03
|
||||
-.3093338E-03 -.1867950E-02 -.4005723E-02 -.6188342E-02 -.8441897E-02
|
||||
-.1051722E-01 -.1218090E-01 -.1371676E-01 -.1513981E-01 -.1640948E-01
|
||||
-.1758842E-01 -.1881650E-01 -.2002446E-01 -.2117680E-01 -.2218898E-01
|
||||
-.2237774E-01 -.2098826E-01 -.1749785E-01 -.1199713E-01 -.5457907E-02
|
||||
.1176037E-02 .6830883E-02 .1082376E-01 .1318703E-01 .1378624E-01
|
||||
.1277508E-01 .1066039E-01 .7909360E-02 .4877214E-02 .1911501E-02
|
||||
-.9173029E-03 -.3531967E-02 -.5644893E-02 -.7227729E-02 -.8260763E-02
|
||||
-.8706863E-02 -.8740882E-02 -.8710160E-02 -.8780833E-02 -.8929077E-02
|
||||
-.9381925E-02 -.1024996E-01 -.1161204E-01 -.1344303E-01 -.1545313E-01
|
||||
-.1776305E-01 -.2021068E-01 -.2251479E-01 -.2493718E-01 -.2747284E-01
|
||||
-.2994092E-01 -.3222728E-01 -.3362418E-01 -.3316205E-01 -.2992824E-01
|
||||
-.2359221E-01 -.1504628E-01 -.5412169E-02 .4361812E-02 .1344546E-01
|
||||
.2143670E-01 .2826677E-01 .3386766E-01 .3807828E-01 .4080334E-01
|
||||
.4204068E-01 .4194099E-01 .4092351E-01 .3947267E-01 .3785792E-01
|
||||
.3639122E-01 .3513104E-01 .3384689E-01 .3237553E-01 .3047683E-01
|
||||
.2801395E-01 .2530326E-01 .2283371E-01 .2080132E-01 .1963958E-01
|
||||
.1924832E-01 .1914892E-01 .1924157E-01 .1914600E-01 .1868474E-01
|
||||
.1764816E-01 .1598250E-01 .1400698E-01 .1185010E-01 .9535737E-02
|
||||
.7303359E-02 .5424927E-02 .4099336E-02 .3602893E-02 .3813768E-02
|
||||
.4691968E-02 .5982851E-02 .7198455E-02 .8475807E-02 .9704463E-02
|
||||
.1079903E-01 .1199522E-01 .1309921E-01 .1375677E-01 .1337324E-01
|
||||
.1161517E-01 .8665868E-02 .4754639E-02 .3327197E-03 -.4175680E-02
|
||||
-.8638803E-02 -.1292470E-01 -.1677962E-01 -.2002213E-01 -.2245581E-01
|
||||
-.2394014E-01 -.2436307E-01 -.2341324E-01 -.2102749E-01 -.1757305E-01
|
||||
-.1357719E-01 -.9647067E-02 -.6237683E-02 -.3523645E-02 -.1619959E-02
|
||||
-.5938797E-03 -.5873712E-03 -.1729091E-02 -.3658303E-02 -.6054787E-02
|
||||
-.8687612E-02 -.1110900E-01 -.1329320E-01 -.1517378E-01 -.1627424E-01
|
||||
-.1622413E-01 -.1470082E-01 -.1182905E-01 -.8394616E-02 -.5225185E-02
|
||||
-.2862584E-02 -.1459262E-02 -.7402939E-03 -.3132338E-03 .1528705E-03
|
||||
.9427832E-03 .2164652E-02 .3504850E-02 .4956621E-02 .6561044E-02
|
||||
.7926335E-02 .9208951E-02 .1042562E-01 .1143696E-01 .1241714E-01
|
||||
.1325782E-01 .1376058E-01 .1387821E-01 .1354292E-01 .1270655E-01
|
||||
.1164777E-01 .1048626E-01 .8795471E-02 .5968882E-02 .1222028E-02
|
||||
-.5439779E-02 -.1263862E-01 -.1905841E-01 -.2380396E-01 -.2617362E-01
|
||||
-.2597806E-01 -.2335960E-01 -.1890640E-01 -.1330358E-01 -.7446688E-02
|
||||
-.2739187E-02 .2071204E-03 .1429036E-02 .1028736E-02 -.2401374E-03
|
||||
-.1668075E-02 -.2988337E-02 -.4067810E-02 -.5173909E-02 -.6483773E-02
|
||||
-.7750192E-02 -.8730304E-02 -.9183981E-02 -.8757737E-02 -.7443620E-02
|
||||
-.5621340E-02 -.3618324E-02 -.1583880E-02 .3090976E-03 .1956134E-02
|
||||
.3648367E-02 .5579855E-02 .7890413E-02 .1081725E-01 .1419929E-01
|
||||
.1720072E-01 .1915609E-01 .1985558E-01 .1925274E-01 .1788514E-01
|
||||
.1630675E-01 .1477740E-01 .1338977E-01 .1196436E-01 .1022575E-01
|
||||
.8064738E-02 .5583655E-02 .3000570E-02 .5331712E-03 -.1379636E-02
|
||||
-.2426841E-02 -.2616121E-02 -.2013066E-02 -.1077223E-02 -.2170750E-03
|
||||
.2452922E-03 -.1324171E-03 -.1388844E-02 -.3343876E-02 -.5693895E-02
|
||||
-.8076184E-02 -.1041739E-01 -.1256042E-01 -.1441242E-01 -.1609455E-01
|
||||
-.1746467E-01 -.1859309E-01 -.1958296E-01 -.2029965E-01 -.2088517E-01
|
||||
-.2118079E-01 -.2093396E-01 -.2022643E-01 -.1911941E-01 -.1776040E-01
|
||||
-.1627488E-01 -.1464481E-01 -.1261195E-01 -.9632813E-02 -.5389511E-02
|
||||
-.7220652E-04 .5642729E-02 .1097859E-01 .1545286E-01 .1863852E-01
|
||||
.2052978E-01 .2124407E-01 .2077740E-01 .1950230E-01 .1778722E-01
|
||||
.1596091E-01 .1415971E-01 .1250467E-01 .1113676E-01 .1000036E-01
|
||||
.9128085E-02 .8438501E-02 .7807495E-02 .7209282E-02 .6562780E-02
|
||||
.5611157E-02 .4104884E-02 .1836216E-02 -.1142869E-02 -.4689413E-02
|
||||
-.8478513E-02 -.1198585E-01 -.1467946E-01 -.1589029E-01 -.1564526E-01
|
||||
-.1418316E-01 -.1176374E-01 -.8850510E-02 -.5673143E-02 -.2510591E-02
|
||||
.1802678E-03 .2025823E-02 .3032400E-02 .3425292E-02 .3508645E-02
|
||||
.3676629E-02 .4091425E-02 .4682304E-02 .5472754E-02 .6452162E-02
|
||||
.7347295E-02 .7999419E-02 .8296611E-02 .7928995E-02 .6813268E-02
|
||||
.5011843E-02 .2802597E-02 .4992408E-03 -.1831118E-02 -.4069736E-02
|
||||
-.6046223E-02 -.7749683E-02 -.9061467E-02 -.9705197E-02 -.9636080E-02
|
||||
-.9016790E-02 -.8174797E-02 -.7198690E-02 -.6204959E-02 -.5373029E-02
|
||||
-.4344859E-02 -.2803768E-02 -.5525524E-03 .2538277E-02 .6235031E-02
|
||||
.1016038E-01 .1387329E-01 .1677467E-01 .1827768E-01 .1816112E-01
|
||||
.1658768E-01 .1412021E-01 .1139746E-01 .8696474E-02 .6208537E-02
|
||||
.3969926E-02 .1747097E-02 -.5591269E-03 -.2936676E-02 -.5368648E-02
|
||||
-.7513072E-02 -.8918480E-02 -.9102443E-02 -.7764897E-02 -.5171679E-02
|
||||
-.1761796E-02 .1879600E-02 .5135838E-02 .7591760E-02 .9053612E-02
|
||||
.9685827E-02 .9766829E-02 .9580221E-02 .9451962E-02 .9444144E-02
|
||||
.9532332E-02 .9651165E-02 .9750393E-02 .9941313E-02 .1041583E-01
|
||||
.1151542E-01 .1339452E-01 .1591906E-01 .1877037E-01 .2152736E-01
|
||||
.2384239E-01 .2559043E-01 .2692286E-01 .2806866E-01 .2907231E-01
|
||||
.2980794E-01 .3000675E-01 .2939602E-01 .2797701E-01 .2590633E-01
|
||||
.2358968E-01 .2134617E-01 .1922584E-01 .1733120E-01 .1554119E-01
|
||||
.1381606E-01 .1229399E-01 .1111732E-01 .1066441E-01 .1103057E-01
|
||||
.1204131E-01 .1338293E-01 .1450729E-01 .1504738E-01 .1478665E-01
|
||||
.1374486E-01 .1226510E-01 .1067453E-01 .9171079E-02 .7956521E-02
|
||||
.7243112E-02 .7133591E-02 .7548334E-02 .8351206E-02 .9329349E-02
|
||||
.1033786E-01 .1134440E-01 .1219463E-01 .1297151E-01 .1378645E-01
|
||||
.1454178E-01 .1516388E-01 .1552029E-01 .1536431E-01 .1441286E-01
|
||||
.1276976E-01 .1072529E-01 .8463387E-02 .6392266E-02 .4752372E-02
|
||||
.3457876E-02 .2437014E-02 .1596681E-02 .5628094E-03 -.1049293E-02
|
||||
-.3360829E-02 -.6548210E-02 -.1039057E-01 -.1454904E-01 -.1884158E-01
|
||||
-.2302796E-01 -.2708942E-01 -.3096956E-01 -.3458155E-01 -.3761068E-01
|
||||
-.3953193E-01 -.4003705E-01 -.3918434E-01 -.3738913E-01 -.3518965E-01
|
||||
-.3320436E-01 -.3165300E-01 -.3067854E-01 -.3044658E-01 -.3076029E-01
|
||||
-.3149571E-01 -.3248234E-01 -.3358702E-01 -.3468694E-01 -.3569531E-01
|
||||
-.3663265E-01 -.3748605E-01 -.3817463E-01 -.3864487E-01 -.3896101E-01
|
||||
-.3913047E-01 -.3926949E-01 -.3946818E-01 -.3963120E-01 -.3984169E-01
|
||||
-.4010381E-01 -.4030988E-01 -.4048733E-01 -.4068742E-01 -.4091181E-01
|
||||
-.4108314E-01 -.4134737E-01 -.4164515E-01 -.4191625E-01 -.4221260E-01
|
||||
-.4250566E-01 -.4284395E-01 -.4312954E-01 -.4330667E-01 -.4334183E-01
|
||||
-.4308501E-01 -.4222350E-01 -.4073786E-01 -.3880898E-01 -.3658534E-01
|
||||
-.3430503E-01 -.3193513E-01 -.2939320E-01 -.2643007E-01 -.2268951E-01
|
||||
-.1838666E-01 -.1380213E-01 -.9347827E-02 -.5776366E-02 -.3465915E-02
|
||||
-.2368894E-02 -.2129215E-02 -.2258109E-02 -.2351747E-02 -.2196853E-02
|
||||
-.1854580E-02 -.1449342E-02 -.9127997E-03 -.1951298E-03 .7112905E-03
|
||||
.2021865E-02 .3688877E-02 .5545756E-02 .7607521E-02 .9759494E-02
|
||||
.1173481E-01 .1307648E-01 .1348676E-01 .1280592E-01 .1113297E-01
|
||||
.8912421E-02 .6391149E-02 .3905114E-02 .1601427E-02 -.6692400E-03
|
||||
-.2717528E-02 -.4174201E-02 -.4627424E-02 -.3727393E-02 -.1547067E-02
|
||||
.1500089E-02 .4950034E-02 .8360430E-02 .1141537E-01 .1397295E-01
|
||||
.1600148E-01 .1754447E-01 .1868035E-01 .1966211E-01 .2055389E-01
|
||||
.2138742E-01 .2237416E-01 .2335756E-01 .2431197E-01 .2537448E-01
|
||||
.2656551E-01 .2791929E-01 .2965010E-01 .3174222E-01 .3383392E-01
|
||||
.3578273E-01 .3710474E-01 .3739960E-01 .3679326E-01 .3536805E-01
|
||||
.3346081E-01 .3159161E-01 .2981960E-01 .2811941E-01 .2658930E-01
|
||||
.2499555E-01 .2309543E-01 .2088378E-01 .1841231E-01 .1567525E-01
|
||||
.1284477E-01 .1015462E-01 .7788366E-02 .6110006E-02 .5402534E-02
|
||||
.5638440E-02 .6563084E-02 .7850387E-02 .9206303E-02 .1031194E-01
|
||||
.1098126E-01 .1114542E-01 .1074463E-01 .9957830E-02 .8947896E-02
|
||||
.7833102E-02 .6707737E-02 .5635129E-02 .4515381E-02 .3035268E-02
|
||||
.9134036E-03 -.1856914E-02 -.4957733E-02 -.8185762E-02 -.1104210E-01
|
||||
-.1317374E-01 -.1469623E-01 -.1536370E-01 -.1512908E-01 -.1424074E-01
|
||||
-.1287377E-01 -.1122237E-01 -.9534758E-02 -.7934308E-02 -.6283240E-02
|
||||
-.4473937E-02 -.2516351E-02 -.4075612E-03 .1761349E-02 .3631932E-02
|
||||
.5185014E-02 .6550926E-02 .7627133E-02 .8434078E-02 .8885753E-02
|
||||
.8896488E-02 .8412189E-02 .7505225E-02 .6435478E-02 .5327768E-02
|
||||
.4238728E-02 .3224385E-02 .2239655E-02 .1074355E-02 -.3118892E-03
|
||||
-.1826858E-02 -.3254363E-02 -.4210919E-02 -.4456596E-02 -.3901531E-02
|
||||
-.2794523E-02 -.1524628E-02 -.2957599E-03 .6724922E-03 .1142362E-02
|
||||
.1047438E-02 .4277500E-03 -.6598095E-03 -.1989157E-02 -.3279215E-02
|
||||
-.4515194E-02 -.5755661E-02 -.6996466E-02 -.8379105E-02 -.1009309E-01
|
||||
-.1231685E-01 -.1502015E-01 -.1803725E-01 -.2123054E-01 -.2439197E-01
|
||||
-.2726311E-01 -.2962468E-01 -.3126173E-01 -.3180346E-01 -.3114895E-01
|
||||
-.2959152E-01 -.2749439E-01 -.2527780E-01 -.2314585E-01 -.2111495E-01
|
||||
-.1910038E-01 -.1695931E-01 -.1471179E-01 -.1232559E-01 -.9847208E-02
|
||||
-.7431594E-02 -.5289531E-02 -.3606317E-02 -.2274182E-02 -.1241455E-02
|
||||
-.4807131E-03 .2867630E-03 .1090648E-02 .1916820E-02 .2861809E-02
|
||||
.3882653E-02 .5057116E-02 .6342610E-02 .7716291E-02 .9006579E-02
|
||||
.9757320E-02 .9773900E-02 .9016858E-02 .7676922E-02 .5968230E-02
|
||||
.4131218E-02 .2508963E-02 .1022927E-02 -.4677441E-03 -.1886409E-02
|
||||
-.3108552E-02 -.4005146E-02 -.4412478E-02 -.4230130E-02 -.3596251E-02
|
||||
-.2757693E-02 -.1864050E-02 -.9833094E-03 -.2448452E-03 .4160564E-03
|
||||
.1151147E-02 .1935780E-02 .2790786E-02 .3850240E-02 .5098510E-02
|
||||
.6396557E-02 .7825588E-02 .9341879E-02 .1066413E-01 .1168302E-01
|
||||
.1234519E-01 .1258490E-01 .1257384E-01 .1249794E-01 .1239264E-01
|
||||
.1241063E-01 .1266978E-01 .1319696E-01 .1395792E-01 .1486491E-01
|
||||
.1588669E-01 .1690460E-01 .1783274E-01 .1878446E-01 .1975388E-01
|
||||
.2068742E-01 .2156174E-01 .2217118E-01 .2235588E-01 .2188751E-01
|
||||
.2072463E-01 .1910627E-01 .1721580E-01 .1530059E-01 .1345308E-01
|
||||
.1165164E-01 .9748835E-02 .7580274E-02 .5059838E-02 .2181048E-02
|
||||
-.8965093E-03 -.4099195E-02 -.7276131E-02 -.1024968E-01 -.1300149E-01
|
||||
-.1535646E-01 -.1714553E-01 -.1836106E-01 -.1893160E-01 -.1906335E-01
|
||||
-.1897772E-01 -.1879010E-01 -.1873646E-01 -.1877756E-01 -.1881406E-01
|
||||
-.1889539E-01 -.1903846E-01 -.1927963E-01 -.1956152E-01 -.1993420E-01
|
||||
-.2044804E-01 -.2097104E-01 -.2152963E-01 -.2210045E-01 -.2261029E-01
|
||||
-.2293475E-01 -.2269995E-01 -.2165200E-01 -.1990207E-01 -.1767281E-01
|
||||
-.1514958E-01 -.1254377E-01 -.9940813E-02 -.7251846E-02 -.4495867E-02
|
||||
-.1834558E-02 .3952551E-03 .1854653E-02 .2588015E-02 .2849055E-02
|
||||
.2815094E-02 .2756684E-02 .2919244E-02 .3275645E-02 .3764375E-02
|
||||
.4392082E-02 .5123506E-02 .5873642E-02 .6631104E-02 .7435058E-02
|
||||
.8256780E-02 .9132857E-02 .1018645E-01 .1134536E-01 .1254313E-01
|
||||
.1377035E-01 .1493849E-01 .1591571E-01 .1646537E-01 .1650017E-01
|
||||
.1607343E-01 .1528927E-01 .1435211E-01 .1338305E-01 .1244231E-01
|
||||
.1162597E-01 .1083991E-01 .9958939E-02 .9008164E-02 .7897419E-02
|
||||
.6446123E-02 .4474120E-02 .2036402E-02 -.5182785E-03 -.2859306E-02
|
||||
-.4600725E-02 -.5509272E-02 -.5738853E-02 -.5606866E-02 -.5408165E-02
|
||||
-.5262522E-02 -.5301959E-02 -.5500603E-02 -.5615600E-02 -.5664186E-02
|
||||
-.5684226E-02 -.5563378E-02 -.5416233E-02 -.5361794E-02 -.5286615E-02
|
||||
-.5222926E-02 -.5182292E-02 -.5049308E-02 -.4734245E-02 -.4146149E-02
|
||||
-.3186759E-02 -.1834258E-02 -.3142676E-03 .1142894E-02 .2213497E-02
|
||||
.2677973E-02 .2576888E-02 .2049605E-02 .1353403E-02 .6370208E-03
|
||||
.7696284E-04 -.3840222E-03 -.8431719E-03 -.1240350E-02 -.1731362E-02
|
||||
-.2287197E-02 -.2781299E-02 -.3341096E-02 -.3964879E-02 -.4680874E-02
|
||||
-.5636460E-02 -.6760819E-02 -.7853342E-02 -.8590249E-02 -.8662570E-02
|
||||
-.8005848E-02 -.6810741E-02 -.5326752E-02 -.3841953E-02 -.2599307E-02
|
||||
-.1789202E-02 -.1618141E-02 -.2135000E-02 -.3277990E-02 -.4839744E-02
|
||||
-.6556841E-02 -.8289200E-02 -.9959017E-02 -.1153790E-01 -.1306828E-01
|
||||
-.1444045E-01 -.1538276E-01 -.1571496E-01 -.1526215E-01 -.1412375E-01
|
||||
-.1262103E-01 -.1094714E-01 -.9336365E-02 -.7883712E-02 -.6546693E-02
|
||||
-.5324920E-02 -.4283892E-02 -.3511433E-02 -.3010718E-02 -.2758518E-02
|
||||
-.2689395E-02 -.2642917E-02 -.2503958E-02 -.2262002E-02 -.1930234E-02
|
||||
-.1526137E-02 -.1090235E-02 -.7078323E-03 -.2727131E-03 .3235799E-03
|
||||
.1020995E-02 .1760420E-02 .2252078E-02 .2182029E-02 .1537890E-02
|
||||
.3984516E-03 -.1015696E-02 -.2421581E-02 -.3720552E-02 -.4914779E-02
|
||||
-.6040551E-02 -.7089596E-02 -.8104178E-02 -.9080414E-02 -.9967503E-02
|
||||
-.1081311E-01 -.1162745E-01 -.1241252E-01 -.1318338E-01 -.1396752E-01
|
||||
-.1476899E-01 -.1556185E-01 -.1630489E-01 -.1681531E-01 -.1693400E-01
|
||||
-.1658796E-01 -.1570630E-01 -.1448131E-01 -.1311323E-01 -.1171250E-01
|
||||
-.1040772E-01 -.9136133E-02 -.7879401E-02 -.6630753E-02 -.5363429E-02
|
||||
-.4198113E-02 -.3202102E-02 -.2458119E-02 -.1994086E-02 -.1713913E-02
|
||||
-.1527896E-02 -.1312832E-02 -.1087912E-02 -.8321918E-03 -.5112643E-03
|
||||
-.2468145E-03 -.8340905E-05 .2647129E-03 .5213375E-03 .7621085E-03
|
||||
.1038711E-02 .1405533E-02 .1871109E-02 .2460456E-02 .3220863E-02
|
||||
.4082577E-02 .4985384E-02 .5953673E-02 .6965389E-02 .8070290E-02
|
||||
.9368096E-02 .1078513E-01 .1215192E-01 .1331484E-01 .1415191E-01
|
||||
.1469661E-01 .1507143E-01 .1535172E-01 .1564179E-01 .1603185E-01
|
||||
.1647825E-01 .1692019E-01 .1734562E-01 .1772421E-01 .1808961E-01
|
||||
.1845048E-01 .1882569E-01 .1927590E-01 .1973504E-01 .2018737E-01
|
||||
.2068158E-01 .2115884E-01 .2163320E-01 .2215990E-01 .2268229E-01
|
||||
.2321502E-01 .2379547E-01 .2440197E-01 .2507779E-01 .2581341E-01
|
||||
.2655814E-01 .2736368E-01 .2822543E-01 .2905153E-01 .2983108E-01
|
||||
.3059166E-01 .3114084E-01 .3131671E-01 .3111218E-01 .3051305E-01
|
||||
.2968909E-01 .2874523E-01 .2782100E-01 .2703444E-01 .2629805E-01
|
||||
.2572662E-01 .2539096E-01 .2512752E-01 .2493473E-01 .2488788E-01
|
||||
.2479736E-01 .2464927E-01 .2455270E-01 .2447592E-01 .2439927E-01
|
||||
.2430172E-01 .2426220E-01 .2426375E-01 .2427464E-01 .2437629E-01
|
||||
.2463915E-01 .2505681E-01 .2559246E-01 .2620214E-01 .2672332E-01
|
||||
.2697367E-01 .2674980E-01 .2590527E-01 .2449912E-01 .2270682E-01
|
||||
.2072397E-01 .1872458E-01 .1681497E-01 .1489248E-01 .1273290E-01
|
||||
.1014357E-01 .6973620E-02 .3233493E-02 -.9093364E-03 -.5091927E-02
|
||||
-.8996452E-02 -.1249101E-01 -.1546102E-01 -.1801931E-01 -.2037502E-01
|
||||
-.2256763E-01 -.2452619E-01 -.2615070E-01 -.2741391E-01 -.2833618E-01
|
||||
-.2901275E-01 -.2964300E-01 -.3027277E-01 -.3094581E-01 -.3169998E-01
|
||||
-.3237588E-01 -.3285102E-01 -.3302768E-01 -.3291384E-01 -.3256415E-01
|
||||
-.3206932E-01 -.3161216E-01 -.3117883E-01 -.3075836E-01 -.3038615E-01
|
||||
-.2997476E-01 -.2949072E-01 -.2889738E-01 -.2808077E-01 -.2703998E-01
|
||||
-.2581368E-01 -.2444338E-01 -.2305014E-01 -.2163020E-01 -.2024749E-01
|
||||
-.1895732E-01 -.1765319E-01 -.1636023E-01 -.1508094E-01 -.1385074E-01
|
||||
-.1283443E-01 -.1209795E-01 -.1174222E-01 -.1181543E-01 -.1213725E-01
|
||||
-.1254287E-01 -.1296419E-01 -.1333252E-01 -.1364070E-01 -.1391640E-01
|
||||
-.1419105E-01 -.1445969E-01 -.1465255E-01 -.1477652E-01 -.1483936E-01
|
||||
-.1483403E-01 -.1476891E-01 -.1473926E-01 -.1479601E-01 -.1485080E-01
|
||||
-.1496509E-01 -.1515630E-01 -.1534250E-01 -.1553761E-01 -.1575086E-01
|
||||
-.1592756E-01 -.1601255E-01 -.1584265E-01 -.1520028E-01 -.1407137E-01
|
||||
-.1244699E-01 -.1044820E-01 -.8386543E-02 -.6500234E-02 -.5004164E-02
|
||||
-.4060089E-02 -.3704259E-02 -.3819263E-02 -.4212448E-02 -.4642108E-02
|
||||
-.5014184E-02 -.5350055E-02 -.5604700E-02 -.5835293E-02 -.6090989E-02
|
||||
-.6358608E-02 -.6583542E-02 -.6632757E-02 -.6375431E-02 -.5748163E-02
|
||||
-.4755098E-02 -.3513255E-02 -.2183013E-02 -.8565018E-03 .3689066E-03
|
||||
.1507668E-02 .2576427E-02 .3463083E-02 .4132497E-02 .4564437E-02
|
||||
.4712152E-02 .4682966E-02 .4604270E-02 .4516317E-02 .4480989E-02
|
||||
.4495280E-02 .4500414E-02 .4520279E-02 .4620587E-02 .4786315E-02
|
||||
.5036992E-02 .5389506E-02 .5790761E-02 .6240889E-02 .6682114E-02
|
||||
.7070261E-02 .7449444E-02 .7773744E-02 .7943765E-02 .7919061E-02
|
||||
.7642944E-02 .7139513E-02 .6501349E-02 .5792756E-02 .5122678E-02
|
||||
.4503649E-02 .3894988E-02 .3361803E-02 .2997071E-02 .2824104E-02
|
||||
.2904937E-02 .3302560E-02 .3891336E-02 .4538610E-02 .5184030E-02
|
||||
.5764024E-02 .6297548E-02 .6799505E-02 .7280018E-02 .7721628E-02
|
||||
.8008869E-02 .8101727E-02 .7967058E-02 .7636067E-02 .7217181E-02
|
||||
.6756832E-02 .6330422E-02 .5956595E-02 .5598731E-02 .5237896E-02
|
||||
.4858647E-02 .4459606E-02 .4042886E-02 .3623913E-02 .3331852E-02
|
||||
.3272202E-02 .3539817E-02 .4259329E-02 .5275553E-02 .6439381E-02
|
||||
.7688936E-02 .8888779E-02 .1003329E-01 .1115511E-01 .1226569E-01
|
||||
.1334822E-01 .1433992E-01 .1512568E-01 .1551267E-01 .1551125E-01
|
||||
.1519386E-01 .1465298E-01 .1409188E-01 .1356510E-01 .1306618E-01
|
||||
.1262291E-01 .1220510E-01 .1181274E-01 .1171580E-01 .1216633E-01
|
||||
.1331303E-01 .1524950E-01 .1777597E-01 .2057265E-01 .2329719E-01
|
||||
.2556155E-01 .2701758E-01 .2752620E-01 .2721820E-01 .2634695E-01
|
||||
.2523897E-01 .2414605E-01 .2319065E-01 .2235554E-01 .2145555E-01
|
||||
.2050957E-01 .1959173E-01 .1862220E-01 .1762740E-01 .1667050E-01
|
||||
.1579438E-01 .1496501E-01 .1416144E-01 .1341079E-01 .1265789E-01
|
||||
.1192034E-01 .1123068E-01 .1052241E-01 .9780018E-02 .9066127E-02
|
||||
.8375003E-02 .7732417E-02 .7280988E-02 .7107634E-02 .7182783E-02
|
||||
.7523201E-02 .8096221E-02 .8686772E-02 .9260346E-02 .9837201E-02
|
||||
.1037292E-01 .1092720E-01 .1152604E-01 .1217660E-01 .1289584E-01
|
||||
.1365187E-01 .1441366E-01 .1516193E-01 .1588677E-01 .1661195E-01
|
||||
.1731763E-01 .1802403E-01 .1874635E-01 .1947141E-01 .2022626E-01
|
||||
.2098042E-01 .2171716E-01 .2234676E-01 .2272494E-01 .2278279E-01
|
||||
.2250204E-01 .2195459E-01 .2123772E-01 .2048330E-01 .1978113E-01
|
||||
.1911287E-01 .1846887E-01 .1780861E-01 .1710777E-01 .1637331E-01
|
||||
.1562000E-01 .1489020E-01 .1419427E-01 .1352737E-01 .1287828E-01
|
||||
.1223727E-01 .1160183E-01 .1098388E-01 .1035602E-01 .9736413E-02
|
||||
.9122191E-02 .8497272E-02 .7891950E-02 .7262543E-02 .6617015E-02
|
||||
.5915304E-02 .5094611E-02 .4203631E-02 .3212819E-02 .2149947E-02
|
||||
.1075717E-02 -.2298022E-04 -.1061169E-02 -.2113488E-02 -.3225617E-02
|
||||
-.4313436E-02 -.5379884E-02 -.6293834E-02 -.6921222E-02 -.7212701E-02
|
||||
-.7168815E-02 -.6906375E-02 -.6550293E-02 -.6189936E-02 -.5934755E-02
|
||||
-.5930713E-02 -.6242107E-02 -.6902787E-02 -.7896883E-02 -.9142266E-02
|
||||
-.1054151E-01 -.1194656E-01 -.1327986E-01 -.1458012E-01 -.1583052E-01
|
||||
-.1691642E-01 -.1787921E-01 -.1868030E-01 -.1925149E-01 -.1966988E-01
|
||||
-.1994674E-01 -.2009811E-01 -.2020098E-01 -.2034127E-01 -.2048578E-01
|
||||
-.2063758E-01 -.2081370E-01 -.2104213E-01 -.2142617E-01 -.2201315E-01
|
||||
-.2286919E-01 -.2394956E-01 -.2515655E-01 -.2643643E-01 -.2769093E-01
|
||||
-.2888396E-01 -.3001620E-01 -.3110532E-01 -.3219363E-01 -.3319893E-01
|
||||
-.3405916E-01 -.3485087E-01 -.3563057E-01 -.3637475E-01 -.3708807E-01
|
||||
-.3781649E-01 -.3847712E-01 -.3887727E-01 -.3890360E-01 -.3847836E-01
|
||||
-.3756977E-01 -.3635029E-01 -.3502873E-01 -.3377670E-01 -.3253980E-01
|
||||
-.3136170E-01 -.3024498E-01 -.2883484E-01 -.2709108E-01 -.2495759E-01
|
||||
-.2241910E-01 -.1970108E-01 -.1696696E-01 -.1436926E-01 -.1195755E-01
|
||||
-.9720910E-02 -.7672811E-02 -.5682905E-02 -.3770845E-02 -.2103646E-02
|
||||
-.7040582E-03 .3173436E-03 .9817477E-03 .1355928E-02 .1659764E-02
|
||||
.2080315E-02 .2497159E-02 .3016884E-02 .3572530E-02 .4154701E-02
|
||||
.4847182E-02 .5578421E-02 .6394113E-02 .7215470E-02 .8141736E-02
|
||||
.9062471E-02 .9886537E-02 .1083171E-01 .1185518E-01 .1291593E-01
|
||||
.1388871E-01 .1453616E-01 .1471435E-01 .1416915E-01 .1297304E-01
|
||||
.1145868E-01 .9819351E-02 .8270624E-02 .6834504E-02 .5599903E-02
|
||||
.4676519E-02 .3879176E-02 .3234140E-02 .2802702E-02 .2398671E-02
|
||||
.1986406E-02 .1559084E-02 .1090037E-02 .5775177E-03 -.3815822E-04
|
||||
-.8359094E-03 -.1788261E-02 -.2690521E-02 -.3636459E-02 -.4751917E-02
|
||||
-.5712509E-02 -.6594045E-02 -.7534314E-02 -.8285085E-02 -.8825090E-02
|
||||
-.9027546E-02 -.8920334E-02 -.8616465E-02 -.8209239E-02 -.7895718E-02
|
||||
-.7546820E-02 -.7155055E-02 -.6639884E-02 -.5760295E-02 -.4302479E-02
|
||||
-.2278525E-02 .1790444E-03 .2898006E-02 .5379946E-02 .7395191E-02
|
||||
.8695836E-02 .9344333E-02 .9681676E-02 .9732507E-02 .9837005E-02
|
||||
.1003824E-01 .1015341E-01 .1022496E-01 .1000068E-01 .9404290E-02
|
||||
.8718918E-02 .7965965E-02 .7139967E-02 .6447437E-02 .5798382E-02
|
||||
.5082355E-02 .4318732E-02 .3301407E-02 .1877672E-02 -.6846301E-04
|
||||
-.2643313E-02 -.5544712E-02 -.8370909E-02 -.1083761E-01 -.1271198E-01
|
||||
-.1399774E-01 -.1479195E-01 -.1529283E-01 -.1580039E-01 -.1647093E-01
|
||||
-.1724617E-01 -.1791320E-01 -.1835852E-01 -.1849898E-01 -.1815983E-01
|
||||
-.1740111E-01 -.1643913E-01 -.1535994E-01 -.1430412E-01 -.1336712E-01
|
||||
-.1246845E-01 -.1155704E-01 -.1060923E-01 -.9638327E-02 -.8656718E-02
|
||||
-.7666105E-02 -.6681173E-02 -.5752546E-02 -.4931658E-02 -.4272852E-02
|
||||
-.3870866E-02 -.3667222E-02 -.3617013E-02 -.3704612E-02 -.3770654E-02
|
||||
-.3718759E-02 -.3655301E-02 -.3411307E-02 -.2840159E-02 -.2206053E-02
|
||||
-.1487967E-02 -.6835307E-03 .9757925E-04 .8886143E-03 .1693404E-02
|
||||
.2446109E-02 .3161164E-02 .3980987E-02 .4809609E-02 .5431513E-02
|
||||
.5752881E-02 .5650435E-02 .5032142E-02 .3868185E-02 .2294582E-02
|
||||
.6196050E-03 -.9887878E-03 -.2556106E-02 -.4106610E-02 -.5691645E-02
|
||||
-.7332418E-02 -.8953705E-02 -.1059824E-01 -.1221766E-01 -.1360945E-01
|
||||
-.1459371E-01 -.1494915E-01 -.1461667E-01 -.1387553E-01 -.1285067E-01
|
||||
-.1172563E-01 -.1076229E-01 -.9815928E-02 -.8952319E-02 -.8155768E-02
|
||||
-.7227701E-02 -.6300747E-02 -.5377636E-02 -.4484430E-02 -.3589152E-02
|
||||
-.2671803E-02 -.1892406E-02 -.1054205E-02 -.1201819E-03 .7704291E-03
|
||||
.1632170E-02 .2526696E-02 .3426523E-02 .4181529E-02 .5044319E-02
|
||||
.5875677E-02 .6575618E-02 .7400322E-02 .8108606E-02 .8789829E-02
|
||||
.9514649E-02 .1006948E-01 .1036924E-01 .1035038E-01 .9992362E-02
|
||||
.9336564E-02 .8514637E-02 .7772245E-02 .7086018E-02 .6330743E-02
|
||||
.5802475E-02 .5285529E-02 .4688325E-02 .4336251E-02 .3978414E-02
|
||||
.3639463E-02 .3396644E-02 .3074477E-02 .2787161E-02 .2511388E-02
|
||||
.2205691E-02 .1943480E-02 .1667270E-02 .1387161E-02 .1148147E-02
|
||||
.8478166E-03 .5463956E-03 .3801887E-03 .1880852E-03 .1437325E-03
|
||||
.3579065E-03 .8096251E-03 .1510281E-02 .2254199E-02 .2947614E-02
|
||||
.3376264E-02 .3449274E-02 .2978388E-02 .1971365E-02 .8025815E-03
|
||||
-.4945727E-03 -.1777486E-02 -.2912057E-02 -.4025415E-02 -.5113880E-02
|
||||
-.6114851E-02 -.7037254E-02 -.7985605E-02 -.8774682E-02 -.9440006E-02
|
||||
-.1019836E-01 -.1088072E-01 -.1158510E-01 -.1238042E-01 -.1306384E-01
|
||||
-.1371476E-01 -.1448139E-01 -.1514874E-01 -.1575684E-01 -.1638967E-01
|
||||
-.1690445E-01 -.1741117E-01 -.1795520E-01 -.1848447E-01 -.1900292E-01
|
||||
-.1950628E-01 -.2005206E-01 -.2061885E-01 -.2107893E-01 -.2133895E-01
|
||||
-.2135737E-01 -.2100709E-01 -.2014016E-01 -.1895980E-01 -.1767444E-01
|
||||
-.1630400E-01 -.1495259E-01 -.1374251E-01 -.1251072E-01 -.1122870E-01
|
||||
-.1001319E-01 -.8738274E-02 -.7539443E-02 -.6492908E-02 -.5519300E-02
|
||||
-.4694943E-02 -.3970272E-02 -.3286336E-02 -.2520465E-02 -.1748277E-02
|
||||
-.1022217E-02 -.2091931E-03 .5724945E-03 .1327017E-02 .2074191E-02
|
||||
.2838011E-02 .3598866E-02 .4373636E-02 .5175845E-02 .5918087E-02
|
||||
.6690399E-02 .7514947E-02 .8289509E-02 .9013026E-02 .9841878E-02
|
||||
.1068634E-01 .1144395E-01 .1221876E-01 .1296432E-01 .1370129E-01
|
||||
.1444306E-01 .1513911E-01 .1589179E-01 .1667051E-01 .1740415E-01
|
||||
.1817201E-01 .1894096E-01 .1971361E-01 .2051700E-01 .2131862E-01
|
||||
.2205118E-01 .2274641E-01 .2343906E-01 .2407451E-01 .2470104E-01
|
||||
.2529072E-01 .2593011E-01 .2659463E-01 .2723364E-01 .2786906E-01
|
||||
.2848375E-01 .2910891E-01 .2963695E-01 .3000056E-01 .2995937E-01
|
||||
.2951968E-01 .2888872E-01 .2799730E-01 .2700131E-01 .2607613E-01
|
||||
.2520082E-01 .2433173E-01 .2355243E-01 .2275422E-01 .2179665E-01
|
||||
.2091438E-01 .2000954E-01 .1896054E-01 .1789333E-01 .1672851E-01
|
||||
.1553590E-01 .1438577E-01 .1315009E-01 .1191806E-01 .1073388E-01
|
||||
.9582577E-02 .8481141E-02 .7482894E-02 .6801505E-02 .6427535E-02
|
||||
.6316712E-02 .6416042E-02 .6511312E-02 .6613763E-02 .6761348E-02
|
||||
.6778063E-02 .6754865E-02 .6793810E-02 .6827682E-02 .6888210E-02
|
||||
.6916816E-02 .6950606E-02 .6981167E-02 .6993561E-02 .7042773E-02
|
||||
.7046740E-02 .7059720E-02 .7114555E-02 .7161510E-02 .7167308E-02
|
||||
.7021681E-02 .6649175E-02 .6064092E-02 .5291766E-02 .4406959E-02
|
||||
.3457435E-02 .2510584E-02 .1687596E-02 .9352894E-03 .3782349E-03
|
||||
.1257357E-03 .1212414E-03 .4098958E-03 .8233052E-03 .1250195E-02
|
||||
.1674710E-02 .2032924E-02 .2381777E-02 .2719313E-02 .3040589E-02
|
||||
.3340891E-02 .3516452E-02 .3454116E-02 .3134428E-02 .2638280E-02
|
||||
.1988043E-02 .1291571E-02 .6513633E-03 .4115712E-04 -.5110257E-03
|
||||
-.9729956E-03 -.1252806E-02 -.1283499E-02 -.1028184E-02 -.5427602E-03
|
||||
.9048501E-04 .8000865E-03 .1351701E-02 .1608437E-02 .1422218E-02
|
||||
.5642980E-03 -.8702073E-03 -.2665578E-02 -.4659463E-02 -.6645737E-02
|
||||
-.8581648E-02 -.1042527E-01 -.1223105E-01 -.1400749E-01 -.1562581E-01
|
||||
-.1694479E-01 -.1765803E-01 -.1777538E-01 -.1742752E-01 -.1671990E-01
|
||||
-.1593158E-01 -.1524717E-01 -.1464345E-01 -.1407914E-01 -.1355395E-01
|
||||
-.1296656E-01 -.1226515E-01 -.1148702E-01 -.1071789E-01 -.9963704E-02
|
||||
-.9108515E-02 -.8094684E-02 -.6900508E-02 -.5413114E-02 -.3639058E-02
|
||||
-.1773502E-02 .9424512E-04 .1962628E-02 .3710333E-02 .5243191E-02
|
||||
.6386772E-02 .6831027E-02 .6553389E-02 .5645105E-02 .4306550E-02
|
||||
.2871868E-02 .1525925E-02 .2722562E-03 -.8360054E-03 -.1739573E-02
|
||||
-.2460971E-02 -.2890240E-02 -.2975844E-02 -.2823912E-02 -.2576770E-02
|
||||
-.2300651E-02 -.2067811E-02 -.1898546E-02 -.1851372E-02 -.2084421E-02
|
||||
-.2579161E-02 -.3336360E-02 -.4353439E-02 -.5507340E-02 -.6728171E-02
|
||||
-.7971964E-02 -.9286932E-02 -.1077157E-01 -.1236036E-01 -.1379893E-01
|
||||
-.1478611E-01 -.1501493E-01 -.1427981E-01 -.1275392E-01 -.1087813E-01
|
||||
-.8980823E-02 -.7400696E-02 -.6455729E-02 -.6091517E-02 -.6098226E-02
|
||||
-.6289263E-02 -.6479012E-02 -.6536858E-02 -.6364211E-02 -.5797897E-02
|
||||
-.4745136E-02 -.3211062E-02 -.1275368E-02 .7720732E-03 .2704702E-02
|
||||
.4414194E-02 .5800065E-02 .6879298E-02 .7692018E-02 .8150432E-02
|
||||
.8205491E-02 .7975042E-02 .7542872E-02 .6995942E-02 .6475484E-02
|
||||
.5984036E-02 .5545801E-02 .5125410E-02 .4596901E-02 .3936358E-02
|
||||
.2992405E-02 .1756064E-02 .2768444E-03 -.1385962E-02 -.3060575E-02
|
||||
-.4692069E-02 -.6210452E-02 -.7548923E-02 -.8608174E-02 -.9324367E-02
|
||||
-.9743044E-02 -.9966012E-02 -.1007410E-01 -.1016823E-01 -.1032774E-01
|
||||
-.1048900E-01 -.1067007E-01 -.1086707E-01 -.1102498E-01 -.1116417E-01
|
||||
-.1130411E-01 -.1145015E-01 -.1156416E-01 -.1161813E-01 -.1151396E-01
|
||||
-.1116910E-01 -.1062412E-01 -.9873373E-02 -.8987641E-02 -.8123078E-02
|
||||
-.7252574E-02 -.6277929E-02 -.5139615E-02 -.3758278E-02 -.2108786E-02
|
||||
-.3037877E-03 .1512916E-02 .3246851E-02 .4825347E-02 .6165732E-02
|
||||
.7053946E-02 .7407015E-02 .7306948E-02 .6824108E-02 .6126497E-02
|
||||
.5395605E-02 .4735706E-02 .4145562E-02 .3582880E-02 .3010571E-02
|
||||
.2429016E-02 .1852722E-02 .1268032E-02 .7790853E-03 .4163089E-03
|
||||
.1241426E-03 -.8256823E-04 -.2676551E-03 -.4565719E-03 -.6765935E-03
|
||||
-.9578543E-03 -.1333950E-02 -.1929485E-02 -.2799383E-02 -.3998797E-02
|
||||
-.5411238E-02 -.6809948E-02 -.8094199E-02 -.9140870E-02 -.9939898E-02
|
||||
-.1059492E-01 -.1120225E-01 -.1184145E-01 -.1246029E-01 -.1296932E-01
|
||||
-.1328528E-01 -.1330266E-01 -.1300279E-01 -.1249487E-01 -.1195061E-01
|
||||
-.1142438E-01 -.1091830E-01 -.1046579E-01 -.1002865E-01 -.9516446E-02
|
||||
-.8880209E-02 -.8162702E-02 -.7381981E-02 -.6569535E-02 -.5844293E-02
|
||||
-.5332524E-02 -.5127164E-02 -.5230984E-02 -.5580506E-02 -.6065199E-02
|
||||
-.6576555E-02 -.7055518E-02 -.7483169E-02 -.7857245E-02 -.8210891E-02
|
||||
-.8549536E-02 -.8784769E-02 -.8908805E-02 -.8965009E-02 -.8953785E-02
|
||||
-.8890542E-02 -.8812452E-02 -.8770742E-02 -.8713877E-02 -.8496546E-02
|
||||
-.8073468E-02 -.7415896E-02 -.6556235E-02 -.5609972E-02 -.4620983E-02
|
||||
-.3651461E-02 -.2776462E-02 -.2047861E-02 -.1570904E-02 -.1433280E-02
|
||||
-.1627593E-02 -.2091562E-02 -.2670573E-02 -.3159750E-02 -.3295051E-02
|
||||
-.2841774E-02 -.1722596E-02 -.3081415E-04 .2012427E-02 .4195846E-02
|
||||
.7759243E-02 .1009041E-01 .1234082E-01 .1430464E-01 .1580129E-01
|
||||
.1664470E-01 .1683972E-01 .1664863E-01 .1637586E-01 .1633187E-01
|
||||
.1673473E-01 .1755643E-01 .1865395E-01 .1977178E-01 .2065249E-01
|
||||
.2119936E-01 .2144359E-01 .2154501E-01 .2162092E-01 .2175057E-01
|
||||
.2198130E-01 .2222906E-01 .2246085E-01 .2266158E-01 .2281945E-01
|
||||
.2299220E-01 .2326148E-01 .2368028E-01 .2424810E-01 .2493331E-01
|
||||
.2567153E-01 .2640765E-01 .2709228E-01 .2770083E-01 .2828892E-01
|
||||
.2888795E-01 .2944563E-01 .2997140E-01 .3044045E-01 .3067170E-01
|
||||
.3057340E-01 .3011340E-01 .2927922E-01 .2827632E-01 .2726479E-01
|
||||
.2618787E-01 .2508466E-01 .2394896E-01 .2263012E-01 .2115497E-01
|
||||
.1961779E-01 .1812645E-01 .1682319E-01 .1590214E-01 .1546219E-01
|
||||
.1538958E-01 .1553484E-01 .1573604E-01 .1587445E-01 .1580009E-01
|
||||
.1544133E-01 .1481476E-01 .1392805E-01 .1286946E-01 .1175946E-01
|
||||
.1068899E-01 .9637313E-02 .8571257E-02 .7508245E-02 .6396172E-02
|
||||
.5176293E-02 .3871487E-02 .2513818E-02 .1133142E-02 -.2125730E-03
|
||||
-.1472745E-02 -.2621101E-02 -.3570533E-02 -.4262023E-02 -.4737111E-02
|
||||
-.5092072E-02 -.5395414E-02 -.5679843E-02 -.6017004E-02 -.6386026E-02
|
||||
-.6787382E-02 -.7300432E-02 -.7967211E-02 -.8808489E-02 -.9845551E-02
|
||||
-.1098767E-01 -.1203648E-01 -.1285782E-01 -.1330239E-01 -.1328962E-01
|
||||
-.1295417E-01 -.1244764E-01 -.1186071E-01 -.1131595E-01 -.1089068E-01
|
||||
-.1059892E-01 -.1049736E-01 -.1060687E-01 -.1094933E-01 -.1152811E-01
|
||||
-.1220358E-01 -.1289204E-01 -.1357616E-01 -.1423100E-01 -.1482947E-01
|
||||
-.1538425E-01 -.1592233E-01 -.1636338E-01 -.1656591E-01 -.1643236E-01
|
||||
-.1597662E-01 -.1527350E-01 -.1443529E-01 -.1357836E-01 -.1278392E-01
|
||||
-.1206561E-01 -.1137277E-01 -.1071076E-01 -.1017280E-01 -.9799921E-02
|
||||
-.9649394E-02 -.9757075E-02 -.1004074E-01 -.1042480E-01 -.1079276E-01
|
||||
-.1109372E-01 -.1136999E-01 -.1160094E-01 -.1178761E-01 -.1197894E-01
|
||||
-.1207333E-01 -.1193329E-01 -.1155171E-01 -.1093361E-01 -.1012867E-01
|
||||
-.9261098E-02 -.8423422E-02 -.7678327E-02 -.7119483E-02 -.6791939E-02
|
||||
-.6712115E-02 -.6843079E-02 -.7089660E-02 -.7379934E-02 -.7649899E-02
|
||||
-.7845475E-02 -.7915957E-02 -.7819283E-02 -.7499915E-02 -.6994798E-02
|
||||
-.6395132E-02 -.5723564E-02 -.5048186E-02 -.4439030E-02 -.3859009E-02
|
||||
-.3285826E-02 -.2720984E-02 -.2147649E-02 -.1564056E-02 -.9720655E-03
|
||||
-.3924482E-03 .1650661E-03 .7174124E-03 .1257095E-02 .1789369E-02
|
||||
.2359872E-02 .2957085E-02 .3528682E-02 .4030079E-02 .4409755E-02
|
||||
.4610036E-02 .4614296E-02 .4491448E-02 .4327655E-02 .4181567E-02
|
||||
.4104591E-02 .4130779E-02 .4265152E-02 .4465588E-02 .4693861E-02
|
||||
.4931583E-02 .5140223E-02 .5326284E-02 .5517676E-02 .5702954E-02
|
||||
.5880905E-02 .6067302E-02 .6213250E-02 .6267491E-02 .6210680E-02
|
||||
.6029982E-02 .5763171E-02 .5463723E-02 .5173041E-02 .4898239E-02
|
||||
.4639396E-02 .4397928E-02 .4151844E-02 .3904857E-02 .3663023E-02
|
||||
.3445871E-02 .3303808E-02 .3251068E-02 .3289394E-02 .3397992E-02
|
||||
.3510975E-02 .3548474E-02 .3458961E-02 .3214734E-02 .2803493E-02
|
||||
.2291440E-02 .1774944E-02 .1277190E-02 .7986186E-03 .3663494E-03
|
||||
-.3482560E-04 -.4354777E-03 -.8270837E-03 -.1209550E-02 -.1576519E-02
|
||||
-.1914450E-02 -.2243036E-02 -.2553874E-02 -.2851191E-02 -.3150080E-02
|
||||
-.3432364E-02 -.3706000E-02 -.3985497E-02 -.4265150E-02 -.4527991E-02
|
||||
-.4767252E-02 -.4964962E-02 -.5061370E-02 -.5023966E-02 -.4868896E-02
|
||||
-.4625376E-02 -.4352955E-02 -.4107218E-02 -.3938803E-02 -.3873476E-02
|
||||
-.3905834E-02 -.4019462E-02 -.4164923E-02 -.4317415E-02 -.4467577E-02
|
||||
-.4621323E-02 -.4794882E-02 -.4987393E-02 -.5198910E-02 -.5387553E-02
|
||||
-.5502042E-02 -.5509470E-02 -.5372261E-02 -.5121201E-02 -.4810435E-02
|
||||
-.4475207E-02 -.4173282E-02 -.3924784E-02 -.3747185E-02 -.3661682E-02
|
||||
-.3644232E-02 -.3678184E-02 -.3736803E-02 -.3780249E-02 -.3787912E-02
|
||||
-.3723627E-02 -.3553096E-02 -.3274377E-02 -.2914601E-02 -.2510209E-02
|
||||
-.2101883E-02 -.1725180E-02 -.1395088E-02 -.1110167E-02 -.8630921E-03
|
||||
-.6677471E-03 -.5430111E-03 -.4917591E-03 -.5032961E-03 -.5512626E-03
|
||||
-.6093181E-03 -.6585218E-03 -.6917868E-03 -.7160987E-03 -.7341155E-03
|
||||
-.7577296E-03 -.7942437E-03 -.8357234E-03 -.8798277E-03 -.9201046E-03
|
||||
-.9494655E-03 -.9693090E-03 -.9821635E-03 -.9870876E-03 -.9832932E-03
|
||||
-.9688699E-03 -.9330460E-03 -.8579200E-03 -.7386728E-03 -.5812859E-03
|
||||
-.3997294E-03 -.2121420E-03 -.3243040E-04 .1293954E-03 .2772012E-03
|
||||
.4166618E-03 .5497497E-03 .6796009E-03 .8076697E-03 .9376777E-03
|
||||
.1074204E-02 .1216486E-02 .1357106E-02 .1494193E-02 .1621883E-02
|
||||
.1732130E-02 .1829667E-02 .1911760E-02 .1975442E-02 .2025713E-02
|
||||
.2061568E-02 .2084805E-02 .2099837E-02 .2107158E-02 .2109271E-02
|
||||
.2105125E-02 .2094110E-02 .2077210E-02 .2051453E-02 .2012648E-02
|
||||
.1957224E-02 .1882890E-02 .1792851E-02 .1696231E-02 .1598098E-02
|
||||
.1503724E-02 .1416341E-02 .1333911E-02 .1256371E-02 .1182076E-02
|
||||
.1109747E-02 .1040603E-02 .9743627E-03 .9119862E-03 .8541323E-03
|
||||
.7998095E-03 .7486704E-03 .7007959E-03 .6561052E-03 .6137506E-03
|
||||
.5743657E-03 .5383776E-03 .5055391E-03 .4752999E-03 .4477320E-03
|
||||
.4230737E-03 .4005037E-03 .3795673E-03 .3579860E-03 .3348679E-03
|
||||
.3105352E-03 .2860160E-03 .2652565E-03 .2503434E-03 .2422912E-03
|
||||
.2417031E-03 .2476960E-03 .2604719E-03 .2802572E-03 .3068705E-03
|
||||
.3386556E-03 .3722990E-03 .4052977E-03 .4356823E-03 .4622546E-03
|
||||
.4852438E-03 .5057260E-03 .5246352E-03 .5425639E-03 .5599601E-03
|
||||
.5767023E-03 .5925052E-03 .6072328E-03 .6208209E-03 .6330554E-03
|
||||
.6435786E-03 .6521876E-03 .6587709E-03 .6634079E-03 .6663115E-03
|
||||
.6677464E-03 .6680027E-03 .6673014E-03 .6658006E-03 .6636009E-03
|
||||
144
examples/data/EigenAnal_twoStoreyFrame1.tcl.txt
Normal file
144
examples/data/EigenAnal_twoStoreyFrame1.tcl.txt
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
# Eigen analysis of a two-storey one-bay frame; Example 10.5 from "Dynamics of Structures" book by Anil Chopra
|
||||
|
||||
# units: kips, in, sec
|
||||
|
||||
# Vesna Terzic, 2010
|
||||
|
||||
#delete all previosly constructed objects
|
||||
wipe;
|
||||
|
||||
#set input variables
|
||||
#--------------------
|
||||
|
||||
#mass
|
||||
set m [expr 100.0/386.0]
|
||||
|
||||
#number of modes
|
||||
set numModes 2
|
||||
|
||||
#material
|
||||
set A 63.41
|
||||
set I 320.0
|
||||
set E 29000.0
|
||||
|
||||
#geometry
|
||||
set L 240.
|
||||
set h 120.
|
||||
|
||||
# create data directory
|
||||
file mkdir modes;
|
||||
|
||||
# define the model
|
||||
#---------------------------------
|
||||
#model builder
|
||||
model BasicBuilder -ndm 2 -ndf 3
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0. 0. ;
|
||||
node 2 $L 0. ;
|
||||
node 3 0. $h ;
|
||||
node 4 $L $h ;
|
||||
node 5 0. [expr 2*$h];
|
||||
node 6 $L [expr 2*$h];
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1;
|
||||
fix 2 1 1 1;
|
||||
|
||||
# assign mass
|
||||
mass 3 $m 0. 0. ;
|
||||
mass 4 $m 0. 0. ;
|
||||
mass 5 [expr $m/2.] 0. 0. ;
|
||||
mass 6 [expr $m/2.] 0. 0. ;
|
||||
|
||||
# define geometric transformation:
|
||||
set TransfTag 1;
|
||||
geomTransf Linear $TransfTag ;
|
||||
|
||||
# define elements:
|
||||
# columns
|
||||
element elasticBeamColumn 1 1 3 $A $E [expr 2.*$I] $TransfTag;
|
||||
element elasticBeamColumn 2 3 5 $A $E $I $TransfTag;
|
||||
element elasticBeamColumn 3 2 4 $A $E [expr 2.*$I] $TransfTag;
|
||||
element elasticBeamColumn 4 4 6 $A $E $I $TransfTag;
|
||||
# beams
|
||||
element elasticBeamColumn 5 3 4 $A $E [expr 2.*$I] $TransfTag;
|
||||
element elasticBeamColumn 6 5 6 $A $E $I $TransfTag;
|
||||
|
||||
# record eigenvectors
|
||||
#----------------------
|
||||
for { set k 1 } { $k <= $numModes } { incr k } {
|
||||
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 6 -dof 1 2 3 "eigen $k"
|
||||
}
|
||||
|
||||
# perform eigen analysis
|
||||
#-----------------------------
|
||||
set lambda [eigen $numModes];
|
||||
|
||||
# calculate frequencies and periods of the structure
|
||||
#---------------------------------------------------
|
||||
set omega {}
|
||||
set f {}
|
||||
set T {}
|
||||
set pi 3.141593
|
||||
|
||||
foreach lam $lambda {
|
||||
lappend omega [expr sqrt($lam)]
|
||||
lappend f [expr sqrt($lam)/(2*$pi)]
|
||||
lappend T [expr (2*$pi)/sqrt($lam)]
|
||||
}
|
||||
|
||||
puts "periods are $T"
|
||||
|
||||
# write the output file cosisting of periods
|
||||
#--------------------------------------------
|
||||
set period "modes/Periods.txt"
|
||||
set Periods [open $period "w"]
|
||||
foreach t $T {
|
||||
puts $Periods " $t"
|
||||
}
|
||||
close $Periods
|
||||
|
||||
# record the eigenvectors
|
||||
#------------------------
|
||||
record
|
||||
|
||||
# create display for mode shapes
|
||||
#---------------------------------
|
||||
# $windowTitle $xLoc $yLoc $xPixels $yPixels
|
||||
recorder display "Mode Shape 1" 10 10 500 500 -wipe
|
||||
prp $h $h 1; # projection reference point (prp); defines the center of projection (viewer eye)
|
||||
vup 0 1 0; # view-up vector (vup)
|
||||
vpn 0 0 1; # view-plane normal (vpn)
|
||||
viewWindow -200 200 -200 200; # coordiantes of the window relative to prp
|
||||
display -1 5 20; # the 1st arg. is the tag for display mode (ex. -1 is for the first mode shape)
|
||||
# the 2nd arg. is magnification factor for nodes, the 3rd arg. is magnif. factor of deformed shape
|
||||
recorder display "Mode Shape 2" 10 510 500 500 -wipe
|
||||
prp $h $h 1;
|
||||
vup 0 1 0;
|
||||
vpn 0 0 1;
|
||||
viewWindow -200 200 -200 200
|
||||
display -2 5 20
|
||||
|
||||
# get values of eigenvectors for translational DOFs
|
||||
#---------------------------------------------------
|
||||
set f11 [nodeEigenvector 3 1 1]
|
||||
set f21 [nodeEigenvector 5 1 1]
|
||||
set f12 [nodeEigenvector 3 2 1]
|
||||
set f22 [nodeEigenvector 5 2 1]
|
||||
puts "eigenvector 1: [list [expr {$f11/$f21}] [expr {$f21/$f21}] ]"
|
||||
puts "eigenvector 2: [list [expr {$f12/$f22}] [expr {$f22/$f22}] ]"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
167
examples/data/EigenAnal_twoStoreyShearFrame7.tcl.txt
Normal file
167
examples/data/EigenAnal_twoStoreyShearFrame7.tcl.txt
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
# Eigen analysis of a two-storey shear frame; Example 10.4 from "Dynamics of Structures" book by Anil Chopra - using equalDOF and very high Ib
|
||||
|
||||
# units: in, kips
|
||||
|
||||
wipe
|
||||
|
||||
#input
|
||||
set m [expr 100.0/386.0]
|
||||
set numModes 2
|
||||
|
||||
#material
|
||||
set Ac 63.41
|
||||
set Ic 320.0
|
||||
set E 30000.0
|
||||
set Ib 10e+12
|
||||
set Ab 63.41
|
||||
|
||||
#geometry
|
||||
set L 288.
|
||||
set h 144.
|
||||
|
||||
# create data directory
|
||||
file mkdir modes;
|
||||
|
||||
# define the model
|
||||
#---------------------------------
|
||||
#model builder
|
||||
model BasicBuilder -ndm 2 -ndf 3
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0. 0. ;
|
||||
node 2 $L 0. ;
|
||||
node 3 0. $h ;
|
||||
node 4 $L $h ;
|
||||
node 5 0. [expr 2*$h];
|
||||
node 6 $L [expr 2*$h];
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1;
|
||||
fix 2 1 1 1;
|
||||
|
||||
# MP constraints
|
||||
equalDOF 3 4 2 3
|
||||
equalDOF 5 6 2 3
|
||||
|
||||
# assign mass
|
||||
mass 3 $m 0. 0. ;
|
||||
mass 4 $m 0. 0. ;
|
||||
mass 5 [expr $m/2.] 0. 0. ;
|
||||
mass 6 [expr $m/2.] 0. 0. ;
|
||||
|
||||
# define geometric transformation:
|
||||
set TransfTag 1;
|
||||
geomTransf Linear $TransfTag ;
|
||||
|
||||
# define elements:
|
||||
# columns
|
||||
element elasticBeamColumn 1 1 3 $Ac $E [expr 2.*$Ic] $TransfTag;
|
||||
element elasticBeamColumn 2 3 5 $Ac $E $Ic $TransfTag;
|
||||
element elasticBeamColumn 3 2 4 $Ac $E [expr 2.*$Ic] $TransfTag;
|
||||
element elasticBeamColumn 4 4 6 $Ac $E $Ic $TransfTag;
|
||||
# beams
|
||||
element elasticBeamColumn 5 3 4 $Ab $E $Ib $TransfTag;
|
||||
element elasticBeamColumn 6 5 6 $Ab $E $Ib $TransfTag;
|
||||
|
||||
# record eigenvectors
|
||||
#----------------------
|
||||
for { set k 1 } { $k <= $numModes } { incr k } {
|
||||
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 6 -dof 1 2 3 "eigen $k"
|
||||
}
|
||||
|
||||
# perform eigen analysis
|
||||
#-----------------------------
|
||||
set lambda [eigen $numModes];
|
||||
|
||||
# calculate frequencies and periods of the structure
|
||||
#---------------------------------------------------
|
||||
set omega {}
|
||||
set f {}
|
||||
set T {}
|
||||
set pi 3.141593
|
||||
|
||||
foreach lam $lambda {
|
||||
lappend omega [expr sqrt($lam)]
|
||||
lappend f [expr sqrt($lam)/(2*$pi)]
|
||||
lappend T [expr (2*$pi)/sqrt($lam)]
|
||||
}
|
||||
|
||||
puts "periods are $T"
|
||||
|
||||
# write the output file cosisting of periods
|
||||
#--------------------------------------------
|
||||
set period "modes/Periods.txt"
|
||||
set Periods [open $period "w"]
|
||||
foreach t $T {
|
||||
puts $Periods " $t"
|
||||
}
|
||||
close $Periods
|
||||
|
||||
|
||||
# create display for mode shapes
|
||||
#---------------------------------
|
||||
# $windowTitle $xLoc $yLoc $xPixels $yPixels
|
||||
recorder display "Mode Shape 1" 10 10 500 500 -wipe
|
||||
prp $h $h 1; # projection reference point (prp); defines the center of projection (viewer eye)
|
||||
vup 0 1 0; # view-up vector (vup)
|
||||
vpn 0 0 1; # view-plane normal (vpn)
|
||||
viewWindow -200 200 -200 200; # coordiantes of the window relative to prp
|
||||
display -1 5 20; # the 1st arg. is the tag for display mode (ex. -1 is for the first mode shape)
|
||||
# the 2nd arg. is magnification factor for nodes, the 3rd arg. is magnif. factor of deformed shape
|
||||
recorder display "Mode Shape 2" 10 510 500 500 -wipe
|
||||
prp $h $h 1;
|
||||
vup 0 1 0;
|
||||
vpn 0 0 1;
|
||||
viewWindow -200 200 -200 200
|
||||
display -2 5 20
|
||||
|
||||
|
||||
# Run a one step gravity load with no loading (to record eigenvectors)
|
||||
#-----------------------------------------------------------------------
|
||||
integrator LoadControl 0 1 0 0
|
||||
|
||||
# Convergence test
|
||||
# tolerance maxIter displayCode
|
||||
test EnergyIncr 1.0e-10 100 0
|
||||
|
||||
# Solution algorithm
|
||||
algorithm Newton
|
||||
|
||||
# DOF numberer
|
||||
numberer RCM
|
||||
|
||||
# Constraint handler
|
||||
constraints Transformation
|
||||
|
||||
|
||||
# System of equations solver
|
||||
system ProfileSPD
|
||||
|
||||
analysis Static
|
||||
set res [analyze 1]
|
||||
if {$res < 0} {
|
||||
puts "Modal analysis failed"
|
||||
}
|
||||
|
||||
# get values of eigenvectors for translational DOFs
|
||||
#---------------------------------------------------
|
||||
set f11 [nodeEigenvector 3 1 1]
|
||||
set f21 [nodeEigenvector 5 1 1]
|
||||
set f12 [nodeEigenvector 3 2 1]
|
||||
set f22 [nodeEigenvector 5 2 1]
|
||||
puts "eigenvector 1: [list [expr {$f11/$f21}] [expr {$f21/$f21}] ]"
|
||||
puts "eigenvector 2: [list [expr {$f12/$f22}] [expr {$f22/$f22}] ]"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
95
examples/data/Ex1a.Canti2D.EQ.modif.tcl.txt
Normal file
95
examples/data/Ex1a.Canti2D.EQ.modif.tcl.txt
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 1. cantilever 2D
|
||||
# EQ ground motion with gravity
|
||||
# all units are in kip, inch, second
|
||||
# elasticBeamColumn ELEMENT
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) 36'
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= ---- -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear opensees model
|
||||
model basic -ndm 2 -ndf 3; # 2 dimensions, 3 dof per node
|
||||
file mkdir data; # create data directory
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
# nodal coordinates:
|
||||
node 1 0. 0.; # node#, X Y
|
||||
node 2 0. 432.
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 5.18 0. 0.; # node#, Mx My Mz, Mass=Weight/g.
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
geomTransf Linear 1; # associate a tag to transformation
|
||||
|
||||
# connectivity:
|
||||
element elasticBeamColumn 1 1 2 3600 3225 1080000 1; # element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 force; # element forces -- column
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
timeSeries Linear 1
|
||||
pattern Plain 1 1 {
|
||||
load 2 0. -2000. 0.; # node#, FX FY MZ -- superstructure-weight
|
||||
}
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
algorithm Linear; # use Linear algorithm for linear analysis
|
||||
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
|
||||
analysis Static # define type of analysis static or transient
|
||||
analyze 10; # perform gravity analysis
|
||||
loadConst -time 0.0; # hold gravity constant and restart time
|
||||
|
||||
# DYNAMIC ground-motion analysis -------------------------------------------------------------
|
||||
# create load pattern
|
||||
set G 386
|
||||
timeSeries Path 2 -dt 0.005 -filePath A10000.tcl -factor $G; # define acceleration vector from file (dt=0.005 is associated with the input file gm)
|
||||
pattern UniformExcitation 2 1 -accel 2; # define where and how (pattern tag, dof) acceleration is applied
|
||||
|
||||
# set damping based on first eigen mode
|
||||
set freq [expr [eigen -fullGenLapack 1]**0.5]
|
||||
set dampRatio 0.02
|
||||
rayleigh 0. 0. 0. [expr 2*$dampRatio/$freq]
|
||||
|
||||
# display displacement shape of the column
|
||||
recorder display "Displaced shape" 10 10 500 500 -wipe
|
||||
prp 200. 50. 1;
|
||||
vup 0 1 0;
|
||||
vpn 0 0 1;
|
||||
display 1 5 40
|
||||
|
||||
# create the analysis
|
||||
wipeAnalysis; # clear previously-define analysis parameters
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
algorithm Linear # use Linear algorithm for linear analysis
|
||||
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
|
||||
analysis Transient; # define type of analysis: time-dependent
|
||||
analyze 3995 0.01; # apply 3995 0.01-sec time steps in analysis
|
||||
|
||||
|
||||
puts "Done!"
|
||||
wipe
|
||||
|
||||
86
examples/data/Ex1a.Canti2D.EQ.tcl.txt
Normal file
86
examples/data/Ex1a.Canti2D.EQ.tcl.txt
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 1. cantilever 2D
|
||||
# EQ ground motion with gravity
|
||||
# all units are in kip, inch, second
|
||||
# elasticBeamColumn ELEMENT
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) 36'
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= ---- -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear opensees model
|
||||
model basic -ndm 2 -ndf 3; # 2 dimensions, 3 dof per node
|
||||
file mkdir Data; # create data directory
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X Y
|
||||
node 2 0 432
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 5.18 1.e-9 0.; # node#, Mx My Mz, Mass=Weight/g.
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
geomTransf Linear 1; # associate a tag to transformation
|
||||
|
||||
# connectivity: (make A very large, 10e6 times its actual value)
|
||||
element elasticBeamColumn 1 1 2 3600000000 4227 1080000 1; # element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 globalForce; # element forces -- column
|
||||
recorder Element -file Data/DCol.out -time -ele 1 deformations; # element deformations -- column
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0. -2000. 0.; # node#, FX FY MZ -- superstructure-weight
|
||||
}
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr 1.0e-8 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
|
||||
analysis Static # define type of analysis static or transient
|
||||
analyze 10; # perform gravity analysis
|
||||
loadConst -time 0.0; # hold gravity constant and restart time
|
||||
|
||||
# DYNAMIC ground-motion analysis -------------------------------------------------------------
|
||||
# create load pattern
|
||||
set accelSeries "Series -dt 0.01 -filePath BM68elc.acc -factor 1"; # define acceleration vector from file (dt=0.01 is associated with the input file gm)
|
||||
pattern UniformExcitation 2 1 -accel $accelSeries; # define where and how (pattern tag, dof) acceleration is applied
|
||||
rayleigh 0. 0. 0. [expr 2*0.02/pow([eigen 1],0.5)]; # set damping based on first eigen mode
|
||||
|
||||
# create the analysis
|
||||
wipeAnalysis; # clear previously-define analysis parameters
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr 1.0e-8 10; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
|
||||
analysis Transient; # define type of analysis: time-dependent
|
||||
analyze 1000 0.02; # apply 1000 0.02-sec time steps in analysis
|
||||
|
||||
|
||||
puts "Done!"
|
||||
|
||||
|
||||
80
examples/data/Ex1a.Canti2D.Push.tcl.txt
Normal file
80
examples/data/Ex1a.Canti2D.Push.tcl.txt
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 1. cantilever 2D
|
||||
# static pushover analysis with gravity.
|
||||
# all units are in kip, inch, second
|
||||
# elasticBeamColumn ELEMENT
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) 36'
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= ---- -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear opensees model
|
||||
model basic -ndm 2 -ndf 3; # 2 dimensions, 3 dof per node
|
||||
file mkdir Data; # create data directory
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X Y
|
||||
node 2 0 432
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 5.18 0. 0.; # node#, Mx My Mz, Mass=Weight/g.
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
geomTransf Linear 1; # associate a tag to transformation
|
||||
|
||||
# connectivity: (make A very large, 10e6 times its actual value)
|
||||
element elasticBeamColumn 1 1 2 3600000000 4227 1080000 1; # element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 globalForce; # element forces -- column
|
||||
recorder Element -file Data/DCol.out -time -ele 1 deformation; # element deformations -- column
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0. -2000. 0.; # node#, FX FY MZ -- superstructure-weight
|
||||
}
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr 1.0e-8 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
|
||||
analysis Static # define type of analysis static or transient
|
||||
analyze 10; # perform gravity analysis
|
||||
loadConst -time 0.0; # hold gravity constant and restart time
|
||||
|
||||
# define LATERAL load -------------------------------------------------------------
|
||||
# Lateral load pattern
|
||||
pattern Plain 2 Linear {
|
||||
load 2 2000. 0.0 0.0; # node#, FX FY MZ -- representative lateral load at top node
|
||||
}
|
||||
|
||||
# pushover: diplacement controlled static analysis
|
||||
integrator DisplacementControl 2 1 0.1; # switch to displacement control, for node 11, dof 1, 0.1 increment
|
||||
analyze 1000; # apply 100 steps of pushover analysis to a displacement of 10
|
||||
|
||||
puts "Done!"
|
||||
|
||||
|
||||
|
||||
|
||||
95
examples/data/Ex1b.Portal2D.EQ.tcl.txt
Normal file
95
examples/data/Ex1b.Portal2D.EQ.tcl.txt
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 1. portal frame in 2D
|
||||
# dynamic earthquake analysis of Portal Frame, with gravity.
|
||||
# all units are in kip, inch, second
|
||||
# elasticBeamColumn ELEMENT
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 3_________(3)________4 __
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# (1) (2) LCol
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# =1= =2= _|_ -------->X
|
||||
# |----------LBeam------------|
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear opensees model
|
||||
model basic -ndm 2 -ndf 3; # 2 dimensions, 3 dof per node
|
||||
file mkdir Data; # create data directory
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X Y
|
||||
node 2 504 0
|
||||
node 3 0 432
|
||||
node 4 504 432
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
fix 2 1 1 1; # node DX DY RZ
|
||||
fix 3 0 0 0
|
||||
fix 4 0 0 0
|
||||
|
||||
# nodal masses:
|
||||
mass 3 5.18 0. 0.; # node#, Mx My Mz, Mass=Weight/g.
|
||||
mass 4 5.18 0. 0.
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
geomTransf Linear 1; # associate a tag to transformation
|
||||
|
||||
# connectivity: (make A very large, 10e6 times its actual value)
|
||||
element elasticBeamColumn 1 1 3 3600000000 4227 1080000 1; # element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
|
||||
element elasticBeamColumn 2 2 4 3600000000 4227 1080000 1
|
||||
element elasticBeamColumn 3 3 4 5760000000 4227 4423680 1
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 2 globalForce; # element forces -- column
|
||||
recorder Element -file Data/FBeam.out -time -ele 3 globalForce; # element forces -- beam
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
eleLoad -ele 3 -type -beamUniform -7.94 ; # distributed superstructure-weight on beam
|
||||
}
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr 1.0e-8 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
|
||||
analysis Static # define type of analysis static or transient
|
||||
analyze 10; # perform gravity analysis
|
||||
loadConst -time 0.0; # hold gravity constant and restart time
|
||||
|
||||
# DYNAMIC ground-motion analysis -------------------------------------------------------------
|
||||
# create load pattern
|
||||
set accelSeries "Series -dt 0.01 -filePath BM68elc.acc -factor 1"; # define acceleration vector from file (dt=0.01 is associated with the input file gm)
|
||||
pattern UniformExcitation 2 1 -accel $accelSeries; # define where and how (pattern tag, dof) acceleration is applied
|
||||
rayleigh 0. 0. 0. [expr 2*0.02/pow([eigen 1],0.5)]; # set damping based on first eigen mode
|
||||
|
||||
# create the analysis
|
||||
wipeAnalysis; # clear previously-define analysis parameters
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr 1.0e-8 10; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
|
||||
analysis Transient; # define type of analysis: time-dependent
|
||||
analyze 1000 0.02; # apply 1000 0.02-sec time steps in analysis
|
||||
|
||||
|
||||
puts "Done!"
|
||||
|
||||
|
||||
94
examples/data/Ex1b.Portal2D.Push.tcl.txt
Normal file
94
examples/data/Ex1b.Portal2D.Push.tcl.txt
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 1. portal frame in 2D
|
||||
# static pushover analysis of Portal Frame, with gravity.
|
||||
# all units are in kip, inch, second
|
||||
# elasticBeamColumn ELEMENT
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 3_________(3)________4 __
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# (1) (2) LCol
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# =1= =2= _|_ -------->X
|
||||
# |----------LBeam------------|
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear opensees model
|
||||
model basic -ndm 2 -ndf 3; # 2 dimensions, 3 dof per node
|
||||
file mkdir Data; # create data directory
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X Y
|
||||
node 2 504 0
|
||||
node 3 0 432
|
||||
node 4 504 432
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
fix 2 1 1 1; # node DX DY RZ
|
||||
fix 3 0 0 0
|
||||
fix 4 0 0 0
|
||||
|
||||
# nodal masses:
|
||||
mass 3 5.18 0. 0.; # node#, Mx My Mz, Mass=Weight/g.
|
||||
mass 4 5.18 0. 0.
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
geomTransf Linear 1; # associate a tag to transformation
|
||||
|
||||
# connectivity: (make A very large, 10e6 times its actual value)
|
||||
element elasticBeamColumn 1 1 3 3600000000 4227 1080000 1; # element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
|
||||
element elasticBeamColumn 2 2 4 3600000000 4227 1080000 1
|
||||
element elasticBeamColumn 3 3 4 5760000000 4227 4423680 1
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 2 globalForce; # element forces -- column
|
||||
recorder Element -file Data/FBeam.out -time -ele 3 globalForce; # element forces -- beam
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
eleLoad -ele 3 -type -beamUniform -7.94 ; # distributed superstructure-weight on beam
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr 1.0e-8 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
|
||||
analysis Static # define type of analysis static or transient
|
||||
analyze 10; # perform gravity analysis
|
||||
loadConst -time 0.0; # hold gravity constant and restart time
|
||||
|
||||
# define LATERAL load -------------------------------------------------------------
|
||||
# Lateral load pattern
|
||||
pattern Plain 2 Linear {
|
||||
load 3 2000. 0.0 0.0; # node#, FX FY MZ -- representative lateral load at top nodes
|
||||
load 4 2000. 0.0 0.0; # place 1/2 of the weight for each node to get shear coefficient
|
||||
}
|
||||
|
||||
# pushover: diplacement controlled static analysis
|
||||
integrator DisplacementControl 3 1 0.1; # switch to displacement control, for node 11, dof 1, 0.1 increment
|
||||
analyze 100; # apply 100 steps of pushover analysis to a displacement of 10
|
||||
|
||||
puts "Done!"
|
||||
|
||||
|
||||
|
||||
|
||||
231
examples/data/Ex2a.Canti2D.ElasticElement.EQ.tcl.txt
Normal file
231
examples/data/Ex2a.Canti2D.ElasticElement.EQ.tcl.txt
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 2. 2D cantilever column, dynamic eq ground motion
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
# units: kip, inch, sec
|
||||
wipe; # clear memory of all past model definitions
|
||||
file mkdir Data; # create data directory
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol 432; # column length
|
||||
set Weight 2000; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol 60; # Column Depth
|
||||
set BCol 60; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol $Weight; # nodal dead-load weight per column
|
||||
set g 386.4; # g.
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol*1000]; # cross-sectional area, make stiff
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# Material parameters
|
||||
set fc -4.; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*sqrt(-$fc*1000)]; # Concrete Elastic Modulus (the term in sqr root needs to be in psi
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
geomTransf Linear $ColTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
element elasticBeamColumn 1 1 2 $ACol $Ec $IzCol $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 globalForce; # element forces -- column
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# ------------------------------------------------- apply gravity load
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
|
||||
# DYNAMIC EQ ANALYSIS --------------------------------------------------------
|
||||
# Uniform Earthquake ground motion (uniform acceleration input at all support nodes)
|
||||
set GMdirection 1; # ground-motion direction
|
||||
set GMfile "BM68elc.acc" ; # ground-motion filenames
|
||||
set GMfact 1.; # ground-motion scaling factor
|
||||
|
||||
# set up ground-motion-analysis parameters
|
||||
set DtAnalysis [expr 0.01]; # time-step Dt for lateral analysis
|
||||
set TmaxAnalysis [expr 10.]; # maximum duration of ground-motion analysis -- should be 50*$sec
|
||||
|
||||
# DYNAMIC ANALYSIS PARAMETERS
|
||||
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
|
||||
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations
|
||||
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
|
||||
# Penalty Method -- Uses penalty numbers to enforce constraints
|
||||
# Transformation Method -- Performs a condensation of constrained degrees of freedom
|
||||
constraints Transformation ;
|
||||
|
||||
# DOF NUMBERER (number the degrees of freedom in the domain): (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
|
||||
# determines the mapping between equation numbers and degrees-of-freedom
|
||||
# Plain -- Uses the numbering provided by the user
|
||||
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
|
||||
numberer Plain
|
||||
|
||||
# SYSTEM (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
|
||||
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
|
||||
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
|
||||
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
|
||||
# BandGeneral -- Direct solver for banded unsymmetric matrices
|
||||
# BandSPD -- Direct solver for banded symmetric positive definite matrices
|
||||
# SparseGeneral -- Direct solver for unsymmetric sparse matrices (-piv option)
|
||||
# SparseSPD -- Direct solver for symmetric sparse matrices
|
||||
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
|
||||
system SparseGeneral -piv
|
||||
|
||||
# TEST: # convergence test to
|
||||
# Convergence TEST (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
|
||||
# -- Accept the current state of the domain as being on the converged solution path
|
||||
# -- determine if convergence has been achieved at the end of an iteration step
|
||||
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
|
||||
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
|
||||
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
|
||||
# RelativeNormUnbalance --
|
||||
# RelativeNormDispIncr --
|
||||
# RelativeEnergyIncr --
|
||||
set Tol 1.e-8; # Convergence Test: tolerance
|
||||
set maxNumIter 10; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
|
||||
set printFlag 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
|
||||
set TestType EnergyIncr; # Convergence-test type
|
||||
test $TestType $Tol $maxNumIter $printFlag;
|
||||
|
||||
# Solution ALGORITHM: -- Iterate from the last time step to the current (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
|
||||
# Linear -- Uses the solution at the first iteration and continues
|
||||
# Newton -- Uses the tangent at the current iteration to iterate to convergence
|
||||
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
|
||||
# NewtonLineSearch --
|
||||
# KrylovNewton --
|
||||
# BFGS --
|
||||
# Broyden --
|
||||
set algorithmType ModifiedNewton
|
||||
algorithm $algorithmType;
|
||||
|
||||
# Static INTEGRATOR: -- determine the next time step for an analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
|
||||
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
|
||||
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
|
||||
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
|
||||
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
|
||||
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
|
||||
# Newmark -- The two parameter time-stepping method developed by Newmark
|
||||
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
|
||||
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
|
||||
set NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
|
||||
set NewmarkBeta 0.25; # Newmark-integrator beta parameter
|
||||
integrator Newmark $NewmarkGamma $NewmarkBeta
|
||||
|
||||
# ANALYSIS -- defines what type of analysis is to be performed (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
|
||||
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
|
||||
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
|
||||
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
|
||||
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
|
||||
analysis Transient
|
||||
|
||||
# define DAMPING--------------------------------------------------------------------------------------
|
||||
# apply Rayleigh DAMPING from $xDamp
|
||||
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
|
||||
set xDamp 0.02; # 2% damping ratio
|
||||
set lambda [eigen 1]; # eigenvalue mode 1
|
||||
set omega [expr pow($lambda,0.5)];
|
||||
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.; # initial-stiffness proportional damping +beatKinit*Kini
|
||||
# define damping
|
||||
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
|
||||
|
||||
# --------------------------------- perform Dynamic Ground-Motion Analysis
|
||||
# Uniform EXCITATION: acceleration input
|
||||
set IDloadTag 400; # load tag
|
||||
set dt 0.01; # time step for input ground motion
|
||||
set GMfatt 1.0; # data in input file is in g Unifts -- ACCELERATION TH
|
||||
set AccelSeries "Series -dt $dt -filePath $GMfile -factor $GMfatt"; # time series information
|
||||
pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries ; # create Unifform excitation
|
||||
|
||||
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
|
||||
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful
|
||||
|
||||
if {$ok != 0} { ; # if analysis was not successful.
|
||||
# change some analysis parameters to achieve convergence
|
||||
# performance is slower inside this loop
|
||||
# Time-controlled analysis
|
||||
set ok 0;
|
||||
set controlTime [getTime];
|
||||
while {$controlTime < $TmaxAnalysis && $ok == 0} {
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
set controlTime [getTime]
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 1000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
test $TestType $Tol $maxNumIter 0
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
}
|
||||
}; # end if ok !0
|
||||
|
||||
|
||||
puts "Ground Motion Done. End Time: [getTime]"
|
||||
207
examples/data/Ex2a.Canti2D.ElasticElement.Push.tcl.txt
Normal file
207
examples/data/Ex2a.Canti2D.ElasticElement.Push.tcl.txt
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 2. 2D cantilever column, static pushover
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
# units: kip, inch, sec
|
||||
wipe; # clear memory of all past model definitions
|
||||
file mkdir Data; # create data directory
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol 432; # column length
|
||||
set Weight 2000; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol 60; # Column Depth
|
||||
set BCol 60; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol $Weight; # nodal dead-load weight per column
|
||||
set g 386.4; # g.
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol*1000]; # cross-sectional area, make stiff
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# Material parameters
|
||||
set fc -4.; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*sqrt(-$fc*1000)]; # Concrete Elastic Modulus (the term in sqr root needs to be in psi
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
geomTransf Linear $ColTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
element elasticBeamColumn 1 1 2 $ACol $Ec $IzCol $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 1 globalForce; # element forces -- column
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# ------------------------------------------------- apply gravity load
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
|
||||
# STATIC PUSHOVER ANALYSIS --------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# we need to set up parameters that are particular to the model.
|
||||
set IDctrlNode 2; # node where displacement is read for displacement control
|
||||
set IDctrlDOF 1; # degree of freedom of displacement read for displacement contro
|
||||
set Dmax [expr 0.01*$LCol]; # maximum displacement of pushover. push to 10% drift.
|
||||
set Dincr [expr 0.001*$LCol]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysis
|
||||
|
||||
# create load pattern for lateral pushover load
|
||||
set Hload $Weight; # define the lateral load as a proportion of the weight so that the pseudo time equals the lateral-load coefficient when using linear load pattern
|
||||
pattern Plain 200 Linear {; # define load pattern -- generalized
|
||||
load 2 $Hload 0.0 0.0 0.0 0.0 0.0; # define lateral load in static lateral analysis
|
||||
}
|
||||
|
||||
# ----------- set up analysis parameters
|
||||
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
|
||||
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations (only for homogeneous equations)
|
||||
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
|
||||
# Penalty Method -- Uses penalty numbers to enforce constraints --good for static analysis with non-homogeneous eqns (rigidDiaphragm)
|
||||
# Transformation Method -- Performs a condensation of constrained degrees of freedom
|
||||
constraints Plain;
|
||||
|
||||
# DOF NUMBERER (number the degrees of freedom in the domain): (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
|
||||
# determines the mapping between equation numbers and degrees-of-freedom
|
||||
# Plain -- Uses the numbering provided by the user
|
||||
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
|
||||
numberer Plain
|
||||
|
||||
# SYSTEM (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
|
||||
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
|
||||
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
|
||||
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
|
||||
# BandGeneral -- Direct solver for banded unsymmetric matrices
|
||||
# BandSPD -- Direct solver for banded symmetric positive definite matrices
|
||||
# SparseGeneral -- Direct solver for unsymmetric sparse matrices
|
||||
# SparseSPD -- Direct solver for symmetric sparse matrices
|
||||
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
|
||||
system BandGeneral
|
||||
|
||||
# TEST: # convergence test to
|
||||
# Convergence TEST (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
|
||||
# -- Accept the current state of the domain as being on the converged solution path
|
||||
# -- determine if convergence has been achieved at the end of an iteration step
|
||||
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
|
||||
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
|
||||
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
|
||||
set Tol 1.e-8; # Convergence Test: tolerance
|
||||
set maxNumIter 6; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
|
||||
set printFlag 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
|
||||
set TestType EnergyIncr ; # Convergence-test type
|
||||
test $TestType $Tol $maxNumIter $printFlag;
|
||||
|
||||
# Solution ALGORITHM: -- Iterate from the last time step to the current (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
|
||||
# Linear -- Uses the solution at the first iteration and continues
|
||||
# Newton -- Uses the tangent at the current iteration to iterate to convergence
|
||||
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
|
||||
set algorithmType Newton
|
||||
algorithm $algorithmType;
|
||||
|
||||
# Static INTEGRATOR: -- determine the next time step for an analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
|
||||
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
|
||||
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
|
||||
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
|
||||
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
|
||||
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
|
||||
# Newmark -- The two parameter time-stepping method developed by Newmark
|
||||
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
|
||||
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
|
||||
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr
|
||||
|
||||
# ANALYSIS -- defines what type of analysis is to be performed (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
|
||||
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
|
||||
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
|
||||
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
|
||||
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
|
||||
analysis Static
|
||||
|
||||
# --------------------------------- perform Static Pushover Analysis
|
||||
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
|
||||
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
|
||||
|
||||
# ---------------------------------- in case of convergence problems
|
||||
if {$ok != 0} {
|
||||
# change some analysis parameters to achieve convergence
|
||||
# performance is slower inside this loop
|
||||
set ok 0;
|
||||
set controlDisp 0.0; # start from zero
|
||||
set D0 0.0; # start from zero
|
||||
set Dstep [expr ($controlDisp-$D0)/($Dmax-$D0)]
|
||||
while {$Dstep < 1.0 && $ok == 0} {
|
||||
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
|
||||
set Dstep [expr ($controlDisp-$D0)/($Dmax-$D0)]
|
||||
set ok [analyze 1 ]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 2000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 ]
|
||||
test $TestType $Tol $maxNumIter 0
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
}
|
||||
}; # end if ok !0
|
||||
|
||||
puts "DonePushover"
|
||||
256
examples/data/Ex2b.Canti2D.InelasticSection.EQ.tcl.txt
Normal file
256
examples/data/Ex2b.Canti2D.InelasticSection.EQ.tcl.txt
Normal file
|
|
@ -0,0 +1,256 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 2. 2D cantilever column, dynamic eq ground motion
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
# units: kip, inch, sec
|
||||
wipe; # clear memory of all past model definitions
|
||||
file mkdir Data; # create data directory
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol 432; # column length
|
||||
set Weight 2000.; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol 60; # Column Depth
|
||||
set BCol 60; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol $Weight; # nodal dead-load weight per column
|
||||
set g 386.4; # g.
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol*1000]; # cross-sectional area, make stiff
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
|
||||
set ColMatTagFlex 2; # assign a tag number to the column flexural behavior
|
||||
set ColMatTagAxial 3; # assign a tag number to the column axial behavior
|
||||
set ColSecTag 1; # assign a tag number to the column section tag
|
||||
set BeamSecTag 2; # assign a tag number to the beam section tag
|
||||
|
||||
# MATERIAL parameters
|
||||
set fc -4.; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*sqrt(-$fc*1000)]; # Concrete Elastic Modulus (the term in sqr root needs to be in psi
|
||||
|
||||
# COLUMN section
|
||||
# calculated stiffness parameters
|
||||
set EICol [expr $Ec*$IzCol]; # EI, for moment-curvature relationship
|
||||
set EACol [expr $Ec*$ACol]; # EA, for axial-force-strain relationship
|
||||
set MyCol 130000; # yield moment
|
||||
set PhiYCol 0.65e-4; # yield curvature
|
||||
set EIColCrack [expr $MyCol/$PhiYCol]; # cracked section inertia
|
||||
set b 0.01 ; # strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
|
||||
uniaxialMaterial Steel01 $ColMatTagFlex $MyCol $EIColCrack $b; # bilinear behavior for flexure
|
||||
uniaxialMaterial Elastic $ColMatTagAxial $EACol; # this is not used as a material, this is an axial-force-strain response
|
||||
section Aggregator $ColSecTag $ColMatTagAxial P $ColMatTagFlex Mz; # combine axial and flexural behavior into one section (no P-M interaction here)
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
geomTransf Linear $ColTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
set numIntgrPts 5; # number of integration points for force-based element
|
||||
element nonlinearBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 2 globalForce; # element forces -- column
|
||||
recorder Element -file Data/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
|
||||
recorder Element -file Data/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file Data/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file Data/DefoColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# Gravity-analysis parameters -- load-controlled static analysis
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
|
||||
# DYNAMIC EQ ANALYSIS --------------------------------------------------------
|
||||
# Uniform Earthquake ground motion (uniform acceleration input at all support nodes)
|
||||
set GMdirection 1; # ground-motion direction
|
||||
set GMfile "BM68elc.acc" ; # ground-motion filenames
|
||||
set GMfact 1.; # ground-motion scaling factor
|
||||
|
||||
# set up ground-motion-analysis parameters
|
||||
set DtAnalysis [expr 0.01]; # time-step Dt for lateral analysis
|
||||
set TmaxAnalysis [expr 10.]; # maximum duration of ground-motion analysis -- should be 50*$sec
|
||||
|
||||
# DYNAMIC ANALYSIS PARAMETERS
|
||||
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
|
||||
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations
|
||||
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
|
||||
# Penalty Method -- Uses penalty numbers to enforce constraints
|
||||
# Transformation Method -- Performs a condensation of constrained degrees of freedom
|
||||
constraints Transformation ;
|
||||
|
||||
# DOF NUMBERER (number the degrees of freedom in the domain): (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
|
||||
# determines the mapping between equation numbers and degrees-of-freedom
|
||||
# Plain -- Uses the numbering provided by the user
|
||||
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
|
||||
numberer Plain
|
||||
|
||||
# SYSTEM (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
|
||||
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
|
||||
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
|
||||
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
|
||||
# BandGeneral -- Direct solver for banded unsymmetric matrices
|
||||
# BandSPD -- Direct solver for banded symmetric positive definite matrices
|
||||
# SparseGeneral -- Direct solver for unsymmetric sparse matrices (-piv option)
|
||||
# SparseSPD -- Direct solver for symmetric sparse matrices
|
||||
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
|
||||
system SparseGeneral -piv
|
||||
|
||||
# TEST: # convergence test to
|
||||
# Convergence TEST (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
|
||||
# -- Accept the current state of the domain as being on the converged solution path
|
||||
# -- determine if convergence has been achieved at the end of an iteration step
|
||||
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
|
||||
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
|
||||
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
|
||||
# RelativeNormUnbalance --
|
||||
# RelativeNormDispIncr --
|
||||
# RelativeEnergyIncr --
|
||||
set Tol 1.e-8; # Convergence Test: tolerance
|
||||
set maxNumIter 10; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
|
||||
set printFlag 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
|
||||
set TestType EnergyIncr; # Convergence-test type
|
||||
test $TestType $Tol $maxNumIter $printFlag;
|
||||
|
||||
# Solution ALGORITHM: -- Iterate from the last time step to the current (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
|
||||
# Linear -- Uses the solution at the first iteration and continues
|
||||
# Newton -- Uses the tangent at the current iteration to iterate to convergence
|
||||
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
|
||||
# NewtonLineSearch --
|
||||
# KrylovNewton --
|
||||
# BFGS --
|
||||
# Broyden --
|
||||
set algorithmType ModifiedNewton
|
||||
algorithm $algorithmType;
|
||||
|
||||
# Static INTEGRATOR: -- determine the next time step for an analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
|
||||
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
|
||||
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
|
||||
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
|
||||
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
|
||||
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
|
||||
# Newmark -- The two parameter time-stepping method developed by Newmark
|
||||
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
|
||||
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
|
||||
set NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
|
||||
set NewmarkBeta 0.25; # Newmark-integrator beta parameter
|
||||
integrator Newmark $NewmarkGamma $NewmarkBeta
|
||||
|
||||
# ANALYSIS -- defines what type of analysis is to be performed (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
|
||||
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
|
||||
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
|
||||
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
|
||||
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
|
||||
analysis Transient
|
||||
|
||||
# define DAMPING--------------------------------------------------------------------------------------
|
||||
# apply Rayleigh DAMPING from $xDamp
|
||||
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
|
||||
set xDamp 0.02; # 2% damping ratio
|
||||
set lambda [eigen 1]; # eigenvalue mode 1
|
||||
set omega [expr pow($lambda,0.5)];
|
||||
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.; # initial-stiffness proportional damping +beatKinit*Kini
|
||||
# define damping
|
||||
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
|
||||
|
||||
# --------------------------------- perform Dynamic Ground-Motion Analysis
|
||||
# Uniform EXCITATION: acceleration input
|
||||
set IDloadTag 400; # load tag
|
||||
set dt 0.01; # time step for input ground motion
|
||||
set GMfatt 1.0; # data in input file is in g Unifts -- ACCELERATION TH
|
||||
set AccelSeries "Series -dt $dt -filePath $GMfile -factor $GMfatt"; # time series information
|
||||
pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries ; # create Unifform excitation
|
||||
|
||||
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
|
||||
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful
|
||||
|
||||
if {$ok != 0} { ; # if analysis was not successful.
|
||||
# change some analysis parameters to achieve convergence
|
||||
# performance is slower inside this loop
|
||||
# Time-controlled analysis
|
||||
set ok 0;
|
||||
set controlTime [getTime];
|
||||
while {$controlTime < $TmaxAnalysis && $ok == 0} {
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
set controlTime [getTime]
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 1000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
test $TestType $Tol $maxNumIter 0
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
}
|
||||
}; # end if ok !0
|
||||
|
||||
|
||||
|
||||
puts "Ground Motion Done. End Time: [getTime]"
|
||||
233
examples/data/Ex2b.Canti2D.InelasticSection.Push.tcl.txt
Normal file
233
examples/data/Ex2b.Canti2D.InelasticSection.Push.tcl.txt
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 2. 2D cantilever column, static pushover
|
||||
# element
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
# units: kip, inch, sec
|
||||
wipe; # clear memory of all past model definitions
|
||||
file mkdir Data; # create data directory
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol 432; # column length
|
||||
set Weight 2000.; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol 60; # Column Depth
|
||||
set BCol 60; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol $Weight; # nodal dead-load weight per column
|
||||
set g 386.4; # g.
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol*1000]; # cross-sectional area, make stiff
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
|
||||
set ColMatTagFlex 2; # assign a tag number to the column flexural behavior
|
||||
set ColMatTagAxial 3; # assign a tag number to the column axial behavior
|
||||
set ColSecTag 1; # assign a tag number to the column section tag
|
||||
set BeamSecTag 2; # assign a tag number to the beam section tag
|
||||
|
||||
# MATERIAL parameters
|
||||
set fc -4.; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*sqrt(-$fc*1000)]; # Concrete Elastic Modulus (the term in sqr root needs to be in psi
|
||||
|
||||
# COLUMN section
|
||||
# calculated stiffness parameters
|
||||
set EICol [expr $Ec*$IzCol]; # EI, for moment-curvature relationship
|
||||
set EACol [expr $Ec*$ACol]; # EA, for axial-force-strain relationship
|
||||
set MyCol 130000; # yield moment
|
||||
set PhiYCol 0.65e-4; # yield curvature
|
||||
set EIColCrack [expr $MyCol/$PhiYCol]; # cracked section inertia
|
||||
set b 0.01 ; # strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
|
||||
uniaxialMaterial Steel01 $ColMatTagFlex $MyCol $EIColCrack $b; # bilinear behavior for flexure
|
||||
uniaxialMaterial Elastic $ColMatTagAxial $EACol; # this is not used as a material, this is an axial-force-strain response
|
||||
section Aggregator $ColSecTag $ColMatTagAxial P $ColMatTagFlex Mz; # combine axial and flexural behavior into one section (no P-M interaction here)
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
geomTransf Linear $ColTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
set numIntgrPts 5; # number of integration points for force-based element
|
||||
element nonlinearBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file Data/FCol.out -time -ele 2 globalForce; # element forces -- column
|
||||
recorder Element -file Data/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
|
||||
recorder Element -file Data/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file Data/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file Data/DefoColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# Gravity-analysis parameters -- load-controlled static analysis
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
|
||||
# STATIC PUSHOVER ANALYSIS --------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# we need to set up parameters that are particular to the model.
|
||||
set IDctrlNode 2; # node where displacement is read for displacement control
|
||||
set IDctrlDOF 1; # degree of freedom of displacement read for displacement contro
|
||||
set Dmax [expr 0.05*$LCol]; # maximum displacement of pushover. push to 10% drift.
|
||||
set Dincr [expr 0.001*$LCol]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysis
|
||||
|
||||
# create load pattern for lateral pushover load
|
||||
set Hload $Weight; # define the lateral load as a proportion of the weight so that the pseudo time equals the lateral-load coefficient when using linear load pattern
|
||||
pattern Plain 200 Linear {; # define load pattern -- generalized
|
||||
load 2 $Hload 0.0 0.0 0.0 0.0 0.0; # define lateral load in static lateral analysis
|
||||
}
|
||||
|
||||
# ----------- set up analysis parameters
|
||||
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
|
||||
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations (only for homogeneous equations)
|
||||
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
|
||||
# Penalty Method -- Uses penalty numbers to enforce constraints --good for static analysis with non-homogeneous eqns (rigidDiaphragm)
|
||||
# Transformation Method -- Performs a condensation of constrained degrees of freedom
|
||||
constraints Plain;
|
||||
|
||||
# DOF NUMBERER (number the degrees of freedom in the domain): (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
|
||||
# determines the mapping between equation numbers and degrees-of-freedom
|
||||
# Plain -- Uses the numbering provided by the user
|
||||
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
|
||||
numberer Plain
|
||||
|
||||
# SYSTEM (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
|
||||
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
|
||||
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
|
||||
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
|
||||
# BandGeneral -- Direct solver for banded unsymmetric matrices
|
||||
# BandSPD -- Direct solver for banded symmetric positive definite matrices
|
||||
# SparseGeneral -- Direct solver for unsymmetric sparse matrices
|
||||
# SparseSPD -- Direct solver for symmetric sparse matrices
|
||||
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
|
||||
system BandGeneral
|
||||
|
||||
# TEST: # convergence test to
|
||||
# Convergence TEST (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
|
||||
# -- Accept the current state of the domain as being on the converged solution path
|
||||
# -- determine if convergence has been achieved at the end of an iteration step
|
||||
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
|
||||
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
|
||||
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
|
||||
set Tol 1.e-8; # Convergence Test: tolerance
|
||||
set maxNumIter 6; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
|
||||
set printFlag 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
|
||||
set TestType EnergyIncr ; # Convergence-test type
|
||||
test $TestType $Tol $maxNumIter $printFlag;
|
||||
|
||||
# Solution ALGORITHM: -- Iterate from the last time step to the current (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
|
||||
# Linear -- Uses the solution at the first iteration and continues
|
||||
# Newton -- Uses the tangent at the current iteration to iterate to convergence
|
||||
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
|
||||
set algorithmType Newton
|
||||
algorithm $algorithmType;
|
||||
|
||||
# Static INTEGRATOR: -- determine the next time step for an analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
|
||||
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
|
||||
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
|
||||
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
|
||||
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
|
||||
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
|
||||
# Newmark -- The two parameter time-stepping method developed by Newmark
|
||||
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
|
||||
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
|
||||
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr
|
||||
|
||||
# ANALYSIS -- defines what type of analysis is to be performed (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
|
||||
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
|
||||
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
|
||||
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
|
||||
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
|
||||
analysis Static
|
||||
|
||||
# --------------------------------- perform Static Pushover Analysis
|
||||
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
|
||||
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
|
||||
|
||||
# ---------------------------------- in case of convergence problems
|
||||
if {$ok != 0} {
|
||||
# change some analysis parameters to achieve convergence
|
||||
# performance is slower inside this loop
|
||||
set ok 0;
|
||||
set controlDisp 0.0; # start from zero
|
||||
set D0 0.0; # start from zero
|
||||
set Dstep [expr ($controlDisp-$D0)/($Dmax-$D0)]
|
||||
while {$Dstep < 1.0 && $ok == 0} {
|
||||
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
|
||||
set Dstep [expr ($controlDisp-$D0)/($Dmax-$D0)]
|
||||
set ok [analyze 1 ]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 2000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 ]
|
||||
test $TestType $Tol $maxNumIter 0
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
}
|
||||
}; # end if ok !0
|
||||
|
||||
puts "DonePushover"
|
||||
|
||||
147
examples/data/Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl.txt
Normal file
147
examples/data/Ex3.Canti2D.analyze.Dynamic.EQ.Uniform.tcl.txt
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 3. 2D Cantilever -- EQ ground motion
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
# execute this file after you have built the model, and after you apply gravity
|
||||
#
|
||||
|
||||
# Uniform Earthquake ground motion (uniform acceleration input at all support nodes)
|
||||
set GMdirection 1; # ground-motion direction
|
||||
set GMfile "BM68elc.acc" ; # ground-motion filenames
|
||||
set GMfact 1.5; # ground-motion scaling factor
|
||||
|
||||
# set up ground-motion-analysis parameters
|
||||
set DtAnalysis [expr 0.01*$sec]; # time-step Dt for lateral analysis
|
||||
set TmaxAnalysis [expr 10. *$sec]; # maximum duration of ground-motion analysis -- should be 50*$sec
|
||||
|
||||
# DYNAMIC ANALYSIS PARAMETERS
|
||||
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
|
||||
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations
|
||||
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
|
||||
# Penalty Method -- Uses penalty numbers to enforce constraints
|
||||
# Transformation Method -- Performs a condensation of constrained degrees of freedom
|
||||
constraints Transformation ;
|
||||
|
||||
# DOF NUMBERER (number the degrees of freedom in the domain): (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
|
||||
# determines the mapping between equation numbers and degrees-of-freedom
|
||||
# Plain -- Uses the numbering provided by the user
|
||||
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
|
||||
numberer Plain
|
||||
|
||||
# SYSTEM (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
|
||||
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
|
||||
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
|
||||
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
|
||||
# BandGeneral -- Direct solver for banded unsymmetric matrices
|
||||
# BandSPD -- Direct solver for banded symmetric positive definite matrices
|
||||
# SparseGeneral -- Direct solver for unsymmetric sparse matrices (-piv option)
|
||||
# SparseSPD -- Direct solver for symmetric sparse matrices
|
||||
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
|
||||
system SparseGeneral -piv
|
||||
|
||||
# TEST: # convergence test to
|
||||
# Convergence TEST (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
|
||||
# -- Accept the current state of the domain as being on the converged solution path
|
||||
# -- determine if convergence has been achieved at the end of an iteration step
|
||||
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
|
||||
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
|
||||
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
|
||||
# RelativeNormUnbalance --
|
||||
# RelativeNormDispIncr --
|
||||
# RelativeEnergyIncr --
|
||||
set Tol 1.e-8; # Convergence Test: tolerance
|
||||
set maxNumIter 10; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
|
||||
set printFlag 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
|
||||
set TestType EnergyIncr; # Convergence-test type
|
||||
test $TestType $Tol $maxNumIter $printFlag;
|
||||
|
||||
# Solution ALGORITHM: -- Iterate from the last time step to the current (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
|
||||
# Linear -- Uses the solution at the first iteration and continues
|
||||
# Newton -- Uses the tangent at the current iteration to iterate to convergence
|
||||
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
|
||||
# NewtonLineSearch --
|
||||
# KrylovNewton --
|
||||
# BFGS --
|
||||
# Broyden --
|
||||
set algorithmType ModifiedNewton
|
||||
algorithm $algorithmType;
|
||||
|
||||
# Static INTEGRATOR: -- determine the next time step for an analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
|
||||
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
|
||||
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
|
||||
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
|
||||
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
|
||||
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
|
||||
# Newmark -- The two parameter time-stepping method developed by Newmark
|
||||
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
|
||||
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
|
||||
set NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
|
||||
set NewmarkBeta 0.25; # Newmark-integrator beta parameter
|
||||
integrator Newmark $NewmarkGamma $NewmarkBeta
|
||||
|
||||
# ANALYSIS -- defines what type of analysis is to be performed (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
|
||||
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
|
||||
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
|
||||
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
|
||||
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
|
||||
analysis Transient
|
||||
|
||||
# define DAMPING--------------------------------------------------------------------------------------
|
||||
# apply Rayleigh DAMPING from $xDamp
|
||||
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
|
||||
set xDamp 0.02; # 2% damping ratio
|
||||
set lambda [eigen 1]; # eigenvalue mode 1
|
||||
set omega [expr pow($lambda,0.5)];
|
||||
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.; # initial-stiffness proportional damping +beatKinit*Kini
|
||||
# define damping
|
||||
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
|
||||
|
||||
# --------------------------------- perform Dynamic Ground-Motion Analysis
|
||||
# Uniform EXCITATION: acceleration input
|
||||
set IDloadTag 400; # load tag
|
||||
set dt 0.01; # time step for input ground motion
|
||||
set GMfatt 1.0; # data in input file is in g Unifts -- ACCELERATION TH
|
||||
set AccelSeries "Series -dt $dt -filePath $GMfile -factor $GMfatt"; # time series information
|
||||
pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries ; # create Unifform excitation
|
||||
|
||||
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
|
||||
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful
|
||||
|
||||
if {$ok != 0} { ; # if analysis was not successful.
|
||||
# change some analysis parameters to achieve convergence
|
||||
# performance is slower inside this loop
|
||||
# Time-controlled analysis
|
||||
set ok 0;
|
||||
set controlTime [getTime];
|
||||
while {$controlTime < $TmaxAnalysis && $ok == 0} {
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
set controlTime [getTime]
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 1000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
test $TestType $Tol $maxNumIter 0
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
}
|
||||
}; # end if ok !0
|
||||
|
||||
|
||||
|
||||
puts "Ground Motion Done. End Time: [getTime]"
|
||||
119
examples/data/Ex3.Canti2D.analyze.Static.Push.tcl.txt
Normal file
119
examples/data/Ex3.Canti2D.analyze.Static.Push.tcl.txt
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 3. 2D Cantilever -- Static Pushover
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
# execute this file after you have built the model, and after you apply gravity
|
||||
#
|
||||
|
||||
# characteristics of pushover analysis
|
||||
set Dmax [expr 0.05*$LCol]; # maximum displacement of pushover. push to 10% drift.
|
||||
set Dincr [expr 0.001*$LCol]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysis
|
||||
|
||||
# create load pattern for lateral pushover load
|
||||
set Hload [expr $Weight]; # define the lateral load as a proportion of the weight so that the pseudo time equals the lateral-load coefficient when using linear load pattern
|
||||
pattern Plain 200 Linear {; # define load pattern -- generalized
|
||||
load 2 $Hload 0.0 0.0 0.0 0.0 0.0
|
||||
}
|
||||
|
||||
# STATIC-ANALYSIS parameters
|
||||
# CONSTRAINTS handler -- Determines how the constraint equations are enforced in the analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/617.htm)
|
||||
# Plain Constraints -- Removes constrained degrees of freedom from the system of equations (only for homogeneous equations)
|
||||
# Lagrange Multipliers -- Uses the method of Lagrange multipliers to enforce constraints
|
||||
# Penalty Method -- Uses penalty numbers to enforce constraints --good for static analysis with non-homogeneous eqns (rigidDiaphragm)
|
||||
# Transformation Method -- Performs a condensation of constrained degrees of freedom
|
||||
set constraintsType Plain; # default;
|
||||
constraints $constraintsType
|
||||
|
||||
# DOF NUMBERER (number the degrees of freedom in the domain): (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/366.htm)
|
||||
# determines the mapping between equation numbers and degrees-of-freedom
|
||||
# Plain -- Uses the numbering provided by the user
|
||||
# RCM -- Renumbers the DOF to minimize the matrix band-width using the Reverse Cuthill-McKee algorithm
|
||||
numberer Plain
|
||||
|
||||
# SYSTEM (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/371.htm)
|
||||
# Linear Equation Solvers (how to store and solve the system of equations in the analysis)
|
||||
# -- provide the solution of the linear system of equations Ku = P. Each solver is tailored to a specific matrix topology.
|
||||
# ProfileSPD -- Direct profile solver for symmetric positive definite matrices
|
||||
# BandGeneral -- Direct solver for banded unsymmetric matrices
|
||||
# BandSPD -- Direct solver for banded symmetric positive definite matrices
|
||||
# SparseGeneral -- Direct solver for unsymmetric sparse matrices
|
||||
# SparseSPD -- Direct solver for symmetric sparse matrices
|
||||
# UmfPack -- Direct UmfPack solver for unsymmetric matrices
|
||||
system BandGeneral
|
||||
|
||||
# TEST: # convergence test to
|
||||
# Convergence TEST (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/360.htm)
|
||||
# -- Accept the current state of the domain as being on the converged solution path
|
||||
# -- determine if convergence has been achieved at the end of an iteration step
|
||||
# NormUnbalance -- Specifies a tolerance on the norm of the unbalanced load at the current iteration
|
||||
# NormDispIncr -- Specifies a tolerance on the norm of the displacement increments at the current iteration
|
||||
# EnergyIncr-- Specifies a tolerance on the inner product of the unbalanced load and displacement increments at the current iteration
|
||||
set Tol 1.e-8; # Convergence Test: tolerance
|
||||
set maxNumIter 6; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
|
||||
set printFlag 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
|
||||
set TestType EnergyIncr; # Convergence-test type
|
||||
test $TestType $Tol $maxNumIter $printFlag;
|
||||
|
||||
# Solution ALGORITHM: -- Iterate from the last time step to the current (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/682.htm)
|
||||
# Linear -- Uses the solution at the first iteration and continues
|
||||
# Newton -- Uses the tangent at the current iteration to iterate to convergence
|
||||
# ModifiedNewton -- Uses the tangent at the first iteration to iterate to convergence
|
||||
set algorithmType Newton
|
||||
algorithm $algorithmType;
|
||||
|
||||
# Static INTEGRATOR: -- determine the next time step for an analysis (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/689.htm)
|
||||
# LoadControl -- Specifies the incremental load factor to be applied to the loads in the domain
|
||||
# DisplacementControl -- Specifies the incremental displacement at a specified DOF in the domain
|
||||
# Minimum Unbalanced Displacement Norm -- Specifies the incremental load factor such that the residual displacement norm in minimized
|
||||
# Arc Length -- Specifies the incremental arc-length of the load-displacement path
|
||||
# Transient INTEGRATOR: -- determine the next time step for an analysis including inertial effects
|
||||
# Newmark -- The two parameter time-stepping method developed by Newmark
|
||||
# HHT -- The three parameter Hilbert-Hughes-Taylor time-stepping method
|
||||
# Central Difference -- Approximates velocity and acceleration by centered finite differences of displacement
|
||||
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr
|
||||
|
||||
# ANALYSIS -- defines what type of analysis is to be performed (http://opensees.berkeley.edu/OpenSees/manuals/usermanual/324.htm)
|
||||
# Static Analysis -- solves the KU=R problem, without the mass or damping matrices.
|
||||
# Transient Analysis -- solves the time-dependent analysis. The time step in this type of analysis is constant. The time step in the output is also constant.
|
||||
# variableTransient Analysis -- performs the same analysis type as the Transient Analysis object. The time step, however, is variable. This method is used when
|
||||
# there are convergence problems with the Transient Analysis object at a peak or when the time step is too small. The time step in the output is also variable.
|
||||
analysis Static
|
||||
|
||||
|
||||
# --------------------------------- perform Static Pushover Analysis
|
||||
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
|
||||
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
|
||||
|
||||
if {$ok != 0} {
|
||||
# if analysis fails, we try some other stuff, performance is slower inside this loop
|
||||
set ok 0;
|
||||
set controlDisp 0.0;
|
||||
set D0 0.0; # analysis starts from zero
|
||||
set Dstep [expr ($controlDisp-$D0)/($Dmax-$D0)]
|
||||
while {$Dstep < 1.0 && $ok == 0} {
|
||||
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
|
||||
set Dstep [expr ($controlDisp-$D0)/($Dmax-$D0)]
|
||||
set ok [analyze 1 ]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 2000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 ]
|
||||
test $TestType $Tol $maxNumIter 0
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmType
|
||||
}
|
||||
}; # end while loop
|
||||
}; # end if ok !0
|
||||
|
||||
puts "Pushover Done. Control Disp=[nodeDisp $IDctrlNode $IDctrlDOF]"
|
||||
116
examples/data/Ex3.Canti2D.build.ElasticElement.tcl.txt
Normal file
116
examples/data/Ex3.Canti2D.build.ElasticElement.tcl.txt
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 3. 2D Cantilever -- Build Model
|
||||
# elasticBeamColumn element
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear memory of all past model definitions
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
set dataDir Data; # set up name for data directory
|
||||
file mkdir $dataDir/; # create data directory
|
||||
set GMdir "../GMfiles"; # ground-motion file directory
|
||||
|
||||
# define UNITS ----------------------------------------------------------------------------
|
||||
set in 1.; # define basic units -- output units
|
||||
set kip 1.; # define basic units -- output units
|
||||
set sec 1.; # define basic units -- output units
|
||||
set LunitTXT "inch"; # define basic-unit text for output
|
||||
set FunitTXT "kip"; # define basic-unit text for output
|
||||
set TunitTXT "sec"; # define basic-unit text for output
|
||||
set ft [expr 12.*$in]; # define engineering units
|
||||
set ksi [expr $kip/pow($in,2)];
|
||||
set psi [expr $ksi/1000.];
|
||||
set lbf [expr $psi*$in*$in]; # pounds force
|
||||
set pcf [expr $lbf/pow($ft,3)]; # pounds per cubic foot
|
||||
set in2 [expr $in*$in]; # inch^2
|
||||
set in4 [expr $in*$in*$in*$in]; # inch^4
|
||||
set cm [expr $in/2.54]; # centimeter, needed for displacement input in MultipleSupport excitation
|
||||
set PI [expr 2*asin(1.0)]; # define constants
|
||||
set g [expr 32.2*$ft/pow($sec,2)]; # gravitational acceleration
|
||||
set Ubig 1.e10; # a really large number
|
||||
set Usmall [expr 1/$Ubig]; # a really small number
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol [expr 36*$ft]; # column length
|
||||
set Weight [expr 2000.*$kip]; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol [expr 5.*$ft]; # Column Depth
|
||||
set BCol [expr 5.*$ft]; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol [expr $Weight]; # nodal dead-load weight per column
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol]; # cross-sectional area
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# we need to set up parameters that are particular to the model.
|
||||
set IDctrlNode 2; # node where displacement is read for displacement control
|
||||
set IDctrlDOF 1; # degree of freedom of displacement read for displacement control
|
||||
set iSupportNode "1"; # define support node, if needed.
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# Material parameters
|
||||
set fc [expr -4.*$ksi]; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
set ColTransfType Linear ; # options, Linear PDelta Corotational
|
||||
geomTransf $ColTransfType $ColTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
element elasticBeamColumn 1 1 2 $ACol $Ec $IzCol $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file $dataDir/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file $dataDir/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file $dataDir/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file $dataDir/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file $dataDir/FCol.out -time -ele 1 globalForce; # element forces -- column
|
||||
recorder Element -xml $dataDir/PlasticRotation.out -time -ele 1 plasticRotation; # section deformations, axial and curvature, node j
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# ------------------------------------------------- apply gravity load
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
179
examples/data/Ex3.Canti2D.build.InelasticFiberSection.tcl.txt
Normal file
179
examples/data/Ex3.Canti2D.build.InelasticFiberSection.tcl.txt
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 3. 2D Cantilever -- Build Model
|
||||
# nonlinearBeamColumn element, uniaxial inelastic section
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear memory of all past model definitions
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
set dataDir Data; # set up name for data directory
|
||||
file mkdir $dataDir/; # create data directory
|
||||
set GMdir "../GMfiles"; # ground-motion file directory
|
||||
|
||||
# define UNITS ----------------------------------------------------------------------------
|
||||
set in 1.; # define basic units -- output units
|
||||
set kip 1.; # define basic units -- output units
|
||||
set sec 1.; # define basic units -- output units
|
||||
set LunitTXT "inch"; # define basic-unit text for output
|
||||
set FunitTXT "kip"; # define basic-unit text for output
|
||||
set TunitTXT "sec"; # define basic-unit text for output
|
||||
set ft [expr 12.*$in]; # define engineering units
|
||||
set ksi [expr $kip/pow($in,2)];
|
||||
set psi [expr $ksi/1000.];
|
||||
set lbf [expr $psi*$in*$in]; # pounds force
|
||||
set pcf [expr $lbf/pow($ft,3)]; # pounds per cubic foot
|
||||
set in2 [expr $in*$in]; # inch^2
|
||||
set in4 [expr $in*$in*$in*$in]; # inch^4
|
||||
set cm [expr $in/2.54]; # centimeter, needed for displacement input in MultipleSupport excitation
|
||||
set PI [expr 2*asin(1.0)]; # define constants
|
||||
set g [expr 32.2*$ft/pow($sec,2)]; # gravitational acceleration
|
||||
set Ubig 1.e10; # a really large number
|
||||
set Usmall [expr 1/$Ubig]; # a really small number
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol [expr 36*$ft]; # column length
|
||||
set Weight [expr 2000.*$kip]; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol [expr 5.*$ft]; # Column Depth
|
||||
set BCol [expr 5.*$ft]; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol [expr $Weight]; # nodal dead-load weight per column
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol]; # cross-sectional area
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# we need to set up parameters that are particular to the model.
|
||||
set IDctrlNode 2; # node where displacement is read for displacement control
|
||||
set IDctrlDOF 1; # degree of freedom of displacement read for displacement control
|
||||
set iSupportNode "1"; # define support node, if needed.
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
|
||||
set ColSecTag 1; # assign a tag number to the column section
|
||||
# define section geometry
|
||||
set coverCol [expr 5.*$in]; # Column cover to reinforcing steel NA.
|
||||
set numBarsCol 20; # number of longitudinal-reinforcement bars in column. (symmetric top & bot)
|
||||
set barAreaCol [expr 2.25*$in2]; # area of longitudinal-reinforcement bars
|
||||
|
||||
|
||||
# MATERIAL parameters -------------------------------------------------------------------
|
||||
set IDconcU 1; # material ID tag -- unconfined cover concrete
|
||||
set IDreinf 2; # material ID tag -- reinforcement
|
||||
# nominal concrete compressive strength
|
||||
set fc [expr -4.0*$ksi]; # CONCRETE Compressive Strength, ksi (+Tension, -Compression)
|
||||
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
|
||||
# unconfined concrete
|
||||
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
|
||||
# -----------
|
||||
set Fy [expr 66.8*$ksi]; # STEEL yield stress
|
||||
set Es [expr 29000.*$ksi]; # modulus of steel
|
||||
set Bs 0.01; # strain-hardening ratio
|
||||
set R0 18; # control the transition from elastic to plastic branches
|
||||
set cR1 0.925; # control the transition from elastic to plastic branches
|
||||
set cR2 0.15; # control the transition from elastic to plastic branches
|
||||
uniaxialMaterial Concrete02 $IDconcU $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # build cover concrete (unconfined)
|
||||
uniaxialMaterial Steel02 $IDreinf $Fy $Es $Bs $R0 $cR1 $cR2; # build reinforcement material
|
||||
|
||||
# FIBER SECTION properties -------------------------------------------------------------
|
||||
# symmetric section
|
||||
# y
|
||||
# ^
|
||||
# |
|
||||
# --------------------- -- --
|
||||
# | o o o | | -- cover
|
||||
# | | |
|
||||
# | | |
|
||||
# z <--- | + | H
|
||||
# | | |
|
||||
# | | |
|
||||
# | o o o | | -- cover
|
||||
# --------------------- -- --
|
||||
# |-------- B --------|
|
||||
#
|
||||
# RC section:
|
||||
set coverY [expr $HCol/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
|
||||
set coverZ [expr $BCol/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
|
||||
set coreY [expr $coverY-$coverCol]
|
||||
set coreZ [expr $coverZ-$coverCol]
|
||||
set nfY 16; # number of fibers for concrete in y-direction
|
||||
set nfZ 4; # number of fibers for concrete in z-direction
|
||||
section fiberSec $ColSecTag {; # Define the fiber section
|
||||
patch quadr $IDconcU $nfZ $nfY -$coverY $coverZ -$coverY -$coverZ $coverY -$coverZ $coverY $coverZ; # Define the concrete patch
|
||||
layer straight $IDreinf $numBarsCol $barAreaCol -$coreY $coreZ -$coreY -$coreZ; # top layer reinfocement
|
||||
layer straight $IDreinf $numBarsCol $barAreaCol $coreY $coreZ $coreY -$coreZ; # bottom layer reinforcement
|
||||
}; # end of fibersection definition
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
set ColTransfType Linear ; # options, Linear PDelta Corotational
|
||||
geomTransf $ColTransfType $ColTransfTag ;
|
||||
|
||||
|
||||
# element connectivity:
|
||||
set numIntgrPts 5; # number of integration points for force-based element
|
||||
element nonlinearBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file $dataDir/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file $dataDir/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file $dataDir/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file $dataDir/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file $dataDir/FCol.out -time -ele 2 globalForce; # element forces -- column
|
||||
recorder Element -file $dataDir/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
|
||||
recorder Element -file $dataDir/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file $dataDir/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file $dataDir/DefoColSec$numIntgrPts.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node j
|
||||
recorder Element -xml $dataDir/PlasticRotation.out -time -ele 1 plasticRotation; # section deformations, axial and curvature, node j
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# Gravity-analysis parameters -- load-controlled static analysis
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
139
examples/data/Ex3.Canti2D.build.InelasticSection.tcl.txt
Normal file
139
examples/data/Ex3.Canti2D.build.InelasticSection.tcl.txt
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example 3. 2D Cantilever -- Build Model
|
||||
# nonlinearBeamColumn element, inelastic fiber section
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 2 __
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# (1) LCol
|
||||
# | |
|
||||
# | |
|
||||
# | |
|
||||
# =1= _|_ -------->X
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear memory of all past model definitions
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
set dataDir Data; # set up name for data directory
|
||||
file mkdir $dataDir/; # create data directory
|
||||
set GMdir "../GMfiles"; # ground-motion file directory
|
||||
|
||||
# define UNITS ----------------------------------------------------------------------------
|
||||
set in 1.; # define basic units -- output units
|
||||
set kip 1.; # define basic units -- output units
|
||||
set sec 1.; # define basic units -- output units
|
||||
set LunitTXT "inch"; # define basic-unit text for output
|
||||
set FunitTXT "kip"; # define basic-unit text for output
|
||||
set TunitTXT "sec"; # define basic-unit text for output
|
||||
set ft [expr 12.*$in]; # define engineering units
|
||||
set ksi [expr $kip/pow($in,2)];
|
||||
set psi [expr $ksi/1000.];
|
||||
set lbf [expr $psi*$in*$in]; # pounds force
|
||||
set pcf [expr $lbf/pow($ft,3)]; # pounds per cubic foot
|
||||
set in2 [expr $in*$in]; # inch^2
|
||||
set in4 [expr $in*$in*$in*$in]; # inch^4
|
||||
set cm [expr $in/2.54]; # centimeter, needed for displacement input in MultipleSupport excitation
|
||||
set PI [expr 2*asin(1.0)]; # define constants
|
||||
set g [expr 32.2*$ft/pow($sec,2)]; # gravitational acceleration
|
||||
set Ubig 1.e10; # a really large number
|
||||
set Usmall [expr 1/$Ubig]; # a really small number
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol [expr 36*$ft]; # column length
|
||||
set Weight [expr 2000.*$kip]; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol [expr 5.*$ft]; # Column Depth
|
||||
set BCol [expr 5.*$ft]; # Column Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol [expr $Weight]; # nodal dead-load weight per column
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol]; # cross-sectional area
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 0 $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 1; # node DX DY RZ
|
||||
|
||||
# we need to set up parameters that are particular to the model.
|
||||
set IDctrlNode 2; # node where displacement is read for displacement control
|
||||
set IDctrlDOF 1; # degree of freedom of displacement read for displacement control
|
||||
set iSupportNode "1"; # define support node, if needed.
|
||||
|
||||
# nodal masses:
|
||||
mass 2 $Mass 1e-9 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
|
||||
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
|
||||
set ColMatTagFlex 2; # assign a tag number to the column flexural behavior
|
||||
set ColMatTagAxial 3; # assign a tag number to the column axial behavior
|
||||
set ColSecTag 1; # assign a tag number to the column section tag
|
||||
set BeamSecTag 2; # assign a tag number to the beam section tag
|
||||
|
||||
# MATERIAL parameters
|
||||
set fc [expr -4*$ksi]; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
|
||||
|
||||
# COLUMN section
|
||||
# calculated stiffness parameters
|
||||
set EICol [expr $Ec*$IzCol]; # EI, for moment-curvature relationship
|
||||
set EACol [expr $Ec*$ACol]; # EA, for axial-force-strain relationship
|
||||
set MyCol [expr 130000*$kip*$in]; # yield moment
|
||||
set PhiYCol [expr 0.65e-4/$in]; # yield curvature
|
||||
set EIColCrack [expr $MyCol/$PhiYCol]; # cracked section inertia
|
||||
set b 0.01 ; # strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
|
||||
uniaxialMaterial Steel01 $ColMatTagFlex $MyCol $EIColCrack $b; # bilinear behavior for flexure
|
||||
uniaxialMaterial Elastic $ColMatTagAxial $EACol; # this is not used as a material, this is an axial-force-strain response
|
||||
section Aggregator $ColSecTag $ColMatTagAxial P $ColMatTagFlex Mz; # combine axial and flexural behavior into one section (no P-M interaction here)
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
set ColTransfType Linear ; # options, Linear PDelta Corotational
|
||||
geomTransf $ColTransfType $ColTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
set numIntgrPts 5; # number of integration points for force-based element
|
||||
element nonlinearBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file $dataDir/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file $dataDir/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file $dataDir/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file $dataDir/FCol.out -time -ele 2 globalForce; # element forces -- column
|
||||
recorder Element -file $dataDir/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
|
||||
recorder Element -file $dataDir/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file $dataDir/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file $dataDir/DefoColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
recorder Element -xml $dataDir/PlasticRotation.out -time -ele 1 plasticRotation; # section deformations, axial and curvature, node j
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
pattern Plain 1 Linear {
|
||||
load 2 0 -$PCol 0
|
||||
}
|
||||
|
||||
# Gravity-analysis parameters -- load-controlled static analysis
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example4. 2D Portal Frame-- Dynamic sine-wave input analysis
|
||||
# Silvia Mazzoni, 2006
|
||||
# execute this file after you have built the model, and after you apply gravity
|
||||
#
|
||||
|
||||
# Uniform Sine-Wave ground motion (uniform acceleration input at all support nodes)
|
||||
set GMdirection 1; # ground-motion direction
|
||||
set GMSineAccAmpl [expr 0.5*$g]; # sine ground-motion acceleration amplitude (this is the support motion, not the free-node motion)
|
||||
set TPeriodSine [expr 0.35*$sec]; # period of input sine wave
|
||||
set DurationSine [expr 3.*$sec]; # duration of input sine wave
|
||||
|
||||
# set up ground-motion-analysis parameters
|
||||
set DtAnalysis [expr 0.01*$sec]; # time-step Dt for lateral analysis
|
||||
set TmaxAnalysis [expr 10. *$sec]; # maximum duration of ground-motion analysis -- should be 50*$sec
|
||||
|
||||
# ----------- set up analysis parameters
|
||||
source LibAnalysisDynamicParameters.tcl; # constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator
|
||||
|
||||
# define DAMPING--------------------------------------------------------------------------------------
|
||||
# apply Rayleigh DAMPING from $xDamp
|
||||
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
|
||||
set xDamp 0.02; # 2% damping ratio
|
||||
set lambda [eigen 1]; # eigenvalue mode 1
|
||||
set omega [expr pow($lambda,0.5)];
|
||||
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.; # initial-stiffness proportional damping +beatKinit*Kini
|
||||
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
|
||||
|
||||
# --------------------------------- perform Dynamic Ground-Motion Analysis
|
||||
# the following commands are unique to the Sine-Wave excitation
|
||||
set IDloadTag 400; # for uniformSupport excitation
|
||||
set DtGround [expr 0.005*$sec]; # time-step Dt for input grond motion
|
||||
set omegaSine [expr 2*$PI/$TPeriodSine];
|
||||
set vel0 [expr $GMSineAccAmpl*(-1)/$omegaSine];
|
||||
set AccelSeries "Sine 0. $DurationSine $TPeriodSine -factor $GMSineAccAmpl "
|
||||
pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries -vel0 $vel0
|
||||
|
||||
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
|
||||
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful
|
||||
|
||||
if {$ok != 0} { ; # analysis was not successful.
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
# change some analysis parameters to achieve convergence
|
||||
# performance is slower inside this loop
|
||||
# Time-controlled analysis
|
||||
set ok 0;
|
||||
set controlTime [getTime];
|
||||
while {$controlTime < $TmaxAnalysis && $ok == 0} {
|
||||
set controlTime [getTime]
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 1000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
|
||||
algorithm $algorithmTypeDynamic
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmTypeDynamic
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch .8
|
||||
set ok [analyze 1 $DtAnalysis]
|
||||
algorithm $algorithmTypeDynamic
|
||||
}
|
||||
}
|
||||
}; # end if ok !0
|
||||
|
||||
|
||||
puts "Ground Motion Done. End Time: [getTime]"
|
||||
69
examples/data/Ex4.Portal2D.analyze.Static.Push.tcl.txt
Normal file
69
examples/data/Ex4.Portal2D.analyze.Static.Push.tcl.txt
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example4. 2D Portal Frame-- Static Pushover Analysis
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
# execute this file after you have built the model, and after you apply gravity
|
||||
#
|
||||
|
||||
# we need to set up parameters that are particular to the model.
|
||||
set IDctrlNode 3; # node where displacement is read for displacement control
|
||||
set IDctrlDOF 1; # degree of freedom of displacement read for displacement contro
|
||||
# characteristics of pushover analysis
|
||||
set Dmax [expr 0.1*$LCol]; # maximum displacement of pushover. push to 10% drift.
|
||||
set Dincr [expr 0.001*$LCol]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysis
|
||||
|
||||
# create load pattern for lateral pushover load
|
||||
set Hload [expr $Weight/2]; # define the lateral load as a proportion of the weight so that the pseudo time equals the lateral-load coefficient when using linear load pattern
|
||||
set iPushNode "3 4"; # define nodes where lateral load is applied in static lateral analysis
|
||||
pattern Plain 200 Linear {; # define load pattern -- generalized
|
||||
foreach PushNode $iPushNode {
|
||||
load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0
|
||||
}
|
||||
}
|
||||
|
||||
# ----------- set up analysis parameters
|
||||
source LibAnalysisStaticParameters.tcl; # constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator
|
||||
|
||||
# --------------------------------- perform Static Pushover Analysis
|
||||
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
|
||||
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
|
||||
set fmt1 "%s Pushover analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis
|
||||
if {$ok != 0} {
|
||||
# if analysis fails, we try some other stuff, performance is slower inside this loop
|
||||
set Dstep 0.0;
|
||||
set ok 0
|
||||
while {$Dstep <= 1.0 && $ok == 0} {
|
||||
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
|
||||
set Dstep [expr $controlDisp/$Dmax]
|
||||
set ok [analyze 1 ]
|
||||
# if analysis fails, we try some other stuff
|
||||
# performance is slower inside this loop global maxNumIterStatic; # max no. of iterations performed before "failure to converge" is ret'd
|
||||
if {$ok != 0} {
|
||||
puts "Trying Newton with Initial Tangent .."
|
||||
test NormDispIncr $Tol 2000 0
|
||||
algorithm Newton -initial
|
||||
set ok [analyze 1]
|
||||
test $testTypeStatic $TolStatic $maxNumIterStatic 0
|
||||
algorithm $algorithmTypeStatic
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying Broyden .."
|
||||
algorithm Broyden 8
|
||||
set ok [analyze 1 ]
|
||||
algorithm $algorithmTypeStatic
|
||||
}
|
||||
if {$ok != 0} {
|
||||
puts "Trying NewtonWithLineSearch .."
|
||||
algorithm NewtonLineSearch 0.8
|
||||
set ok [analyze 1]
|
||||
algorithm $algorithmTypeStatic
|
||||
}
|
||||
|
||||
}; # end while loop
|
||||
}; # end if ok !0
|
||||
|
||||
# -----------------------------------------------------------------------------------------------------
|
||||
if {$ok != 0 } {
|
||||
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
|
||||
} else {
|
||||
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
|
||||
}
|
||||
108
examples/data/Ex4.Portal2D.build.ElasticElement.tcl.txt
Normal file
108
examples/data/Ex4.Portal2D.build.ElasticElement.tcl.txt
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example4. 2D Portal Frame-- Build Model
|
||||
# elasticBeamColumn element
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
# ^Y
|
||||
# |
|
||||
# 3_________(3)________4 __
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# (1) (2) LCol
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# =1= =2= _|_ -------->X
|
||||
# |----------LBeam------------|
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear memory of all past model definitions
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
set dataDir Data; # set up name of data directory
|
||||
file mkdir $dataDir; # create data directory
|
||||
set GMdir "GMfiles"; # ground-motion file directory
|
||||
source LibUnits.tcl; # define basic and system units
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol [expr 36*$ft]; # column length
|
||||
set LBeam [expr 42*$ft]; # beam length
|
||||
set Weight [expr 4000.*$kip]; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol [expr 5.*$ft]; # Column Depth
|
||||
set BCol [expr 4.*$ft]; # Column Width
|
||||
set HBeam [expr 8.*$ft]; # Beam Depth
|
||||
set BBeam [expr 5.*$ft]; # Beam Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol [expr $Weight/2]; # nodal dead-load weight per column
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
set MCol [expr 1./12.*($Weight/$LBeam)*pow($LBeam,2)]; # beam-end moment due to distributed load.
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol]; # cross-sectional area
|
||||
set ABeam [expr $BBeam*$HBeam];
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
set IzBeam [expr 1./12.*$BBeam*pow($HBeam,3)]; # Beam moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 $LBeam 0
|
||||
node 3 0 $LCol
|
||||
node 4 $LBeam $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 0; # node DX DY RZ
|
||||
fix 2 1 1 0; # node DX DY RZ
|
||||
fix 3 0 0 0
|
||||
fix 4 0 0 0
|
||||
|
||||
# nodal masses:
|
||||
mass 3 $Mass 0. 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
mass 4 $Mass 0. 0.
|
||||
|
||||
# Define ELEMENTS -------------------------------------------------------------
|
||||
# Material parameters
|
||||
set fc [expr -4.*$ksi]; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
|
||||
set ColTransfType Linear ; # options, Linear PDelta Corotational
|
||||
geomTransf $ColTransfType $ColTransfTag ; # only columns can have PDelta effects (gravity effects)
|
||||
geomTransf Linear $BeamTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
element elasticBeamColumn 1 1 3 $ACol $Ec $IzCol $ColTransfTag; # self-explanatory when using variables
|
||||
element elasticBeamColumn 2 2 4 $ACol $Ec $IzCol $ColTransfTag;
|
||||
element elasticBeamColumn 3 3 4 $ABeam $Ec $IzBeam $BeamTransfTag;
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file $dataDir/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file $dataDir/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file $dataDir/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file $dataDir/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file $dataDir/FCol.out -time -ele 1 2 globalForce; # element forces -- column
|
||||
recorder Element -file $dataDir/FBeam.out -time -ele 3 globalForce; # element forces -- beam
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
set WzBeam [expr $Weight/$LBeam];
|
||||
pattern Plain 1 Linear {
|
||||
eleLoad -ele 3 -type -beamUniform -$WzBeam ; # distributed superstructure-weight on beam
|
||||
}
|
||||
# ------------------------------------------------- apply gravity load
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
178
examples/data/Ex4.Portal2D.build.InelasticFiberSection.tcl.txt
Normal file
178
examples/data/Ex4.Portal2D.build.InelasticFiberSection.tcl.txt
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example4. 2D Portal Frame-- Build Model
|
||||
# nonlinearBeamColumn element, inelastic fiber section
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 3_________(3)________4 __
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# (1) (2) LCol
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# =1= =2= _|_ -------->X
|
||||
# |----------LBeam------------|
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear memory of all past model definitions
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
set dataDir Data; # set up name of data directory
|
||||
file mkdir $dataDir; # create data directory
|
||||
set GMdir "GMfiles"; # ground-motion file directory
|
||||
source LibUnits.tcl; # define basic and system units
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol [expr 36*$ft]; # column length
|
||||
set LBeam [expr 42*$ft]; # beam length
|
||||
set Weight [expr 2000.*$kip]; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol [expr 5.*$ft]; # Column Depth
|
||||
set BCol [expr 5.*$ft]; # Column Width
|
||||
set HBeam [expr 8.*$ft]; # Beam Depth
|
||||
set BBeam [expr 5.*$ft]; # Beam Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol [expr $Weight/2]; # nodal dead-load weight per column
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
set MCol [expr 1./12.*($Weight/$LBeam)*pow($LBeam,2)]; # beam-end moment due to distributed load.
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol]; # cross-sectional area
|
||||
set ABeam [expr $BBeam*$HBeam];
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
set IzBeam [expr 1./12.*$BBeam*pow($HBeam,3)]; # Beam moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 $LBeam 0
|
||||
node 3 0 $LCol
|
||||
node 4 $LBeam $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 0; # node DX DY RZ
|
||||
fix 2 1 1 0; # node DX DY RZ
|
||||
fix 3 0 0 0
|
||||
fix 4 0 0 0
|
||||
|
||||
# nodal masses:
|
||||
mass 3 $Mass 0. 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
mass 4 $Mass 0. 0.
|
||||
|
||||
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
|
||||
set ColSecTag 1; # assign a tag number to the column section
|
||||
set BeamSecTag 2; # assign a tag number to the beam section
|
||||
# define section geometry
|
||||
set coverCol [expr 6.*$in]; # Column cover to reinforcing steel NA.
|
||||
set numBarsCol 10; # number of longitudinal-reinforcement bars in each side of column section. (symmetric top & bot)
|
||||
set barAreaCol [expr 2.25*$in2]; # area of longitudinal-reinforcement bars
|
||||
|
||||
# MATERIAL parameters -------------------------------------------------------------------
|
||||
set IDconcU 1; # material ID tag -- unconfined cover concrete
|
||||
set IDreinf 2; # material ID tag -- reinforcement
|
||||
# nominal concrete compressive strength
|
||||
set fc [expr -4.0*$ksi]; # CONCRETE Compressive Strength, ksi (+Tension, -Compression)
|
||||
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
|
||||
# unconfined concrete
|
||||
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.05; # 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
|
||||
# -----------
|
||||
set Fy [expr 66.8*$ksi]; # STEEL yield stress
|
||||
set Es [expr 29000.*$ksi]; # modulus of steel
|
||||
set Bs 0.01; # strain-hardening ratio
|
||||
set R0 18; # control the transition from elastic to plastic branches
|
||||
set cR1 0.925; # control the transition from elastic to plastic branches
|
||||
set cR2 0.15; # control the transition from elastic to plastic branches
|
||||
uniaxialMaterial Concrete02 $IDconcU $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # build cover concrete (unconfined)
|
||||
uniaxialMaterial Steel02 $IDreinf $Fy $Es $Bs $R0 $cR1 $cR2; # build reinforcement material
|
||||
|
||||
# FIBER SECTION properties -------------------------------------------------------------
|
||||
# symmetric section
|
||||
# y
|
||||
# ^
|
||||
# |
|
||||
# --------------------- -- --
|
||||
# | o o o | | -- cover
|
||||
# | | |
|
||||
# | | |
|
||||
# z <--- | + | H
|
||||
# | | |
|
||||
# | | |
|
||||
# | o o o | | -- cover
|
||||
# --------------------- -- --
|
||||
# |-------- B --------|
|
||||
#
|
||||
# RC section:
|
||||
set coverY [expr $HCol/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
|
||||
set coverZ [expr $BCol/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
|
||||
set coreY [expr $coverY-$coverCol]
|
||||
set coreZ [expr $coverZ-$coverCol]
|
||||
set nfY 16; # number of fibers for concrete in y-direction
|
||||
set nfZ 4; # number of fibers for concrete in z-direction
|
||||
section fiberSec $ColSecTag {; # Define the fiber section
|
||||
patch quadr $IDconcU $nfZ $nfY -$coverY $coverZ -$coverY -$coverZ $coverY -$coverZ $coverY $coverZ; # Define the concrete patch
|
||||
layer straight $IDreinf $numBarsCol $barAreaCol -$coreY $coreZ -$coreY -$coreZ; # top layer reinfocement
|
||||
layer straight $IDreinf $numBarsCol $barAreaCol $coreY $coreZ $coreY -$coreZ; # bottom layer reinforcement
|
||||
}; # end of fibersection definition
|
||||
|
||||
# BEAM section:
|
||||
section Elastic $BeamSecTag $Ec $ABeam $IzBeam; # elastic beam section
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
|
||||
set ColTransfType Linear ; # options, Linear PDelta Corotational
|
||||
geomTransf $ColTransfType $ColTransfTag ; # only columns can have PDelta effects (gravity effects)
|
||||
geomTransf Linear $BeamTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
set numIntgrPts 5; # number of integration points for force-based element
|
||||
element nonlinearBeamColumn 1 1 3 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
|
||||
element nonlinearBeamColumn 2 2 4 $numIntgrPts $ColSecTag $ColTransfTag;
|
||||
element nonlinearBeamColumn 3 3 4 $numIntgrPts $BeamSecTag $BeamTransfTag;
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file $dataDir/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file $dataDir/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file $dataDir/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file $dataDir/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file $dataDir/FCol.out -time -ele 1 2 globalForce; # element forces -- column
|
||||
recorder Element -file $dataDir/FBeam.out -time -ele 3 globalForce; # element forces -- beam
|
||||
recorder Element -file $dataDir/ForceColSec1.out -time -ele 1 2 section 1 force; # Column section forces, axial and moment, node i
|
||||
recorder Element -file $dataDir/DefoColSec1.out -time -ele 1 2 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file $dataDir/ForceColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file $dataDir/DefoColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
recorder Element -file $dataDir/ForceBeamSec1.out -time -ele 3 section 1 force; # Beam section forces, axial and moment, node i
|
||||
recorder Element -file $dataDir/DefoBeamSec1.out -time -ele 3 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file $dataDir/ForceBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file $dataDir/DefoBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
set WzBeam [expr $Weight/$LBeam];
|
||||
pattern Plain 1 Linear {
|
||||
eleLoad -ele 3 -type -beamUniform -$WzBeam ; # distributed superstructure-weight on beam
|
||||
}
|
||||
# Gravity-analysis parameters -- load-controlled static analysis
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
139
examples/data/Ex4.Portal2D.build.InelasticSection.tcl.txt
Normal file
139
examples/data/Ex4.Portal2D.build.InelasticSection.tcl.txt
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
# --------------------------------------------------------------------------------------------------
|
||||
# Example4. 2D Portal Frame-- Build Model
|
||||
# nonlinearBeamColumn element, uniaxial inelastic section
|
||||
# Silvia Mazzoni & Frank McKenna, 2006
|
||||
#
|
||||
# ^Y
|
||||
# |
|
||||
# 3_________(3)________4 __
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# (1) (2) LCol
|
||||
# | | |
|
||||
# | | |
|
||||
# | | |
|
||||
# =1= =2= _|_ -------->X
|
||||
# |----------LBeam------------|
|
||||
#
|
||||
|
||||
# SET UP ----------------------------------------------------------------------------
|
||||
wipe; # clear memory of all past model definitions
|
||||
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
|
||||
set dataDir Data; # set up name of data directory
|
||||
file mkdir $dataDir; # create data directory
|
||||
set GMdir "GMfiles"; # ground-motion file directory
|
||||
source LibUnits.tcl; # define basic and system units
|
||||
|
||||
# define GEOMETRY -------------------------------------------------------------
|
||||
set LCol [expr 36*$ft]; # column length
|
||||
set LBeam [expr 42*$ft]; # beam length
|
||||
set Weight [expr 4000.*$kip]; # superstructure weight
|
||||
# define section geometry
|
||||
set HCol [expr 5.*$ft]; # Column Depth
|
||||
set BCol [expr 4.*$ft]; # Column Width
|
||||
set HBeam [expr 8.*$ft]; # Beam Depth
|
||||
set BBeam [expr 5.*$ft]; # Beam Width
|
||||
|
||||
# calculated parameters
|
||||
set PCol [expr $Weight/2]; # nodal dead-load weight per column
|
||||
set Mass [expr $PCol/$g]; # nodal mass
|
||||
set MCol [expr 1./12.*($Weight/$LBeam)*pow($LBeam,2)]; # beam-end moment due to distributed load.
|
||||
# calculated geometry parameters
|
||||
set ACol [expr $BCol*$HCol]; # cross-sectional area
|
||||
set ABeam [expr $BBeam*$HBeam];
|
||||
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
|
||||
set IzBeam [expr 1./12.*$BBeam*pow($HBeam,3)]; # Beam moment of inertia
|
||||
|
||||
# nodal coordinates:
|
||||
node 1 0 0; # node#, X, Y
|
||||
node 2 $LBeam 0
|
||||
node 3 0 $LCol
|
||||
node 4 $LBeam $LCol
|
||||
|
||||
# Single point constraints -- Boundary Conditions
|
||||
fix 1 1 1 0; # node DX DY RZ
|
||||
fix 2 1 1 0; # node DX DY RZ
|
||||
fix 3 0 0 0
|
||||
fix 4 0 0 0
|
||||
|
||||
# nodal masses:
|
||||
mass 3 $Mass 0. 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
|
||||
mass 4 $Mass 0. 0.
|
||||
|
||||
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
|
||||
set ColMatTagFlex 2; # assign a tag number to the column flexural behavior
|
||||
set ColMatTagAxial 3; # assign a tag number to the column axial behavior
|
||||
set ColSecTag 1; # assign a tag number to the column section tag
|
||||
set BeamSecTag 2; # assign a tag number to the beam section tag
|
||||
|
||||
# MATERIAL parameters
|
||||
set fc [expr -4*$ksi]; # CONCRETE Compressive Strength (+Tension, -Compression)
|
||||
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
|
||||
|
||||
# COLUMN section
|
||||
# calculated stiffness parameters
|
||||
set EICol [expr $Ec*$IzCol]; # EI, for moment-curvature relationship
|
||||
set EACol [expr $Ec*$ACol]; # EA, for axial-force-strain relationship
|
||||
set MyCol [expr 130000*$kip*$in]; # yield moment
|
||||
set PhiYCol [expr 0.65e-4/$in]; # yield curvature
|
||||
set EIColCrack [expr $MyCol/$PhiYCol]; # cracked section inertia
|
||||
set b 0.01 ; # strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
|
||||
uniaxialMaterial Steel01 $ColMatTagFlex $MyCol $EIColCrack $b; # bilinear behavior for flexure
|
||||
uniaxialMaterial Elastic $ColMatTagAxial $EACol; # this is not used as a material, this is an axial-force-strain response
|
||||
section Aggregator $ColSecTag $ColMatTagAxial P $ColMatTagFlex Mz; # combine axial and flexural behavior into one section (no P-M interaction here)
|
||||
|
||||
# BEAM section:
|
||||
section Elastic $BeamSecTag $Ec $ABeam $IzBeam; # elastic beam section
|
||||
|
||||
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
|
||||
set ColTransfTag 1; # associate a tag to column transformation
|
||||
set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
|
||||
set ColTransfType Linear ; # options, Linear PDelta Corotational
|
||||
geomTransf $ColTransfType $ColTransfTag ; # only columns can have PDelta effects (gravity effects)
|
||||
geomTransf Linear $BeamTransfTag ;
|
||||
|
||||
# element connectivity:
|
||||
set numIntgrPts 5; # number of integration points for force-based element
|
||||
element nonlinearBeamColumn 1 1 3 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
|
||||
element nonlinearBeamColumn 2 2 4 $numIntgrPts $ColSecTag $ColTransfTag;
|
||||
element nonlinearBeamColumn 3 3 4 $numIntgrPts $BeamSecTag $BeamTransfTag;
|
||||
|
||||
# Define RECORDERS -------------------------------------------------------------
|
||||
recorder Node -file $dataDir/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
|
||||
recorder Node -file $dataDir/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
|
||||
recorder Node -file $dataDir/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
|
||||
recorder Drift -file $dataDir/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
|
||||
recorder Element -file $dataDir/FCol.out -time -ele 1 2 globalForce; # element forces -- column
|
||||
recorder Element -file $dataDir/FBeam.out -time -ele 3 globalForce; # element forces -- beam
|
||||
recorder Element -file $dataDir/ForceColSec1.out -time -ele 1 2 section 1 force; # Column section forces, axial and moment, node i
|
||||
recorder Element -file $dataDir/DefoColSec1.out -time -ele 1 2 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file $dataDir/ForceColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file $dataDir/DefoColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
recorder Element -file $dataDir/ForceBeamSec1.out -time -ele 3 section 1 force; # Beam section forces, axial and moment, node i
|
||||
recorder Element -file $dataDir/DefoBeamSec1.out -time -ele 3 section 1 deformation; # section deformations, axial and curvature, node i
|
||||
recorder Element -file $dataDir/ForceBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts force; # section forces, axial and moment, node j
|
||||
recorder Element -file $dataDir/DefoBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
|
||||
|
||||
# define GRAVITY -------------------------------------------------------------
|
||||
set WzBeam [expr $Weight/$LBeam];
|
||||
pattern Plain 1 Linear {
|
||||
eleLoad -ele 3 -type -beamUniform -$WzBeam ; # distributed superstructure-weight on beam
|
||||
}
|
||||
# Gravity-analysis parameters -- load-controlled static analysis
|
||||
set Tol 1.0e-8; # convergence tolerance for test
|
||||
constraints Plain; # how it handles boundary conditions
|
||||
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
|
||||
system BandGeneral; # how to store and solve the system of equations in the analysis
|
||||
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
|
||||
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
|
||||
set NstepGravity 10; # apply gravity in 10 steps
|
||||
set DGravity [expr 1./$NstepGravity]; # first load increment;
|
||||
integrator LoadControl $DGravity; # determine the next time step for an analysis
|
||||
analysis Static; # define type of analysis static or transient
|
||||
analyze $NstepGravity; # apply gravity
|
||||
|
||||
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
|
||||
loadConst -time 0.0
|
||||
|
||||
puts "Model Built"
|
||||
Loading…
Reference in a new issue