Seed_クラス ドキュメント(自動生成につき要修正)
概要
Seed_
クラスは植物の種子をシミュレーションするための基本的なデータ構造を提供します。このクラスは種子の形状、物理的特性、水分吸収特性、およびシミュレーションに必要な様々なパラメータを管理します。
依存モジュール
-
iso_fortran_env
(intrinsic): Fortran環境変数へのアクセスを提供
-
MathClass
: 数学的操作のためのユーティリティ
-
RandomClass
: 乱数生成機能
-
LsystemClass
: L-systemによる成長モデリング
-
FEMDomainClass
: 有限要素法ドメイン管理
-
sim
: シミュレーション関連の機能
プロパティ
ドメイン関連
プロパティ |
型 |
説明 |
FEMDomain |
FEMDomain_ |
有限要素法ドメイン (legacy) |
seedDomain |
WaterAbsorption_ |
種子の水分吸収ドメイン |
water |
FEMDomain_ |
水分に関するFEMドメイン |
tissue |
FEMDomain_ |
組織に関するFEMドメイン |
材料特性
プロパティ |
型 |
説明 |
Permiability |
MaterialProp_ |
透過性 |
YoungsModulus |
MaterialProp_ |
ヤング率 |
PoissonRatio |
MaterialProp_ |
ポアソン比 |
density |
MaterialProp_ |
密度 |
Cohesion |
MaterialProp_ |
粘着力 |
phi |
MaterialProp_ |
内部摩擦角 |
psi |
MaterialProp_ |
ダイレイタンシー角 |
a_Psi |
MaterialProp_ |
水分ポテンシャルに関するパラメータ |
a_P |
MaterialProp_ |
圧力に関するパラメータ |
theta_eq |
MaterialProp_ |
平衡含水率 |
Psi_eq |
MaterialProp_ |
平衡水分ポテンシャル |
a_E |
MaterialProp_ |
ヤング率に関するパラメータ |
a_v |
MaterialProp_ |
ポアソン比に関するパラメータ |
E_eq |
MaterialProp_ |
平衡ヤング率 |
v_eq |
MaterialProp_ |
平衡ポアソン比 |
境界条件
プロパティ |
型 |
説明 |
disp_x |
Boundary_ |
x方向変位境界条件 |
disp_y |
Boundary_ |
y方向変位境界条件 |
disp_z |
Boundary_ |
z方向変位境界条件 |
traction_x |
Boundary_ |
x方向牽引力境界条件 |
traction_y |
Boundary_ |
y方向牽引力境界条件 |
traction_z |
Boundary_ |
z方向牽引力境界条件 |
flux |
Boundary_ |
流束境界条件 |
const |
Boundary_ |
定数境界条件 |
種子特性
プロパティ |
型 |
デフォルト値 |
説明 |
num_of_seed |
integer(int32) |
1 |
種子の数 |
mass |
real(real64) |
0.0d0 |
種子の質量 (g/cm^3) |
water_content |
real(real64) |
0.0d0 |
種子の含水率 (%) |
radius |
real(real64) |
0.0d0 |
種子の半径 (cm) |
width1 |
real(real64) |
0.00d0 |
種子の幅1 |
width2 |
real(real64) |
0.00d0 |
種子の幅2 |
width3 |
real(real64) |
0.0d0 |
種子の幅3 |
width1_origin |
real(real64) |
0.00d0 |
種子の初期幅1 |
width2_origin |
real(real64) |
0.00d0 |
種子の初期幅2 |
width3_origin |
real(real64) |
0.0d0 |
種子の初期幅3 |
location |
real(real64)(3) |
0.0d0 |
種子の位置 (x,y,z) |
path |
character(200) |
" " |
パス |
name |
character(200) |
" " |
名前 |
内部プロパティ
プロパティ |
型 |
デフォルト値 |
説明 |
step |
integer(int32) |
0 |
現在のシミュレーションステップ |
メソッド
初期化・生成
メソッド |
説明 |
create |
種子オブジェクトを作成 |
init |
種子オブジェクトを初期化 |
import |
外部データから種子オブジェクトをインポート |
createMesh |
種子のメッシュを生成 |
環境・材料設定
メソッド |
説明 |
env |
環境条件を設定 |
material |
材料特性を設定 |
シミュレーション操作
メソッド |
説明 |
grow |
種子の成長をシミュレート |
move |
種子を移動 |
rotate |
種子を回転 |
出力・保存
メソッド |
説明 |
export |
種子データをエクスポート |
save |
種子データを保存 |
open |
保存された種子データを開く |
flush |
一時データをフラッシュ |
show |
種子データを表示 |
load |
種子データを読み込み |
gmsh |
Gmshフォーマットでデータを出力 |
測定・変換
メソッド |
説明 |
length |
種子の長さを測定 |
convertMeshType |
メッシュタイプを変換 |
result |
シミュレーション結果を取得 |
その他
メソッド |
説明 |
remove |
種子オブジェクトを削除 |
使用例
program seed_simulation
use SeedClass
implicit none
type(Seed_) :: seed
call seed%init()
seed%radius = 0.2d0
seed%width1 = 0.5d0
seed%width2 = 0.3d0
seed%width3 = 0.4d0
call seed%createMesh()
call seed%material()
call seed%env()
call seed%grow()
call seed%export()
end program seed_simulation
備考
- このクラスは有限要素法を使用して種子の水分吸収と成長をシミュレートします。
- 種子の形状は複数のパラメータ(半径、幅など)で定義されます。
- 材料特性はヤング率、ポアソン比、透過性などの物理的特性を含みます。
- 水分吸収は専用の
WaterAbsorption_
オブジェクトを通じて管理されます。
Discussion