cape.cfd.dex: Exchange data b/w CFD case and DataBook¶
- class cape.cfdx.dex.DataExchanger(cntl: CntlBase, comp: str, legacy: bool = False)¶
Bases:
DataKit- cntl¶
cape.cfdx.cntl.CntlRun matrix controller
- get_case_filename(i: int) str | None¶
Get absolute path to file for individual-case data
- Call:
>>> fname = db.get_case_filename(i)
- Outputs:
- fname:
None|str File for individual-case data, if appropriate
- fname:
- Versions:
2026-03-11
@ddalle: v1.0
- get_case_folder(i: int) str¶
Get folder to data for case i
This will be the main databook folder, db.rootdir if the data type does not store individual files for each case.
- Call:
>>> fdir = db.get_case_folder(i)
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- i:
int Case index
- db:
- Outputs:
- fdir:
str Absolute path to data for case i
- fdir:
- Versions:
2026-03-11
@ddalle: v1.0
- get_data_extension() str¶
Get extension for data file if data/metadata are sep files
- Call:
>>> ext = db.get_data_extension()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- ext:
str Main file extension based on comp type, us.
"csv"
- ext:
- Versions:
2026-03-11
@ddalle: v1.0
- get_data_filename()¶
Get the name of the data databook file
- Call:
>>> fname = db.get_filename()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- fname:
str File name
- fname:
- Versions:
2025-08-12
@aburkhea: v1.0
- get_datacols() list¶
Get list of columns to extract from CFD results
- Call:
>>> ycols = db.get_datacols()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- Versions:
2025-08-05
@ddalle: v1.02025-08-13
@ddalle: v1.1; update for TriqFM
- get_extension() str¶
Get main databook file name extension
- Call:
>>> ext = db.get_extension()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- ext:
str Main file extension based on comp type, us.
"csv"
- ext:
- Versions:
2025-08-12
@ddalle: v1.0
- get_filename() str¶
Get the name of the main databook file
- Call:
>>> fname = db.get_filename()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- fname:
str File name
- fname:
- Versions:
2025-08-12
@ddalle: v1.0
- get_prefix() str¶
Get the databook file name prefix based on component type
- Call:
>>> prefix = db.get_prefix()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- prefix:
str File name prefix
- prefix:
- Versions:
2025-08-12
@ddalle: v1.0
- get_subdir() str¶
Get subfolder for main data file, if any
Usually this is
"", meaning the main file is in the top-level folder of the databook.- Call:
>>> dirname = db.get_subdir()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- dirname:
str Name of subfolder if any, else
''
- dirname:
- Versions:
2025-08-12
@ddalle: v1.0
- get_xcols() list¶
Get list of cols to distinguish unique cases
- Call:
>>> xcols = db.get_xcols()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Outputs:
- Versions:
2025-08-05
@ddalle: v1.0
- init_col_like(col: str, v: Any)¶
Initialize a data column, if necessary
- Call:
>>> db.init_col_like(col, v)
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- col:
str Name of column
- v:
float|int|str Reference value for data type of new column
- db:
- Versions:
2025-08-05
@ddalle: v1.0
- init_empty()¶
Initialize required columns, if necessary
- Call:
>>> db.init_empty()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Versions:
2025-08-05
@ddalle: v1.0
- merge(db: DataKit)¶
Combine data w/o duplication
This overwrites
DataKit.merge()by using"nStats"as the status column.- Call:
>>> db.merge(dbnew)
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- dbnew:
DataKit Additional data container to merge data from
- db:
- Versions:
2025-07-24
@ddalle: v1.0
- mkdir_case(i: int)¶
Create folders as needed for DataBook component
- Call:
>>> db.mkdir_case(i)
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- i:
int Case index
- db:
- mkdirs()¶
Create folders as needed for DataBook component
- Call:
>>> db.mkdirs()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- name¶
- read()¶
Read file name based on extension of keyword argument
- Call:
>>> db.read_dkit(fname=None, **kw)
- Inputs:
- db:
DataKit DataKit data interface
- fname: {
None} |str File name; extension is used to guess data format
- cdb: {
None} |str Explicit file name for
CapeFileread- csv: {
None} |str Explicit file name for
CSVFileread- textdata: {
None} |str Explicit file name for
TextDataFile- simplecsv: {
None} |str Explicit file name for
CSVSimple- simpletsv: {
None} |str Explicit file name for
TSVSimple- xls, xlsx: {
None} |str File name for
XLSFile- mat: {
None} |str File name for
MATFile
- db:
- Versions:
2025-08-13
@ddalle: v1.0; was in __init__()
- read_case(i: int)¶
Read data from an individual case, if appropriate
The data will be stored in db.casedata[i].
- Call:
>>> db.read_case(i)
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- i:
int Case index
- db:
- Versions:
2026-03-11
@ddalle: v1.0
- read_legacy()¶
Read a legacy DataBook component if appropriate
- Call:
>>> db.read_legacy()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Versions:
2025-08-12
@ddalle: v1.0
- read_legacy_lineload()¶
Read a legacy LineLoad DataBook if appropriate
- Call:
>>> db.read_legacy_lineload()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Versions:
2025-08-12
@ddalle: v1.0
- read_legacy_triqfm()¶
Read a legacy TriqFM DataBook if appropriate
- Call:
>>> db.read_legacy_triqfm()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Versions:
2025-08-13
@ddalle: v1.0
- read_legacy_triqpoint()¶
Read a legacy TriqPoint DataBook if appropriate
- Call:
>>> db.read_legacy_triqpoint()
- Inputs:
- db:
DataExchanger Data container customized for collecting CFD data
- db:
- Versions:
2025-08-29
@ddalle: v1.0
- read_main()¶