Skip to content

Project-PLATEAU/Fluid-dynamics-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

概要

更新履歴

更新日時 リリース 更新内容
2026/03/19 3rd グリーンインフラ・熱中症対策への適用に向けた植生/植栽モデル対応(編集機能および植生乱流モデルの導入)ならびに各機能の改修
2025/03/26 2nd 3D都市モデル編集機能やシミュレーション結果可視化機能の改修と熱流体解析における湿度考慮
2024/03/29 1st 初版リリース

1.概要

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

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

3D都市モデルを用いた大規模なシミュレーション技術は高負荷のコンピューティングを前提とするものが多く、その実施はオンプレミスの専門ツールを用いることが一般的です。他方、3D都市モデルが普及するにつれ、地方公共団体職員等のノンエンジニア属性のユーザーが簡易にシミュレーションを実施して業務に活用するニーズが高まっています。

本ユースケースでは、これらの課題に対し、直感的で理解しやすい操作性かつ利便性を考慮したGUIを備えたウェブアプリとしての温熱環境シミュレータを開発しました。 特に、近年のまちづくりにおいて重要となる「グリーンインフラ整備」や「熱中症対策」への活用を念頭に、建物だけでなく樹木や緑被などの植生モデルを含めたシミュレーションに対応しています。ユーザはウェブブラウザ上で架空の建物や植栽を自由に配置・変更し、再開発計画や植栽計画の効果検証を簡易かつ高精度に実施することが可能です。

本リポジトリのソースコードを利用することで、サーバ(コンテナ)およびクライアント(ウェブアプリ)環境を構築し、ノンエンジニア属性のユーザでも高度な熱流体シミュレーションを日常業務に活用できる環境を提供します。

3.利用手順

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

4.システム概要

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

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

3D都市モデル編集機能

外部システムでデータ変換しアップロードした3D都市モデル(OBJ/STLファイル)に対し、本システム上の地図操作で架空のモデルを追加・編集する機能です。 建物モデルの高さや種別の設定に加え、グリーンインフラ整備や熱中症対策の検討に不可欠な樹木や緑被などの植生モデルについても、GUI操作で自在に配置・削除が可能です。 これにより、既存の都市モデルをベースに、再開発や植栽計画を反映したシミュレーション用のオリジナルデータを作成することができます。

熱流体解析機能

ウェブアプリの画面上で外気温などの外力等環境条件を入力し、外部システムでデータ変換した3D都市モデル(STLファイル)をウェブアプリにアップロードすることで、サーバの計算機資源を用いて温熱環境シミュレーションを実行します。熱流体解析ソフトにはOSSの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のパッケージ管理ツール
PostgreSQL 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 PostgreSQL 同左
ファイルシステム Ubuntu(Webコンテナ、Wrapperコンテナ、APIコンテナ)がマウント可能なファイルシステム Amazon EFS あるいは samba
ネットワーク 各コンテナ及びファイルストレージとのネットワーク接続 サーバマシン内でのVPN

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

フォルダ名 Lv1 Lv2 詳細
docs 参考資料(ドキュメント)
examples 参考資料(ドキュメント以外)
input 本システムにユーザがアップロードするファイルのサンプル
output 本システムからユーザがダウンロードするファイルのサンプル
src ソースコード
container サーバマシンの各コンテナを構築するための設定ファイル
query DBコンテナ用DDLおよび初期データ投入用DML
srcBatch Wrapperコンテナ用・熱流体解析非同期実行管理モジュール
srcWeb Webコンテナ用・Webアプリソースコード
srcAPI APIコンテナ用・FastAPIソースコード
template 標準ソルバ(OpenFOAM)用入力ファイルテンプレート

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

8. ライセンス

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

9. 注意事項

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

10. 参考資料

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors