ic_2dcrvpX_for Function

public function ic_2dcrvpX_for(me, coord, n) result(res)

This function defines the y-velocity component of the spinning (= co-rotating) vortex pair Source: complex velocity potential of both vortices complex coordinates: z = x+i*y Gamma ... circulation

 b = r0*exp(i*omega*t)
 w(z,t) = Gamma/(2Pi*i)*ln(z^2-b^2)
 dw/dz = Gamma/(2Pi*i)*z/(z^2-b^2)
 u =  Re( dw/dz( z, t=0 )
 v = -Im( dw/dz( z, t=0 )

Unit of the result is in m/s, as the coordinates are given in physical coordinates and hence all other parameters also have to be physical ones As the potential induces a singularity inside the vortex, a vortex core model is employed. Here we use the Rankine vortex, where the velocity field inside the core radius rC = 1/3 r0 is approximated with a linear profile.

Arguments

TypeIntentOptionalAttributesName
type(ic_2dcrvp_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable


Calls

proc~~ic_2dcrvpx_for~~CallsGraph proc~ic_2dcrvpx_for ic_2dcrvpX_for proc~cutoff_factor cutoff_factor proc~ic_2dcrvpx_for->proc~cutoff_factor

Called by

proc~~ic_2dcrvpx_for~~CalledByGraph proc~ic_2dcrvpx_for ic_2dcrvpX_for proc~ic_2dcrvppressure_for ic_2dcrvpPressure_for proc~ic_2dcrvppressure_for->proc~ic_2dcrvpx_for proc~tem_spatial_for_coord tem_spatial_for_coord proc~tem_spatial_for_coord->proc~ic_2dcrvpx_for proc~tem_spatial_for_coord->proc~ic_2dcrvppressure_for proc~tem_spatial_scalar_for_index tem_spatial_scalar_for_index proc~tem_spatial_scalar_for_index->proc~tem_spatial_for_coord interface~tem_spatial_for tem_spatial_for interface~tem_spatial_for->proc~tem_spatial_for_coord interface~tem_spatial_for->proc~tem_spatial_scalar_for_index proc~tem_spacetime_scalar_for_index tem_spacetime_scalar_for_index proc~tem_spacetime_scalar_for_index->interface~tem_spatial_for proc~tem_spacetime_for_coord tem_spacetime_for_coord proc~tem_spacetime_scalar_for_index->proc~tem_spacetime_for_coord proc~tem_spatial_vector_storeval tem_spatial_vector_storeVal proc~tem_spatial_vector_storeval->interface~tem_spatial_for proc~tem_spacetime_for_coord->interface~tem_spatial_for proc~tem_spacetime_vector_for_coord tem_spacetime_vector_for_coord proc~tem_spacetime_vector_for_coord->interface~tem_spatial_for proc~tem_spatial_scalar_storeval tem_spatial_scalar_storeVal proc~tem_spatial_scalar_storeval->interface~tem_spatial_for proc~tem_spacetime_vector_for_index tem_spacetime_vector_for_index proc~tem_spacetime_vector_for_index->interface~tem_spatial_for proc~tem_spacetime_vector_for_index->proc~tem_spacetime_vector_for_coord proc~tem_spacetime_vector_for_treeids tem_spacetime_vector_for_treeIDs proc~tem_spacetime_vector_for_treeids->interface~tem_spatial_for proc~tem_spacetime_for_treeids tem_spacetime_for_treeIDs proc~tem_spacetime_for_treeids->interface~tem_spatial_for interface~tem_spatial_storeval tem_spatial_storeVal interface~tem_spatial_storeval->proc~tem_spatial_vector_storeval interface~tem_spatial_storeval->proc~tem_spatial_scalar_storeval proc~tem_spacetime_for_stcoord tem_spacetime_for_stcoord proc~tem_spacetime_for_stcoord->proc~tem_spacetime_for_coord interface~tem_spacetime_for tem_spacetime_for interface~tem_spacetime_for->proc~tem_spacetime_scalar_for_index interface~tem_spacetime_for->proc~tem_spacetime_for_coord interface~tem_spacetime_for->proc~tem_spacetime_vector_for_coord interface~tem_spacetime_for->proc~tem_spacetime_vector_for_index interface~tem_spacetime_for->proc~tem_spacetime_vector_for_treeids interface~tem_spacetime_for->proc~tem_spacetime_for_treeids

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: r
real(kind=rk), private :: rC
real(kind=rk), private :: x_max
real(kind=rk), private :: omega
real(kind=rk), private :: x
real(kind=rk), private :: y
complex(kind=rk), private :: z_coord
complex(kind=rk), private :: z_compl
complex(kind=rk), private :: b_coord
complex(kind=rk), private :: vortex1
complex(kind=rk), private :: vortex2
complex(kind=rk), private :: umax
complex(kind=rk), private :: z_l
complex(kind=rk), private :: z_r
complex(kind=rk), private, parameter:: i_complex =(0., 1.)
integer, private :: iElem