IGMBaseLib 1.0
|
モジュール | |
module | SPRGCGrid_Builder |
STD-Grid をバネ力学を用いて改良した SPR-GC-grid を作成する手続きを提供するモジュール. | |
関数/サブルーチン | |
subroutine, public | SPRGCGrid_Builder::construct_SPRGCGrid (icgrid, tstep_limit) |
SPR-GC-grid を構築する. | |
subroutine, public | SPRGCGrid_Builder::set_iteration_limiter (limiter_flag) |
時間積分に伴う逐次計算ループの反復回数を制限するか否かのフラグを設定する. | |
subroutine | SPRGCGrid_Builder::modify_STDGrid_with_spring_dyn (icgrid) |
STD-grid を修正することによって得られる, SPR-GC-grid を生成する. | |
subroutine | SPRGCGrid_Builder::move_GP_with_spring_dyn (icgrid, idMin, idMax, EMin, EMax) |
全球領域の各格子点に対してバネ力学を適用し, 仮想的なつり合い位置を求める. | |
subroutine | SPRGCGrid_Builder::check_global_convergence (icgrid, conv_total_ave, conv_max, EMin, EMax) |
バネでつながれた格子点の振動が, 全球で収束したかを調べる. | |
real(8) | SPRGCGrid_Builder::check_convergence (r0, pts, pt_num) |
収束度合いを, Tomita etal, 2001 の式(22) を用いてチェックする. | |
integer | SPRGCGrid_Builder::generate_near_GP6index (rcID, GP0_i, GP0_j, EMin, EMax) |
格子点(rcID, GP0_i, GP0_j) の近傍にある格子点 6 個に対応する, 配列のインデックスを生成する. | |
integer | SPRGCGrid_Builder::generate_near_GP5index (icgrid, rcID, GP0_i, GP0_j) |
格子点(rcID, GP0_i, GP0_j) の近傍にある格子点 5 個に対応する, 配列のインデックスを生成する. | |
subroutine | SPRGCGrid_Builder::integ_ode_1step_spring_dynamics (r0, w0, GP, pt_num) |
固定された 6 点とバネでつながれた質点の位置の時間発展を計算する. | |
real(DP), dimension(3) | SPRGCGrid_Builder::f1 (r0, w0) |
以下の常微分方程式の( Tomita etal, 2001 の式(21) ) の右辺の値を計算する.
| |
real(8), dimension(1:3) | SPRGCGrid_Builder::f2 (r0, w0, pts, pt_num, alpha, k, eq_d, radius) |
以下の常微分方程式の( Tomita etal, 2001 の式(20) ) の右辺の値を計算する.
| |
real(8), dimension(3) | SPRGCGrid_Builder::calc_ei (r0, ri) |
点 G_0(r0) から 点 Gi(ri) を結ぶベクトルの単位ベクトルを取得する. | |
変数 | |
real(DP) | SPRGCGrid_Builder::eq_d |
力が課されていない時のバネの長さ. | |
real(DP) | SPRGCGrid_Builder::radius |
正二十面体を内包する球の半径. | |
real(DP) | SPRGCGrid_Builder::beta = 0.4d0 |
チューニングパラメータ. | |
real(DP) | SPRGCGrid_Builder::alpha = 2000.0d0 |
摩擦定数. | |
real(DP) | SPRGCGrid_Builder::k = 1.0d06 |
バネ定数. | |
real(DP) | SPRGCGrid_Builder::dt = 0.001d0 |
時間刻み幅. | |
integer | SPRGCGrid_Builder::end_tstep = 20000 |
時間積分のステップ数. | |
logical | SPRGCGrid_Builder::tstep_limiter = .false. |
時間積分に伴う逐次計算ループの反復回数を制限するか否かのフラグ. デフォルトは, ループ回数を制限しない. | |
integer | SPRGCGrid_Builder::conv_check_step = 100 |
収束判定を行うステップ間隔 | |
integer, allocatable | SPRGCGrid_Builder::GP_IJ |
ある格子点を取り囲む格子点(6 個 or 5 個)のインデックスを保持する配列. |