cape.pyover.dataBook
: pyOver data book module¶
cape.pyover.dataBook
: DataBook module for OVERFLOW¶
This module contains functions for reading and processing forces,
moments, and other statistics from cases in a trajectory. Data books are
usually created by using the cape.pyover.cntl.Cntl.ReadDataBook()
function.
# Read OVERFLOW control instance cntl = pyOver.Cntl("pyOver.json") # Read the data book cntl.ReadDataBook() # Get a handle DB = cntl.DataBook # Read a line load component DB.ReadLineLoad("CORE_LL") DBL = DB.LineLoads["CORE_LL"] # Read a target DB.ReadTarget("t97") DBT = DB.Targets["t97"]
Data books can be created without an overall control structure, but it
requires creating a run matrix object using
cape.pyover.runmatrix.RunMatrix
, so it is a more involved
process.
Data book modules are also invoked during update and reporting command-line calls.
$ pyfun --aero $ pyfun --ll $ pyfun --triqfm $ pyfun --report
The available components mirror those described on the template data
book modules, cape.cfdx.dataBook
, cape.cfdx.lineLoad
, and
cape.cfdx.pointSensor
. However, some data book types may not be
implemented for all CFD solvers.
- See Also:
cape.options.DataBook
cape.pyover.options.DataBook
- class cape.pyover.dataBook.CaseFM(proj: str, comp: str, **kw)¶
Force and moment iterative histories
This class contains methods for reading data about an the history of an individual component for a single case. It reads the Tecplot file
$proj_fm_$comp.dat
where proj is the lower-case root project name and comp is the name of the component. From this file it determines which coefficients are recorded automatically.- Call:
>>> fm = CaseFM(proj, comp)
- Inputs:
- Outputs:
- fm:
CaseFM
Force and moment iterative history instance
- fm:
- class cape.pyover.dataBook.CaseResid(proj: str, **kw)¶
OVERFLOW iterative residual history class
This class provides an interface to residuals for a given case by reading the files
resid.out
,resid.tmp
,run.resid
,turb.out
,species.out
, etc.- Call:
>>> hist = CaseResid(proj)
- Inputs:
- proj:
str
Project root name
- proj:
- Outputs:
- hist:
CaseResid
Instance of the residual histroy class
- hist:
- PlotL2(n=None, nFirst=None, nLast=None, **kw)¶
Plot the L2 residual
- Call:
>>> h = hist.PlotL2(n=None, nFirst=None, nLast=None, **kw)
- Inputs:
- Outputs:
- h:
dict
Dictionary of figure/plot handles
- h:
- Versions:
2014-11-12
@ddalle
: v1.02014-12-09
@ddalle
: v1.1; move toAeroPlot
2015-02-15
@ddalle
: v1.2; move todataBook.Aero
2015-03-04
@ddalle
: v1.3; add nStart and nLast2015-10-21
@ddalle
: v1.4; usePlotResid()
- class cape.pyover.dataBook.DBComp(comp, cntl, targ=None, check=False, lock=False, **kw)¶
Individual component data book
This class is derived from
cape.cfdx.dataBook.DBBase
.- Call:
>>> DBc = DBComp(comp, x, opts)
- Inputs:
- Outputs:
- DBc:
DBComp
An individual component data book
- DBc:
- Versions:
2016-09-15
@ddalle
: v1.0
- class cape.pyover.dataBook.DBTarget(targ, x, opts, RootDir=None)¶
- class cape.pyover.dataBook.DBTriqFM(x, opts, comp, **kw)¶
Force and moment component extracted from surface triangulation
- Call:
>>> DBF = DBTriqFM(x, opts, comp, RootDir=None)
- Inputs:
- x:
cape.runmatrix.RunMatrix
RunMatrix/run matrix interface
- opts:
cape.options.Options
Options interface
- comp:
str
Name of TriqFM component
- RootDir: {
None
} |st
Root directory for the configuration
- x:
- Outputs:
- DBF:
DBTriqFM
Instance of TriqFM data book
- DBF:
- Versions:
2017-03-28
@ddalle
: v1.0
- GetTriqFile()¶
Get most recent
triq
file and its associated iterations- Call:
>>> qpre, fq, n, i0, i1 = DBF.GetTriqFile()
- Inputs:
- DBL:
DBTriqFM
Instance of TriqFM data book
- DBL:
- Outputs:
- Versions:
2016-12-19
@ddalle
: Added to the module
- PreprocessTriq(fq, **kw)¶
Perform any necessary preprocessing to create
triq
file- Call:
>>> ftriq = DBF.PreprocessTriq(fq, qpbs=False, f=None)
- Inputs:
- Versions:
2016-12-20
@ddalle
: v1.02016-12-21
@ddalle
: Added PBS
- class cape.pyover.dataBook.DataBook(cntl, RootDir=None, targ=None, **kw)¶
DataBook interface for OVERFLOW
- Call:
>>> DB = DataBook(x, opts)
- Inputs:
- x:
pyFun.runmatrix.RunMatrix
The current pyFun trajectory (i.e. run matrix)
- opts:
pyFun.options.Options
Global pyFun options instance
- x:
- Outputs:
- DB:
DataBook
Instance of the pyFun data book class
- DB:
- GetCurrentIter()¶
Determine iteration number of current folder
- ReadCaseFM(comp)¶
Read a
CaseFM
object- Call:
>>> fm = DB.ReadCaseFM(comp)
- Inputs:
- DB:
cape.cfdx.dataBook.DataBook
Instance of data book class
- comp:
str
Name of component
- DB:
- Outputs:
- fm:
CaseFM
Residual history class
- fm:
- Versions:
2017-04-13
@ddalle
: v1.02023-07-10
@ddalle
: v1.1; useCaseRunner
- ReadCaseResid()¶
Read a
CaseResid
object- Call:
>>> hist = DB.ReadCaseResid()
- Inputs:
- DB:
cape.cfdx.dataBook.DataBook
Instance of data book class
- DB:
- Outputs:
- hist:
CaseResid
Residual history class
- hist:
- Versions:
2017-04-13
@ddalle
: v1.02023-07-10
@ddalle
: v1.1; useCaseRunner
- ReadDBComp(comp, check=False, lock=False)¶
Initialize data book for one component
- Call:
>>> DB.ReadDBComp(comp, check=False, lock=False)
- Inputs:
- Versions:
2015-11-10
@ddalle
: v1.02016-06-27
@ddalle
: v1.1; add targ keyword2017-04-13
@ddalle
: v1.2; self-contained
- ReadPointSensor(name)¶
Read a point sensor group if it is not already present
- ReadTriqFM(comp, check=False, lock=False)¶
Read a TriqFM data book if not already present
- cape.pyover.dataBook.ReadResidFirstIter(fname)¶
Read the first iteration number in an OVERFLOW residual file
- Call:
>>> iIter = ReadResidFirstIter(fname) >>> iIter = ReadResidFirstIter(f)
- Inputs:
- fname:
str
Name of file to query
- f:
file
Already opened file handle to query
- fname:
- Outputs:
- iIter:
int
Iteration number from first line
- iIter:
- Versions:
2016-02-04
@ddalle
: v1.02023-01-14
@ddalle
: v1.1; fix file type check for py3
- cape.pyover.dataBook.ReadResidGrids(fname)¶
Get list of grids in an OVERFLOW residual file
- cape.pyover.dataBook.ReadResidNGrids(fname)¶
Get number of grids from an OVERFLOW residual file
- cape.pyover.dataBook.ReadResidNIter(fname)¶
Get number of iterations in an OVERFLOW residual file
- cape.pyover.dataBook.read_fomoco_comps(fname: str)¶
Get list of components in an OVERFLOW fomoco file
- cape.pyover.dataBook.read_fomoco_niter(fname, ncomp: int)¶
Get number of iterations in an OVERFLOW fomoco file
- Call:
>>> nIter = read_fomoco_niter(fname) >>> nIter = read_fomoco_niter(fname, nComp)
- Inputs:
- Outputs:
- nIter:
int
Number of iterations in the file
- nIter:
- Versions:
2016-02-03
@ddalle
: v1.02024-01-24
@ddalle
: v1.1; require ncomp