Discretization
The discretization module is designed to help you conduct solution verification of your CFD simulations. Below is the documentation for the available discretization objects included in CFDverify. If you are looking for the DiscretizationModel, ErrorModel, or UncertaintyModel class information, follow one of the links below.
- class cfdverify.discretization.DiscretizationError(arg1: list | tuple | ndarray | Series | dict | DataFrame, arg2: list | tuple | ndarray | Series | dict | str | None = None, **kwargs)
Abstract factory for discretization error classes
- abs_estimated_error(key: str = None, index: int = None) floating | Series | DataFrame
Compute absolute estimated error for data
- Parameters:
key (str, optional) – Key for system response quantity of interest, by default None
index (int, optional) – Index for level of interest, by default None
- Returns:
Absolute estimated error of quantities of interest
- Return type:
np.floating | pd.Series | pd.DataFrame
- abs_relative_error(key: str = None, index: int = None) floating | Series | DataFrame
Compute absolute error relative to coarser discretization level
Errors for all but the coarsest level are computed as
\[\epsilon_i = |f_i - f_{i+1}|,\]while the error for the coarsest level is computed as
\[\epsilon_i = |f_{i-1} - f_{i}|.\]- Parameters:
key (str | None) – Key for system response quantity of interest or None for all
index (int | None) – Index for level of interest or None for all
- Returns:
rel_err – Absolute relative error of quantities of interest
- Return type:
np.floating | pd.Series | pd.DataFrame
- abstract create_error() ErrorModel
Create error model for analysis
- Returns:
Error model for the data
- Return type:
- abstract create_model() DiscretizationModel
Create discretization model for analysis
- Returns:
Discretization model for the data
- Return type:
- abstract create_uncertainty() UncertaintyModel
Create uncertainty model for analysis
- Returns:
Uncertainty model for the data
- Return type:
- estimated_error(key: str | None = None, index: int | None = None) floating | Series | DataFrame
Compute estimated error for data
- Parameters:
key (str, optional) – Key for system response quantity of interest, by default None
index (int, optional) – Index for level of interest, by default None
- Returns:
Estimated error of quantities of interest
- Return type:
np.floating | pd.Series | pd.DataFrame
- export(filename: str = 'DiscretizationData.csv') None
Export data for later processing
- Parameters:
filename (str) – Name of file to export data to
- plot(key: str | None = None, index: int = 0, filename: str = 'DiscretizationError.png', *, title: str = None, xlabel: str = None, ylabel: str = None, error: bool = True, uncertainty: bool = True) None
Plot system response quantity data and model and save figure
If the key is not provided, the first key in the data is used
- Parameters:
key (str) – Key of system response quantity of interest
index (int) – Index of interest in the study
filename (str) – Name of file to save figure to
title (str) – (Optional) Title of plot
xlabel (str) – (Optional) X-axis label
ylabel (str) – (Optional) Y-axis label
error (bool) – (Optional) Plot error bar
uncertainty (bool) – (Optional) Plot uncertainty bar
- relative_error(key: str | None = None, index: int | None = None) floating | Series | DataFrame
Compute error relative to coarser discretization level
Errors for all but the coarsest level are computed as
\[\epsilon_i = f_i - f_{i+1},\]while the error for the coarsest level is computed as
\[\epsilon_i = f_{i-1} - f_{i}.\]- Parameters:
key (str | None) – Key for system response quantity of interest or None for all
index (int | None) – Index for level of interest or None for all
- Returns:
rel_err – Relative error of quantities of interest
- Return type:
np.floating | pd.Series | pd.DataFrame
- summarize(key: str | None = None) None
Summarize the solution verification data
If no key is provided, the first key in the data is used
- Parameters:
key (str) – Key of system response quantity of interest
- class cfdverify.discretization.Classic(arg1: list | tuple | ndarray | Series | dict | DataFrame, arg2: list | tuple | ndarray | Series | dict | str | None = None, **kwargs)
Bases:
DiscretizationErrorDiscretization error class consistent with ASME V&V 20 standard
- create_error() ErrorModel
Create EstimatedError error model for analysis
- Returns:
Error model for the data
- Return type:
- create_model() DiscretizationModel
Create SinglePower discretization model for analysis
- Returns:
Discretization model for the data
- Return type:
- create_uncertainty() UncertaintyModel
Create GCI uncertainty model for analysis
- Returns:
Uncertainty model for the data
- Return type:
- class cfdverify.discretization.Average(arg1: list | tuple | ndarray | Series | dict | DataFrame, arg2: list | tuple | ndarray | Series | dict | str | None = None, **kwargs)
Bases:
DiscretizationErrorDiscretization error class using average value of responses
- create_error() ErrorModel
Create EstimatedError error model for analysis
- Returns:
Error model for the data
- Return type:
- create_model() DiscretizationModel
Create AverageValue discretization model for analysis
- Returns:
Discretization model for the data
- Return type:
- create_uncertainty() UncertaintyModel
Create StudentsTDistribution uncertainty model for analysis
- Returns:
Uncertainty model for the data
- Return type:
- class cfdverify.discretization.CustomDiscretizationError(arg1: list | tuple | ~numpy.ndarray | ~pandas.core.series.Series | dict | ~pandas.core.frame.DataFrame, arg2: list | tuple | ~numpy.ndarray | ~pandas.core.series.Series | dict | str | None = None, model: ~cfdverify.discretization.DiscretizationModel = <class 'cfdverify.discretization.SinglePower'>, error: ~cfdverify.discretization.ErrorModel = <class 'cfdverify.discretization.EstimatedError'>, uncertainty: ~cfdverify.discretization.UncertaintyModel = <class 'cfdverify.discretization.GCI'>)
Bases:
DiscretizationErrorDiscretization error class for custom implementations
- create_error(model: ErrorModel) ErrorModel
Create error model for analysis
- Parameters:
model (ErrorModel) – Error model to use for analysis
- Returns:
Error model for the data
- Return type:
- create_model(model: DiscretizationModel) DiscretizationModel
Create discretization model for analysis
- Parameters:
model (DiscretizationModel) – Discretization model to use for analysis
- Returns:
Discretization model for the data
- Return type:
- create_uncertainty(model: UncertaintyModel) UncertaintyModel
Create uncertainty model for analysis
- Parameters:
model (UncertaintyModel) – Uncertainty model to use for analysis
- Returns:
Uncertainty model for the data
- Return type: