This module contains the mesh data structure and the routines to create and manipulate it.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(mesh_t), | protected | :: | mesh |
This type contains the mesh data structure for streamline crvature method
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 |
This subroutine creates the mesh data structure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nstreamlines |
Number of streamlines |
This subroutine recalculates the mesh parameters (streamline angles, curvatures, etc.)
This subroutine redistributes the streamlines along a quasinormal.
Type | Intent | Optional | 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 |