vf_class Derived Type

type, public :: vf_class

Vortex filament class


Components

Type Visibility Attributes Name Initial
real(kind=dp), public, dimension(3, 2) :: fc

Filament coords (xyz, 1:2)

real(kind=dp), public :: l0 = 0._dp

Original length

real(kind=dp), public :: lc = 0._dp

Current length

real(kind=dp), public :: rVc0 = 0._dp

Initial vortex core radius

real(kind=dp), public :: rVc = 0._dp

Current vortex core radius

real(kind=dp), public :: age = 0._dp

Vortex age (in seconds)

real(kind=dp), public :: ageAzimuthal = 0._dp

vortex age (in radians)


Type-Bound Procedures

procedure, public :: vind => vf_vind

  • public pure function vf_vind(this, P) result(vind)

    Compute induced velocity by unit strength vortex filament

    Arguments

    Type IntentOptional Attributes Name
    class(vf_class), intent(in) :: this
    real(kind=dp), intent(in), dimension(3) :: P

    Return Value real(kind=dp), dimension(3)

procedure, public :: calclength => vf_calclength

  • public subroutine vf_calclength(this, isOriginal)

    Compute length of vortex filament

    Arguments

    Type IntentOptional Attributes Name
    class(vf_class) :: this
    logical, intent(in) :: isOriginal

procedure, public :: strain => vf_strain

  • public subroutine vf_strain(this)

    Arguments

    Type IntentOptional Attributes Name
    class(vf_class) :: this