cape.pyover.lineLoad
: Sectional loads module¶
This module contains functions for reading and processing sectional loads. It
is a version of cape.cfdx.lineLoad
that is closely tied to
cape.pyover.dataBook
.
It provides the primary class DBLineLoad
, which
is a subclass of cape.cfdx.dataBook.DBBase
. This class is an interface to
all line load data for a specific surface component.
For reading the sectional load for a single solution on one component (which
includes multiple coefficients), there is another class CaseLL
.
Finally, reading seam curves from individual cases utilizes the class
CaseSeam
.
- class cape.pyover.lineLoad.CaseLL(comp, proj='LineLoad', sec='dlds', **kw)¶
Individual class line load class
- Call:
>>> LL = CaseLL(cart3d, i, comp)
- Inputs:
- cart3d:
cape.pycart.cntl.Cntl
Master pyCart interface
- i:
int
Case index
- comp:
str
Name of line load group
- cart3d:
- Outputs:
- LL:
pyCart.lineLoad.CaseLL
Instance of individual case line load interface
- LL.nCut:
int
Number of x-cuts to make, based on options in cart3d
- LL.nIter:
int
Last iteration in line load file
- LL.nStats:
int
Number of iterations in line load file
- LL.RefL:
float
Reference length
- LL.MRP:
numpy.ndarray
shape=(3,) Moment reference center
- LL.x:
numpy.ndarray
shape=(nCut,) Locations of x-cuts
- LL.CA:
numpy.ndarray
shape=(nCut,) Axial force sectional load, d(CA)/d(x/RefL))
- LL:
- Versions:
2015-09-16
@ddalle
: First version2016-06-07
@ddalle
: Subclassed
- class cape.pyover.lineLoad.CaseSeam(fname, comp='entire', proj='LineLoad')¶
Seam curve interface
- Call:
>>> S = CaseSeam(fname, comp='entire', proj='LineLoad')
- Inputs:
- fname:
str
Name of file to read
- comp:
str
Name of the component
- fname:
- Outputs:
- S
cape.cfdx.lineLoad.CaseSeam
Seam curve interface
- S.ax:
"x"
|"y"
|"z"
Name of coordinate being held constant
- S.x:
float
| {list
(np.ndarray
)} x-coordinate or list of seam x-coordinate vectors
- S.y:
float
| {list
(np.ndarray
)} y-coordinate or list of seam y-coordinate vectors
- S.z: {
float
} |list
(np.ndarray
) z-coordinate or list of seam z-coordinate vectors
- S
- Versions:
2016-06-09
@ddalle
: First version
- class cape.pyover.lineLoad.DBLineLoad(comp, cntl, conf=None, RootDir=None, **kw)¶
Line load (sectional load) data book for one group
- Call:
>>> DBL = DBLineLoad(cntl, comp, conf=None, RootDir=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
RunMatrix/run matrix interface
- opts:
cape.options.Options
Options interface
- comp:
str
Name of line load component
- conf: {
"None"
} |cape.config.Config
Surface configuration interface
- RootDir: {
"None"
} |str
Root directory for the configuration
- x:
- Outputs:
- DBL:
pyOver.lineLoad.DBLineLoad
Instance of line load data book
- DBL.nCut:
int
Number of x-cuts to make, based on options in cart3d
- DBL.RefL:
float
Reference length
- DBL.MRP:
numpy.ndarray
shape=(3,) Moment reference center
- DBL.x:
numpy.ndarray
shape=(nCut,) Locations of x-cuts
- DBL.CA:
numpy.ndarray
shape=(nCut,) Axial force sectional load, d(CA)/d(x/RefL))
- DBL:
- Versions:
2015-09-16
@ddalle
: First version
- GetCompID()¶
Create list of component IDs
- Call:
>>> DBL.GetCompID()
- Inputs:
- DBL:
cape.cfdx.lineLoad.DBLineLoad
Instance of line load data book
- DBL:
- Versions:
2016-12-22
@ddalle
: First version, extracted from __init__
- GetTriqFile()¶
Get most recent
triq
file and its associated iterations- Call:
>>> qpre, fq, n, i0, i1 = DBL.GetTriqFile()
- Inputs:
- DBL:
pyCart.lineLoad.DBLineLoad
Instance of line load data book
- DBL:
- Outputs:
- qpre: {
False
} Whether or not to convert file from other format
- fq:
str
Name of
triq
file- n:
int
Number of iterations included
- i0:
int
First iteration in the averaging
- i1:
int
Last iteration in the averaging
- qpre: {
- Versions:
2016-12-19
@ddalle
: Added to the module
- PreprocessTriq(fq, **kw)¶
Perform any necessary preprocessing to create
triq
file- Call:
>>> ftriq = DBL.PreprocessTriq(fq, qpbs=False, f=None)
- Inputs:
- DBL:
pyFun.lineLoad.DBLineLoad
Line load data book
- ftriq:
str
Name of q file
- f: {
None
} |file
File handle if writing PBS script
- DBL:
- Versions:
2016-12-20
@ddalle
: First version2016-12-21
@ddalle
: Added PBS2017-04-06
@ddalle
: Supportusurp
, remove PBS
- WriteTriloadInput(ftriq, i, **kw)¶
Write
triload.i
input file fortriloadCmd
This versions uses a fixed input solution/grid file,
"grid.i.triq"
- Call:
>>> DBL.WriteTriloadInput(ftriq, i, **kw)
- Inputs:
- DBL:
pyOver.lineLoad.DBLineLoad
Line load data book
- ftriq:
str
Name of the
triq
file to analyze- i:
int
Case number
- DBL:
- Keyword arguments:
- mach:
float
Override Mach number
- Re:
float
Override Reynolds number input
- gamma:
float
Override ratio of specific heats
- MRP:
float
Override the moment reference point from the JSON input file
- mach:
- Versions:
2017-01-11
@ddalle
: First separate version
- cape.pyover.lineLoad.PreprocessTriqOverflow(DB, fq, fdir='lineload')¶
Perform any necessary preprocessing to create
triq
file- Call:
>>> PreprocessTriqOverflow(DB, fq)
- Inputs:
- DB:
pyOver.dataBook.DBTriqFM
|pyOver.lineLoad.DBLineLoad
TriqFM or line load data book
- q:
str
Name of q file
- DB:
- Versions:
2016-12-20
@ddalle
: First version2016-12-21
@ddalle
: Added PBS2017-04-13
@ddalle
: Wrote single version for LL and TriqFM