光滑核函数
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=rk), | public | :: | selfden |
粒子的自身物理量加权系数, 一般用于计算粒子密度 |
|||
| real(kind=rk), | public | :: | hsml |
光滑长度 |
|||
| integer, | public | :: | scale | = | 2 |
光滑长度缩尺比例 |
|
| real(kind=rk), | public | :: | scale_hsml |
缩尺后的光滑长度 |
|||
| character(len=:), | public, | allocatable | :: | type |
光滑函数类型 |
||
| procedure(kernel_fcn), | public, | pointer | :: | kernel | => | cubic_spline_kernel |
光滑核函数句柄 |
| real(kind=rk), | private | :: | factor |
核函数常量 |
建立光滑核函数句柄
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(smoothed_kernel_function_type), | intent(inout) | :: | self |
type smoothed_kernel_function_type
real(rk) :: selfden !! 粒子的自身物理量加权系数, 一般用于计算粒子密度
real(rk) :: hsml !! 光滑长度
integer :: scale = 2 !! 光滑长度缩尺比例
real(rk) :: scale_hsml !! 缩尺后的光滑长度
character(:), allocatable :: type !! 光滑函数类型
procedure(kernel_fcn), pointer :: kernel => cubic_spline_kernel !! 光滑核函数句柄
real(rk), private :: factor !! 核函数常量
contains
procedure :: init
end type smoothed_kernel_function_type