performance_model Module

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.


Uses


Derived Types

type, public ::  performance_model_t

This type defines the abstract performance models. The model calculates the incidence angle, deviation angle, and total pressure loss coefficient.

Type-Bound Procedures

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


Subroutines

public subroutine create_performance_model(pm, blade_row_index, table)

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.

Read more…

Arguments

Type IntentOptional 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