Portfolio

DataArranger_web

数値シミュレーションの結果を解析するためのWebアプリケーションです。

有限差分時間領域(FDTD)法を用いたシミュレーションの結果を、単純な数値計算の結果と合わせてグラフに表示します。 データの選択をダイアログで行えるようにし、データを保存する際にもダイアログで名前や保存先を選択できます。 アプリケーションを各端末にインストールせずとも、ブラウザから簡単に数値シミュレーション結果を確認できます。

AWSにデプロイしているものと、Render.comにデプロイしているものは同じです。 Render.comはhobbyプランで利用しているため、サーバーがスリープ状態の場合は起動に30秒から1分程度かかる場合があります。

機能

  • シミュレーション結果を、実験での測定と比較可能な形でグラフ化(1/4波長板の角度に対する光強度のグラフ)
  • シミュレーション結果の偏光状態を3Dグラフ化(Poincare球表示)
  • グラフを画像として保存(png, svg, jpeg, webp形式)
  • 1/4波長板の角度に対する光強度のデータをjson形式で出力
  • Stokesパラメータをjson形式で出力

動作環境

OS推奨条件
macOS
  • Firefox 最新版
  • Google Chrome 最新版
  • Safari 最新版
WindowsMicrosoft Edge 最新版
iOS
  • iPhone 8 以上
  • Safari 最新版
iPadOSSafari 最新版

Gallery

シミュレーション結果解析用アプリケーションの画面です。
アプリケーションの画面です。光強度のグラフが表示されています。
シミュレーション結果解析用アプリケーションの画面です。3次元グラフが表示されています。
アプリケーションの画面です。偏光状態を示す3Dグラフが表示されています。
シミュレーション結果解析用アプリケーションの画面です。アクセス時に表示される状態が表示されています。
アプリケーションの画面です。アクセス時に表示される状態が表示されています。

Movie

画面収録の際に、画面下部が切れてしまっています。後日、新しいものに差し替える予定です。
映像は、Render.com版のものですので、サーバーが起動するまで時間がかかっています。
※音声はありません。

開発

使用言語:
Python(バックエンド), TypeScript(フロントエンド)

使用ライブラリ等:
NumPy, SciPy, Pandas, FastAPI, React, React Router, Plotly, shadcn/ui

使用サービス:
Git, GitHub, Render.com, AWS Amplify, Amazon Elastic Container Registry, Amazon Elastic Compute Cloud, Amazon CloudFront, Amazon Route 53

開発経緯:
アプリケーションを各端末にインストールせずとも簡単に数値シミュレーション結果を確認できるようにすること、 Webフロントエンドでよく用いられているReactを習得すること、 どうしても三次元グラフをうまく実装できなかったPySide6から脱却することの3つを目的として開発を始めました。

技術選定理由等:
GitHubと接続することで自動で手軽にビルド・デプロイが行えるため、最初のデプロイ先にはRender.comを選びました。 その後、広く用いられているAWSに触れる目的で、AWSでもデプロイしました。 その際にRoute 53でカスタムドメインの取得・登録を行い、これを使用してurlをわかりやすくしました。