@techreport{oai:ipsj.ixsq.nii.ac.jp:00218961,
 author = {三宅, 洋平 and 中澤, 和也 and 砂田, 洋平 and 南里, 豪志 and 深沢, 圭一郎 and 加藤, 雄人 and Yohei, Miyake and Kazuya, Nakazawa and Youhei, Sunada and Takeshi, Nanri and Keiichiro, Fukazawa and Yuto, Katoh},
 issue = {23},
 month = {Jul},
 note = {本論文では,これまで個別に数値研究が推進されてきた,磁気圏 MHD シミュレーションと宇宙空間中の人工衛星帯電計算の連成数値解析を,独自に開発したコード間結合フレームワーク CoToCoA を用いて実装する.具体的には磁気圏 MHD 計算で算出されたある位置座標におけるプラズマ物理量データを,人工衛星帯電コードが参照・使用し,衛星電位の時間発展を計算する.CoToCoA フレームワークでは,MPI 立ち上げ時に起動するプロセスグループ内で,MHD 計算,衛星帯電計算,およびそれらの挙動を統括する制御系の 3 つのプログラムを動作させる.MHD 計算は自身の物理計算の進捗に応じて,衛星帯電計算を促す役割を担っており,当フレームワークでは MHD 計算を「Requester」,衛星帯電計算を「Worker」と位置付ける.複数の Worker を用意しておき,Requester から計算要求が発行されるたびに Idle 状態の Worker に仕事を割り付ける.このスケジューリングを Coupler が担う.以上の挙動を実現するため,Coupler と Worker のそれぞれにポーリング処理を MPI の標準的な機能を用いて実装した.また Requester と Worker 間の数値データのやり取りは,MPI RMA の機能をベースとした CoToCoA 関数を用いることで非同期に実装した.衛星帯電計算は当該 RMA 機能により MHD 計算側の進捗を随時確認し,既にプラズマ物理量が算出された時刻まで帯電計算を進める形式となっている.実装した連成解析プログラムの動作検証を実施し,物理モデルとしての正常な動作を実現した.またおおむね 500 プロセス未満の使用プロセス範囲では,衛星帯電計算を付加することによる磁気圏 MHD 計算性能への影響は軽微であった., This paper addresses the implementation of a coupled numerical analysis of the global MHD simulation and the spacecraft charging calculation by means of our in-house coupling framework CoToCoA. In the analysis, the spacecraft charging program refers to and uses macro plasma parameters calculated at a certain position of the MHD simulation. Based on the CoToCoA framework, three types of independent programs, i.e., the MHD code, the spacecraft charging code, and their supervising program, are run concurrently within a MPI process group. Since the MHD code takes the role of invoking the spacecraft charging analysis based on the progress of its own physical calculation, the CoToCoA framework assigns the MHD simulation and the spacecraft charging calculation with the “Requester” and ”Worker” roles, respectively. CoToCoA allows us to have multiple Workers so that each charging calculation request can be assigned to one of Workers that are in an idle state, and the Coupler program is in charge of such request assignment. To realize the functionality, a polling process is implemented for each of the Coupler and Worker programs based on the standard MPI functions. The data exchange between the Requester and the Worker is also implemented in an asynchronous manner using the MPI RMA function. The spacecraft charging code leverages this RMA function to check the progress of the MHD calculations and to advance the spacecraft charging calculations until the time when the physical quantities have already been calculated. The developed simulation program has been tested to ensure that it works properly as a coupled physical model. The numerical experiments also confirmed that the addition of satellite charging calculations exerted a rather minor impact on the performance of MHD calculations with roughly up to 500 MPI processes.},
 title = {コード結合フレームワークCoToCoAによる磁気圏MHD-人工衛星帯電連成シミュレーションの実現},
 year = {2022}
}