This module defines the performance model interface and provides a factory function to create performance models based on a toml configuration file.
The performance model interface is defined as an abstract type with deferred procedures for the performance model functions. The factory function reads the performance model type from the toml configuration file and calls the appropriate constructor function to create the performance model object.
This type defines the abstract performance models. The model calculates the incidence angle, deviation angle, and total pressure loss coefficient.
procedure(pm_func), public, deferred :: deviation | deviation angle (deg) |
procedure(pm_func), public, deferred :: incidence | incidence angle (deg) |
procedure(pm_func), public, deferred :: pressure_loss | total pressure loss coefficient |
This subroutine creates a performance model object based on the type specified in the toml configuration file. The performance model type is read from the toml configuration file and the appropriate constructor function is called to create the performance model object.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(performance_model_t), | allocatable | :: | pm |
new performance model object |
||
integer, | intent(in) | :: | blade_row_index |
index of the blade row |
||
type(toml_table), | intent(inout) | :: | table |
toml table containing the performance model configuration |