Course Information

Course Syllabus

Course description

Porous media plays a fundamental role in various branches of engineering and applied sciences (e.g., geotechnical and geosciences, hydrosystems, petroleum engineering, fuel cells, filtration, and energetic materials). Many natural (e.g., bone, rock, soil, wood) and man-made (e.g., concrete, ceramics) materials can be considered porous media. A fundamental understanding of the behavior of porous media is vital for future technological advancements. On the pure research front, Mechanics of Porous Media is a well-spring of exciting research problems for numerical methods and mathematical analysis, as the mathematical models are typically nonlinear, coupled, and exhibit multiple spatial and temporal scales. This course will primarily concentrate on the mathematical modeling and numerical aspects of flow, transport, deformation, and degradation of porous media at a macroscopic / continuum scale. The course will be targeted towards Ph.D. students.

Prerequistes

All students taking this course must have graduate standing in engineering or equivalent. It is expected that students have taken at least one graduate course in Mechanics (e.g., Fluid Mechanics, Elasticity, or Continuum Mechanics). In addition, students must have a background in (ordinary and partial) differential equations and linear algebra and have a good grasp of (undergraduate) multivariable calculus (e.g., divergence theorem, gradient, divergence). Students are also expected to have a working knowledge of a computer programming language (preferably MATLAB).

Course grade

The final grade in this course will be based on the following weighting:

Your letter grade will be assigned based on

Computer programming language

It is necessary that students have to know a computer programming language as there will be programming assignments in the course. Some popular programming languages for scientific computing include MATLAB, C/C++, Fortran 90/95/00, and Python. If you do not know any programming language, I recommend learning MATLAB as it is easy to learn. In addition, I will write pseudocode in the class, which will be similar to MATLAB's syntax. No class time will be spent on teaching any specific programming language. It is, therefore, the responsibility of the students to learn their favorite programming language. Several resources on computer programming languages (including MATLAB) are provided on the course website. 

Assignment (Homework & Machine Problems)

Assignments in the form of Homework and Machine Problems will be assigned regularly. Late work will NOT be accepted for any reason. Assignments on papers taken from a spiral binding book will not be accepted. Unstapled submissions will not be graded. For Machine Problems, students should submit a hard copy of the computer code. Significant points will be assigned for the modularity of the code, logic, and comments in the code. 

Course project

Instead of an in-class final, students have to do a course project. They can choose a topic of their interest or select the default project. The project, however, should employ principles and methods of Mechanics of Porous Media. More details about the course project are available on the course website.  

Class participation

I strongly encourage students to ask questions and expect them to actively participate in the proceeding of the class. I will assign reading assignments and initiate discussion sessions about the assigned topics.

Topical Outline

How to Succeed