Smoothed kernel function
光滑核函数
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(smoothed_kernel_function_type), | public | :: | skf_obj |
光滑核函数对象 |
Kernel function
光滑核函数
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(smoothed_kernel_function_type), | intent(in) | :: | skf |
Smoothed kernel function |
||
| real(kind=rk), | intent(in) | :: | r |
Euclidean distance between two points |
||
| real(kind=rk), | intent(in) | :: | dx(2) |
dimensional distance between two points |
||
| real(kind=rk), | intent(out) | :: | w |
kernel value |
||
| real(kind=rk), | intent(out) | :: | dwdx(2) |
derivative of kernel value |
光滑核函数
| 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 |
核函数常量 |
| procedure , public , :: init Subroutine |
建立光滑核函数句柄
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(smoothed_kernel_function_type), | intent(inout) | :: | self |
Smoothed kernel function: Cubic spline
三次样条曲线 (monaghan 1985)
计算光滑函数 Wij 及其导数 dWdxij 的子例程
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(smoothed_kernel_function_type), | intent(in) | :: | skf | |||
| real(kind=rk), | intent(in) | :: | r |
Euclidean distance between two points |
||
| real(kind=rk), | intent(in) | :: | dx(2) |
Dimensional distance between two points |
||
| real(kind=rk), | intent(out) | :: | w |
kernel value |
||
| real(kind=rk), | intent(out) | :: | dwdx(2) |
Derivative of kernel value |
Smoothed kernel function: Quintic spline
四次样条曲线 (Liu 2010)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(smoothed_kernel_function_type), | intent(in) | :: | skf | |||
| real(kind=rk), | intent(in) | :: | r |
Euclidean distance between two points |
||
| real(kind=rk), | intent(in) | :: | dx(2) |
Dimensional distance between two points |
||
| real(kind=rk), | intent(out) | :: | w |
kernel value |
||
| real(kind=rk), | intent(out) | :: | dwdx(2) |
Derivative of kernel value |