#include #include #include #include #include #include #include #include #include #include #include #include #include #Region ### START Koda GUI section ### Form=C:\autoit-trials\0my_autoit_trials\new\nomo_final.kxf $Form1_1 = GUICreate("Nomogram", 330, 426, -1, -1) $Extract = GUICtrlCreateButton("Run", 120, 392, 75, 25) $Group1 = GUICtrlCreateGroup("Data for seastate run", 8, 8, 313, 193) $Label1 = GUICtrlCreateLabel("Input file name", 16, 32, 73, 17) $Label2 = GUICtrlCreateLabel("Natural time period, s", 16, 64, 103, 17) $Label3 = GUICtrlCreateLabel("Total load cases", 16, 96, 82, 17) $Label4 = GUICtrlCreateLabel("Env heading to jackup", 16, 128, 111, 17) Global $k_file = GUICtrlCreateInput("C1.DAT", 176, 32, 121, 21) Global $k_tn = GUICtrlCreateInput("6", 176, 64, 121, 21) Global $k_loads = GUICtrlCreateInput("63", 176, 96, 121, 21) Global $k_env = GUICtrlCreateInput("180", 176, 128, 121, 21) $Label9 = GUICtrlCreateLabel("Water depth,m ", 16, 160, 77, 17) Global $k_wd = GUICtrlCreateInput("56.5", 176, 160, 121, 21) GUICtrlCreateGroup("56.5", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Data for large deflection run", 8, 208, 313, 177) $Label5 = GUICtrlCreateLabel("Distance from fixity to guide, m", 16, 240, 147, 17) Global $k_dist = GUICtrlCreateInput("00", 176, 240, 121, 21) $Label6 = GUICtrlCreateLabel("Factored Preload, kN", 16, 272, 105, 17) Global $k_pre = GUICtrlCreateInput("65000", 176, 272, 121, 21) GUICtrlCreateLabel("", 32, 320, 4, 4) $Label7 = GUICtrlCreateLabel("Allowable moment at guide, kNm", 16, 304, 158, 17) $Label8 = GUICtrlCreateLabel("Leg node number at guide", 16, 336, 128, 17) Global $k_mom = GUICtrlCreateInput("155000", 176, 304, 121, 21) Global $k_node = GUICtrlCreateInput("1117", 176, 336, 121, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GLobal $st=1 ; While $st=1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Extract ; start inside switch winsetstate("Nomogram"," ",@SW_MINIMIZE) global $tcur=_Date_Time_GetLocalTime() Global $larm=guictrlread($k_dist) Global $CASE=guictrlread($k_loads) global $tn=guictrlread($k_tn) Global $env=guictrlread($k_env) global $sacs_env=180+$env global $inp_name=guictrlread($k_file) global $pd=guictrlread($k_pre) global $mmt=guictrlread($k_mom) global $wd=guictrlread($k_wd) GLOBAL $LD Global $e=6 FILEDELETE(@scriptdir&"\sea.runx") FILEDELETE(@scriptdir&"\ldf.runx") #cs global $allnames=guictrlread($k_files) global $inp_name $inp_name=stringsplit($allnames," ") Global $inpfile1=@scriptdir&"\"&$inp_name[1]) Global $inpfile2=@scriptdir&"\"&$inp_name[2]) Global $inpfile3=@scriptdir&"\"&$inp_name[3]) #ce Global $inpfile=@scriptdir&"\"&$inp_name ;~ msgbox(0,0,$inpfile) ; ; global $maxshearlinenum[64],$minshearlinenum[64],$tp[8],$daf[64],$hmax[64],$ohm[8] global $maxshear[64],$minshear[64],$inertia_f[64],$inertia_fx[64],$inertia_fy[64] global $maxshearline[64],$minshearline[64],$WIND[4],$WND[64], $tasso[64] global const $pi=3.141592654 Global $c2[10],$c3[10] GLOBAL $INUMBER ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> inputs start here in SI units ; $hmax[1]=6.096 $hmax[2]=7.620 $hmax[3]=9.144 $hmax[4]=10.668 $hmax[5]=12.192 $hmax[6]=13.716 $hmax[7]=15.240 ; $tasso[1]=7.11 $tasso[2]=7.95 $tasso[3]=8.71 $tasso[4]=9.41 $tasso[5]=10.06 $tasso[6]=10.67 $tasso[7]=11.25 ; $tp[1]=9.05 $tp[2]=10.12 $tp[3]=11.09 $tp[4]=11.97 $tp[5]=12.80 $tp[6]=13.58 $tp[7]=14.31 ; 3 currents to be input at 100%,75,50,40,30,20,10,1,0.001D ; c1=0,c2=1.5knots, c3= 3knots at surface, final values below with blockage if any $c2[1]=0.7720 $c2[2]=0.7720 $c2[3]=0.7720 $c2[4]=0.7478 $c2[5]=0.7177 $c2[6]=0.6773 $c2[7]=0.6134 $c2[8]=0.4415 $c2[9]=0.3177 ; $c3[1]=0.7720*2 $c3[2]=0.7720*2 $c3[3]=0.7720*2 $c3[4]=0.7478*2 $c3[5]=0.7177*2 $c3[6]=0.6773*2 $c3[7]=0.6134*2 $c3[8]=0.4415*2 $c3[9]=0.3177*2 $WIND[1]=50*0.5144 $WIND[2]=70*0.5144 $WIND[3]=100*0.5144 ; wind area to be checked in script ; hull nodes for inertia load application to be checked ; wave theory set as stoke ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> end of inputs $hmax[8] =$HMAX[1] $hmax[9] =$HMAX[2] $hmax[10]=$HMAX[3] $hmax[11]=$HMAX[4] $hmax[12]=$HMAX[5] $hmax[13]=$HMAX[6] $hmax[14]=$HMAX[7] ; $hmax[15]=$HMAX[1] $hmax[16]=$HMAX[2] $hmax[17]=$HMAX[3] $hmax[18]=$HMAX[4] $hmax[19]=$HMAX[5] $hmax[20]=$HMAX[6] $hmax[21]=$HMAX[7] ; $tasso[8] =$tasso[1] $tasso[9] =$tasso[2] $tasso[10]=$tasso[3] $tasso[11]=$tasso[4] $tasso[12]=$tasso[5] $tasso[13]=$tasso[6] $tasso[14]=$tasso[7] ; $tasso[15]=$tasso[1] $tasso[16]=$tasso[2] $tasso[17]=$tasso[3] $tasso[18]=$tasso[4] $tasso[19]=$tasso[5] $tasso[20]=$tasso[6] $tasso[21]=$tasso[7] FOR $I = 22 TO 42 $HMAX[$I]=$HMAX[$I-21] $tasso[$I]=$tasso[$I-21] NEXT ; FOR $I = 43 TO 63 $HMAX[$I]=$HMAX[$I-42] $tasso[$I]=$tasso[$I-42] NEXT GLOBAL $D[10] ; $D[1]=1*$wd $D[2]=0.75*$wd $D[3]=0.5*$wd $D[4]=0.4*$wd $D[5]=0.3*$wd $D[6]=0.2*$wd $D[7]=0.1*$wd $D[8]=0.01*$wd $D[9]=0.001*$wd for $i = 1 to 7 $ohm[$i]=$tn/(0.9*$tp[$i]) next for $i = 1 to 21 if $i<=7 Then $wnd[$i]=$wind[1] elseif $i>7 and $i<=14 Then $wnd[$i]=$wind[2] Else $wnd[$i]=$wind[3] endif next $daf[1]=1/sqrt((1-($ohm[1])^2)^2+(2*0.07*$ohm[1])^2) $daf[2]=1/sqrt((1-($ohm[1])^2)^2+(2*0.07*$ohm[2])^2) $daf[3]=1/sqrt((1-($ohm[1])^2)^2+(2*0.07*$ohm[3])^2) $daf[4]=1/sqrt((1-($ohm[2])^2)^2+(2*0.07*$ohm[4])^2) $daf[5]=1/sqrt((1-($ohm[2])^2)^2+(2*0.07*$ohm[5])^2) $daf[6]=1/sqrt((1-($ohm[2])^2)^2+(2*0.07*$ohm[6])^2) $daf[7]=1/sqrt((1-($ohm[3])^2)^2+(2*0.07*$ohm[7])^2) $daf[8]=1/sqrt((1-($ohm[3])^2)^2+(2*0.07*$ohm[1])^2) $daf[9]=1/sqrt((1-($ohm[3])^2)^2+(2*0.07*$ohm[2])^2) $daf[10]=1/sqrt((1-($ohm[4])^2)^2+(2*0.07*$ohm[3])^2) $daf[11]=1/sqrt((1-($ohm[4])^2)^2+(2*0.07*$ohm[4])^2) $daf[12]=1/sqrt((1-($ohm[4])^2)^2+(2*0.07*$ohm[5])^2) $daf[13]=1/sqrt((1-($ohm[5])^2)^2+(2*0.07*$ohm[6])^2) $daf[14]=1/sqrt((1-($ohm[5])^2)^2+(2*0.07*$ohm[7])^2) $daf[15]=1/sqrt((1-($ohm[5])^2)^2+(2*0.07*$ohm[1])^2) $daf[16]=1/sqrt((1-($ohm[6])^2)^2+(2*0.07*$ohm[2])^2) $daf[17]=1/sqrt((1-($ohm[6])^2)^2+(2*0.07*$ohm[3])^2) $daf[18]=1/sqrt((1-($ohm[6])^2)^2+(2*0.07*$ohm[4])^2) $daf[19]=1/sqrt((1-($ohm[7])^2)^2+(2*0.07*$ohm[5])^2) $daf[20]=1/sqrt((1-($ohm[7])^2)^2+(2*0.07*$ohm[6])^2) $daf[21]=1/sqrt((1-($ohm[7])^2)^2+(2*0.07*$ohm[7])^2) ; FOR $I = 22 TO 42 $daf[$I]=$daf[$I-21] $wnd[$i]=$wnd[$I-21] NEXT ; FOR $I = 43 TO 63 $daf[$I]=$daf[$I-42] $wnd[$i]=$wnd[$I-42] NEXT ; local $oexcel=_excel_open(True) local $oworkbook=_Excel_BookNew($oExcel,1) _Excel_RangeWrite($oWorkbook, 1, "Generated at : "&_Date_Time_SystemTimeToDateTimeStr($tCur), "A1") ; _Excel_RangeWrite($oWorkbook, 1, "Factored preload,kN :", "a4") _Excel_RangeWrite($oWorkbook, 1, "Allowable moment,kNm :", "a5") _Excel_RangeWrite($oWorkbook, 1, $pd, "d4") _Excel_RangeWrite($oWorkbook, 1, $mmt, "d5") _Excel_RangeWrite($oWorkbook, Default, ">>Leg loads at footing level in Global coords, kN ", "a7") _Excel_RangeWrite($oWorkbook, Default, "Ld_case", "a9") _Excel_RangeWrite($oWorkbook, Default, "Joint", "b9") _Excel_RangeWrite($oWorkbook, Default, "Fx", "c9") _Excel_RangeWrite($oWorkbook, Default, "Fy", "d9") _Excel_RangeWrite($oWorkbook, Default, "Fz", "e9") _Excel_RangeWrite($oWorkbook, Default, ">>Leg loads at guide level, local coords, kN,kNm ", "g7") _Excel_RangeWrite($oWorkbook, Default, "Fx", "g9") _Excel_RangeWrite($oWorkbook, Default, "Fy", "h9") _Excel_RangeWrite($oWorkbook, Default, "Fz", "i9") _Excel_RangeWrite($oWorkbook, Default, "Mx", "j9") _Excel_RangeWrite($oWorkbook, Default, "My", "k9") _Excel_RangeWrite($oWorkbook, Default, "Mz", "l9") _Excel_RangeWrite($oWorkbook, 1, "Mresultant", "m9") _Excel_RangeWrite($oWorkbook, 1, "Additional jacking load", "o9") For $LD= 1 to $CASE ; for each loadcase ;~ FILECOPY($inpfile1,"LDF_INPFILE."&$LD) ;~ GLOBAL $INPFILE=@SCRIPTDIR&"\LDF_INPFILE."&$LD global $inpRead=FileReadToArray($INPFILE) GLOBAL $INPLINES=_FileCountLines($inpfile) Global $inplinefound ;~ msgbox(0,"linecount",$INPLINES) FOR $I = 1 TO $INPLINES if ($inpRead[$i]="*LOAD CASES START HERE") Then $inplinefound=$i ExitLoop Else endif next filecopy($inpfile,@scriptdir&"\ldfinp.") global $ldfinp=@scriptdir&"\ldfinp." _FILEWRITETOLINE($ldfinp,$inplinefound+2,"LOADCN "&$ld&" 1.0000 1.000 1.000",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+3,"DEAD",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+4,"DEAD -Z M",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+5,"* WIND",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+6,"WIND",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+7,"WIND1 W "&_windformat($WND[$ld]+0.000001)&" 10.0"&_windformat($sacs_env+0.000001)&" AP10A1",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+8,"* WAVE/CURRENT",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+9,"WAVE",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+10,"WAVE1.00STOK"&_formatnumber($hmax[$LD]+0.000001)&" "&_formatnumber($tasso[$LD]+0.000001)&" "&_formatnumber($sacs_env+0.000001)&" D 5.0 72MS 1",TRUE) if $ld>21 and $ld<=42 Then _FILEWRITETOLINE($ldfinp,$inplinefound+11,"* curr = 1.5 knots *",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+12,"CURR",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+13,"CURR "&_CURRFORMAT($d[9]+0.0000001)&" "&_CURRFORMAT($c2[9]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+14,"CURR "&_CURRFORMAT($d[8]+0.0000001)&" "&_CURRFORMAT($c2[8]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+15,"CURR "&_CURRFORMAT($d[7]+0.0000001)&" "&_CURRFORMAT($c2[7]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+16,"CURR "&_CURRFORMAT($d[6]+0.0000001)&" "&_CURRFORMAT($c2[6]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+17,"CURR "&_CURRFORMAT($d[5]+0.0000001)&" "&_CURRFORMAT($c2[5]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+18,"CURR "&_CURRFORMAT($d[4]+0.0000001)&" "&_CURRFORMAT($c2[4]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+19,"CURR "&_CURRFORMAT($d[3]+0.0000001)&" "&_CURRFORMAT($c2[3]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+20,"CURR "&_CURRFORMAT($d[2]+0.0000001)&" "&_CURRFORMAT($c2[2]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+21,"CURR "&_CURRFORMAT($d[1]+0.0000001)&" "&_CURRFORMAT($c2[1]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) elseif $ld>42 and $ld<=63 THEN _FILEWRITETOLINE($ldfinp,$inplinefound+11,"* curr = 3knots *",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+12,"CURR",TRUE) _FILEWRITETOLINE($ldfinp,$inplinefound+13,"CURR "&_CURRFORMAT($d[9]+0.0000001)&" "&_CURRFORMAT($c3[9]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+14,"CURR "&_CURRFORMAT($d[8]+0.0000001)&" "&_CURRFORMAT($c3[8]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+15,"CURR "&_CURRFORMAT($d[7]+0.0000001)&" "&_CURRFORMAT($c3[7]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+16,"CURR "&_CURRFORMAT($d[6]+0.0000001)&" "&_CURRFORMAT($c3[6]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+17,"CURR "&_CURRFORMAT($d[5]+0.0000001)&" "&_CURRFORMAT($c3[5]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+18,"CURR "&_CURRFORMAT($d[4]+0.0000001)&" "&_CURRFORMAT($c3[4]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+19,"CURR "&_CURRFORMAT($d[3]+0.0000001)&" "&_CURRFORMAT($c3[3]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+20,"CURR "&_CURRFORMAT($d[2]+0.0000001)&" "&_CURRFORMAT($c3[2]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) _FILEWRITETOLINE($ldfinp,$inplinefound+21,"CURR "&_CURRFORMAT($d[1]+0.0000001)&" "&_CURRFORMAT($c3[1]+0.0000001)&" "&_CURRFORMAT($sacs_env+0.0000001)&" LN",true) Else _FILEWRITETOLINE($ldfinp,$inplinefound+11,"** NO CURR ** ",true) endif GLOBAL $SEARUNFILE global $lrunfile ; if fileexists($searunfile)=0 then _filecreate(@scriptdir&"\"&"sea.runx") $SEARUNFILE=@scriptdir&"\sea.runx" ;~ _filecreate(@scriptdir&"\ldf.runx") ;~ $runfile=@scriptdir&"\ldf.runx" FILEOPEN($SEARUNFILE) Filewrite($searunfile,'Rem Avars = 1 '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'Rem AnalysisTypeCategory=4 '&@CRLF) Filewrite($searunfile,'Rem AnalysisTypeIndex=1 '&@CRLF) Filewrite($searunfile,'Rem AnalTyp 200 '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'// AVAR 1 is use seastate. '&@CRLF) Filewrite($searunfile,'Rem AVARFile 1,1001 InpFile Seastate Input File~~0~1~1~STDIN~0~1 '&@CRLF) Filewrite($searunfile,'// AVAR 2 is Pre, Solve. '&@CRLF) Filewrite($searunfile,'Rem AVARFile 1 InpFile SACS Model File~'&$LDFINP&'~0~2~1~JCKFIL~0~3 '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'Rem AVARFile 1 OutFile Output Structural Load File~seaoci~0~1~7~SPDATA~1~5 '&@CRLF) Filewrite($searunfile,'Rem AVARFile 178 OutFile Seastate Plot File~~0~1~5~SEANPF~0~4 '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'Rem ConcatFile=sealst. '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'Rem aaaIexe SACWSEA~1~0~0~0~1~sealst.~ '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF CONCAT GOTO SKIPCAT1 '&@CRLF) Filewrite($searunfile,' IF EXIST "sealst." DEL "sealst." '&@CRLF) Filewrite($searunfile,':SKIPCAT1 '&@CRLF) Filewrite($searunfile,'IF NOT CONCAT GOTO SKIPCAT2 '&@CRLF) Filewrite($searunfile,' IF EXIST "sealst." DEL "sealst." '&@CRLF) Filewrite($searunfile,':SKIPCAT2 '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'echo SACS Seastate Environmental Loads Started '&@CRLF) Filewrite($searunfile,'IF EXIST *.EDI DEL *.EDI '&@CRLF) Filewrite($searunfile,'IF EXIST ?### DEL ?### '&@CRLF) Filewrite($searunfile,'SET SACOPT=XXXXNCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX '&@CRLF) Filewrite($searunfile,'SET SACMSG=sacmsg.tmp '&@CRLF) Filewrite($searunfile,'SET SMEMFL=$sacsdata\aisc13th.sec '&@CRLF) Filewrite($searunfile,'SET SEAOPT=XXXXXXXXXXXXXXXXX '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF NOT AVAR 1001 GOTO SEASKIPJCKFIL '&@CRLF) Filewrite($searunfile,' SET JCKFIL='&$LDFINP&' '&@CRLF) Filewrite($searunfile,':SEASKIPJCKFIL '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF EXIST "seaoci" DEL "seaoci" '&@CRLF) Filewrite($searunfile,'SET SPDATA=seaoci '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF NOT AVAR 178 GOTO SEASKIPSEANPF '&@CRLF) Filewrite($searunfile,' IF EXIST "" DEL "" '&@CRLF) Filewrite($searunfile,' SET SEANPF= '&@CRLF) Filewrite($searunfile,':SEASKIPSEANPF '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'SACTIM SACWSEA STARTED AT '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF NOT AVAR 1001 GOTO SEASKIPINPUTSEA '&@CRLF) Filewrite($searunfile,' run ~sacsprog~SACWSEA < >> sealst. '&@CRLF) Filewrite($searunfile,':SEASKIPINPUTSEA '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF AVAR 1001 GOTO SEASKIPINPUTMODEL '&@CRLF) Filewrite($searunfile,' run ~sacsprog~SACWSEA < '&$LDFINP&' >> sealst. '&@CRLF) Filewrite($searunfile,':SEASKIPINPUTMODEL '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'IF ERRORLEVEL 1 GOTO ERR '&@CRLF) Filewrite($searunfile,'SACTIM SACWSEA FINISHED AT '&@CRLF) Filewrite($searunfile,' '&@CRLF) Filewrite($searunfile,'echo SACS Seastate Environmental Loads Finished '&@CRLF) Filewrite($searunfile,'GOTO EXIT '&@CRLF) Filewrite($searunfile,':ERR '&@CRLF) Filewrite($searunfile,'ECHO *** ERROR in SACS Execution *** '&@CRLF) Filewrite($searunfile,'ECHO Please check output listing files for additional error messages '&@CRLF) Filewrite($searunfile,':EXIT '&@CRLF) Filewrite($searunfile,'RESET JCKFIL= '&@CRLF) Filewrite($searunfile,'RESET SPDATA= '&@CRLF) Filewrite($searunfile,'RESET SMEMFL= '&@CRLF) Filewrite($searunfile,'RESET SEANPF= '&@CRLF) Filewrite($searunfile,'RESET SACOPT= '&@CRLF) Filewrite($searunfile,'RESET SACMSG= '&@CRLF) Filewrite($searunfile,'IF EXIST *.TMP DEL *.TMP '&@CRLF) Filewrite($searunfile,'IF EXIST *.TMZ DEL *.TMZ '&@CRLF) Filewrite($searunfile,'IF EXIST *.EDI DEL *.EDI '&@CRLF) Filewrite($searunfile,'IF EXIST lf90.eer DEL lf90.eer '&@CRLF) Filewrite($searunfile,' '&@CRLF) FILECLOSE($SEARUNFILE) Else endif sleep(500) seastaterun() sleep(1000) Global $seaotp_file=@scriptdir&"\sealst." global $seatot_lines=_FileCountLines($seaotp_file) ; local $seaotpRead=FileReadToArray($seaotp_file) ; for $i= 1 to $seatot_lines if(stringleft($seaotpread[$i],40)=" MAXIMUM SHEAR") Then $maxshearlinenum=$i Else endif Next ;~ msgbox(0,0,$maxshearlinenum) ; updating inertia $maxshearline[$ld]=filereadline($seaotp_file,$maxshearlinenum+1) $minshearline[$ld]=filereadline($seaotp_file,$maxshearlinenum+1+10) _StringSplitToVar($maxshearline[$LD] , "\S+") $maxshear[$LD]=eval("StringToVar" & 4) _StringSplitToVar($minshearline[$LD] , "\S+") $minshear[$LD]=eval("StringToVar" & 4) ;~ MSGBOX(0,0,$MAXSHEAR[$LD]&"..."&$MINSHEAR[$LD]&"..."&$DAF[$LD]) $inertia_f[$ld]=0.5*($maxshear[$ld]-$minshear[$ld])*($daf[$ld]-1) $inertia_fx[$ld]=(($inertia_f[$ld]*cos($sacs_env*$pi/180.0))/3)+0.0000001 $inertia_fy[$ld]=(($inertia_f[$ld]*sin($sacs_env*$pi/180.0))/3)+0.0000001 ;MSGBOX(0,0,$INERTIA_FX[$LD]&", "&$INERTIA_FY[$LD]&", "&$DAF[$LD]) if $ld<=21 then _FILEWRITETOLINE($ldfINP,$inplinefound+11,"** inertia loads for case without current **",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+12,"LOAD 3001 "&_INERTIA($inertia_fx[$ld])&_INERTIA($inertia_fy[$ld])&" GLOB JOIN",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+13,"LOAD 3002 "&_INERTIA($inertia_fx[$ld])&_INERTIA($inertia_fy[$ld])&" GLOB JOIN",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+14,"LOAD 3003 "&_INERTIA($inertia_fx[$ld])&_INERTIA($inertia_fy[$ld])&" GLOB JOIN",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+15,"** end of inertia loads ** ",TRUE) else ; for ld>=22 _FILEWRITETOLINE($ldfINP,$inplinefound+22,"** inertia loads for case with current **",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+23,"LOAD 3001 "&_INERTIA($inertia_fx[$ld])&_INERTIA($inertia_fy[$ld])&" GLOB JOIN",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+24,"LOAD 3002 "&_INERTIA($inertia_fx[$ld])&_INERTIA($inertia_fy[$ld])&" GLOB JOIN",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+25,"LOAD 3003 "&_INERTIA($inertia_fx[$ld])&_INERTIA($inertia_fy[$ld])&" GLOB JOIN",TRUE) _FILEWRITETOLINE($ldfINP,$inplinefound+26,"** end of inertia loads ** ",TRUE) endif ; end of updating inertia fileclose($ldfinp) ;~ msgbox(0,0,"check") if FileExists($lrunfile)=0 then ; create ldf run file _filecreate(@scriptdir&"\"&"ldf.runx") $lRUNFILE=@scriptdir&"\ldf.runx" fileopen($lrunfile) filewrite($lrunfile,'Rem Avars = 2, 3, 10, 12, 1, 21, 1021, 1013 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'Rem AnalysisTypeCategory=1 '&@CRLF) filewrite($lrunfile,'Rem AnalysisTypeIndex=5 '&@CRLF) filewrite($lrunfile,'@ECHO OFF '&@CRLF) filewrite($lrunfile,'Rem Project= 1 Version= 7 WorkFile= C:\Program Files\SACS51\Samples\samples.wsh '&@CRLF) filewrite($lrunfile,'echo SACS Large Deflection Analysis Started '&@CRLF) filewrite($lrunfile,'Rem AnalTyp 502 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'Rem AVARFile 1,1001 InpFile Seastate Input File~~0~1~1~STDIN~0~1 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 2 InpFile SACS Model File~'&$ldfinp&'~0~2~1~JCKFIL~0~3 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 132 InpFile Superelement File~~0~9~10~SUBIN~7~132 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 4 InpFile PSI Input File~~0~4~1~STDIN~0~13 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 13,1013 InpFile Joint Can Input File~~0~13~1~STDIN~0~20 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 12,138 InpFile Post Processor Input File~~0~12~1~STDIN~0~21 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'//Rem OutFile Large Deflection Output Listing File~Large Deflection.list~0~10~2~STOUT~2~2 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 1 OutFile Output Structural Data File~seaoci~0~1~7~SPDATA~1~4 '&@CRLF) filewrite($lrunfile,'Rem OutFile Large Deflecton Solution File~Large Deflection.solution~0~10~3~PSTFIL~5~9 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 10 OutFile Updated SACS Model File~ldfoci~0~10~7~SACSOUT~1~14 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 2 OutFile SACS Common Solution File~ldfcsf~0~10~3~PSTFIL~5~18 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 144 OutFile Foundation Plot File~~0~4~5~NPCFIL~0~17 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 4,134 OutFile Foundation Superelement File~~0~4~10~PILSEF~0~19 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 4,1134 OutFile Foundation Superelement File~~0~4~10~PILSEF~0~19 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 174 OutFile Pile Solution File~~0~4~3~PILCSF~0~17 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 21 OutFile Postvue Data Base Directory~psvdb~0~21~25~POSTVIN~0~26 '&@CRLF) filewrite($lrunfile,'Rem AVARFile 130 OutFile Redesigned SACS Input Data File~~0~12~7~OUTRDZ~0~4 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'Rem List of possible executables to run with this runfile. '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'Rem ConcatFile=ldflst. '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWSEA~1~1~0~0~0~ldflst.~ '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWPRE~2~0~0~0~1~ldflst.~ '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWSLV~3~0~0~0~1~ldflst.~ '&@CRLF) filewrite($lrunfile,'// Rem aaaIexe SACWPSI~4~1~2~6~0~%List04 '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWLDF~10~0~0~0~1~ldflst.~ '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWPST~12~1~2~0~1~ldflst.~ '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWJCN~13~1~2~0~0~ldflst.~ '&@CRLF) filewrite($lrunfile,'Rem aaaIexe SACWPVI~21~1~2~0~1~ldflst.~ '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF CONCAT GOTO SKIPCAT1 '&@CRLF) filewrite($lrunfile,' IF EXIST "ldflst." DEL "ldflst." '&@CRLF) filewrite($lrunfile,' IF EXIST "ldflst." DEL "ldflst." '&@CRLF) filewrite($lrunfile,' IF EXIST "ldflst." DEL "ldflst." '&@CRLF) filewrite($lrunfile,' IF EXIST "%List04" DEL "%List04" '&@CRLF) filewrite($lrunfile,' IF EXIST "%List06" DEL "ldflst." '&@CRLF) filewrite($lrunfile,' IF EXIST "%List11" DEL "ldflst." '&@CRLF) filewrite($lrunfile,' IF EXIST "ldflst." DEL "ldflst." '&@CRLF) filewrite($lrunfile,' IF EXIST "ldflst." DEL "ldflst." '&@CRLF) filewrite($lrunfile,':SKIPCAT1 '&@CRLF) filewrite($lrunfile,'IF NOT CONCAT GOTO SKIPCAT2 '&@CRLF) filewrite($lrunfile,' IF EXIST "ldflst." DEL "ldflst." '&@CRLF) filewrite($lrunfile,':SKIPCAT2 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF EXIST *.EDI DEL *.EDI '&@CRLF) filewrite($lrunfile,'IF EXIST ?### DEL ?### '&@CRLF) filewrite($lrunfile,'SET SACOPT=STXXNCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX '&@CRLF) filewrite($lrunfile,'SET LDFINP= '&@CRLF) filewrite($lrunfile,'SET SEAOPT=XXXXXXXXXXXXXXXXX '&@CRLF) filewrite($lrunfile,'SET SMEMFL=$sacsdata\aisc13th.sec '&@CRLF) filewrite($lrunfile,'SET SACMSG=sacmsg.tmp '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'//SET JCKFIL=model.tmz '&@CRLF) filewrite($lrunfile,'SET SMEMFL=$sacsdata\aisc13th.sec '&@CRLF) filewrite($lrunfile,'IF EXIST "seaoci" DEL "seaoci" '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'// Seastate '&@CRLF) filewrite($lrunfile,'IF NOT AVAR 1 GOTO SKIP1 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'SET SEAOPT=XXXXXXXXXXXXXXXXX '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 1001 GOTO SEASKIPJCKFIL '&@CRLF) filewrite($lrunfile,' SET JCKFIL='&$ldfinp&' '&@CRLF) filewrite($lrunfile,' :SEASKIPJCKFIL '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF EXIST "seaoci" DEL "seaoci" '&@CRLF) filewrite($lrunfile,' SET SPDATA=seaoci '&@CRLF) filewrite($lrunfile,' SACTIM SACWSEA STARTED AT '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 1001 GOTO SEASKIPINPUTSEA '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWSEA < >> ldflst. '&@CRLF) filewrite($lrunfile,' :SEASKIPINPUTSEA '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF AVAR 1001 GOTO SEASKIPINPUTMODEL '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWSEA < '&$ldfinp&' >> ldflst. '&@CRLF) filewrite($lrunfile,' :SEASKIPINPUTMODEL '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,' SACTIM SACWSEA FINISHED AT '&@CRLF) filewrite($lrunfile,':SKIP1 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'// Pre and Solve '&@CRLF) filewrite($lrunfile,'SET PREOUT=SACOBF.TMP '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF NOT AVAR 1 GOTO SKIP2 '&@CRLF) filewrite($lrunfile,' SET SACSIN=seaoci '&@CRLF) filewrite($lrunfile,':SKIP2 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF AVAR 1 GOTO SKIP3 '&@CRLF) filewrite($lrunfile,' SET SACSIN='&$ldfinp&' '&@CRLF) filewrite($lrunfile,':SKIP3 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF EXIST "ldfcsf" DEL "ldfcsf" '&@CRLF) filewrite($lrunfile,'SET PSTFIL=ldfcsf '&@CRLF) filewrite($lrunfile,'IF NOT AVAR 132 GOTO SKIPSUBIN '&@CRLF) filewrite($lrunfile,' SET SUBIN= '&@CRLF) filewrite($lrunfile,':SKIPSUBIN '&@CRLF) filewrite($lrunfile,'SACTIM SACWPRE STARTED AT '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF NOT AVAR 1 GOTO SKIP4 '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWPRE < seaoci >> ldflst. '&@CRLF) filewrite($lrunfile,':SKIP4 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF AVAR 1 GOTO SKIP5 '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWPRE < '&$ldfinp&' >> ldflst. '&@CRLF) filewrite($lrunfile,':SKIP5 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,'SACTIM SACWPRE FINISHED AT '&@CRLF) filewrite($lrunfile,'SACTIM SACWSLV STARTED AT '&@CRLF) filewrite($lrunfile,'run ~sacsprog~SACWSLV >> ldflst. '&@CRLF) filewrite($lrunfile,'IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,'SACTIM SACWSLV FINISHED AT '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'// Large Deflection '&@CRLF) filewrite($lrunfile,':LDF1 '&@CRLF) filewrite($lrunfile,'IF EXIST "ldfoci" DEL "ldfoci" '&@CRLF) filewrite($lrunfile,'SET SACSOUT=ldfoci '&@CRLF) filewrite($lrunfile,'SACTIM SACWLDF STARTED AT '&@CRLF) filewrite($lrunfile,'run ~sacsprog~SACWLDF >> ldflst. '&@CRLF) filewrite($lrunfile,'IF ERRORLEVEL 99 GOTO LDF2 '&@CRLF) filewrite($lrunfile,'IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,'SACTIM SACWLDF FINISHED AT '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'// Recycle Pre and Solve '&@CRLF) filewrite($lrunfile,'SET SACSIN=ldfoci '&@CRLF) filewrite($lrunfile,'SET PREOUT=SACOBF.TMP '&@CRLF) filewrite($lrunfile,'IF EXIST "ldfcsf" DEL "ldfcsf" '&@CRLF) filewrite($lrunfile,'SET PSTFIL=ldfcsf '&@CRLF) filewrite($lrunfile,'SACTIM SACWPRE STARTED AT '&@CRLF) filewrite($lrunfile,'run ~sacsprog~SACWPRE < ldfoci >> ldflst. '&@CRLF) filewrite($lrunfile,'IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,'SACTIM SACWPRE FINISHED AT '&@CRLF) filewrite($lrunfile,'SACTIM SACWSLV STARTED AT '&@CRLF) filewrite($lrunfile,'run ~sacsprog~SACWSLV >> ldflst. '&@CRLF) filewrite($lrunfile,'IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,'SACTIM SACWSLV FINISHED AT '&@CRLF) filewrite($lrunfile,'IF EXIST LDFOCI.TMP DEL LDFOCI.TMP '&@CRLF) filewrite($lrunfile,'REN "ldfoci" LDFOCI.TMP '&@CRLF) filewrite($lrunfile,'SET SACSNEW=LDFOCI.TMP '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF NOT AVAR 1 GOTO SKIP7 '&@CRLF) filewrite($lrunfile,' SET SACSIN=seaoci '&@CRLF) filewrite($lrunfile,':SKIP7 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'IF AVAR 1 GOTO SKIP9 '&@CRLF) filewrite($lrunfile,' SET SACSIN='&$ldfinp&' '&@CRLF) filewrite($lrunfile,':SKIP9 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'GOTO LDF1 '&@CRLF) filewrite($lrunfile,':LDF2 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'//Post '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 12 GOTO SKIP6 '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 130 GOTO SKIPOUTRDZ '&@CRLF) filewrite($lrunfile,' IF EXIST "" DEL "" '&@CRLF) filewrite($lrunfile,' SET OUTRDZ= '&@CRLF) filewrite($lrunfile,' :SKIPOUTRDZ '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 138 GOTO SKIPPOSTIN '&@CRLF) filewrite($lrunfile,' SET POSTIN= '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 21 GOTO SKIPPVONLY '&@CRLF) filewrite($lrunfile,' SET PVONLY=NO '&@CRLF) filewrite($lrunfile,' SET NEWPST=PSTCSF.TMP '&@CRLF) filewrite($lrunfile,' :SKIPPVONLY '&@CRLF) filewrite($lrunfile,' :SKIPPOSTIN '&@CRLF) filewrite($lrunfile,' SACTIM SACWPST STARTED AT '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWPST >> ldflst. '&@CRLF) filewrite($lrunfile,' IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,' SACTIM SACWPST FINISHED AT '&@CRLF) filewrite($lrunfile,' :SKIP6 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'//Joint Can '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 13 GOTO SKIP13 '&@CRLF) filewrite($lrunfile,' SACTIM SACWJCN STARTED AT '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWJCN < >> ldflst. '&@CRLF) filewrite($lrunfile,' IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,' SACTIM SACWJCN FINISHED AT '&@CRLF) filewrite($lrunfile,' :SKIP13 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'//Postvue DB '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 21 GOTO SKIP8 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF AVAR 1021 GOTO MODELINPUT '&@CRLF) filewrite($lrunfile,' SET SACSIN='&$ldfinp&' '&@CRLF) filewrite($lrunfile,' :MODELINPUT '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF AVAR 12 GOTO SKIPC '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 138 GOTO SKIPPOSTIN2 '&@CRLF) filewrite($lrunfile,' SET POSTIN= '&@CRLF) filewrite($lrunfile,' SET NEWPST=PSTCSF.TMP '&@CRLF) filewrite($lrunfile,' SET PVONLY=TEMP '&@CRLF) filewrite($lrunfile,' SACTIM SACWPST STARTED AT '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWPST < >> ldflst. '&@CRLF) filewrite($lrunfile,' IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,' SACTIM SACWPST FINISHED AT '&@CRLF) filewrite($lrunfile,' :SKIPPOSTIN2 '&@CRLF) filewrite($lrunfile,' :SKIPC '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF NOT AVAR 138 GOTO SKIPSETPSTFIL '&@CRLF) filewrite($lrunfile,' SET PSTFIL=PSTCSF.TMP '&@CRLF) filewrite($lrunfile,' :SKIPSETPSTFIL '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,' IF EXIST "psvdb" DEL "psvdb" '&@CRLF) filewrite($lrunfile,' SET POSTVIN=psvdb '&@CRLF) filewrite($lrunfile,'SET MODSTR=YES '&@CRLF) filewrite($lrunfile,' SET PVONLY=YES '&@CRLF) filewrite($lrunfile,' SACTIM SACWPVI STARTED AT '&@CRLF) filewrite($lrunfile,' run ~sacsprog~SACWPVI >> ldflst. '&@CRLF) filewrite($lrunfile,' IF ERRORLEVEL 1 GOTO ERR '&@CRLF) filewrite($lrunfile,' SACTIM SACWPVI FINISHED AT '&@CRLF) filewrite($lrunfile,' :SKIP8 '&@CRLF) filewrite($lrunfile,' '&@CRLF) filewrite($lrunfile,'ECHO SACS Large Deflection Analysis Finished '&@CRLF) filewrite($lrunfile,'GOTO EXIT '&@CRLF) filewrite($lrunfile,':ERR '&@CRLF) filewrite($lrunfile,'ECHO *** ERROR in SACS Execution *** '&@CRLF) filewrite($lrunfile,'ECHO Please check output listing files for additional error messages '&@CRLF) filewrite($lrunfile,':EXIT '&@CRLF) filewrite($lrunfile,'RESET JCKFIL= '&@CRLF) filewrite($lrunfile,'RESET SPDATA= '&@CRLF) filewrite($lrunfile,'RESET SMEMFL= '&@CRLF) filewrite($lrunfile,'RESET SACSIN= '&@CRLF) filewrite($lrunfile,'RESET PREOUT= '&@CRLF) filewrite($lrunfile,'RESET PSTFIL= '&@CRLF) filewrite($lrunfile,'RESET SACSIN= '&@CRLF) filewrite($lrunfile,'RESET SACSOUT= '&@CRLF) filewrite($lrunfile,'RESET POSTVIN= '&@CRLF) filewrite($lrunfile,'RESET SACSNEW= '&@CRLF) filewrite($lrunfile,'RESET MODSTR= '&@CRLF) filewrite($lrunfile,'RESET PVONLY= '&@CRLF) filewrite($lrunfile,'RESET SACOPT= '&@CRLF) filewrite($lrunfile,'RESET SACMSG= '&@CRLF) filewrite($lrunfile,'RESET SEAOPT= '&@CRLF) filewrite($lrunfile,'RESET SUBIN= '&@CRLF) filewrite($lrunfile,'IF EXIST *.TMP DEL *.TMP '&@CRLF) filewrite($lrunfile,'IF EXIST *.EDI DEL *.EDI '&@CRLF) filewrite($lrunfile,'IF EXIST lf90.eer DEL lf90.eer '&@CRLF) fileclose($lrunfile) Else endif sleep(500) ;~ MSGBOX(0,"2", $LD) ;~ msgbox(0,"Inertia update", "Please check loadcombinations in 'ldfinp_"&$inp_name&"' before proceeding") LDFrun() sleep(1000); time Global $ldflst_file=@scriptdir&"\ldflst." global $ldflst_totlines=_FileCountLines($ldflst_file) sleep(5000) ;~ msgbox(0,"line",$ldflst_totlines) global $ldflst_var1=" JOINT LOAD FORCE(X) FORCE(Y) FORCE(Z) MOMENT(X) MOMENT(Y) MOMENT(Z)" Global $pd=guictrlread($k_pre) ;~ Global $ld=guictrlread($k_loads) Global $nd1=guictrlread($k_node) global $md1=$nd1-1 global $mmt=guictrlread($k_mom) global $ldflst_LFound global $ldflst_LFound_legloads[4] ; Global $nd2=$nd1+100 Global $md2=$nd2-1 ; Global $nd3=$nd1+200 Global $md3=$nd3-1 ; Global $memb1=string($md1)&"-"&string($nd1)&" "&string($md1) Global $memb2=string($md2)&"-"&string($nd2)&" "&string($md2) Global $memb3=string($md3)&"-"&string($nd3)&" "&string($md3) Global $leg_fx[4],$leg_fy[4],$leg_fz[4],$leg_mx[4],$leg_my[4],$leg_mz[4] ; below variables to include moment without due to inclination global $lo_mx[4],$lo_my[4],$lo_mz[4] global $l_mres[4] ;~ fileopen($ldflst_file) local $aRead=FileReadToArray($ldflst_file) sleep(1000) ;~ msgbox(0,"linecount,ub",$ldflst_totlines&" ,,,"&ubound($aRead)) ;~ msgbox(0,"online",$aRead[0]) for $i= 0 to Ubound($ldflst_file) ;~ for $i= 0 to ubound($aRead)-1 if $aRead[$i]=$ldflst_var1 Then $ldflst_LFound=$i ExitLoop else EndIf Next ;~ msgbox(0,0,$aRead) Global $foot_reactions[4] Global $jt[4] global $lod_1 global $coord ;global $ldflst_var1=" JOINT LOAD FORCE(X) FORCE(Y) FORCE(Z) MOMENT(X) MOMENT(Y) MOMENT(Z)" global $foot_fx[4] global $foot_fy[4] global $foot_fz[4] for $i= 0 to $ldflst_totlines ;~ for $i= 0 to ubound($aRead)-1 if(stringleft($aRead[$i],15)=$memb1) then $ldflst_LFound_LEGLOADS[1]=$i elseif(stringleft($aRead[$i],15)=$memb2) Then $ldflst_LFound_LEGLOADS[2]=$i elseif(stringleft($aRead[$i],15)=$memb3) Then $ldflst_LFound_LEGLOADS[3]=$i EndIf Next $foot_reactions[1]=filereadline($ldflst_file,$ldflst_LFound+10) $foot_reactions[2]=filereadline($ldflst_file,$ldflst_LFound+12) $foot_reactions[3]=filereadline($ldflst_file,$ldflst_LFound+14) Global $LEGLOADS[4] $LEGLOADS[1]=filereadline($ldflst_file,$ldflst_LFound_legloads[1]+2) $LEGLOADS[2]=filereadline($ldflst_file,$ldflst_LFound_legloads[2]+2) $LEGLOADS[3]=filereadline($ldflst_file,$ldflst_LFound_legloads[3]+2) ;~ MSGBOX(0,"3", $LD) ; for $i= 1 to 3 _StringSplitToVar($foot_reactions[$i] , "\S+") $jt[$i]=eval("StringToVar" & 0) $lod_1=eval("StringToVar" & 1) $foot_fx[$i]=eval("StringToVar" & 2) $foot_fy[$i]=eval("StringToVar" & 3) $foot_fz[$i]=eval("StringToVar" & 4) ; _StringSplitToVar($legloads[$i] , "\S+") ;~ $mem[1]=eval("StringToVar" & 0) $lod_1=eval("StringToVar" & 1) $leg_fx[$i]=eval("StringToVar" & 2) $leg_fy[$i]=eval("StringToVar" & 3) $leg_fz[$i]=eval("StringToVar" & 4) $lo_mx[$i]=eval("StringToVar" & 5) $lo_my[$i]=eval("StringToVar" & 6) $lo_mz[$i]=eval("StringToVar" & 7) ; below update to include inclination moment $leg_mz[$i]=((0.005*$larm*$foot_fz[$i])*$lo_mz[$i]/sqrt(($lo_mz[$i])^2+($lo_my[$i])^2))+$lo_mz[$i] $leg_my[$i]=((0.005*$larm*$foot_fz[$i])*$lo_my[$i]/sqrt(($lo_mz[$i])^2+($lo_my[$i])^2))+$lo_my[$i] #cs IF $LD= 1 Then $J=0 Else $J=3 ENDIF #ce _Excel_RangeWrite($oWorkbook, 1, $lD, "a"&10+$ld+3*($Ld-1)) ; _Excel_RangeWrite($oWorkbook, 1, $jt[$i], "b"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $foot_fx[$i], "c"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $foot_fy[$i], "d"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $foot_fz[$i], "e"&9+$i+$ld+3*($Ld-1)) ; sleep(1000) _Excel_RangeWrite($oWorkbook, 1, $leg_fx[$i], "g"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $leg_fy[$i], "h"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $leg_fz[$i], "i"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $lo_mx[$i], "j"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $leg_my[$i], "k"&9+$i+$ld+3*($Ld-1)) _Excel_RangeWrite($oWorkbook, 1, $leg_mz[$i], "l"&9+$i+$ld+3*($Ld-1)) $l_mres[$i]=sqrt(($leg_my[$i]^2+$leg_mz[$i]^2)) _Excel_RangeWrite($oWorkbook, 1, $l_mres[$i], "m"&9+$i+$ld+3*($Ld-1)) next GLOBAL $ADDT_JACK[64] GLOBAL $MAX_MOM,$MAX_MOM1 GLOBAL $MAX_FZ,$MAX_FZ1 $MAX_FZ1=_MAX(NUMBER($foot_fz[1]),NUMBER($foot_fz[2])) $MAX_FZ=_MAX(NUMBER($MAX_FZ1),NUMBER($foot_fz[3])) ;~ MSGBOX(0,"LOADS..",$MAX_FZ1&"- "&$MAX_FZ) $MAX_MOM1=_MAX(NUMBER($L_MRES[1]),NUMBER($L_MRES[2])) $MAX_MOM=_MAX(NUMBER($MAX_MOM1),NUMBER($L_MRES[3])) ;~ MSGBOX(0,"4", $LD) ;~ MSGBOX(0,"F,M",$MAX_FZ1&" , "&$MAX_FZ&" , "&$MAX_MOM1&" , "&$MAX_MOM) IF $MAX_MOM<=$mmt Then $ADDT_JACK[$ld]=$PD-$MAX_FZ Else $ADDT_JACK[$ld]=0 ENDIF _Excel_RangeWrite($oWorkbook, 1, $ADDT_JACK[$ld], "O"&10+$ld+3*($Ld-1)) _Excel_BookSave($oWorkbook) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; FileCopy($ldfinp,@ScriptDir&"\LDFINP."&$LD) FileCopy($ldflst_file,@ScriptDir&"\LDFLST."&$LD) FILEDELETE($LDFLST_FILE) ; ; ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;~ MSGBOX(0,"RUN done",$LD) Next ; >>>>>>>>for each load case _Excel_SheetAdd ($oWorkbook, Default ,False ,1,"Nomo" ) _excel_rangewrite($oWorkbook,"Nomo","Nomogram tables (Additional jacking load/Leg, kN)","a1") For $k= 1 to 22 step 10 if $k=1 then _excel_rangewrite($oWorkbook,"Nomo","Nomogram tables for first 21 load cases (Wind= 50 knots)","a"&$k+4) elseif $k=11 Then _excel_rangewrite($oWorkbook,"Nomo","Nomogram tables for load cases 22-42 (Wind= 70 knots)","a"&$k+4) Else _excel_rangewrite($oWorkbook,"Nomo","Nomogram tables for load cases 43-63 (Wind= 100 knots)","a"&$k+4) endif _excel_rangewrite($oWorkbook,"Nomo","Wave ht","a"&$k+6) _excel_rangewrite($oWorkbook,"Nomo","curr=0","b"&$k+5) _excel_rangewrite($oWorkbook,"Nomo","curr=1.5","c"&$k+5) _excel_rangewrite($oWorkbook,"Nomo","curr=3.0","d"&$k+5) ; _excel_rangewrite($oWorkbook,"Nomo","20","a"&$k+6) _excel_rangewrite($oWorkbook,"Nomo","25","a"&$k+7) _excel_rangewrite($oWorkbook,"Nomo","30","a"&$k+8) _excel_rangewrite($oWorkbook,"Nomo","35","a"&$k+9) _excel_rangewrite($oWorkbook,"Nomo","40","a"&$k+10) _excel_rangewrite($oWorkbook,"Nomo","45","a"&$k+11) _excel_rangewrite($oWorkbook,"Nomo","50","a"&$k+12) next for $i=1 to 7 $e=$e+1 ;for cases 1 to 7 - column1, block1 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i],"b"&$e) ;forr cases 22 to 28 - column2, block1 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i+21],"c"&$e) ;for cases 43 to 50 - column3, block1 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i+42],"d"&$e) Next ; block 2 for $i=8 to 14 $e=$e+1 ;for cases 8 to 14 - column1, block2 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i],"b"&$e+10) ;for cases 29 to 35 - column2, block2 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i+21],"c"&$e+10) ;for cases 50 to 56 - column3, block2 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i+42],"d"&$e+10) NEXT ; block 3 for $i=15 to 21 $e=$e+1 ;for cases 15 to 21 - column1, block3 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i],"b"&$e+20) ;for cases 36 to 42 - column2, block3 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i+21],"c"&$e+20) ;for cases 57 to 63 - column3, block3 _excel_rangewrite($oWorkbook,"Nomo",$addt_jack[$i+42],"d"&$e+20) NEXT $st=2 EndSwitch WEND Func _windformat($inumber) Local $ilength=stringlen(stringleft($inumber,stringinstr($inumber,".")-1)) switch $ilength case 7 return stringformat("%07.f",$inumber) case 6 return stringformat("%06.1f",$inumber) case 5 return stringformat("%05.2f",$inumber) case 4 return stringformat("%04.3f",$inumber) case 3 return stringformat("%03.4f",$inumber) case 2 return stringformat("%02.5f",$inumber) case else return stringformat("%01.6f",$inumber) EndSwitch Endfunc Func _CURRFORMAT($inumber) Local $ilength=stringlen(stringleft($inumber,stringinstr($inumber,".")-1)) switch $ilength case 2 return stringformat("%03.1f",$inumber) case 1 return stringformat("%02.2f",$inumber) case ELSE return stringformat("%01.3f",$inumber) EndSwitch Endfunc Func _formatnumber($inumber) Local $ilength=stringlen(stringleft($inumber,stringinstr($inumber,".")-1)) switch $ilength case 5 return stringformat("%05.0f",$inumber) case 4 return stringformat("%04.1f",$inumber) case 3 return stringformat("%03.2f",$inumber) case 2 return stringformat("%02.3f",$inumber) case else return stringformat("%01.4f",$inumber) EndSwitch Endfunc Func _INERTIA($inumber) Local $ilength=stringlen(stringleft($inumber,stringinstr($inumber,".")-1)) switch $ilength case 6 return stringformat("%06.f",$inumber) case 5 return stringformat("%05.1f",$inumber) case 4 return stringformat("%04.2f",$inumber) case 3 return stringformat("%03.3f",$inumber) case 2 return stringformat("%02.4f",$inumber) case else return stringformat("%01.5f",$inumber) EndSwitch Endfunc Func _StringSplitToVar($sStr , $what_to_get) Local $aString = StringRegExp($sStr , $what_to_get, 3) For $i = 0 To UBound($aString)-1 assign("StringToVar" & $i , $aString[$i] , 2) Next return UBound($aString)-1 EndFunc Func seastaterun() WinActivate("SACS 5.3 V8i") winwaitactive("SACS 5.3 V8i") send("^r") winwaitactive("SACS Run Files") ControlSetText("SACS Run Files","",1148,"SEA.runx") SEND("{ENTER}") WinWaitActive("SACS Executive","Initializing") WinWaitActive("SACS Executive","Initializing") sleep(2000) endfunc Func LDFrun() WinActivate("SACS 5.3 V8i") winwaitactive("SACS 5.3 V8i") send("^r") winwaitactive("SACS Run Files") ControlSetText("SACS Run Files","",1148,"LDF.runx") SEND("{ENTER}") WinWaitActive("SACS Executive","Initializing") WinWaitActive("SACS Executive","Initializing") sleep(2000) endfunc