Skip to content
This repository has been archived by the owner on Jun 7, 2023. It is now read-only.
/ OMWebAppEngine Public archive

OpenModelica Based Engineering Simulation Web Application BackEnd

License

Notifications You must be signed in to change notification settings

JojiKoike/OMWebAppEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OMWebAppEngine

本ドキュメントの目的

動作環境、開発環境構築手順、アプリケーション起動手順を示す。

概要

モデル記述言語Modelicaで構築した工学シミュレーションモデルを動かすWebアプリケーションの
バックエンドアプリケーションです。
現在は予め構築済みの工学モデルに対して、パラメータを変えて計算を行う機能のみに対応しています。
現在、以下のモデルを用意しております。

  • 1次元バネマスダンパモデル(自動車のサスペンションのようなモデル)
  • 密閉筐体温度計算モデル(スマートフォンのように、密閉筐体内に発熱体が存在するようなモデル)

構成管理、構築を効率化する為、Vagrant及びAnsibleによる、Infrastracture As Codeを実践し
サーバー構成のコード化、構築の自動化を実現しています。

前提条件

  • Windowsの場合、Hyper-Vが無効になっていること
  • Intel VtまたはAMD-Vが有効になっていること
  • Vagrant及びVirtual Boxがインストール済みであること
  • 開発作業を行うには、Python3.7系最新とOpenModelicaがインストール済みであること

環境

  • OS : Ubuntu 16.04 LTS
  • HTTP Server : Apache 2.4.18
  • サーバーアプリ実装言語 : Python 3.7系最新
  • モデル記述言語:Modelica v3.2.2
  • WSGI Server : uWSGI 2.0.17
  • Web Application Framework : Flask 1.0.2 + Flask-RESTful 0.3.7
  • MBD Platform : OpenModelica v.1.12.0
  • OpenModelica-Python Interface : OMPython 3.1.2

使用方法

  1. ソースコードクローン
    git clone https://github.com/JojiKoike/OMWebAppEngine.git

  2. セットアップ
    vagrant up develop
    注:ネットワーク状況にもよりますが、約30分程かかります。

  3. 動作確認
    curl -I "http://192.168.33.10/simplemsd
    以下のように出力されていれば、正常に動作しています。
    HTTP/1.1 200 OK
    Date: Tue, 24 Mar 2020 05:01:22 GMT
    Server: Apache/2.4.18 (Ubuntu)
    Content-Type: application/json
    Content-Length: 22769
    Access-Control-Allow-Origin: *

各コマンド

* 起動

vagrant up develop --provision

* 停止

vagrant halt develop

* 再起動

vagrant reload develop --provision

  • 仮想サーバーへSSHログイン

vagrant ssh develop

ディレクトリ構成

OMWebAppEngine
  ├── app: アプリケーション群ルートディレクトリ
  │  └── omwebapp 本アプリケーションルートディレクトリ
  │     ├── ModelicaModels: モデル記述言語Modelicaで記述された工学シミュレーションモデルコード
  │     ├── config: ルーティング等のアプリケーション設定
  │     ├── entity: POSTリクエストパラメータ値、出力値を格納するエンティティクラス群
  │     ├── tests: テストコード群
  │     ├── util: ユーティリティーモジュール群
  │     └── view: REST API定義
  └── provisioning: Andible プロビジョニングコード群
        └── roles
            ├── apache2: Apache2セットアップ用プロビジョニングコード群
            ├── common: OSの設定等、全体共通のPlaybook
            ├── openmodelica: OpenModelicaセットアップ用プロビジョニングコード群
            ├── pyenv: pyenvセットアップ用プロビジョニングコード群
            └── uwsgi: uWSGIセットアップ用プロビジョニングコード群

作者

Joji KOIKE

ライセンス

This project is licensed under the MIT License - see the LICENSE.md file for details

Releases

No releases published

Packages

No packages published