Skip to content

Project-PLATEAU/Fluid-dynamics-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

熱流体シミュレーションシステム

概要

更新履歴

更新日時 リリース 更新内容
2025/03/26 2nd 3D都市モデル編集機能やシミュレーション結果可視化機能の改修と熱流体解析における湿度考慮
2024/03/29 1st 初版リリース

1.概要

本リポジトリでは、Project PLATEAUの令和6年度「都市デジタルツインの実現に向けた実証調査業務」(内閣府/研究開発とSociety5.0との橋渡しプログラム(BRIDGE))におけるUC24-04「熱流体解析に関する大規模シミュレーション」において開発した「熱流体シミュレーションシステム」のソースコードを公開しています。

「熱流体シミュレーションシステム」は、ウェブ上で実施可能な3D 都市モデルを利用した熱流体シミュレーションシステムです。

2.「3D都市モデルを活用した熱流体シミュレーションシステムの開発」について

3D都市モデルを用いた大規模なシミュレーション技術は高負荷のコンピューティングを前提とするものが多く、その実施はオンプレミスの専門ツールを用いることが一般的です。他方、3D 都市モデルが普及するにつれ、地方公共団体職員等のノンエンジニア属性のユーザが簡易にシミュレーションを実施して業務に活用するニーズが高まっています。そこで、本ユースケースでは、直感的で理解しやすい操作性かつ利便性を考慮したGUIを備えたウェブアプリとしての温熱環境シミュレータを実現しました。本システムにより、地方公共団体職員等のノンエンジニア属性のユーザが、簡易にシミュレーションを実施して業務に活用するニーズに応えることを目指しています。

3.利用手順

本システムの構築手順及び利用手順は利用チュートリアルを参照してください。

4.システム概要

ユーザ認証・データ共有機能

ユーザをログイン認証し、当該ユーザがこれまでにこのウェブアプリで登録した3D都市モデルやシミュレーションモデルを一覧表示します。またプリセットされたサンプルモデルや、他のユーザから共有されたモデルについても、閲覧および複製できます。

3D都市モデル編集機能

外部システムでデータ変換しアップロードした3D都市モデル(OBJ/STLファイル)に対して、本システム上にて地図操作でポイントを指定し、高さや建物種別を設定することで架空の建物モデルを作成します。また、自分で作成した建物に限らず既存建物を選択することで削除できます。これにより、オリジナルの3D都市モデルデータを作成することができます。

熱流体解析機能

ウェブアプリの画面上で外気温などの外力等環境条件を入力し、外部システムでデータ変換した3D都市モデル(STLファイル)をウェブアプリにアップロードすることで、サーバの計算機資源を用いて温熱環境シミュレーションを実行することができます。 熱流体解析ソフトとしてはOpenFOAMを利用します。標準のソルバを用いるノンエンジニアのユーザは、OpenFOAMの入出力や計算仕様を理解する必要はありません。また熱流体解析に精通したユーザはOpenFOAMのソルバや設定をカスタマイズして利用することも可能です(詳細についてはdocsフォルダのシミュレーションモデル仕様書をご参照ください)。

シミュレーション結果可視化機能

温熱環境シミュレーション結果(風況、中空温度、暑さ指数)を示す矢印やヒートマップを、PLATEAU-3DTilesの配信サービスなどで提供されている3D都市モデル(3Dタイル)および地形モデルに重畳してウェブアプリの画面上に表示します。また温熱環境シミュレーション結果をGeoJSONファイル形式でダウンロードすることができます。

シミュレーション結果一般公開機能

温熱環境シミュレーション結果について、本システムのログインアカウントを持たない利用者も閲覧可能なURLを発行することができます。

5. 利用技術

