runepogs version 1.3

Author

William M. Chan

Date

January, 2026.

Description

This tool can be used to run a matrix of EPOGS cases by executing EGADS2SRF and POGS. The runs are specified via an input command file described below. The input filename can be specified via the command line or a default filename called epogscmds.tcl can be used. For POGS, the run is split into 4 steps plus an additional repair step if needed. Defective near-body grids must be repaired first before proceeding to the subsequent steps. Timings for the different steps and the total time to complete each case are also reported. Options to clean up the files generated in each directory are also available.

The steps executed by runepogs include

For each case, the following data is generated:

Input File

Inputs to runepogs are specified via a Tcl input command file prescribed using the "-i cmdfile" command line option where cmdfile is the name of the command file. An example of this file format is given in tutorials/epogs/RunCases/epogscmds.tcl. It is used to specify the list of cases to be run, and for each case, the following inputs are needed.

Optional inputs include

A sample input file is given below for a run with two cases defined and named wingbody and L+C. By default, both cases will be executed. Alternatively, we can run just the wingbody case by specifying "runepogs wingbody" on the command line.


#---------------------------------
# Input file for running runepogs
#---------------------------------

   global Par

# Set up list of run directories and commands to run egads2srf and pogs
# Then set up cases to run in Par(caselist)

# Set up case list

   set Par(caselist) [list wingbody L+C]

# For each case, prescribe the following:

#  Par($case,dir)  = full path to run directory
#  Par($case,earg) = egads2srf command arguments
#  Par($case,parg) = pogs command arguments
#  Par($case,repair) = Tcl repair script file name in directory $Par($case,dir)
#  Par($case,rundc) = logical "t" or "f" to control execution of domain connectivity step

   set Par(wingbody,dir) "/Users/mydir/testcases/casea"
   set Par(wingbody,earg) "-i wingbody.stp -isym 2 -frm 1 -maxa 4.5 -maxe 10.0 -maxc 0.5 -maxsr 1.135 -npmin 13 -dswall 3.615E-04 -stenqual 0.5"
   set Par(wingbody,parg) "-arcse 4.0 -klayer 3 -autosplayadj -mdvopt 2 -genbox 5 -dcfmix -xdfrac 0.3"
   set Par(wingbody,repair) "wingbody_repair.tcl"
   set Par(wingbody,rundc) "t"

   set Par(L+C,dir) "/Users/mydir/testcases/caseb"
   set Par(L+C,earg) "-i L+C.stp -b 1 -maxa 4.0 -maxe 0.25 -maxsr 1.2"
   set Par(L+C,parg) "-klayer 2 -autosplayadj -mdvopt 2 -genbox 5 -dcfmix -xdfrac 0.4"
   set Par(L+C,repair) "L+C_repair.tcl"
   set Par(L+C,rundc) "t"

 


Usage

 
  runepogs            (run both egads2srf and pogs using default command file epogscmds.tcl)
  runepogs -i cmdfile (run both egads2srf and pogs using command file cmdfile)
  runepogs -e   (run egads2srf only)
  runepogs -p   (run pogs only)
  runepogs -c   (clean files generated by both egads2srf and pogs)
  runepogs -ce  (clean files generated by egads2srf only)
  runepogs -cp  (clean files generated by pogs only)
  Append one more argument rcase to apply the command to the rcase list only,
  otherwise the command will be applied to all cases in Par(caselist)
  E.g., runepogs -i runs.tcl case1 case5  (run case1 and case5 defined in Par(caselist) in runs.tcl)
        runepogs -c case2                 (clean up files for case2 defined in Par(caselist) in epogscmds.tcl)
 


Last modified: Sun Jan 25 13:40:00 PDT 2026