libC81 Module

Procedures to manipulate C81 files and data structure



Derived Types

type, public ::  C81_class

Base class for C81 performance data

Components

Type Visibility Attributes Name Initial
character(len=30), public :: airfoilName

Airfoil name in C81 file

integer, public :: ML

No. of lift coefficient machs

integer, public :: NL

No. of lift coefficient alphas

integer, public :: MD

No. of drag coefficient machs

integer, public :: ND

No. of drag coefficient alphas

integer, public :: MM

No. of moment coefficient machs

integer, public :: NM

No. of moment coefficient alphas

real(kind=dp), public, allocatable, dimension(:) :: MaL

Machs for lift

real(kind=dp), public, allocatable, dimension(:) :: MaD

Machs for drag

real(kind=dp), public, allocatable, dimension(:) :: MaM

Machs for moment

real(kind=dp), public, allocatable, dimension(:) :: AL

Alphas for lift

real(kind=dp), public, allocatable, dimension(:) :: AD

Alphas for drag

real(kind=dp), public, allocatable, dimension(:) :: AM

Alphas for moment

real(kind=dp), public, allocatable, dimension(:,:) :: CL

Lift coefficient

real(kind=dp), public, allocatable, dimension(:,:) :: CD

Drag coefficient

real(kind=dp), public, allocatable, dimension(:,:) :: CM

Moment coefficient

Type-Bound Procedures

procedure, public :: writefile
procedure, public :: readfile
procedure, public :: getCL
procedure, public :: getCD
procedure, public :: getCM

Functions

public function getCL(this, alphaQuery, machQuery)

Returns value of 2-d linear interpolated CL for a given alphaQuery and machQuery values

Arguments

Type IntentOptional Attributes Name
class(C81_class) :: this
real(kind=dp), intent(in) :: alphaQuery
real(kind=dp), intent(in) :: machQuery

Return Value real(kind=dp)

public function getCD(this, alphaQuery, machQuery)

Returns value of 2-d linearly interpolated CD for given alphaQuery and machQuery values

Arguments

Type IntentOptional Attributes Name
class(C81_class) :: this
real(kind=dp), intent(in) :: alphaQuery
real(kind=dp), intent(in) :: machQuery

Return Value real(kind=dp)

public function getCM(this, alphaQuery, machQuery)

Returns value of 2-d linearly interpolated CM for given alphaQuery and machQuery values

Arguments

Type IntentOptional Attributes Name
class(C81_class) :: this
real(kind=dp), intent(in) :: alphaQuery
real(kind=dp), intent(in) :: machQuery

Return Value real(kind=dp)


Subroutines

public subroutine writefile(this, C81filename)

Writes C81 class data to C81 file

Arguments

Type IntentOptional Attributes Name
class(C81_class) :: this
character(len=*), intent(in) :: C81filename

public subroutine readfile(this, C81filename)

Reads from C81 file to C81 class

Arguments

Type IntentOptional Attributes Name
class(C81_class) :: this
character(len=*), intent(in) :: C81filename