用途 名称 製品バージョン 内容
ウェブアプリ構成要素 Ubuntu 22.04.3 LTS 開発環境として使用したOS
Apache Server 2.4.52 Webアプリの動作環境であるWebブラウザと通信するために利用したWebサーバ
Bootstrap 5.2.3 フロントエンドのUIを構築するために使用したライブラリ
jQuery 3.7.1 フロントエンドの動的処理のために使用したJavaScriptライブラリ
jQuery UI 1.13.2 jQueryの拡張機能として利用
CesiumJS 1.104 データを地図上に描画するために利用した3D地図プラットフォーム
Leaflet 1.9.4 データを地図上に描画するために利用した2D地図ライブラリ
Laravel 10.28.0 バックエンドで利用したPHPフレームワーク
PHP 8.1 Webアプリのバックエンド開発に利用したプログラミング言語
NodeJS 12.22.9 フロントエンドと連携して動作するバックエンドの実行環境
npm 8.5.1 Node.jsのパッケージ管理ツール
PostgresSQL 15.4 データベースエンジン
Python 3.12.7 コンテナモジュールの実装に利用したプログラミング言語
pip 24.3.1 Pythonのパッケージ管理ツール
fastapi 0.115.4 APIを構築するためのWebフレームワーク
fastapi-cli 0.0.5 fastapiの拡張機能として利用
pyproj 3.7.0 座標変換のために利用したPythonライブラリ
numpy 2.1.2 数値計算のために利用したPythonライブラリ
numpy-stl 3.1.2 numpy上で3DモデルのSTLファイルを操作するためのPythonライブラリ
SQLAlchemy 2.0.36 データベース操作のために利用したPythonのORMライブラリ
psycopg2 2.9.10 データベース操作のために利用したPythonライブラリ
paramiko 3.5.0 SSH接続を行うために利用したPythonライブラリ
OpenFOAM (ESI-OpenCFD) 2206 熱流体解析に用いた流体解析用ソフトウェア
環境構築 docker 24.0.6 サーバー上にコンテナを構築するために利用した
docker compose 2.22.0 複数のDockerコンテナを操作するために利用したプラットフォーム
Git 2.43.0 ファイル構成管理に利用
pgAdmin 4 8.3 データベースのGUI操作に利用したツール
対向システム PLATEAUストリーミング配信サービス 3Dタイル配信
地理院タイル  2Dタイル配信
FME Desktop 2023.2.0.0 3D都市モデルのデータ変換を行うために利用したソフトウェア
QGIS 3.40.4 GISソフトウェア

6. 動作環境

ハードウェア構成

本システムの稼働環境は、利用者端末であるクライアントPCおよびネットワーク接続するサーバマシンの各ハードウェアより構成されます。サーバマシンでは複数のマシン(コンテナ)から構成され、うちWebコンテナがクライアントPC上のブラウザに対してウェブアプリをホストし、他のコンテナはWebコンテナと結合して諸機能を提供します。ここでは、クライアントPCとサーバーマシンの最小動作環境を下記に示します。

ソフトウェア環境(クライアントPC)

項目   最小動作環境                       推奨動作環境    
ブラウザ               JavaScript、jQuery、CesiumJS対応ブラウザ Google Chrome 120.0以上 
ディスプレイ解像度 1920×1080以上 1920×1080以上
ネットワーク 以下のURLを閲覧可能。
・サーバマシンのWebアプリ
PLATEAU-3DTilesの配信サービス
インターネット接続

ソフトウェア環境(サーバーマシン)

項目   最小動作環境                       推奨動作環境    
OS Ubuntu Dockerファイルに依り立ち上げた仮想環境
DBMS PostgresSQL 同左
ファイルシステム Ubuntu(Webコンテナ、Wrapperコンテナ、APIコンテナ)がマウント可能なファイルシステム Amazon EFSあるいはsamba
ネットワーク 各コンテナ及びファイルストレージとのネットワーク接続 サーバマシン内でのVPN

7. 本リポジトリのフォルダ構成

フォルダ名 詳細
docs 参考資料(ドキュメント)
examples 参考資料(ドキュメント以外)
examples/input 本システムにユーザがアップロードするファイルのサンプル
examples/output 本システムからユーザがダウンロードするファイルのサンプル
src ソースコード
src/container サーバマシンの各コンテナを仮想化技術により構築するための設定ファイル
src/query サーバマシンのDBコンテナで動作するデータベースの構築用DDLおよび初期データ投入用DML
src/srcBatch サーバマシンのWrapperコンテナで動作する熱流体解析の非同期実行管理モジュールのソースコード
src/srcWeb サーバマシンのWebコンテナで動作するWebアプリのソースコード
src/srcAPI サーバマシンのAPIコンテナで動作する3つのFatAPIのソースコード
src/template 「標準」ソルバとしてプリセットされているOpenFOAMの入力ファイル
(ユーザがアップロードするファイル、Webアプリが動的に生成するファイルを除く)

なお、ウェブアプリを構成する各モジュールはphp、pythonなどインタプリタ型言語で実装されているため、オブジェクトプログラム(バイナリファイル)は構成管理下に含まれません。

8. ライセンス

  • ソースコードおよび関連ドキュメントの著作権は国土交通省に帰属します。
  • 本ドキュメントはProject PLATEAUのサイトポリシー(CCBY4.0および公共データ利用規約第1.0版)に従い提供されています。

9. 注意事項

  • 本リポジトリは参考資料として提供しているものです。動作保証は行っておりません。
  • 予告なく変更・削除する可能性があります。
  • 本リポジトリの利用により生じた損失及び損害等について、国土交通省はいかなる責任も負わないものとします。

10. 参考資料

About

日射や風況等に基づく温熱環境シミュレーションシステム

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published