The SmoWeb platform
SmoWeb is an open source web computational platform developed in Python and a library of applications built on top of this platform.
It provides the infastructure for rapid development of scientific applications with graphical user interface.
It runs on the web and does not require installation of any software by the user. All the computations are performed in the cloud.
The platform can be used under GPL v.3 open source license, allowing anyone to use our code at their will; developers can read, review, modify or contribute code to the platform or develop their own version of the platform, provided that they comply with the copyleft restrictions of the GPL licence. Alternative licensing schemes can be negotiated. More information about it can be found here.
Python was chosen as the implementation language because it is a powerful modern general purpose object-oriented language. Today it has become an inseparable part of scientific computing, due to the vast abundance of open source python libraries and interfaces to major software tools. Cython is a Python extension, allowing to speed up critical parts of the software and providing easy interfacing to C/C++/Fortran libraries.
A number of applications have already been developed and are continously being developed on top of the fucntionality provided by the platform. Currently these are mostly in the fields of thermodynamics, heat and fluid flow, and transient bio-system modeling. Although the platform is suitable for any kind of engineering modeling and simulation, the main focus is on system and process engieering.
If you are curious about the implementation of SmoWeb, check out the project's documentation
- Model definition consists of interface definition and computational implementation:
- a NumericalModel is defined in python code with input and output fields
- fields can be a physical quantity (with units), boolean, text, choice, record array, data array, etc.
- models can be inherited (expanded) or included as submodels in other models
- fields can be grouped in field groups, and field groups in super-groups to form a model view
- each NumericalModel has at least a single compute method, which can be arbitrarily complex, and uses the full power of Python language and all installed libraries
- Automatic graphical user interface for the web browser
- a model can send model views with data to the browser
- hierarchical representation of the model with dialog groups and tabs
- numerical, boolean, text fields; choice selections from dropdown menus
- advanced editors for complex data structures (e.g. record array)
- the user interacts with the browser to edit the model values
- physical quantity editors have built-in unit conversion
- at the click of a button, the user can send data back and request the server to perform a number of predefined model actions
- results from calculations are sent to the user for inspection
- simple fields, plots, tables and diagrams in the results
- Advanced data storage:
- model values can be automatically saved and retrieved from a database
- a unique link is generated for a saved model, and can be used to share model data
- schema-less Mongo database: automatic storage for any data structure defined
- HDF5/Pandas storage for time series and other array data
- Integration of numerous computational libraries and frameworks:
- NumPy, SciPy and MatPlotLib, the standard python libraries for numerical computation and visualization, with much of the basic functionality present in Matlab.
- CoolProp: property database with wide range of common and refrigerant fluids including gas, liquid and two-phase properties
- Assimulo + CVODE: library for simulating dynamical system models (models based on hybrid systems of non-linear ordinary differential equations with events/discontinuities)
- PyDDE: library for simulating dynamical systems described by differential equations with delays.
- FiPy: library by NIST for modeling heat and mass transfer in 1, 2, and 3D geometries based on the Finite Volume Method
Models and applications
- Property calculators
- Pipe flow
- Convectional heat exchange
- Thermodynamic cycles
- 1D heat exchange examples
- Chemostat models
This is the current development plan for the next version of SmoWeb. We have deliberately planned more things than we will be able to implement, and will later select a subset of them based on the available resources
- Integration of Celery, a distributed task queue
- long running simulation tasks will be executed in the background
- users will be updated continuously about the progress of the simulation
- Dynamical simulation environment
- component and system model definitions in python
- generation of C/C++ code for simulation speed-up
- graphical system editor (like Simulink, or the Modelica-based GUI tools Dymola and SimulationX)
- (?) Modelica integration
- advanced result viewer
- Parameter variation/optimization
- design of experiments
- parameter sensitivity
- User authentication and access control
Models and applications
- Thermo-fluid modules
- more material models
- advanced cycles
- user defined systems
- Bio-reactor modules
- Advanced fermentation model
- Chemical process modules (integration of Cantera)
- HVAC modules (energy management of buildings)
- Renewable energy modules (solar heating etc.)
The platform can be licensed under GPL or proprietary license.
Open source license
If you choose the GPL option, you are allowed to use our code at your will, read, review, modify or contribute code to the platform or develop your own version of the platform, provided that you comply with the copyleft restrictions of the GPL licence. This means that in order to guarantee the freedom of the software and the users, if any such modifications are going to be made for public use (e.g. published on a domain other than sysmoltd.com, whether paid or free), the source code behind them has to be made public as well.
We have not yet published officially the source code, so if you need it please submit a request to us.
For a commercial license, please contact us.
The license does not concern proprietary models which can be created on top of the platform and have limited user access (requiring access credentials). Such models do not have to reveal their code, as long as they are meant to be used only by their authors and their clients, if they are contracted by external entities.
Open software and hardware development
Who we are
A team of young and motivated engineers, mathematicians and computer scientists, providing services in engineering modeling and technical software development.
What we can do
- create computer models of engineering systems
- model energy and mass exchange, fluid and heat flow
- extend and customize existing simulation products
- create new software products for modeling and simulation
What is special about us
- we can develop modeling tools customized to meet your needs
- we can combine, customize and automate existing modeling tools
What we believe
"Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer."
We firmly believe in free and open-source software. Open source gives you the freedom to use, modify, improve and re-distribute your product at your discretion. Time and again, open source has proven to be a viable, and often superior, alternative to commercial closed source software. Open source guarantees that the software you use will be independent and given that it is backed by a thriving community, it is bound to continue to develop and improve.
Science, engineering and technology are all collective achievements, and we stand tall because we stand on the shoulders of those before us. Mathematical libraries, equation solvers, mesh generators, pre- and post-processing tools, parallelization software, network tools, databases and encryption tools - virtually everything is already out there, readily available and very often at no cost. Why not use it? Why not contribute our own share?
Of course, we realize that open source is not always applicable. We don't expect that everyone should believe in it the way we do, so we are ready and willing to protect the know-how of our clients by all means possible.
Want to get to know us better?
Learn more about SysMo here
|Atanas Pavlov||Milen Borisov||Ivaylo Mihaylov|
|Simulations, controllers, software development||Simulations, software development||Software development, web platform|
- Massachusetts Institute of Technology, B.S. in Physics (2004), M.S. in Mechanical Engineering (2006)
- Cambridge University (2002-2003), Cambridge-MIT exchange program
- Previous work
- 2006-2010 BMW AG, Munich, Germany, Hydrogen Fuel Tank Development: system, thermal and CFD Simulations, participation in HySim project
- 2004-2006 MIT Bioinstrumentation Lab: Development of high-speed needle-free injection system
- DE102007057979 (A1), Tobias Brunner and Atanas Pavlov, 2009-06-04 Cryogenic hydrogen filling method for storage container i.e. cryogenic tank, of motor vehicle, involves re-cooling hydrogen using suitable cooling potential, supplying residual gas and supplying large portion of gas into tank
- DE102007023821 (A1), Tobias Brunner and Atanas Pavlov, 2008-11-27 Method for filling cryogenic hydrogen tank on vehicle has residual gas tapped off to be conditioned at lower temperature before returning to cool the tank prior to filling with fresh gas
- Bulgarian Academy of Sciences, Dr. (PhD), Mathematical Modelling and Applications (2013) Sofia University "St. Kliment Ohridski", B.S. in Informatics (2004), M.S. in Informatics (2008)
- Previous work
- 2003-2010 Mapex JSC, Sofia, Bulgaria, GIS software development
- Borisov, M., Dimitrova, N., 2010. One-parameter bifurcation analysis of dynamical systems using maple. Serdica Journal of Computing 4 (1), 43--56. ISSN 1312-6555. IF 1.472
- Borisov, M., Dimitrova, N., 2011. Stability analysis in a model of 1,2-dichloroethane biodegradation by klebsiella oxytoca va 8391 immobilized on granulated activated carbon. AIP Conference Proceedings 1404, 284--298. doi: http://dx.doi.org/10.1063/1.3659931
- Borisov, M., Dimitrova, N., Beschkov, V., 2012. Stability analysis of a bioreactor model for biodegradation of xenobiotics. Computers and Mathematics with Applications, vol. 64, No. 3, 361--373. ISSN 0898-1221. doi: http://dx.doi.org/10.1016/j.camwa.2012.02.067
- Borisov, M., 2012. Biftools: Maple package for bifurcation analysis of dynamical systems. Bulgarian Academy of Sciences, Institute of Mathematics and Informatics, Scientific Reports No. 1/2012, 35 pages; ISSN 1314-541X
- Sofia University "St. Kliment Ohridski", B.S. in Computer Science (2006)
- Courses & Certificates
- Verified certificates from Massachusetts Institute of Technology:
- 6.00.1x Introduction to Computer Science and Programming Using Python
- 6.00.2x Introduction to Computational Thinking and Data Science
- Verified certificates from Massachusetts Institute of Technology:
SysMo have helped us analyze the complex behavior of our hydrogen storage system, allowing us to optimize it to meet the demands of our customers. I would like to highlight the quick and focused work of Mr. Pavlov and his team. Using the models developed by them, we are able to simulate the behavior of the hydrogen storage system under all operating conditions. I will be glad to work with SysMo again in the future.
Klaus Szoucsek, Hydrogen Storage Development, BMW AG, Germany
In my work, I have to deal with complex computational models. The software developed by the SysMo team has allowed me to structure my work, and not have to do repetitive tasks by hand. Now I can develop quicker simulation models, and they come automatically with interfaces to certain major simulation platforms and languages: FMI, Modelica, AMESim, Simulink.
Cedric Roman, NumenGo, France
The Disclaimer below concerns the free version of this software.
SYSMO LTD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL SYSMO LTD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.