XY平面上の円板を極座標分割し、外周へ向かって三角形化したメッシュを生成する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh_type), | intent(out) | :: | mesh |
生成した円板メッシュ。 |
||
| real(kind=dp), | intent(in), | optional | :: | radius |
円板半径 [m](省略時 0.5)。 |
|
| integer(kind=i32), | intent(in), | optional | :: | n_theta |
周方向分割数(省略時 24)。 |
|
| integer(kind=i32), | intent(in), | optional | :: | n_r |
周方向分割数(省略時 24)。 半径方向分割数(省略時 8)。 |
|
| real(kind=dp), | intent(in), | optional | :: | center(3) |
円板半径 [m](省略時 0.5)。 |
subroutine make_disk(mesh, radius, n_theta, n_r, center) type(mesh_type), intent(out) :: mesh real(dp), intent(in), optional :: radius, center(3) integer(i32), intent(in), optional :: n_theta, n_r real(dp) :: r, c(3) integer(i32) :: nt, nr0 r = 0.5d0; nt = 24; nr0 = 8; c = 0.0d0 if (present(radius)) r = radius if (present(n_theta)) nt = n_theta if (present(n_r)) nr0 = n_r if (present(center)) c = center call make_annulus(mesh, radius=r, inner_radius=0.0d0, n_theta=nt, n_r=nr0, center=c) end subroutine make_disk