tfmesh Module

This module contains the mesh data structure and the routines to create and manipulate it.


Uses


Variables

Type Visibility Attributes Name Initial
type(mesh_t), protected :: mesh

Derived Types

type, public ::  mesh_t

This type contains the mesh data structure for streamline crvature method

Components

Type Visibility Attributes Name Initial
real(kind=rkind), public, allocatable :: kappa(:,:)

Streamline curvature

real(kind=rkind), public, allocatable :: lambda(:,:)

Quasinormal angle

real(kind=rkind), public, allocatable :: m(:,:)

Meridional cooridinate

integer, public :: number_of_quasinormals

Number of quasinormals

integer, public :: number_of_streamlines

Number of streamlines

integer, public, allocatable :: passage_type(:)

0 -> without blades, >0 -> blade number

real(kind=rkind), public, allocatable :: phi(:,:)

Streamline angle

type(curve_t), public, allocatable :: quasinormal(:)

Quasinormal curve

real(kind=rkind), public, allocatable :: r(:,:)

Radial cooridinate

real(kind=rkind), public, allocatable :: y(:,:)

Quasi-normal cooridinate (0 -> y_shroud)

real(kind=rkind), public, allocatable :: z(:,:)

Axial cooridinate


Subroutines

public subroutine create_mesh(nstreamlines)

This subroutine creates the mesh data structure.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nstreamlines

Number of streamlines

public subroutine recalculate_mesh_parameters()

This subroutine recalculates the mesh parameters (streamline angles, curvatures, etc.)

Arguments

None

public subroutine redistribute_streamlines_at_quasinormal(iq, rho, Cm, relaxation)

This subroutine redistributes the streamlines along a quasinormal.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iq

Quasinormal index

real(kind=rkind), intent(in) :: rho(:,:)

Density field

real(kind=rkind), intent(in) :: Cm(:,:)

Meridional velocity field

real(kind=rkind), intent(in) :: relaxation

Relaxation factor