Code Monkey home page Code Monkey logo

aws-bugbust-17 / propti-17 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from firedynamics/propti

0.0 0.0 0.0 1.13 MB

PROPTI is an interface tool that couples simulation models with algorithms to solve the inverse problem of material parameter estimation in a modular way. It is designed with flexibility in mind and can communicate with arbitrary algorithm libraries and simulation models. Furthermore, it provides basic means of pre- and post-processing.

License: MIT License

Python 97.44% Shell 1.81% Dockerfile 0.74%

propti-17's Introduction

Introduction

PROPTI is a Python module, written in Python 3.x. It provides a frame work for inverse modelling (or optimisation) of parameters in computer simulation. It's focused on handling the communication between simulation software and optimisation algorithms. Up to now, "a Statistical Parameter Optimization Framework for Python" SPOTPY is used to provide a library of algorithm implementations. The Fire Dynamics Simulator FDS is used for the simulation side of things.

For newcomers to inverse modelling in fire (safety) simulation, PROPTI may serve as a good starting point. Specifically, its documentation and examples are aimed to provide a smooth entrance. Also, due to its generalised structure, input scripts can easily shared and discussed with collaborators. Furthermore, the open design of this framework allows it to be connected to arbitrary simulation software and/or algorithm libraries. Thus, PROPTI is not limited to fire safety engineering. Although, for now only SPOTPY and FDS connections are implemented, due to the current focus of the authors work.

Features

Input files, that are used to steer the inverse modelling process, are written in Python syntax. The user needs to provide templates for the simulation software input files and files of the experimental (target) data. PROPTI will collect all necessary files and group them in a separate directory. Meta-data is collected, as well and stored in a easy-to-use way for documentation and post processing purpose. Means to interact with the PROPTI framework via the command line are provided, even though its methods can of course be used in individually written Python scripts, as already known from the Python ecosystem.

Since the input file templates are text files, connection to arbitrary simulation software, which uses text input files, is relatively simple. Furthermore, the parameter set is generated, using the simulation software with which the actual simulation project is to be conducted, later on. Thus, the parameter set takes the limitations and advantages of said simulation software into account right from the start. However, this makes the parameter sets model specific.

Parallel execution of the algorithms is provided by the respective SPOTPY algorithms. Further parallelisation is provided within the PROPTI framework. Thus, it is relatively easy to set up inverse modelling processes across multiple simulation setups, for instance material parameter estimation based on different experiments.

Basic functionality for data analysis of the inverse modelling process is provided out of the box.

Documentation and Examples

Documentation is provided in Wiki. The folder 'examples' contains application examples tested with FDS version 6.7.

Citation

PROPTI is listed to ZENODO to get Data Object Identifiers (DOI) and allow for citations in scientific papers. You can find the necessary information here:

DOI

We have set up a project on ResearchGate: PROPTI project

Corresponding publications can be found here:

PROPTI - A Generalised Inverse Modelling Framework

Application cases of inverse modelling with the PROPTI framework

Role of the Cost Function for Material Parameter Estimation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.