FORTRAN でかなり小さな pde 解決アプリケーションを作成しており、OOP を使用しようとしています。現在、いくつかのモジュールがあり、それらのいくつかは、対応する内部プロシージャで型を定義しています。
問題は、あるモジュールが別のモジュール内で定義された型で動作し、後のモデルも前者の型で動作する場合、どうすればよいですか? 例を挙げます。
たとえば、2 つのモジュールがあり、1 つはタイプMeshを定義し、もう 1 つはタイプNodeVariableを定義します。ここで、各NodeVariableを解決対象のメッシュに関連付けたいのでtype(Mesh) :: mesh
、タイプの定義にフィールドを追加します。これまでのところ、タイプmeshuse module-mesh
の定義にアクセスするために書くことは問題ありません。しかし、定義された変数をメッシュに認識させたいので、フィールドとして宣言し、その場でメッシュに変数を追加する手順を追加します。しかし、別のuseステートメントを使用する余裕がないため、今は行き詰まっています。これにより、モジュールがそれ自体を使用するようになり、すべてがクラッシュします。解決?type(NodeVariable), allocatable :: var(:)