User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2017/06/01 16:45]
bp [Support]
start [2017/12/22 14:13] (current)
bp [Course]
Line 1: Line 1:
-====== MuPIF ====== 
 {{ :​wiki:​images:​mupif-logo-3-color.png?​250|}} {{ :​wiki:​images:​mupif-logo-3-color.png?​250|}}
  
-A reliable multiscale/multiphysics ​numerical modeling requires including all relevant physical phenomena along the process chain, typically involving multiple ​scalesand the combination of knowledge from multiple fields. A pragmatic approach lies in combining existing ​tools, to build a customized multiphysics ​simulation ​chainsIn order to achieve such a modular approach a multiphysics integration framework, called ​MuPIF has been designedwhich provides an underlying infrastructure enabling high-level data exchange and steering of individual applications+====== MuPIF ====== 
 + 
 +MuPIF is modular, object-oriented integration platform allowing to create complex, distributed, ​multiphysics ​simulation workflows across ​the scales and processing chains by combining existing simulation ​tools. MuPIF uses Python 3.5 standards and is independent on operating system (LinuxUNIX, Windows, Mac, ...). 
 +[[https://​twitter.com/​@ComposelectorH|{{ :​wiki:​images:​twitter-bird.png?50|}}]]
  
-====== Description ====== 
 ===== Framework Design ===== ===== Framework Design =====
-One of the main objectives is to develop an integrated modelling platform targeted to multiscale and multi-physics engineering problems. The approach followed in MuPIF is based on an system of distributed,​ interacting ​objects ​designed to solve given problem. The individual ​objects ​represent entities in the problem domain, including individual simulation packages, ​but also the high level, complex ​data, such as micro-structures,​ fields and properties. The abstract classes are introduced for all entities in the model space. They define a common ​interface ​that needs to be implemented by any derived class, representing particular implementation of specific component. Such interface concept allows using any derived class on a very abstract level, using common services defined by abstract class, without being concerned with the implementation details of an individual software component. This essentially allows to manipulate all models ​and data using standardized interfaces. Moreover, as the simulation data are represented by objects as well, the platform is independent on particular data format(s), as the exchanged ​data (such as fields and properties) can be manipulated using the same abstract interface. Therefore, the focus on services is provided by objects (object interfaces) and not on underlying data itself. The abstraction allows to treat local as well as remote objects using the same interface making the platform naturally distributed.  ​+A reliable ​multiscale/​multiphysics numerical modeling requires including all relevant physical phenomena along the process chain, typically involving multiple scales, ​and the combination of knowledge from multiple fieldsA pragmatic approach lies in combining existing tools, ​The approach followed in MuPIF is based on an system of distributed,​ interacting ​components ​designed to solve given problem. The individual ​components ​represent entities in the problem domain, including individual simulation packages, high level data, but also the workflows. The abstract classes are introduced for all entities in the model space, defining ​common ​interfaces ​that needs to be implemented by any derived class, representing particular implementation of specific component. Such interface concept allows using any derived class on a very abstract level, using common services defined by abstract class, without being concerned with the implementation details of an individual software component. This essentially allows to manipulate all modelsdata, and workflows ​using standardized interfaces. Moreover, as the simulation data are represented by objects as well, the platform is independent on particular data format(s), as the simulation ​data (such as microstructures, ​fields and properties) can be manipulated using the same abstract interface. Therefore, the focus on services is provided by objects (object interfaces) and not on underlying data itself. The abstraction allows to treat local as well as remote objects using the same interface making the platform naturally distributed.  ​
 {{ :​wiki:​images:​mupif-map.png?​direct&​400|MuPIF Features}} {{ :​wiki:​images:​mupif-map.png?​direct&​400|MuPIF Features}}
  
-The complex simulation pipeline developed in MuPIF consists of top-level script in Python language (called scenario) enriched by newly introduced classes. ​Even though the platform can be used locally on a single computer orchestrating installed applications,​ the real strength of the MMP platform is its distributed design, allowing to execute simulation scenarios involving remote applications. MuPIF provides a transparent distributed object system, which takes care of the network communication between the objects when they are distributed over different machines on the network. One can just call a method on a remote object as if it were a local object – the use of remote objects is (almost) transparent. This is achieved by using the concept of proxies representing remote objects, which forward the calls to the remote objects and pass the results back to the calling code. In this way, there is no difference between simulation script for local or distributed case, except for the initialization,​ where, instead of creating local object, one has to connect to the remote object. ​+Even though the platform can be used locally on a single computer orchestrating installed applications,​ the real strength of the MMP platform is its distributed design, allowing to execute simulation scenarios involving remote applications. MuPIF provides a transparent distributed object system, which takes care of the network communication between the objects when they are distributed over different machines on the network. One can just call a method on a remote object as if it were a local object – the use of remote objects is (almost) transparent. This is achieved by using the concept of proxies representing remote objects, which forward the calls to the remote objects and pass the results back to the calling code. In this way, there is no difference between simulation script for local or distributed case, except for the initialization,​ where, instead of creating local object, one has to connect to the remote object. ​
  
  
  
 ===== Implementation ===== ===== Implementation =====
-Rather than writing programs, the Python language will be extended by modules, representing interfaces to existing codes, with specific functionality. The emphasis will be on building infrastructure to facilitate the implementation of multi-physic and multi-level simulations. The high-level language serves as a “glue” to tie the modules or components together, to create specialized application. Python language provides the flexibility,​ interactivity,​ and extensibility needed for such an approach, thanks to its concise and pseudocode-like syntax, modularity and object-oriented design, introspection and self documentation capability, and the availability of a Numerics extension allowing the efficient storage and manipulation of large amounts of numerical data. The application interface can be conveniently realized by wrapping application code. The process of wrapping code can be automated to a fair extent using SWIG~\cite{Swig}, Boost~\cite{Boost}, or similar tools, which can generate wrapper code for several languages. This approach also allows a single source version of the component code to be maintained. ​+Rather than writing programs, the Python language will be extended by modules, representing interfaces to existing codes, with specific functionality. The emphasis will be on building infrastructure to facilitate the implementation of multi-physic and multi-level simulations. The high-level language serves as a “glue” to tie the modules or components together, to create specialized application. Python language provides the flexibility,​ interactivity,​ and extensibility needed for such an approach, thanks to its concise and pseudocode-like syntax, modularity and object-oriented design, introspection and self documentation capability, and the availability of a Numerics extension allowing the efficient storage and manipulation of large amounts of numerical data. The application interface can be conveniently realized by wrapping application code. The process of wrapping code can be automated to a fair extent using [[http://​www.swig.org/​|SWIG]][[http://​www.boost.org|Boost]], or similar tools, which can generate wrapper code for several languages. This approach also allows a single source version of the component code to be maintained. ​
  
 ====== Documentation ====== ====== Documentation ======
-  * Online ​{{::MuPIF-UserManual-1.0.0.pdf|User manual}} and {{::​MuPIF-ReferenceManual-1.0.0.pdf|Reference manual}}+  * Online ​[[https://​github.com/​mupif/​mupif/​blob/​master/​mupif/​doc/​userManual/​MuPIF-userman.pdf|User manual]] and [[https://github.com/​mupif/​mupif/​blob/​master/​mupif/​doc/​refManual/​MuPIFReferencemanual.pdf|Reference manual]]
   * Three webinars on MuPIF platform design, installation,​ and use are available on [[http://​mmp-project.eu/​doku.php?​id=public_events|MMP project website]] and also available on YouTube: ​   * Three webinars on MuPIF platform design, installation,​ and use are available on [[http://​mmp-project.eu/​doku.php?​id=public_events|MMP project website]] and also available on YouTube: ​
      * [[https://​www.youtube.com/​watch?​v=Q9FRviRo0TE| 1st webinar on Generic platform design]],      * [[https://​www.youtube.com/​watch?​v=Q9FRviRo0TE| 1st webinar on Generic platform design]],
Line 31: Line 32:
 pip install mupif pip install mupif
 </​code>​ </​code>​
-Alternatively,​ you may download and install MuPIF from [[https://​github.com/​mupif/​mupif.git|git repository]]. You have to take care yourself on depending modules (Pyro4, numpy, scipy, setuptools, enum34, pyvtk, future). +Alternatively,​ you may download and install MuPIF from [[https://​github.com/​mupif/​mupif.git|git repository]]. You have to take care yourself on depending modules (Pyro4, numpy, scipy, setuptools, enum34, pyvtk). 
- +**Note that since June, 2017 the git repository has been migrated to GitHub.** 
-Note that since June, 2017 the git repository has been migrated to GitHub. ​+
 ===== License ===== ===== License =====
 MuPIF is available under GNU Library or Lesser General Public License version 3.0 (LGPLv3) MuPIF is available under GNU Library or Lesser General Public License version 3.0 (LGPLv3)
Line 45: Line 45:
   * Developping custom simulation scenarios   * Developping custom simulation scenarios
   * Practical session on platform usage   * Practical session on platform usage
-The cost of the course is 200 EUR/person. Course will be held in Prague at the Czech Technical University. Minimum of 5 participants per course.+The cost of the course is 400 EUR/person. Course will be held in Prague at the Czech Technical University. Minimum of 5 participants per course.
 ===== Authors & Credits ===== ===== Authors & Credits =====
 Mupif developpers:​ Mupif developpers:​
Line 71: Line 71:
   * Platform is used to simulate the effect of fire on structural response, project GACR 16-18448S   * Platform is used to simulate the effect of fire on structural response, project GACR 16-18448S
   * Platform has been used to model moisture condensation in tunnels, project [[http://​cesti.cz|CESTI]]   * Platform has been used to model moisture condensation in tunnels, project [[http://​cesti.cz|CESTI]]
-  * MuPIF has been used to simulate CIGS selenization and Light conversion in LEDs in EU [[http://​mmp-project.eu|MMP]] project.+  * MuPIF has been used to simulate CIGS selenization and Light conversion in LEDs in EU FP7 [[http://​mmp-project.eu|MMP]] project.
  
  
Line 78: Line 78:
   * The development of MuPIF has been funded by Grant Agency of the Czech Republic - Projects No. P105/​10/​1402.   * The development of MuPIF has been funded by Grant Agency of the Czech Republic - Projects No. P105/​10/​1402.
   * The development is at present supported by the EU project [[http://​mmp-project.eu/​|Multiscale Modelling Platform: Smart design of nano-enabled products in green technologies]],​ project number 604279.   * The development is at present supported by the EU project [[http://​mmp-project.eu/​|Multiscale Modelling Platform: Smart design of nano-enabled products in green technologies]],​ project number 604279.
-  * Starting from 2017, the development will be further supported in the frame of EU H2020 project COMPOSELECTOR : Multi-scale Composite Material Selection Platform with a Seamless Integration of Materials Models and Multidisciplinary Design Framework.+  * Starting from 2017, the development will be further supported in the frame of EU H2020 project ​[[http://​composelector.net|COMPOSELECTOR:​ Multi-scale Composite Material Selection Platform with a Seamless Integration of Materials Models and Multidisciplinary Design Framework]].
  
 <WRAP centeralign>​ <WRAP centeralign>​
start.1496328312.txt.gz · Last modified: 2017/06/01 16:45 by bp