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:

ErrorModel

abstract create_model() DiscretizationModel

Create discretization model for analysis

Returns:

Discretization model for the data

Return type:

DiscretizationModel

abstract create_uncertainty() UncertaintyModel

Create uncertainty model for analysis

Returns:

Uncertainty model for the data

Return type:

UncertaintyModel

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: DiscretizationError

Discretization 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:

ErrorModel

create_model() DiscretizationModel

Create SinglePower discretization model for analysis

Returns:

Discretization model for the data

Return type:

DiscretizationModel

create_uncertainty() UncertaintyModel

Create GCI uncertainty model for analysis

Returns:

Uncertainty model for the data

Return type:

UncertaintyModel

class cfdverify.discretization.Average(arg1: list | tuple | ndarray | Series | dict | DataFrame, arg2: list | tuple | ndarray | Series | dict | str | None = None, **kwargs)

Bases: DiscretizationError

Discretization error class using average value of responses

create_error() ErrorModel

Create EstimatedError error model for analysis

Returns:

Error model for the data

Return type:

ErrorModel

create_model() DiscretizationModel

Create AverageValue discretization model for analysis

Returns:

Discretization model for the data

Return type:

DiscretizationModel

create_uncertainty() UncertaintyModel

Create StudentsTDistribution uncertainty model for analysis

Returns:

Uncertainty model for the data

Return type:

UncertaintyModel

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: DiscretizationError

Discretization 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:

ErrorModel

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:

DiscretizationModel

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:

UncertaintyModel