cape.cfdx.cmd: Creating system commands¶
This module creates system commands as lists of strings for binaries or scripts
that require multiple command-line options. It is closely tied to
cape.bin.
Commands are created in the form of a list of strings. This is the format used
in subprocess commands (with shell=``False``) and also
cape.bin.calli(), etc. As a very simple example, the system command
"ls -lh" becomes the list ["ls", "-lh"].
Inputs to the functions in this module take one of two forms:
A
cape.options.Optionsobject or subset thereofKeyword arguments
The first method allows any appropriate Options interface and then
extracts the appropriate portion. For instance verify() can be given
either a top-level options object, a "RunControl" options interface (e.g.
from cape.options.runControl), or a dict of options specific to
verify. It does this using the following Python commands:
opts = opts.get("RunControl", opts) opts = opts.get("verify", opts)
Other functions, such as aflr3(), rely on the built-in methods of the
cape.options.Options class. For example, opts.get_aflr3_i(j)
returns the aflr3 input file name for phase j if opts is in any of the
following classes:
Class
Description
cape.options.OptionsAll Cape settings
cape.options.runControl.RunControlAll run settings
cape.options.aflr3.aflr3AFLR3 settings
- cape.cfdx.cmd.aflr3(opts=None, j=0, **kw)¶
Create AFLR3 system command as a list of strings
- Call:
>>> cmdi = aflr3(opts=None, j=0, **kw)
- Inputs:
- opts:
cape.options.Options Options interface, either global, “RunControl”, or “aflr3”
- j:
int|None Phase number
- blc:
bool Whether or not to generate prism layers
- blr:
float Boundary layer stretching option
- blds:
float Initial surface stretching
- cdfr:
float Maximum geometric stretching
- cdfs: {
None} | 0 <=float<=10 Distribution function exclusion zone
- angblisimx:
float Max BL intersection angle
- opts:
- Outputs:
- cmdi:
list(str) System command created as list of strings
- cmdi:
- Versions:
2016-04-04
@ddalle: Version 1.0
- cape.cfdx.cmd.intersect(opts=None, j=0, **kw)¶
Interface to Cart3D binary
intersect- Call:
>>> cmd = cape.cmd.intesect(opts=None, **kw)
- Inputs:
- opts:
cape.options.Options Options interface
- i:
str Name of input
trifile- o:
str Name of output
trifile
- opts:
- Outputs:
- cmd:
list(str) Command split into a list of strings
- cmd:
- Versions:
2015-02-13
@ddalle: Version 1.0
- cape.cfdx.cmd.tecmcr(mcr='export-lay.mcr', **kw)¶
Run a Tecplot macro
- Call:
>>> cmd = tecmcr(mcr="export-lay.mcr")
- Inputs:
- mcr:
str File name of Tecplot macro
- mcr:
- Outputs:
- cmd:
list(str) Command split into a list of strings
- cmd:
- Versions:
2015-03-10
@ddalle: Version 1.0
- cape.cfdx.cmd.verify(opts=None, **kw)¶
Generate command for Cart3D executable
verify- Call:
>>> cmdi = cape.cmd.verify(opts=None, **kw)
- Inputs:
- opts:
cape.options.Options Options interface
- i: {
"Components.i.tri"|str Name of tri file to test
- ascii: {
True} |False Flag to consider input file ASCII
- binary:
True| {False} Flag to consider input file binary
- opts:
- Outputs:
- cmdi:
list(str) Command split into a list of strings
- cmdi:
- Versions:
2015-02-13
@ddalle: Version 1.0