#!MC 1200 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # # HiLiftPW-3 SECTIONAL CUTTER (Version 1 - 03 MARCH 2017) # TO BE USED WITH: SECTIONAL CUT DATA SUBMITTAL FORM (Version 1 - 03 MARCH 2017) # # INSTRUCTIONS: # 1. Load Surface Zones into Tecplot # 2. Assign LABEL variable as the "XXX" identifier of the dataset # 3. Assign INFO variable as the appropriate zone header for the particular case # 4. Assign FILE variable to the path & filename to write out sectional cut data # 5. Assign (X,Y,Z) variables to the variable number in dataset (typically 1,2,3) # 6. Assign CP variable to the variable number in dataset (typically 4) # 7. Assign CF variable to the variable number in dataset (if exists) # 8. Assign CFX,CFY,CFZ variables to the variable number in dataset (if exists) # 9. Run macro and verify output to |FILE| # 10. Copy zone data into data form (e.g., case1a_cpcf_v1.dat) # # XXX: Participant ID (To be assigned by HiLiftPW workshop committee) # #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $!VARSET |LABEL| = "015" $!VARSET |INFO| = "a8 case1a coarse FT fullgap" $!VARSET |FILE| = "./SectionalCuts.dat" $!VARSET |X| = "1" # Variable Number for X (Required) $!VARSET |Y| = "2" # Variable Number for Y (Required) $!VARSET |Z| = "3" # Variable Number for Z (Required) $!VARSET |CP| = "9" # Variable Number for CP (Required) $!VARSET |CF| = "16" # Variable Number for CF (Leave Blank If Not In Data) $!VARSET |CFX| = "13" # Variable Number for CFX (Leave Blank If Not In Data) $!VARSET |CFY| = "14" # Variable Number for CFY (Leave Blank If Not In Data) $!VARSET |CFZ| = "15" # Variable Number for CFZ (Leave Blank If Not In Data) #++++++++++++++++++++++++++++++++++++++ END USER INPUTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # #=================================================================== # Create Sectional Cutting Macro Function #-------------------------------------- $!MACROFUNCTION NAME = "SECTIONALCUTTER" $!GLOBALTHREED SLICE{ORIGIN{X = |1| Y = |2| Z = |3|}} $!GLOBALTHREED SLICE{NORMAL{X = |4| Y = |5| Z = |6|}} $!CREATESLICEZONEFROMPLANE SLICESOURCE = SURFACEZONES FORCEEXTRACTIONTOSINGLEZONE = YES COPYCELLCENTEREDVALUES = NO $!ENDMACROFUNCTION #=================================================================== #=================================================================== # Prepare Variable Names & Positions #-------------------------------------- $!IF "|CFX|" == "" $!ALTERDATA EQUATION = "{CFXo} = -999" $!VARSET |CFX| = "|NUMVARS|" $!ENDIF $!IF "|CFY|" == "" $!ALTERDATA EQUATION = "{CFYo} = -999" $!VARSET |CFY| = "|NUMVARS|" $!ENDIF $!IF "|CFZ|" == "" $!ALTERDATA EQUATION = "{CFZo} = -999" $!VARSET |CFZ| = "|NUMVARS|" $!ENDIF $!RENAMEDATASETVAR VAR = |X| NAME = "Xo" $!RENAMEDATASETVAR VAR = |Y| NAME = "Yo" $!RENAMEDATASETVAR VAR = |Z| NAME = "Zo" $!RENAMEDATASETVAR VAR = |CP| NAME = "CPo" $!RENAMEDATASETVAR VAR = |CFX| NAME = "CFXo" $!RENAMEDATASETVAR VAR = |CFY| NAME = "CFYo" $!RENAMEDATASETVAR VAR = |CFZ| NAME = "CFZo" $!IF "|CF|" == "" $!ALTERDATA EQUATION = "{CFo} = SQRT({CFXo}**2 + {CFYo}**2 + {CFZo}**2)" $!VARSET |CF| = "|NUMVARS|" $!ENDIF $!RENAMEDATASETVAR VAR = |CF| NAME = "CFo" $!ALTERDATA EQUATION = "{X} = {Xo}" $!VARSET |NUMVARS0| = |NUMVARS| $!ALTERDATA EQUATION = "{Y} = {Yo}" $!ALTERDATA EQUATION = "{Z} = {Zo}" $!ALTERDATA EQUATION = "{CP} = {CPo}" $!ALTERDATA EQUATION = "{CF} = {CFo}" $!ALTERDATA EQUATION = "{CFX} = {CFXo}" $!ALTERDATA EQUATION = "{CFY} = {CFYo}" $!ALTERDATA EQUATION = "{CFZ} = {CFZo}" $!VARSET |NUMVARS1| = |NUMVARS| #=================================================================== #=================================================================== # Establish Zone Number For Cut Data #-------------------------------------- $!VARSET |NUMZONES0| = |NUMZONES| $!VARSET |NUMZONES1| = |NUMZONES| $!VARSET |NUMZONES1| += 1 #=================================================================== #=================================================================== # Create Sectional Cuts #-------------------------------------- # eta=0.151, y=174.5 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 174.5, 0., 0., 1., 0.) # eta=0.240, y=277.5 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 277.5, 0., 0., 1., 0.) # eta=0.329, y=380.5 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 380.5, 0., 0., 1., 0.) # eta=0.418, y=483.5 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 483.5, 0., 0., 1., 0.) # eta=0.552, y=638 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 638.0, 0., 0., 1., 0.) # eta=0.685, y=792.5 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 792.5, 0., 0., 1., 0.) # eta=0.819, y=947 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0., 947.0, 0., 0., 1., 0.) # eta=0.908, y=1050 $!RUNMACROFUNCTION "SECTIONALCUTTER" (0.,1050.0, 0., 0., 1., 0.) #=================================================================== #=================================================================== # Rename Zones With Sectional Cut Names #-------------------------------------- $!VARSET |ZONE| = |NUMZONES0| $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing151 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing240 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing329 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing418 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing552 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing685 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing819 |INFO|' $!VARSET |ZONE| += 1 $!RENAMEDATASETZONE ZONE = |ZONE| NAME = '|LABEL| wing908 |INFO|' #=================================================================== #=================================================================== # Visualize Sectional Cuts #-------------------------------------- $!FIELDLAYERS SHOWMESH = NO $!FIELDLAYERS SHOWCONTOUR = NO $!FIELDLAYERS SHOWVECTOR = NO $!FIELDLAYERS SHOWSCATTER = NO $!FIELDLAYERS SHOWSHADE = NO $!FIELDLAYERS SHOWEDGE = NO $!FIELDLAYERS USELIGHTINGEFFECT = NO $!FIELDLAYERS USETRANSLUCENCY = NO $!FIELDMAP [ 1 - |NUMZONES0|] MESH{COLOR = BLACK} $!FIELDMAP [ 1 - |NUMZONES0|] MESH{LINETHICKNESS = 0.10} $!FIELDMAP [|NUMZONES1| - |NUMZONES| ] MESH{COLOR = GREEN} $!FIELDMAP [|NUMZONES1| - |NUMZONES| ] MESH{LINETHICKNESS = 0.80} $!FIELDMAP [ 1 - |NUMZONES| ] MESH{SHOW = NO} $!FIELDMAP [ 1 - |NUMZONES0|] MESH{SHOW = YES} $!FIELDMAP [|NUMZONES1| - |NUMZONES| ] MESH{SHOW = YES} $!FIELDLAYERS SHOWMESH = YES $!REDRAWALL #=================================================================== #=================================================================== # Write Sectional Cuts To |FILE| #-------------------------------------- $!SETDATASETTITLE "SectionalCuts" $!WRITEDATASET "|FILE|" ASSOCIATELAYOUTWITHDATAFILE = NO INCLUDEAUTOGENFACENEIGHBORS = NO INCLUDECUSTOMLABELS = NO INCLUDEDATA = YES INCLUDEDATASHARELINKAGE = NO INCLUDEGEOM = NO INCLUDETEXT = NO BINARY = NO USEPOINTFORMAT = YES PRECISION = 12 TECPLOTVERSIONTOWRITE = TECPLOTCURRENT VARPOSITIONLIST = [|NUMVARS0| - |NUMVARS1|] ZONELIST = [|NUMZONES1| - |NUMZONES|] #=================================================================== #=================================================================== # Delete Zones With Sectional Cuts #-------------------------------------- #$!DELETEZONES [|NUMZONES1|-|NUMZONES|] #===================================================================