* implicit none は必ず付ける。 * サブルーチンでは intent を明記する。 * サブルーチンはモジュールの中にいれる。 * function はなるべく用いない。サブルーチンを使う。 * サブルーチンを多用する。サブルーチン1つにつき1つの機能を持たせる。 * 汎用性のあるサブルーチンを作る。 * 変数名は英語を用いる。基本的に母音を削る。ただし1文字目の母音はそのまま残す。6文字を超える場合は、7 * 文字目以降を削除する。 * 例: * displacement →dsplcm * element →elmnt * stress →strss * サブルーチンの名前は機能を示す名前を付ける。名前にスペースを入れることは出来ないのでアンダースコアで代用する。名前は多少長くても構わない。 * 節点や要素に関する情報は構造体を用いる。構造体の名前は英語をそのまま用いる。 * 多少計算量が増えても、可読性が高いコーディングを選択する。if や do の構造や変数の配列のこと。実高速度に大きく影響する場合は正しくコーディングする。 * selected_kind_real を用いる。 * グローバル変数は selected_kind_real によって指定されるパラメータ変数と節点や要素の情報のみ用いる。全体剛性行列や右辺ベクトルはメインのプログラムで宣言する。 * グローバル変数のモジュール名は global_variables とする。 * do ループはケツから回す。 * プログラムの動作確認するときはコンパイル時に配列外参照のオプションを付ける。 * 何度か呼ぶ可能性があるサブルーチンの中で allocate するときは、必要に応じてdeallocate する。 ??? * 入力方式はBonet本をベースにする。? * 出力方式は一列にタダ書き。途中から再計算可能なように、書き出すようにする。?