DiscretizationModel

DiscretizationModel is the abstract base class for discretization error models. Below is the description of the abstract base class followed by the concrete classes.

class cfdverify.discretization.DiscretizationModel(parent: DiscretizationError)

Abstract base class for discretization error models

abstract f_est() Series

Return estimate of system response quantities

Returns:

System response quantity estimates

Return type:

pd.Series

abstract model(key: str, h: int | float | ndarray) int | float | ndarray

Estimate system response quantity at provided discertizations

Parameters:
  • key (str) – Key of system response quantity

  • h (int | float | np.ndarray) – Discretization levels of interest

Returns:

System response quantity estimate

Return type:

int | float | np.ndarray

abstract order() Series

Return observed convergence orders of system response quantities

Returns:

Observed convergence orders

Return type:

pd.Series

abstract property parameter_keys

List of parameter keys

abstract solve(*args, **kwargs)

Solve the discretization model

class cfdverify.discretization.SinglePower(parent: DiscretizationError)

Bases: DiscretizationModel

Model discretization error with a single term power series

f_est() Series

Return estimate of system response quantities

Returns:

System response quantity estimates

Return type:

pd.Series

model(key: str, h: int | float | ndarray) int | float | ndarray

Estimate system response quantity at provided discertizations

The discretization model for a single term power series expansion is

\[f_h = f_0 + \alpha h^{\hat{p}},\]

where \(f_h\) is the system response quantity (SRQ) at a representative discretization size of \(h\), \(f_0\) is the estimated SRQ with no discretization error, \(\alpha\) is the term coefficient, and \(\hat{p}\) is the observed order of convergence.

Parameters:
  • key (str) – Key of system response quantity

  • h (int | float | np.ndarray) – Discretization levels of interest

Returns:

System response quantity estimate

Return type:

int | float | np.ndarray

order() Series

Return observed convergence orders of system response quantities

Returns:

Observed convergence orders

Return type:

pd.Series

parameter_keys = ['f_est', 'p', 'alpha']

Parameter keys for SinglePower

solve(p_limits: list | tuple = [0, inf])

Solve the model

Parameters:

p_limits (list | tuple) – Lower and upper limit for observed convergence order

class cfdverify.discretization.AverageValue(parent: DiscretizationError)

Bases: DiscretizationModel

Model discretization error as average of all values

f_est() Series

Return estimate of system response quantities

Returns:

System response quantity estimates

Return type:

pd.Series

model(key: str, h: int | float | ndarray) int | float | ndarray

Estimate system response quantity at provided discertizations

AverageValue uses the average of all system response quantities (SRQ)s as the estimated true value. This model is useful for cases with oscillatory data without a definitive trend.

Parameters:
  • key (str) – Key of system response quantity

  • h (int | float | np.ndarray) – Discretization levels of interest

Returns:

est – System response quantity estimate

Return type:

int | float | np.ndarray

order() Series

Return observed convergence orders of system response quantities

Returns:

Observed convergence orders

Return type:

pd.Series

parameter_keys = ['mean', 'std', 'order']

Parameter keys for AverageValue

solve()

Solve the discretization model

class cfdverify.discretization.FinestValue(parent: DiscretizationError)

Bases: DiscretizationModel

Model discretization error relative to finest response value

f_est() Series

Return estimate of system response quantities

Returns:

System response quantity estimates

Return type:

pd.Series

model(key: str, h: int | float | ndarray) int | float | ndarray

Estimate system response quantity at provided discertizations

FinestValue uses the system response quantity (SRQ) of the finest result as its estimate. This model is useful if only the finest mesh result is trusted.

Parameters:
  • key (str) – Key of system response quantity

  • h (int | float | np.ndarray) – Discretization levels of interest

Returns:

est – System response quantity estimate

Return type:

int | float | np.ndarray

order() Series

Return observed convergence orders of system response quantities

Returns:

Observed convergence orders

Return type:

pd.Series

parameter_keys = ['f_est', 'order']

Parameter keys for FinestValue

solve()

Solve the discretization model

class cfdverify.discretization.MaximumValue(parent: DiscretizationError)

Bases: DiscretizationModel

Model discretization error relative to maximum response value

f_est() Series

Return estimate of system response quantities

Returns:

System response quantity estimates

Return type:

pd.Series

model(key: str, h: int | float | ndarray) int | float | ndarray

Estimate system response quantity at provided discertizations

MaximumValue uses the largest system response quantity (SRQ) of the results. This model is useful if expert knowledge indicates this is the only reliable result.

Parameters:
  • key (str) – Key of system response quantity

  • h (int | float | np.ndarray) – Discretization levels of interest

Returns:

est – System response quantity estimate

Return type:

int | float | np.ndarray

order() Series

Return observed convergence orders of system response quantities

Returns:

Observed convergence orders

Return type:

pd.Series

parameter_keys = ['f_est', 'order']

Parameter keys for MaximumValue

solve()

Solve the discretization model

class cfdverify.discretization.MinimumValue(parent: DiscretizationError)

Bases: DiscretizationModel

Model discretization error relative to minimum response value

f_est() Series

Return estimate of system response quantities

Returns:

System response quantity estimates

Return type:

pd.Series

model(key: str, h: int | float | ndarray) int | float | ndarray

Estimate system response quantity at provided discertizations

MinimumValue uses the smallest system response quantity (SRQ) of the results. This model is useful if expert knowledge indicates this is the only reliable result.

Parameters:
  • key (str) – Key of system response quantity

  • h (int | float | np.ndarray) – Discretization levels of interest

Returns:

est – System response quantity estimate

Return type:

int | float | np.ndarray

order() Series

Return observed convergence orders of system response quantities

Returns:

Observed convergence orders

Return type:

pd.Series

parameter_keys = ['f_est', 'order']

Parameter keys for MinimumValue

solve()

Solve the discretization model