Re-introduction to RMG, Enlarge Reaction Filter Algorithm, and User Accessibility Features Nick Vandewiele and Connie Gao RMG Meeting January 15, 2015.

Slides:



Advertisements
Similar presentations
PHP I.
Advertisements

Using the Self Service BMC Helpdesk
Business Development Suit Presented by Thomas Mathews.
Ravi Mathur Updated December 5,  ODTBX uses Git (see the ODTBX Git Tutorial) ODTBXODTBX Git Tutorial ◦ SourceForge account needed (free). SourceForge.
Refworks Part I. How can I access Refworks Refworks can be accessed from: – The homepage of the Jotello F Soga Library (
Once you're logged in to Google Docs, creating and sharing your documents is easy. A few things to remember: Docs you create aren't accessible to.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
1 Lesson 14 Sharing Documents Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
How to Optimize Your Existing Regression Testing Arthur Hicken May 2012.
Incremental Network Programming for Wireless Sensors NEST Retreat June 3 rd, 2004 Jaein Jeong UC Berkeley, EECS Introduction Background – Mechanisms of.
Beyond Bloom Filters: From Approximate Membership Checks to Approximate State Machines By F. Bonomi et al. Presented by Kenny Cheng, Tonny Mak Yui Kuen.
Customizing Word Microsoft Office Word 2007 Illustrated Complete.
Microprocessors Introduction to ia64 Architecture Jan 31st, 2002 General Principles.
1 of 6 Parts of Your Notebook Below is a graphic overview of the different parts of a OneNote 2007 notebook. Microsoft ® OneNote ® 2007 notebooks are digital.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Microsoft Visual Source Safe 6.01 Microsoft Visual Source Safe (MVSS) Presented By: Rachel Espinoza.
End and Start of Year Administration Tasks. Account Administration Deleting Accounts Creating a Leavers Group Creating New Accounts: Creating accounts.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Navigation instructions Begin the tutorial Creating the Performance Plan Performance Management System Tutorial for Managers Estimated Time to Complete:
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
This presentation will guide you though the initial stages of installation, through to producing your first report Click your mouse to advance the presentation.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
MEGS+ Michigan Electronic Grants System Plus Office of Special Education May 2012.
Primer to Building Models in RMG 27 th Sept 2013 N th year RMG Users.
RMG Study Group Session I: Git, Sphinx, webRMG Connie Gao 9/20/
RequisitePro (2) Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering.
Microsoft SQL Server 2008 Installation Guide Omer Alrwais.
Introduction to Versioning
Types for Programs and Proofs Lecture 1. What are types? int, float, char, …, arrays types of procedures, functions, references, records, objects,...
1 Lecture 19 Configuration Management Software Engineering.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
GIT An introduction to GIT Source Control. What is GIT (1 of 2) ▪ “Git is a free and open source distributed version control system designed to handle.
A generic tool to assess impact of changing edit rules in a business survey – SNOWDON-X Pedro Luis do Nascimento Silva Robert Bucknall Ping Zong Alaa Al-Hamad.
By: Olivia Bohnhoff & Zach Feldker. What is kinetics?  The study of the speed of reactions.  It’s based on experiments.  We did it first semester,
Version control Using Git Version control, using Git1.
RMG Study Group Basics of Git Nathan Yee 2/23/
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Wiki Training: Introduction to Instructor: Zach Silveira (415)
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
Introduction to CS520/CS596_026 Lecture Two Gordon Tian Fall 2015.
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
SECURE WEB APPLICATIONS VIA AUTOMATIC PARTITIONING S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, X. Zheng Cornell University.
Some RMG Basics William H. Green MIT Dept. of Chemical Engineering RMG Study Group Sept. 27, 2013.
LINCPlus Overview Complete binding preparation module includes features such as security, titles database, reports and job costing options. Integrated.
1 MSTE Visual SourceSafe For more information, see:
Bolted Joint Assembly. Advanced Solid Body Contact Options Goal – In this workshop, our goal is to study the effect that contact stiffness specification.
Planning the official release of RMG-Py issues to resolve and issues to put off Connie Gao 4/11/2014 RMG Study Group.
Privilege Escalation Two case studies. Privilege Escalation To better understand how privilege escalation can work, we will look at two relatively recent.
Hyperion Artifact Life Cycle Management Agenda  Overview  Demo  Tips & Tricks  Takeaways  Queries.
Windows NT ® Security Management: Extending Windows NT 5.0 Security Management Tools, Part 2 Praerit Garg Program Manager Windows NT Security Microsoft.
Visual Source Safe –A Quick Tour. CONTENTS What is VSS ? How to install VSS ? How does VSS track versions? VSS Concepts & Features Utilities available.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
EBay Searcher Brian Payton, Jason Nowakoski, Justin Szeluga, Salvatore Siragusa, David Wolkiser.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
Multiple Sequence Alignment with PASTA Michael Nute Austin, TX June 17, 2016.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
TechKnowlogy Conference August 2, 2011 Using GoogleDocs for Collaboration.
SQL Database Management
External Web Services Quick Start Guide
Releases and developments
Lesson 9 Sharing Documents
Introduction to Team Foundation Server 2010
Main Memory Management
CIS16 Application Development – Programming with Visual Basic
Enterprise Program Management Office
Explaining issues with DCremoval( )
Git started with git: 2018 edition
Presentation transcript:

Re-introduction to RMG, Enlarge Reaction Filter Algorithm, and User Accessibility Features Nick Vandewiele and Connie Gao RMG Meeting January 15, 2015

Agenda Intro to RMG Learning Contributing Running Update on recent advances: enlarge reaction filter windows anaconda new visualization features Discussion of issues

Learning about RMG Many publications: RMG-Py: Gao et al. Comp. Phys. Comm. (accepted) P-dep: Allen et al. PCCP 14(3), (2012) QMTP: Magoon et al. Comp. Chem. Eng. 52, (2013)...

Contributing to RMG through a version control system called “git” Collaboration platform: Github.com Reporting issues Tests: unit tests, continuous integration

Running RMG On your local computer On pharos.mit.edu Get an account on pharos.mit.edu (talk to admin Nick) See .

Enlarge Reaction Filter Algorithm

Starting species in “core” Kinetic model Reactor conditions (T, P) Kinetics and thermo databases and reaction templates Y N Simulate reactor A B C D A B C D E F A B core edge Original Flux-based algorithm 7 Find all possible reactions Is core complete? Add edge species with highest flux to core

Isolating the speed and memory pain point in RMG Pain point is generateReactions() Applying a reaction template recipe between permutations of all reactants Current algorithm: 1. Reacts species together (slow) 2. Determines which reactions are negligible (fast) Let’s prevent species from reacting together through pre-filtering when we know their reactions will be negligible

Starting species in “core” Kinetic model Kinetics and thermo databases and reaction templates Y N Simulate reactor, Check fluxes of edge reactions Modified flux algorithm with reaction filtering 9 Find all possible reactions using react flags Is core complete? Add edge species with highest flux to core Create arrays unimolculecularThreshold and bimolecularThreshold based on initial concentrations Generate unimolecularReact and bimolecularReact flags 7 Simulate reactor using new core, update unimolecularThreshold and bimolecularThreshold 1 2 Don’t waste CPU time on generating reactions that will always have negligible flux Don’t react all core species together at each step, only react them when deemed ‘ready’ to react. This avoids the problem of congestion we used to have with too many initial species being added by seed mechanisms. Key Takeaways

Key variables for filtering reactions based on diffusion limit rate k diff unimolecularThreshold and bimolecularThreshold Binary arrays storing flag for whether a species or a pair of species are above a reaction threshold Threshold is set to True if rate = k diff *C A > toleranceMoveToCore*rate char at any given time t in the reaction system unimolecularReact and bimolecularReact Binary arrays storing flags for when the unimolecularThreshold or bimolecularThreshold flag shifts from False to True RMG should then react those species together 10

Results show more than 10x speedup for heptane case with similar accuracy and memory usage Master branch: 1 day, 2500 MB, 128 spc/1410 rxns (core) enlargeReactionFilter branch: 2.5 hr, 2000 MB, 248 spc/2420 rxns (core) MastereRF

Testing for robustness 12 Handling pressure dependence Testing buiding real models Opportunities forfurther speedup Individual kmax for each family may further filter reactions than the conservative kdiff, especially when evaluated at lower temperatures Pre-estimates of thermo ∆ H rxn may be necessary Numerical optimization and cythonization

User Accessibility Features

RMG-Py binaries for Windows Currently compiling dependencies using Anaconda for Windows It is possible to compile gfortran and c/c++ code without Visual Studio!! Uses mingwpy conda package Compiling and testing using Windows 7 Enterprise 32-bit and 64-bit VMs PyDAS and PyDQED are working! Only openbabel left to package Binaries to be released with RMG-Py paper

New CHEMKIN visualization features on RMG website Thermo comments Heats of Reaction: ΔH rxn,ΔS rxn, and ΔG rxn Filtering reactions by species as well as families Flux pairs now saved into CHEMKIN comments Useful for external flux analysis tools iPython and automatic flux analysis tools in the pipeline! This is all live on

Future Wiki for RMG How can we store guides that don’t belong in the documentation but are helpful to developers? i.e. How to set up a job on Pharos, how to use and build anaconda binaries, how to set up RMG web server Richard has suggested Github Wiki Open source documents for quickly editable guides Does not require explicit sharing: better than Slack and Google docs Markdown support But is there security for password sensitive information?

RMG Issues Discussion RMG estimates kinetics non-deterministically (#494)

Key variables for filtering reactions based on diffusion limit rate k diff unimolecularThreshold and bimolecularThreshold Binary arrays storing information about whether a species or a pair of species should react Threshold is True if unimolecular rate = k diff *C A or bimolecular rate = k diff *C A *CB is greater than toleranceMoveToCore*rate char at any given time t in the reaction system. unimolecular k diff =1e14 s^-1 for unimolecular bimolecular k diff =1e13 cm^3/mol*s In the initialization step, the threshold arrays are set by initial concentrations If Species A has a positive initial concentration, then its unimolecular threshold is True If Species A and Species B both have positive initial concentrations, then their bimolecular threshold is True If Species A has positive concentration but Species B has zero concentration, their bimolecular threshold is False unimolecularReact and bimolecularReact Binary arrays storing flags for when the unimolecularThreshold or bimolecularThreshold shifts from False to True for any core species or pair of core species, indicating that RMG should explore reactions for those species and enlarge the edge 18

Detailed write-up for reaction filter algorithm 1.Set up unimolecular and bimolecular reaction threshold arrays in reaction model initialization step. Allow any positive concentration species to have their unimolecular and bimolecular reaction thresholds to be set to TRUE. If Species A has a positive initial concentration, then its unimolecular threshold is TRUE If Species A and Species B both have positive initial concentrations, then their bimolecular threshold is TRUE, If Species A has positive concentration but Species B has zero concentration, their bimolecular threshold is FALSE 2.Create unimolecular and bimolecular react flags based on changes in reaction threshold during model generation. 3.Enlarge Model Edge based on unimolecular and bimolecular react flags (the idea is that if these species concentrations go above the threshold for reaction during the entirety of the reactor residence time, we will allow them to react, otherwise, don’t waste time on reaction CPU time for reactions that will always have negligible flux) 4.Add species with largest flux to core, add all associated edge reactions to core 5.Simulate reaction system with new core Returns binary array of unimolecular and bimolecular reaction thresholds: At every time step, evaluate if unimolecular rate = k*C A or bimolecular rate = k*C A *CB is greater than toleranceMoveToCore*rate char 6.Check if unimolecular and bimolecular reaction thresholds have changed, any core species that can now reaction together will produce a True react flag. This tracks if previous species are reacted. Note that the key difference here is that we don’t react all core species together at each step. They are only reacted together when they are deemed ‘ready’ to react. This avoids the problem of congestion we used to have during seed mechanism addition. 7.Instruct RMG to enlarge edge using the new set of unimolecular and bimolecular react flags 8.Resimulate reaction system the normal way until the edge species with highest flux above user tolerance if found, repeat process. 19