cape.runmatrix
: Run matrix interface¶
This module provides a class cape.runmatrix.RunMatrix
for
interacting with a list of cases. Usually this is the list of cases
defined as the run matrix for a set of CFD solutions, and it is defined
in the "RunMatrix"
section of the JSON file.
However, the contents of the cape.runmatrix.RunMatrix
may have
a list of cases that differs from the run matrix, for example containing
instead the cases contained in a data book.
The key defining parameter of a run matrix is the list of independent
variables, which are referred to as “trajectory keys” within Cape. For
example, a common list of trajectory keys for an inviscid setup is
["mach", "alpha", "beta"]
. If the run matrix is loaded as x, then
the value of the Mach number for case number i would be x.mach[i]
.
If the name of the key to query is held within a variable k, use the
following syntax to get the value.
# Name of trajectory key k = "alpha" # Case number i = 10 # Value of that key for case *i* x[k][i]
Each case has a particular folder name. To get the name of the folder for case i, use the syntax
# Group folder name x.GetGroupFolderNames(i) # Case folder name x.GetFolderNames(i) # Combined group and case folder name x.GetFullFolderNames(i)
The trajectory class also contains several methods for filtering cases.
For example, the user may get the list of indices of cases with a Mach
number greater than 1.0, or the user may restrict to cases containing
the text "a1.0"
. These use the methods
cape.runmatrix.RunMatrix.Filter()
and
cape.runmatrix.RunMatrix.FilterString()
, respectively. Filtering
examples are shown below.
# Constraints I = x.Filter(cons=['mach>=0.5', 'mach<1.0']) # Contains exact text I = x.FilterString('m0.9') # Contains text with wildcards (like file globs) I = x.FilterWildcard('m?.?a-*') # Contains a regular expression I = x.FilterRegex('m0\.[5-8]+a')
These methods are all combined in the
cape.runmatrix.RunMatrix.GetIndices()
method. The
cape.runmatrix.RunMatrix.GetSweeps()
method provides a capability
to split a run matrix into groups in which the cases in each group
satisfy user-specified constraints, for example having the same angle of
attack.
Also provided are methods such as
cape.runmatrix.RunMatrix.GetAlpha()
, which allows the user to
easily access the angle of attack for case i even if the run matrix is
defined using total angle of attack and roll angle. Similarly,
cape.runmatrix.RunMatrix.GetReynoldsNumber()
returns the Reynolds
number per grid unit even if the run matrix uses static or dynamic
pressure, which relieves the user from having to do the conversions
before creating the run matrix conditions.
- class cape.runmatrix.RunMatrix(**kwargs)¶
Read a list of configuration variables
- Call:
>>> x = cape.RunMatrix(**traj) >>> x = cape.RunMatrix(File=fname, Keys=keys)
- Inputs:
- traj:
dict
Dictionary of options from
opts["RunMatrix"]
- traj:
- Keyword arguments:
- File:
str
Name of file to read, defaults to
'RunMatrix.dat'
- Keys:
list
ofstr
items List of variable names, defaults to
['Mach','alpha','beta']
- Prefix:
str
Prefix to be used for each case folder name
- GroupPrefix:
str
Prefix to be used for each grid folder name
- GroupMesh:
bool
Whether or not cases in same group can share volume grids
- Definitions:
dict
Dictionary of definitions for each key
- File:
- Outputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- x:
- Data members:
- x.nCase:
int
Number of cases in the trajectory
- x.prefix:
str
Prefix to be used in folder names for each case in trajectory
- x.GroupPrefix:
str
Prefix to be used for each grid folder name
- x.cols:
list
, dtype=str List of variable names used
- x.text:
dict
, dtype=list Lists of variable values taken from trajectory file
- x[key]:
numpy.ndarray
, dtype=float Vector of values of each variable specified in keys
- x.nCase:
- Versions:
2014-05-28
@ddalle
: Version 1.0 2014-06-05@ddalle
: Generalized for user-defined keys
- Copy()¶
Return a copy of the trajectory
- Call:
>>> y = x.Copy()
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- x:
- Outputs:
- y:
cape.runmatrix.RunMatrix
Separate trajectory with same data
- y:
- Versions:
2015-05-22
@ddalle
- ExpandIndices(itxt)¶
Expand string of subscripts into a list of indices
- Call:
>>> I = x.ExpandIndices(itxt)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- itxt:
str
orunicode
Text of subscripts, separated by ‘;’
- x:
- Outputs:
- I:
list
[int
] Array of indices matching any of the input indices
- I:
- Examples:
>>> x.ExpandIndices(':5') [0, 1, 2, 3, 4] >>> x.ExpandIndices(':4;7,8') [0, 1, 2, 3, 7, 8]
- Versions:
2015-03-10
@ddalle
: Version 1.02018-10-19
@ddalle
: Multi ranges,1:4,5,6:10
- Filter(cons, I=None)¶
Filter cases according to a set of constraints
The constraints are specified as a list of strings that contain inequalities of variables that are in x.cols.
For example, if m is the name of a key (presumably meaning Mach number), and a is a variable presumably representing angle of attack, the following example finds the indices of all cases with Mach number greater than 1.5 and angle of attack equal to
2.0
.>>> i = x.Filter(['m>1.5', 'a==2.0'])
A warning will be produces if one of the constraints does not correspond to a trajectory variable or cannot be evaluated for any other reason.
- Call:
>>> i = x.Filter(cons) >>> i = x.Fitler(cons, I)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- cons:
list
[str
] List of constraints
- I:
list
[int
] List of initial indices to consider
- x:
- Outputs:
- i:
np.ndarray
[int
] List of indices that match constraints
- i:
- Versions:
2014-12-09
@ddalle
: Version 1.0- 2019-12-09
@ddalle
: Version 2.0 Discontinue attributes, i.e. x.mach
Use
re
to process constraints
- 2019-12-09
- FilterRegex(txt, I=None)¶
Filter cases by a regular expression
- Call:
>>> i = x.FilterRegex(txt) >>> i = x.FilterRegex(txt, I)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- txt:
str
Wildcard to use as filter
- I:
list
[int
] List of initial indices to consider
- x:
- Outputs:
- i:
np.ndarray
[int
] List of indices that match constraints
- i:
- Versions:
2015-11-02
@ddalle
: Version 1.0
- FilterString(txt, I=None)¶
Filter cases by whether or not they contain a substring
- Call:
>>> i = x.FilterString(txt) >>> i = x.FilterString(txt, I)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- txt:
str
Substring to use as filter
- I:
list
[int
] List of initial indices to consider
- x:
- Outputs:
- i:
np.ndarray
[int
] List of indices that match constraints
- i:
- Versions:
2015-11-02
@ddalle
: Version 1.0
- FilterWildcard(txt, I=None)¶
Filter cases by whether or not they contain a substring
This function uses file wild cards, so for example
x.FilterWildcard('*m?.0*')
matches any case whose name containsm1.0
orm2.0
, etc. To make sure the?
is a number, use*m[0-9].0
. To obtain a filter that matches bothm10.0
andm1.0
, seeFilterRegex()
.- Call:
>>> i = x.FilterWildcard(txt) >>> i = x.FilterWildcard(txt, I)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- txt:
str
Wildcard to use as filter
- I:
list
[int
] List of initial indices to consider
- x:
- Outputs:
- i:
numpy.ndarray
[int
] List of indices that match constraints
- i:
- Versions:
2015-11-02
@ddalle
: Version 1.0
- FindMatch(y, i, keys=None, **kw)¶
Find first case (if any) matching another trajectory case
- Call:
>>> j = x.FindMatch(y, i, keys=None)
- Inputs:
- x:
attdb.runmatrix.RunMatrix
Run matrix conditions interface
- y:
attdb.runmatrix.RunMatrix
Target run matrix conditions interface
- i:
int
Case number of case in y
- keys: {
None
} |list
[str
] List of keys to test for equivalence
- tol: {
1e-8
} |float
>= 0 Tolerance for two values to be ideintal
- machtol: {tol} |
float
>= 0 Tolerance for mach key, for instance
- x:
- Outputs:
- j:
None
|int
Index of first matching case, if any
- j:
- Versions:
2017-07-21
@ddalle
: Version 1.0
- FindMatches(y, i, keys=None, **kw)¶
Find indices of cases matching another trajectory case
- Call:
>>> I = x.FindMatches(y, i, keys=None)
- Inputs:
- x:
attdb.runmatrix.RunMatrix
Run matrix conditions interface
- y:
attdb.runmatrix.RunMatrix
Target run matrix conditions interface
- i:
int
Case number of case in y
- keys: {
None
} |list
[str
] List of keys to test for equivalence
- tol: {
1e-8
} |float
>= 0 Tolerance for two values to be ideintal
- machtol: {tol} |
float
>= 0 Tolerance for mach key, for instance
- x:
- Outputs:
- I:
np.ndarray
(int
) List of indices matching all constraints
- I:
- Versions:
2017-07-21
@ddalle
: Version 1.0
- GetAlpha(i=None)¶
Get the angle of attack
- Call:
>>> alpha = x.GetAlpha(i=None)
- Inputs:
- x: :class;`cape.runmatrix.RunMatrix`
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- Outputs:
- alpha:
float
|np.ndarray
Angle of attack in degrees
- alpha:
- Versions:
2016-03-24
@ddalle
: Version 1.0
- GetAlphaManeuver(i=None)¶
Get the signed total angle of attack
- Call:
>>> am = x.GetAlphaManeuver(i)
- Inputs:
- x: :class;`cape.runmatrix.RunMatrix`
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- Outputs:
- am:
float
Signed maneuver angle of attack [deg]
- am:
- Versions:
2017-06-27
@ddalle
: Version 1.0
- GetAlphaTotal(i=None)¶
Get the total angle of attack
- Call:
>>> av = x.GetAlphaTotal(i)
- Inputs:
- x: :class;`cape.runmatrix.RunMatrix`
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- Outputs:
- av:
float
Total angle of attack in degrees
- av:
- Versions:
2016-03-24
@ddalle
: Version 1.02017-06-25
@ddalle
: Added default i =None
- GetBeta(i=None)¶
Get the sideslip angle
- Call:
>>> beta = x.GetBeta(i)
- Inputs:
- x: :class;`cape.runmatrix.RunMatrix`
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- Outputs:
- beta:
float
Angle of sideslip in degrees
- beta:
- Versions:
2016-03-24
@ddalle
: Version 1.02017-06-25
@ddalle
: Version 1.1; default i=None
- GetCoSweep(x0, i0, **kw)¶
Return a list of indices meeting sweep constraints
The sweep uses point i0 of co-trajectory x0 as the reference for the constraints.
For example, using
EqCons=['mach']
will cause the method to return points with x.mach matching x0.mach[i0].- Call:
>>> I = x.GetSweep(x0, i0, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- x0:
cape.runmatrix.RunMatrix
Another instance of the pyCart trajectory class
- i0:
int
Index of reference point in x0 for constraints
- SortVar:
str
Variable by which to sort each sweep
- EqCons:
list
[str
] List of trajectory keys which must match (exactly) the first point in the sweep
- TolCons:
dict
[float
] Dictionary whose keys are trajectory keys which must match the first point in the sweep to a specified tolerance and whose values are the specified tolerances
- IndexTol:
int
If specified, only trajectory points in the range
[i0,i0+IndexTol]
are considered for the sweep- I:
np.ndarray
[int
] List of x indices to consider in the sweep
- x:
- Outputs:
- I:
np.ndarray
[int
] List of x indices in the sweep
- I:
- Versions:
2015-06-03
@ddalle
: Version 1.0
- GetDensity(i=None, units=None)¶
Get freestream density
- Call:
>>> rho = x.GetDensity(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |"mks"
|"F"
|"R"
Output units
- x:
- Outputs:
- r:
float
freestream density [ ]
- r:
- Versions:
2018-04-13
@jmeeroff
: Version 1.0
- GetDynamicPressure(i=None, units=None)¶
Get dynamic freestream pressure (in psf or Pa)
- Call:
>>> q = x.GetDynamicPressure(i=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
|list
Case number(s)
- units: {
None
} |"mks"
|str
Output units
- x:
- Outputs:
- q:
float
Dynamic pressure [ psf | Pa | units ]
- q:
- Versions:
2016-03-24
@ddalle
: Version 1.02017-07-20
@ddalle
: Added default cases2018-04-17
@ddalle
: Units
- GetFirstKeyByType(KeyType)¶
Get all keys by type
- Call:
>>> key = x.GetFirstKeyByType(KeyType)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of pyCart trajectory class
- KeyType:
str
Key type to search for
- x:
- Outputs:
- key:
str
|None
First key such that
x.defns[key]['Type']
matches KeyType
- key:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetFolderNames(i=None, prefix=None)¶
Get case folder name(s) for one or more cases
The folder names will be of the form
F_m2.0a0.0b-0.5/
if the prefix is
'F'
, orm2.0a0.0b-0.5/
if the prefix is empty.
Run matrix keys that require separate meshes for each value of the key will not be part of the folder name. The number of digits used will match the number of digits in the run matrix file.
- Call:
>>> dname = x.GetFolderNames() >>> dname = x.GetFolderNames(i=None, prefix="F")
- Inputs:
- T:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- i:
int
orlist
Index of cases to process or list of cases. If this is
None
, all cases will be processed.- prefix:
str
Header for name of each folder
- T:
- Outputs:
- dname:
str
orlist
Folder name or list of folder names
- dname:
- Versions:
2014-05-28
@ddalle
: Version 1.02014-06-05
@ddalle
: Version 1.1; case folder only
- GetFullFolderNames(i=None, prefix=None)¶
Get full folder names for one or more cases
The folder names will be of the form
Grid/F_m2.0a0.0b-0.5/
if there are no trajectory keys that require separate grids or
Grid_d1.0/F_m2.0a0.0b-0.5/
if there is a key called
"delta"
with abbreviation'd'
that requires a separate mesh each time the value of that key changes. All keys in the trajectory file are included in the folder name at one of the two levels. The number of digits used will match the number of digits in the trajectory file.- Call:
>>> dname = x.GetFullFolderNames() >>> dname = x.GetFullFolderNames(i=None, prefix="F")
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- i:
int
orlist
Index of cases to process or list of cases. If this is
None
, all cases will be processed.- prefix:
str
Header for name of each case folder
- x:
- Outputs:
- dname:
str
orlist
Folder name or list of folder names
- dname:
- Versions:
2014-06-05
@ddalle
: Version 1.0
- GetGamma(i=None)¶
Get freestream ratio of specific heats
- Call:
>>> gam = x.GetGamma(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- x:
- Outputs:
- gam:
float
Ratio of specific heats
- gam:
- Versions:
2016-03-29
@ddalle
: Version 1.02017-07-20
@ddalle
: Added default cases
- GetGasProperty(k, vdef=None)¶
Get property from the
"Freestream"
section- Call:
>>> v = x.GetGasProperty(k, vdef=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- k:
str
Name of parameter
- vdef: {
None
} |any
Default value for the parameter
- x:
- Outputs:
- v:
float
|str
|any
Value of the
- v:
- Versions:
2016-03-24
@ddalle
: Version 1.0
- GetGroupFolderNames(i=None)¶
Get names of folders that require separate meshes
- Call:
>>> x.GetGroupFolderNames() >>> x.GetGroupFolderNames(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- i:
int
orlist
Index of cases to process or list of cases. If this is
None
, all cases will be processed.
- x:
- Outputs:
- dname:
str
orlist
Folder name or list of folder names
- dname:
- Versions:
2014-06-05
@ddalle
: Version 1.0
- GetGroupIndex(i)¶
Get group index from case index
- Call:
k = x.GetGroupIndex(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- i:
int
Index of case
- x:
- Outputs:
- j:
int
Index of group that contains case i
- j:
- Versions:
2014-09-27
@ddalle
: First versoin
- GetIndices(**kw)¶
Get indices from either list or constraints or both
- Call:
>>> I = x.GetIndices(I=None, cons=[], **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- I:
list
|str
Array of indices or text of indices
- cons:
list
[str
] |str
List of constraints or text list using commas
- re:
str
Regular expression to test against folder names
- filter:
str
Exact test to test against folder names
- glob:
str
Wild card to test against folder names
- x:
- Outputs:
- I:
np.ndarray
[int
] Array of indices
- I:
- Versions:
2015-03-10
@ddalle
: Version 1.02016-02-17
@ddalle
: Version 2.0; handle text
- GetKeyName(typ, key=None)¶
Get name of key by specified type; defaulting to first key with type
A ValueError exception is raised if input key has incorrect type or if no keys have that type.
- Call:
>>> k = x.GetKeyName(typ, key=None)
- Inputs:
- typ:
str
Name of key type, for instance ‘alpha_t’
- key: {
None
} |str
Name of trajectory key
- typ:
- Outputs:
- k:
str
Key meeting those requirements
- k:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetKeyValue(k, i=None, units=None, udef='1')¶
Get the value of one key with appropriate dimensionalization
- Call:
>>> v = x.GetKeyValue(k, i=None, units=None, udef="1")
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- k:
str
Name of run matrix variable (trajectory key)
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |"mks"
|str
Output units
- x:
- Outputs:
- v:
float
Value of key k for case i in units of units
- v:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetKeysByType(KeyType)¶
Get all keys by type
- Call:
>>> keys = x.GetKeysByType(KeyType) >>> keys = x.GetKeysByType(KeyTypes)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of pyCart trajectory class
- KeyType:
str
Key type to search for
- KeyTypes:
list
[str
] List of key types to search for
- x:
- Outputs:
- keys:
numpy.ndarray
(str
) List of keys such that
x[key]['Type']
matches KeyType
- keys:
- Versions:
2014-10-07
@ddalle
: Version 1.0
- GetKeysByValue(val)¶
Get all keys with specified type of value
- Call:
>>> keys = x.GetKeysByValue(val)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of pyCart trajectory class
- val:
str
Key value class to search for
- x:
- Outputs:
- keys:
numpy.ndarray
(str
) List of keys such that
x[key]['Value']
matches val
- keys:
- Versions:
2014-10-07
@ddalle
: Version 1.0
- GetMach(i=None)¶
Get Mach number
- Call:
>>> M = x.GetMach(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case number
- x:
- Outputs:
- M:
float
Mach number
- M:
- Versions:
2016-03-24
@ddalle
: Version 1.0
- GetMolecularWeight(i=None, units=None)¶
Get averaged freestream gas molecular weight
- Call:
>>> W = x.GetMolecularWeight(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |str
Requested units of output
- x:
- Outputs:
- W:
float
Molecular weight [kg/kmol | units ]
- W:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetNormalizedGasConstant(i=None, units=None)¶
Get averaged freestream gas molecular weight
- Call:
>>> R = x.GetNormalizedGasConstant(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |str
Requested units of output
- x:
- Outputs:
- R:
float
Normalized gas constant [J/kg*K | units ]
- R:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetPBSName(i, pre=None)¶
Get PBS name for a given case
- Call:
>>> lbl = x.GetPBSName(i, pre=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- i:
int
Run index
- pre: {
None
} |str
Prefix to be added to a PBS job name
- x:
- Outputs:
- lbl:
str
Short name for the PBS job, visible via qstat
- lbl:
- Versions:
2014-09-30
@ddalle
: Version 1.02016-12-20
@ddalle
: Moved to x and added prefix
- GetPhi(i=None)¶
Get the velocity roll angle
- Call:
>>> phiv = x.GetPhi(i)
- Inputs:
- x: :class;`cape.runmatrix.RunMatrix`
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- Outputs:
- phiv:
float
Velocity roll angle in degrees
- phiv:
- Versions:
2016-03-24
@ddalle
: Version 1.02017-06-25
@ddalle
: Added default i =None
- GetPhiManeuver(i=None)¶
Get the signed maneuver roll angle
- Call:
>>> phim = x.GetPhiManeuver(i)
- Inputs:
- x: :class;`cape.runmatrix.RunMatrix`
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)
- Outputs:
- phim:
float
Signed maneuver roll angle [deg]
- phim:
- Versions:
2017-06-27
@ddalle
: Version 1.02017-07-20
@ddalle
: Added default i =None
- GetPressure(i=None, units=None)¶
Get static freestream pressure (in psf or Pa)
- Call:
>>> p = x.GetPressure(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |psf"
|str
Output units
- x:
- Outputs:
- p:
float
Static pressure [ psf | Pa | units ]
- p:
- Versions:
2016-03-24
@ddalle
: Version 1.02017-07-20
@ddalle
: Added default cases2018-04-17
@ddalle
: Units
- GetReynoldsNumber(i=None, units=None)¶
Get Reynolds number (per foot)
- Call:
>>> Re = x.GetReynoldsNumber(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
|list
Case number(s)
- units: {
None
} |str
|unicode
Requested units for output
- x:
- Outputs:
- Re:
float
Reynolds number [1/inch | 1/ft]
- Re:
- Versions:
2016-03-23
@ddalle
: Version 1.02017-07-19
@ddalle
: Added default conditions
- GetSurfBC_BCIndex(i, key=None, comp=None, **kw)¶
Get namelist/column/etc. index for a surface BC key
- Call:
>>> inds = x.GetSurfBC_BCIndex(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- inds:
list
|str
|dict
Column index for each grid or component
- inds:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_CompID(i, key=None, comp=None, **kw)¶
Get component ID input for surface BC key
- Call:
>>> compID = x.GetSurfBC_CompID(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- compID:
list
|str
|dict
Surface boundary condition component ID(s)
- compID:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfBC_Gamma(i, key=None, comp=None, **kw)¶
Get ratio of specific heats for surface BC key
- Call:
>>> gam = x.GetSurfBC_Gamma(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- gam:
float
Surface boundary condition ratio of specific heats
- gam:
- Versions:
2016-03-29
@ddalle
: Version 1.02016-08-29
@ddalle
: Added comp
- GetSurfBC_Grids(i, key=None, comp=None, **kw)¶
Get list of grids for surface BC key
- Call:
>>> grids = x.GetSurfBC_Grids(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- grids:
list
(int
|str
) Surface boundary condition grids
- grids:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_Mach(i, key=None, comp=None, **kw)¶
Get Mach number input for surface BC key
- Call:
>>> M = x.GetSurfBC_Mach(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- M:
float
Surface boundary condition Mach number
- M:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfBC_Param(i, key, k, comp=None, vdef=None, **kw)¶
Process a single parameter of a SurfBC key
- Call:
>>> v = x.GetSurfBC_Param(i, key, k, comp=None, vdef=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
str
Name of trajectory key to use
- k:
str
Name of input parameter to find
- comp:
None
|str
If v is a dict, use v[comp] if comp is nontrivial
- vdef:
None
|any
Default value for v if v is
None
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Keyword arguments:
- j:
str
Name of function to use if parameter is a string
- j:
- Outputs:
- v:
None
|any
Value of the parameter
- v:
- Versions:
2016-08-31
@ddalle
: Version 1.0
- GetSurfBC_ParamType(key, k, comp=None)¶
Get generic parameter value and type for a surface BC key
- Call:
>>> v, t = x.GetSurfBC_ParamType(key, k, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- k:
str
Name of input parameter to find
- key:
str
Name of trajectory key to use
- comp:
None
|str
If v is a dict, use v[comp] if comp is nontrivial
- typ:
"SurfBC"
|str
RunMatrix key type to process
- x:
- Outputs:
- v:
None
|any
Value of the parameter
- t:
str
Name of the type of v (
type(v).__name__
)
- v:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_PlenumID(i, key=None, comp=None, **kw)¶
Get gas ID input for surface BC key
- Call:
>>> pID = x.GetSurfBC_PlenumID(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- pID:
int
Gas number for plenum boundary condition
- pID:
- Versions:
2018-10-18
@ddalle
: Version 1.0
- GetSurfBC_PressureCalibration(i, key=None, comp=None, **kw)¶
Get total pressure scaling factor used for calibration
- Call:
>>> fp = x.GetSurfBC_PressureCalibration(i, key, comp, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- fp: {
1.0
} |float
Pressure calibration factor
- fp: {
- Versions:
2016-04-12
@ddalle
: Version 1.0
- GetSurfBC_PressureOffset(i, key=None, comp=None, **kw)¶
Get offset used for calibration of static or stagn pressure
The value used by
cape
is given by\[\tilde{p} = \frac{b + ap}{p_\mathit{ref}}\]where \(\tilde{p}\) is the value used in the namelist, b is the value from this function, a is the result of
GetSurfBC_PressureCalibration()
, p is the input value from the JSON file, and \(p_\mathit{ref}\) is the value fromGetSurfBC_RefPressure()
. In code, this isp_tilde = (bp + fp*p) / pref
- Call:
>>> bp = x.GetSurfBC_PressureOffset(i, key, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- bp: {
0.0
} |float
Stagnation or static pressure offset
- bp: {
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_RefPressure(i, key=None, comp=None, **kw)¶
Get reference pressure for surface BC key
- Call:
>>> pinf = x.GetSurfBC_RefPressure(i, key, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- pinf:
float
Reference pressure to use, this divides the p0 value
- pinf:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfBC_RefTemperature(i, key=None, comp=None, **kw)¶
Get reference temperature for surface BC key
- Call:
>>> Tinf = x.GetSurfBC_RefTemperature(i, key, comp, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- Tinf:
float
Reference temperature, this divides the T0 value
- Tinf:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfBC_Species(i, key=None, comp=None, **kw)¶
Get species information for a surface BC key
The species can be specified using several different manners.
The first and most common approach is to simply set a fixed list, for example setting
"Species"
to[0.0, 1.0, 0.0]
to specify use of the second species, or[0.2, 0.8, 0.1]
to specify a mix of three different species.A second method is to specify an integer. For example, if
"Species"
is set to2
and"nSpecies"
is set to4
, the output will be[0.0, 1.0, 0.0, 0.0]
.The third method is a generalization of the first. An alternative to simply setting a fixed list of numeric species mass fractions, the entries in the list can depend on the values of other trajectory keys. For example, setting
"Species"
to['YH2', 'YO2']
will translate the mass fractions according to the values of trajectory keys"YH2"
and"YO2"
.- Call:
>>> Y = x.GetSurfBC_Species(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- Y:
list
(float
) List of species mass fractions for boundary condition
- Y:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_TemperatureCalibration(i, key=None, comp=None, **kw)¶
Get total/static temperature scaling factor for calibration
- Call:
>>> fT=x.GetSurfBC_TemperatureCalibration(i ,key, comp, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- fp: {
1.0
} |float
Pressure calibration factor
- fp: {
- Versions:
2016-08-30
@ddalle
: Version 1.0
- GetSurfBC_TemperatureOffset(i, key=None, comp=None, **kw)¶
Get offset for calibration of static or stag temperature
The value used by
cape
is given by\[\tilde{T} = \frac{b + aT}{T_\mathit{ref}}\]where \(\tilde{T}\) is the value used in the namelist, b is the value from this function, a is the result of
GetSurfBC_TemperatureCalibration()
, T is the input value from the JSON file, and \(T_\mathit{ref}\) is the value fromGetSurfBC_RefTemperature()
. In code, this isT_tilde = (bt + ft*T) / Tref
- Call:
>>> bt = x.GetSurfBC_TemperatureOffset(i, key, comp, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- bt: {
0.0
} |float
Stagnation or static temperature offset
- bt: {
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_TotalPressure(i, key=None, comp=None, **kw)¶
Get stagnation pressure input for surface BC key
- Call:
>>> p0 = x.GetSurfBC_TotalPressure(i, key, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |"SurfCT"
| Type to use for checking properties of key
- x:
- Outputs:
- p0:
float
Stagnation pressure parameter, usually p0/pinf
- p0:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfBC_TotalTemperature(i, key=None, comp=None, **kw)¶
Get stagnation pressure input for surface BC key
- Call:
>>> T0 = x.GetSurfBC_TotalTemperature(i, key, comp, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- T0:
float
Stagnation temperature parameter, usually T0/Tinf
- T0:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfBC_Val(i, key, v, t, vdef=None, **kw)¶
Default processing for processing a key by value
- Call:
>>> V = x.GetSurfBC_Val(i, key, v, t, vdef=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- key:
str
Name of trajectory key to use
- v:
None
|any
Value of the parameter
- t:
str
Name of the type of v (
type(v).__name__
)- vdef:
None
|any
Default value for v if v is
None
- x:
- Outputs:
- V:
any
Processed key, for example
x[key][i]
- V:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfBC_nSpecies(i, key=None, comp=None, **kw)¶
Get number of species for a surface BC key
- Call:
>>> nY = x.GetSurfBC_nSpecies(i, key=None, comp=None, **kw)
- Inptus:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- nY: {
1
} |int
Number of species
- nY: {
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfCT_AreaRatio(i, key=None, comp=None)¶
Get area ratio for surface CT key
- Call:
>>> AR = x.GetSurfCT_AreaRatio(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- AR:
float
Area ratio
- AR:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_CompID(i, key=None, comp=None)¶
Get component ID input for surface CT key
- Call:
>>> compID = x.GetSurfCT_CompID(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- compID:
list
(int
|str
) Surface boundary condition Mach number
- compID:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_ExitArea(i, key=None, comp=None)¶
Get exit area for surface CT key
- Call:
>>> A2 = x.GetSurfCT_ExitArea(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- A2:
float
Exit area
- A2:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_ExitMach(i, key=None, comp=None)¶
Get Mach number input for surface CT key
- Call:
>>> M2 = x.GetSurfCT_ExitMach(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- M2:
float
Nozzle exit Mach number
- M2:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_Gamma(i, key=None, comp=None)¶
Get ratio of specific heats input for surface CT key
- Call:
>>> gam = x.GetSurfCT_Gamma(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- gam: {
1.4
} |float
Ratio of specific heats
- gam: {
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_Grids(i, key=None, comp=None)¶
Get list of grids for surface CT key
- Call:
>>> compID = x.GetSurfCT_Grids(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- compID:
list
(int
|str
) Surface boundary condition Mach number
- compID:
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfCT_Mach(i, key=None, comp=None)¶
Get Mach number input for surface CT key
- Call:
>>> M = x.GetSurfCT_TotalTemperature(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- T0:
float
Total temperature of thrust conditions
- T0:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_PlenumID(i, key=None, comp=None, **kw)¶
Get gas ID input for surface CT key
- Call:
>>> pID = x.GetSurfCT_PlenumID(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |str
RunMatrix key type to process
- x:
- Outputs:
- pID:
int
Gas number for plenum boundary condition
- pID:
- Versions:
2018-10-18
@ddalle
: Version 1.0
- GetSurfCT_PressureCalibration(i, key=None, comp=None)¶
Get pressure calibration factor for CT key
- Call:
>>> fp = x.GetSurfCT_PressureCalibration(i, key, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- fp: {
1.0
} |float
Pressure calibration factor
- fp: {
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_PressureOffset(i, key=None, comp=None)¶
Get offset used for calibration of static or stagn pressure
The value used by
cape
is given by\[\tilde{p} = \frac{b + ap}{p_\mathit{ref}}\]where \(\tilde{p}\) is the value used in the namelist, b is the value from this function, a is the result of
GetSurfBC_PressureCalibration()
, p is the input value from the JSON file, and \(p_\mathit{ref}\) is the value fromGetSurfBC_RefPressure()
. In code, this isp_tilde = (bp + fp*p) / pref
- Call:
>>> bp = x.GetSurfCT_PressureOffset(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- bp: {
0.0
} |float
Stagnation or static pressure offset
- bp: {
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfCT_RefArea(i, key=None, comp=None)¶
Get ref area for surface CT key, this divides CT value
If this is
None
, it defaults to the vehicle reference area- Call:
>>> Aref = x.GetSurfCT_RefArea(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- ARef: {
None
} |float
Reference area; if
None
, use the vehicle area
- ARef: {
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_RefDynamicPressure(i, key=None, comp=None)¶
Get reference dynamic pressure for surface CT key
- Call:
>>> qinf = x.GetSurfCT_RefDynamicPressure(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- qinf:
float
Reference dynamic pressure to use, this divides the CT value
- qinf:
- Versions:
2016-04-12
@ddalle
: Version 1.02016-08-29
@ddalle
: Added component capability
- GetSurfCT_RefPressure(i, key=None, comp=None)¶
Get reference pressure input for surface CT total pressure
- Call:
>>> Tref = x.GetSurfCT_RefPressure(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- pref:
float
Reference pressure for normalizing T0
- pref:
- Versions:
2016-04-13
@ddalle
: Version 1.0
- GetSurfCT_RefTemperature(i, key=None, comp=None)¶
Reference temperature input for surf CT total temperature
- Call:
>>> Tref = x.GetSurfCT_RefTemperature(i, key, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- Tref:
float
Reference temperature for normalizing T0
- Tref:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSurfCT_Species(i, key=None, comp=None)¶
Get species input for surface CT key
- Call:
>>> Y = x.GetSurfCT_Species(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- Y:
list
(float
) Vector of mass fractions
- Y:
- Versions:
2016-08-30
@ddalle
: Version 1.0
- GetSurfCT_TemperatureCalibration(i, key=None, comp=None)¶
Get temperature calibration factor for CT key
- Call:
>>> fT = x.GetSurfCT_Temperature(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- fT: {
1.0
} |float
Temperature calibration factor
- fT: {
- Versions:
2016-08-30
@ddalle
: Version 1.0
- GetSurfCT_TemperatureOffset(i, key=None, comp=None)¶
Get offset for calibration of static or stag temperature
The value used by
cape
is given by\[\tilde{T} = \frac{b + aT}{T_\mathit{ref}}\]where \(\tilde{T}\) is the value used in the namelist, b is the value from this function, a is the result of
GetSurfBC_TemperatureCalibration()
, T is the input value from the JSON file, and \(T_\mathit{ref}\) is the value fromGetSurfBC_RefTemperature()
. In code, this isT_tilde = (bt + ft*T) / Tref
- Call:
>>> bt = x.GetSurfCT_TemperatureOffset(i, key, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- bt: {
0.0
} |float
Stagnation or static temperature offset
- bt: {
- Versions:
2016-08-29
@ddalle
: Version 1.0
- GetSurfCT_Thrust(i, key=None, comp=None)¶
Get thrust input for surface CT key
- Call:
>>> CT = x.GetSurfCT_Thrust(i, key=None, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp:
None
|str
Name of component to access if CT is a
dict
- comp: {
None
} |str
Name of component
- x:
- Outputs:
- CT:
float
Thrust parameter, either thrust or coefficient
- CT:
- Versions:
2016-04-11
@ddalle
: Version 1.02016-08-29
@ddalle
: Added component capability
- GetSurfCT_TotalPressure(i, key=None, comp=None)¶
Get stagnation pressure input for surface CT key
- Call:
>>> p0 = x.GetSurfCT_TotalPressure(i, key=None, comp=None, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfBC
key- comp: {
None
} |str
Name of component
- typ: {
"SurfBC"
} |"SurfCT"
| Type to use for checking properties of key
- x:
- Outputs:
- p0:
float
Stagnation pressure parameter, usually p0/pinf
- p0:
- Versions:
2016-03-28
@ddalle
: Version 1.0
- GetSurfCT_TotalTemperature(i, key=None, comp=None)¶
Get total temperature input for surface CT key
- Call:
>>> T0 = x.GetSurfCT_TotalTemperature(i, key, comp=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i:
int
Case index
- key:
None
|str
Name of key to use; defaults to first
SurfCT
key- comp: {
None
} |str
Name of component
- x:
- Outputs:
- T0:
float
Total temperature of thrust conditions
- T0:
- Versions:
2016-04-11
@ddalle
: Version 1.0
- GetSutherland_C(i=None, units=None)¶
Get reference temperature for Sutherland’s Law
- Call:
>>> C = x.GetSutherland_C(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |str
Requested units of output
- x:
- Outputs:
- C:
float
Reference temperature [ K | units ]
- C:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetSutherland_T0(i=None, units=None)¶
Get reference temperature for Sutherland’s Law
- Call:
>>> T0 = x.GetSutherland_T0(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |str
Requested units of output
- x:
- Outputs:
- T0:
float
Reference temperature [ K | units ]
- T0:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetSutherland_mu0(i=None, units=None)¶
Get reference viscosity for Sutherland’s Law
- Call:
>>> mu0 = x.GetSutherland_mu0(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |str
Requested units of output
- x:
- Outputs:
- mu0:
float
Reference viscosity [ kg/m*s | units ]
- mu0:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- GetSweep(M, **kw)¶
Return a list of indices meeting sweep constraints
The sweep uses the index of the first entry of
True
in M, i.e.i0=np.where(M)[0][0]
. Then the sweep contains all other points that meet all criteria with respect to trajectory point i0.For example, using
EqCons=['mach']
will cause the method to return points with x.mach matching x.mach[i0].- Call:
>>> I = x.GetSweep(M, **kw)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- M:
numpy.ndarray
(bool
) Mask of which trajectory points should be considered
- i0: {
np.where(M)[0][0]
} |int
Index of case to use as seed of sweep
- SortVar:
str
Variable by which to sort each sweep
- EqCons:
list
[str
] List of trajectory keys which must match (exactly) the first point in the sweep
- TolCons:
dict
(float
) Dictionary whose keys are trajectory keys which must match the first point in the sweep to a specified tolerance and whose values are the specified tolerances
- IndexTol:
int
If specified, only trajectory points in the range
[i0,i0+IndexTol]
are considered for the sweep
- x:
- Outputs:
- I:
np.ndarray
[int
] List of trajectory point indices in the sweep
- I:
- Versions:
2015-05-24
@ddalle
: Version 1.02017-06-27
@ddalle
: Added special variables
- GetSweeps(**kw)¶
Return a list of index sets in which each list contains cases that match according to specified criteria
For example, using
EqCons=['mach']
will cause the method to return lists of points with the same Mach number.- Call:
>>> J = x.GetSweeps(**kw)
- Inputs:
- cons:
list
[str
] List of global constraints; only points satisfying these constraints will be in one of the output sweeps
- I:
np.ndarray
[int
] List of indices to restrict to
- SortVar:
str
Variable by which to sort each sweep
- EqCons:
list
[str
] List of trajectory keys which must match (exactly) the first point in the sweep
- TolCons:
dict
[float
] Dictionary whose keys are trajectory keys which must match the first point in the sweep to a specified tolerance and whose values are the specified tolerances
- IndexTol:
int
If specified, only trajectory points in the range
[i0,i0+IndexTol]
are considered for the sweep
- cons:
- Outputs:
- J:
list
(np.ndarray
[int
]) List of trajectory point sweeps
- J:
- Versions:
2015-05-25
@ddalle
: Version 1.0
- GetTemperature(i=None, units=None)¶
Get static freestream temperature
- Call:
>>> T = x.GetTemperature(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |"mks"
|"F"
|"R"
Output units
- x:
- Outputs:
- T:
float
Static temperature [R | K]
- T:
- Versions:
2016-03-24
@ddalle
: Version 1.02017-06-25
@ddalle
: Added default i =None
2018-04-13
@ddalle
: Units
- GetTotalPressure(i=None, units=None)¶
Get freestream stagnation pressure (in psf or Pa)
- Call:
>>> p0 = x.GetTotalPressure(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |"mks"
|str
Output units
- x:
- Outputs:
- p0:
float
Stagnation pressure [psf | Pa]
- p0:
- Versions:
2016-08-30
@ddalle
: Version 1.02017-07-20
@ddalle
: Added default cases2018-04-17
@ddalle
: Added units
- GetTotalTemperature(i=None, units=None)¶
Get freestream stagnation temperature
- Call:
>>> T0 = x.GetTotalTemperature(i, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |str
Output units
- x:
- Outputs:
- T0:
float
Freestream stagnation temperature [ R | K | units ]
- T0:
- Versions:
2016-08-30
@ddalle
: Version 1.02017-07-20
@ddalle
: Added default cases2018-04-17
@ddalle
: Units
- GetUniqueGroupFolderNames(i=None)¶
Get unique names of folders that require separate meshes
- Call:
>>> x.GetUniqueGroupFolderNames() >>> x.GetUniqueGroupFolderNames(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- i:
int
orlist
Index of group(s) to process
- x:
- Outputs:
- dname:
str
orlist
Folder name or list of folder names
- dname:
- Versions:
2014-09-03
@ddalle
: Version 1.0
- GetValue(k, I=None)¶
Get value(s) from a trajectory key, including derived keys
- Call:
>>> V = x.GetValue(k) >>> V = x.GetValue(k, I) >>> v = x.GetValue(k, i)
- Inputs:
- x:
attdb.runmatrix.RunMatrix
Run matrix conditions interface
- k:
str
RunMatrix key name
- i:
int
Case index
- I:
np.ndarray
(int
) Array of case indices
- x:
- Outputs:
- V:
np.ndarray
Array of values from one or more cases
- v:
np.any
Value for individual case i
- V:
- Versions:
2018-10-03
@ddalle
: Version 1.02019-06-19
@ddalle
: Hooked toGetValue_Derived()
- GetValue_Derived(k, I=None)¶
Get value from a trajectory key, including derived keys
- Call:
>>> V = x.GetValue(k) >>> V = x.GetValue(k, I) >>> v = x.GetValue(k, i)
- Inputs:
- x:
attdb.runmatrix.RunMatrix
Run matrix conditions interface
- k:
str
Non-trajectory key name still described in x.defns
- i:
int
Case index
- I:
np.ndarray
(int
) Array of case indices
- x:
- Outputs:
- V:
np.ndarray
Array of values from one or more cases
- v:
np.any
Value for individual case i
- V:
- Versions:
2019-06-19
@ddalle
: Version 1.0 (CT only)
- GetVelocity(i=None, units=None)¶
Get velocity
- Call:
>>> U = x.GetVelocity(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
Case number (return all if
None
)- units: {
None
} |"mks"
|"m/s"
|str
Output units
- x:
- Outputs:
- r:
float
velocity [ m/s | ft/s | units ]
- r:
- Versions:
2018-04-13
@jmeeroff
: Version 1.02018-04-17
@ddalle
: Second method for units
- GetViscosity(i=None, units=None)¶
Get the dynamic viscosity for case(s) i
- Call:
>>> mu = x.GetViscosity(i=None, units=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Run matrix interface
- i: {
None
} |int
|list
Case number(s)
- units: {
None
} |"mks"
|str
Output units
- x:
- Outputs:
- q:
float
Dynamic pressure [psf | Pa | units]
- q:
- Versions:
2018-04-13
@ddalle
: Version 1.0
- MarkERROR(i, flag='E')¶
Mark a case as ERROR
- Call:
>>> x.MarkERROR(i, flag="E")
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- i:
int
Index of the run case to print
- flag: {
"E"
} |"e"``| ``"$E"
|"ERROR"
Marker to use to denote status
- x:
- Versions:
2019-06-14
@ddalle
: Version 1.0
- MarkPASS(i, flag='p')¶
Mark a case as PASS
This result in a status of
PASS*
if the case would is not otherwiseDONE
.- Call:
>>> x.MarkPASS(i, flag="p")
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- i:
int
Index of the run case to print
- flag: {
"p"
} |"P"``| ``"$p"
|"PASS"
Marker to use to denote status
- x:
- Versions:
2019-06-14
@ddalle
: Version 1.0
- ProcessGroups()¶
Split trajectory variables into groups. A “group” is a set of trajectory conditions that can use the same mesh.
- Call:
>>> x.ProcessGroups()
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- x:
- Effects:
Creates fields that save the properties of the groups. These fields are called x.GroupKeys, x.GroupX, x.GroupID.
- Versions:
2014-06-05
@ddalle
: Version 1.0
- ProcessKeyDefinitions(defns)¶
Process definitions for each trajectory variable
Many variables have default definitions, such as
'Mach'
,'alpha'
, etc. For user-defined trajectory keywords, defaults will be used for aspects of the definition that are missing from the inputs.- Call:
>>> x.ProcessKeyDefinitions(defns)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the pyCart trajectory class
- defns:
dict
Dictionary of keyword definitions or partial definitions
- x:
- Effects:
- x.text:
dict
Text for each variable and each break point initialized
- x.defns:
dict
Definitionscreated after processing defaults
- x.abbrv:
dict
Dictionary of abbreviations for each trajectory key
- x.text:
- Versions:
2014-06-05
@ddalle
: Version 1.02014-06-17
@ddalle
: Version 2.0; usedefns
dict
- ReadRunMatrixFile(fname)¶
Read trajectory variable values from file
- Call:
>>> x.ReadRunMatrixFile(fname)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- fname:
str
Name of trajectory file
- x:
- Versions:
2014-10-13
@ddalle
: Cut code from __init__ method
- SetValue(k, i, v, align='right')¶
Set the value of one key for one case to v
Also write the value to the appropriate line of text
- Call:
>>> x.SetValue(k, i, v, align="right")
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- k:
str
Name of trajectory key to alter
- i:
int
Index of the run case to print
- v:
any
Value to write to file
- align: {
"right"
} |"left"
Alignment option relative to white space
- x:
- Versions:
2019-06-14
@ddalle
: Version 1.0
- UnmarkCase(i)¶
Unmark a case’s PASS or ERROR flag
- Call:
>>> x.UnmarkCase(i)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- i:
int
Index of the run case to print
- x:
- Versions:
2019-06-14
@ddalle
: Version 1.0
- WriteConditionsJSON(i, fname='conditions.json')¶
Write a simple JSON file with exact trajectory variables
- Call:
>>> x.WriteConditionsJSON(i, fname="conditions.json")
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- i:
int
Index of the run case to print
- fname:
str
Name of file to create
- x:
- Versions:
2014-11-18
@ddalle
: Version 1.0
- WriteRunMatrixFile(fname=None)¶
Write run matrix values to file based on original text
Differences between the text and the working values (created by specifying values in the trajectory) are preserved.
- Call:
>>> x.WriteRunMatrixFile() >>> x.WriteRunMatrixFile(fname)
- Inputs:
- x:
cape.runmatrix.RunMatrix
Instance of the trajectory class
- fname: {x.fname} |
str
Name of trajectory file to write
- x:
- Versions:
2019-06-14
@ddalle
: Version 1.0