Skip to content

Latest commit

 

History

History
126 lines (102 loc) · 9.45 KB

README.md

File metadata and controls

126 lines (102 loc) · 9.45 KB

Syllabus

CHME 5137 – Computational Modeling in Chemical Engineering

Instructor: Prof. Richard H. West [email protected]

Fall 2023: Tuesday and Friday, 9:50 – 11:30pm, Ryder Hall Room 157

Short Catalog Description:

Building on chemical engineering fundamentals, introduces computer programming to allow simulation of physical, chemical, and biological systems. Covers numerical experiments (eg. Monte Carlo, global sensitivity analysis) to learn the significance of parameters and model assumptions. Students work on a research or design project throughout the course. Prerequisites: CHME3312 and CHME3322.

Longer Description:

This course should equip chemical engineering students to create a computational model of any physical, chemical, or biological system, and perform numerical experiments on the model to learn the significance of parameters and model assumptions. The course will integrate thermodynamics, kinetics, transport, and mathematics, with applications in chemistry, biology, and materials science. Faced with a modeling challenge, students will learn to define the problem, split it into sub-systems, develop mathematical models of each sub-system, implement these in Python, and thus construct a model to represent the whole process. Monte Carlo, uncertainty analysis, and global sensitivity analysis, and Bayesian parameter estimation methods will then be used to test and learn from the model. Students will also learn essential software carpentry skills, such as using the Linux command prompt, version control, and distributed computing on a cluster.

There will be assignments for each module, but primarily the assessment will be project based, with students working on their project throughout the semester. The final project report should be publication-quality, and students should expect to be able to submit to a peer-reviewed journal with minimal extra work.

Topics include:

  • Introduction to Python computer language, the Anaconda distribution, and a few libraries (NumPy, SciPy, Matplotlib)
  • Using the command prompt and Linux terminal, and computer clusters.
  • Distributed version control with Git
  • Writing scientific reports with LaTeX
  • Basic Python programming
  • Importing, storing, manipulating, and exporting data
  • Solving nonlinear algebraic equations
  • Solving ordinary differential equations
  • Simulating chemical kinetics and thermodynamics with Cantera
  • Regression and machine learning; empirical models.
  • Monte Carlo simulations
  • Global and local sensitivity analysis 
  • Bayesian Parameter Estimation
  • Debugging

Course textbook:

Recommended (not required) Modeling and Simulation in Python Author: Allen B. Downey Publisher: No Starch Press, May 2023 Paperback: $39.99 from the publisher or $25.49 on Amazon Publisher: Green Tea Press eBook: FREE! and open-source (CC BY-NC-SA 4.0) https://allendowney.github.io/ModSimPy/

Another good choice (not required) A Student’s Guide to Python for Physical Modeling: Second Edition Authors: Jesse M. Kinder & Philip Nelson Publisher: Princeton University Press, July 2015 Paperback: $24.95 eBook available (Kindle: $14.72) 168 pages http://physicalmodelingwithpython.blogspot.com

Other books that may be of interest:

Mathematical Modeling in Chemical Engineering Author: Anders Rasmuson, Bengt Andersson, Louise Olsson, Ronnie Andersson Publisher: Cambridge University Press, May 2014 Hard cover: $69.99 eBook available (Kindle $56.00) 192 pages

Effective Computation in Physics Field guide to research with Python. Authors: Anthony Scopatz, Kathryn D. Huff Publisher: O’Reilly Media, July 2015 Paperback: $49.99 eBook available (Kindle $18.35) 552 pages http://physics.codes

Other teaching material:

"Practical Numerical Methods with Python" is an open, online course hosted on an independent installation of the Open edX software platform for MOOCs, first run by Lorena A. Barba, George Washington University. https://github.com/numerical-mooc/

Anselmo Buso and Monica Giomo (2011). Mathematical Modeling in Chemical Engineering: A Tool to Analyse Complex Systems, Numerical Simulations of Physical and Engineering Processes, Prof. Jan Awrejcewicz (Ed.), ISBN: 978-953-307-620-1, InTech, Available from: http://dx.doi.org/10.5772/24806

Software Carpentry - Teaching basic lab skills for research computing. All of our lessons are freely available under the Creative Commons - Attribution License. http://software-carpentry.org/lessons/

TRACE participation

Participation in the Teacher Rating And Course Evaluation (TRACE) survey at the end of the course is important and expected. But don't wait until then to give feedback! Tell the instructor as soon as you have an idea that might improve the course.

Academic integrity.

Academic dishonesty violates the most fundamental values of an intellectual community and undermines the achievements of the entire University. Please be familiar with the Northeastern University Academic Integrity Policy which you can find at https://osccr.sites.northeastern.edu/academic-integrity-policy/. Read it at least once per semester, to remind yourself the details. Relating to this course:

  • Don't pretend someone else's work is your own. Don't pretend you did something you didn't.
  • Using code snippets found online is a common way to program, but in an academic setting especially it is important that you add a comment where you got it from.
  • Collaboration with classmates is usually encouraged in this course, but unauthorized collaboration when explicitly asked not to is cheating. In any case: when helping others, try not to just give them your code, but help them figure it out themselves. They will learn better, and you will also learn from it.
  • We will be exploring and discussing how and when to use AI assistants like ChatGPT to help you write code. You must acknowldege when and how you use these tools, and don't use them if/when asked not to.

Student Accommodations

Northeastern University and the Disability Resource Center (DRC) are committed to providing disability services that enable students who qualify under Section 504 of the Rehabilitation Act and the Americans with Disabilities Act Amendments Act (ADAAA) to participate fully in the activities of the university. For more information, visit https://drc.sites.northeastern.edu/registered-students/.

Diversity and Inclusion

Northeastern University is committed to equal opportunity, affirmative action, diversity, and social justice, while building a climate of inclusion on and beyond campus. In our classroom, we'll work to cultivate an inclusive environment that denounces discrimination through innovation, collaboration and an awareness of global perspectives on social justice. Please visit https://provost.northeastern.edu/odei/ for complete information on Diversity and Inclusion. The Chemical Engineering Department's statement on Diversity, Equity, and Inclusion is at https://che.northeastern.edu/community/dei/.

Title IX

Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance. Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including male, female, transgender students, faculty and staff. Please visit https://www.northeastern.edu/titleix for a complete list of reporting options and resources both on- and off-campus. In case of an emergency, please call 911.

Recording of Classes

Classes may be recorded to enable all students to review material covered in synchronous classes. Please contact me if you have any concerns.

Attendance

Please stay home if you think you might have a communicable illness - we will accommadate your absence. With that said, please come to class whenever you can - we all benefit from having you here when healthy - and please let me know as soon as possible if you're going to miss a class. The Zoom meetings on the class calendar are there to facilitate making recordings; they are not intended to encourage remote participation or to excuse truancy.

Course Outcomes

These outcomes are listed on the official syllabus, and include mappings to ABET Student Outcomes (SO’s 1-7).

  • Use Python programming language to create simple scripts with conditionals, loops, operations, and functions. (SO 1)
  • Learn how to use scientific Python libraries such as NumPy and SciPy to, for example, solve nonlinear equations, solve differential equations, optimize functions, and regress parameters. (SO 7)
  • Implement a Kinetic Monte Carlo simulation. (SO 1)
  • Use the Linux command prompt to navigate a file system, perform simple file operations, and launch programs.
  • Use the Git version control system to initialize, stage, commit, push, pull, branch, and merge.
  • Use the LaTeX document preparation system to write publication-quality technical reports. (SO3)
  • Create a computational model of any physical, chemical, or biological system. (SO1)
  • Perform global sensitivity analysis on a model to learn the significance of parameters and model assumptions. (SO 6, 4)

I aim to be responsive to the interests of the current cohort. We may get ambitious and add some goals as we go.