課程信息
4.6
208 ratings
50 reviews
This course is an introduction to the finite element method as applicable to a range of problems in physics and engineering sciences. The treatment is mathematical, but only for the purpose of clarifying the formulation. The emphasis is on coding up the formulations in a modern, open-source environment that can be expanded to other applications, subsequently. The course includes about 45 hours of lectures covering the material I normally teach in an introductory graduate class at University of Michigan. The treatment is mathematical, which is natural for a topic whose roots lie deep in functional analysis and variational calculus. It is not formal, however, because the main goal of these lectures is to turn the viewer into a competent developer of finite element code. We do spend time in rudimentary functional analysis, and variational calculus, but this is only to highlight the mathematical basis for the methods, which in turn explains why they work so well. Much of the success of the Finite Element Method as a computational framework lies in the rigor of its mathematical foundation, and this needs to be appreciated, even if only in the elementary manner presented here. A background in PDEs and, more importantly, linear algebra, is assumed, although the viewer will find that we develop all the relevant ideas that are needed. The development itself focuses on the classical forms of partial differential equations (PDEs): elliptic, parabolic and hyperbolic. At each stage, however, we make numerous connections to the physical phenomena represented by the PDEs. For clarity we begin with elliptic PDEs in one dimension (linearized elasticity, steady state heat conduction and mass diffusion). We then move on to three dimensional elliptic PDEs in scalar unknowns (heat conduction and mass diffusion), before ending the treatment of elliptic PDEs with three dimensional problems in vector unknowns (linearized elasticity). Parabolic PDEs in three dimensions come next (unsteady heat conduction and mass diffusion), and the lectures end with hyperbolic PDEs in three dimensions (linear elastodynamics). Interspersed among the lectures are responses to questions that arose from a small group of graduate students and post-doctoral scholars who followed the lectures live. At suitable points in the lectures, we interrupt the mathematical development to lay out the code framework, which is entirely open source, and C++ based. Books: There are many books on finite element methods. This class does not have a required textbook. However, we do recommend the following books for more detailed and broader treatments than can be provided in any form of class: The Finite Element Method: Linear Static and Dynamic Finite Element Analysis, T.J.R. Hughes, Dover Publications, 2000. The Finite Element Method: Its Basis and Fundamentals, O.C. Zienkiewicz, R.L. Taylor and J.Z. Zhu, Butterworth-Heinemann, 2005. A First Course in Finite Elements, J. Fish and T. Belytschko, Wiley, 2007. Resources: You can download the deal.ii library at dealii.org. The lectures include coding tutorials where we list other resources that you can use if you are unable to install deal.ii on your own computer. You will need cmake to run deal.ii. It is available at cmake.org....
Globe

100% 在線課程

立即開始,按照自己的計劃學習。
Calendar

可靈活調整截止日期

根據您的日程表重置截止日期。
Intermediate Level

中級

Clock

建議:You should expect to watch about 3 hours of video lectures a week. Apart from the lectures, expect to put in between 3 and 5 hours a week.

完成時間大約為21 小時
Comment Dots

English

字幕:English

您將獲得的技能

Finite DifferencesC++C Sharp (C#) (Programming Language)Matrices
Globe

100% 在線課程

立即開始,按照自己的計劃學習。
Calendar

可靈活調整截止日期

根據您的日程表重置截止日期。
Intermediate Level

中級

Clock

建議:You should expect to watch about 3 hours of video lectures a week. Apart from the lectures, expect to put in between 3 and 5 hours a week.

完成時間大約為21 小時
Comment Dots

English

字幕:English

教學大綱 - 您將從這門課程中學到什麼

1

章節
Clock
完成時間為 6 小時

1

This unit is an introduction to a simple one-dimensional problem that can be solved by the finite element method....
Reading
11 個視頻(共 200 分鐘), 2 個閱讀材料, 1 個測驗
Video11 個視頻
01.02. Introduction. Linear elliptic partial differential equations - II 13分鐘
01.03. Boundary conditions 22分鐘
01.04. Constitutive relations 20分鐘
01.05. Strong form of the partial differential equation. Analytic solution 22分鐘
01.06. Weak form of the partial differential equation - I 12分鐘
01.07. Weak form of the partial differential equation - II 15分鐘
01.08. Equivalence between the strong and weak forms 24分鐘
01.08ct.1. Intro to C++ (running your code, basic structure, number types, vectors) 21分鐘
01.08ct.2. Intro to C++ (conditional statements, “for” loops, scope) 19分鐘
01.08ct.3. Intro to C++ (pointers, iterators) 14分鐘
Reading2 個閱讀材料
Help us learn more about you!10分鐘
"Paper and pencil" practice assignment on strong and weak forms分鐘
Quiz1 個練習
Unit 1 Quiz8分鐘

2

章節
Clock
完成時間為 3 小時

2

In this unit you will be introduced to the approximate, or finite-dimensional, weak form for the one-dimensional problem....
Reading
14 個視頻(共 202 分鐘), 1 個測驗
Video14 個視頻
02.01q. Response to a question 7分鐘
02.02. Basic Hilbert spaces - I 15分鐘
02.03. Basic Hilbert spaces - II 9分鐘
02.04. The finite element method for the one-dimensional, linear, elliptic partial differential equation 22分鐘
02.04q. Response to a question 6分鐘
02.05. Basis functions - I 14分鐘
02.06. Basis functions - II 14分鐘
02.07. The bi-unit domain - I 11分鐘
02.08. The bi-unit domain - II 16分鐘
02.09. The finite dimensional weak form as a sum over element subdomains - I 16分鐘
02.10. The finite dimensional weak form as a sum over element subdomains - II 12分鐘
02.10ct.1. Intro to C++ (functions) 13分鐘
02.10ct.2. Intro to C++ (C++ classes) 16分鐘
Quiz1 個練習
Unit 2 Quiz6分鐘

3

章節
Clock
完成時間為 7 小時

3

In this unit, you will write the finite-dimensional weak form in a matrix-vector form. You also will be introduced to coding in the deal.ii framework....
Reading
14 個視頻(共 213 分鐘), 2 個測驗
Video14 個視頻
03.02. The matrix-vector weak form - I - II 17分鐘
03.03. The matrix-vector weak form - II - I 15分鐘
03.04. The matrix-vector weak form - II - II 13分鐘
03.05. The matrix-vector weak form - III - I 22分鐘
03.06. The matrix-vector weak form - III - II 13分鐘
03.06ct.1. Dealii.org, running deal.II on a virtual machine with Oracle VirtualBox12分鐘
03.06ct.2. Intro to AWS, using AWS on Windows24分鐘
03.06ct.2c. In-Video Correction3分鐘
03.06ct.3. Using AWS on Linux and Mac OS7分鐘
03.07. The final finite element equations in matrix-vector form - I 22分鐘
03.08. The final finite element equations in matrix-vector form - II 18分鐘
03.08q. Response to a question 4分鐘
03.08ct. Coding assignment 1 (main1.cc, overview of C++ class in FEM1.h) 19分鐘
Quiz1 個練習
Unit 3 Quiz6分鐘

4

章節
Clock
完成時間為 5 小時

4

This unit develops further details on boundary conditions, higher-order basis functions, and numerical quadrature. You also will learn about the templates for the first coding assignment....
Reading
17 個視頻(共 262 分鐘), 1 個測驗
Video17 個視頻
04.02. The pure Dirichlet problem - II 17分鐘
04.02c. In-Video Correction 1分鐘
04.03. Higher polynomial order basis functions - I 23分鐘
04.03c0. In-Video Correction 分鐘
04.03c1. In-Video Correction 分鐘
04.04. Higher polynomial order basis functions - I - II 16分鐘
04.05. Higher polynomial order basis functions - II - I 13分鐘
04.06. Higher polynomial order basis functions - III 23分鐘
04.06ct. Coding assignment 1 (functions: class constructor to “basis_gradient”) 14分鐘
04.07. The matrix-vector equations for quadratic basis functions - I - I 21分鐘
04.08. The matrix-vector equations for quadratic basis functions - I - II 11分鐘
04.09. The matrix-vector equations for quadratic basis functions - II - I 19分鐘
04.10. The matrix-vector equations for quadratic basis functions - II - II 24分鐘
04.11. Numerical integration -- Gaussian quadrature 13分鐘
04.11ct.1. Coding assignment 1 (functions: “generate_mesh” to “setup_system”) 14分鐘
04.11ct.2. Coding assignment 1 (functions: “assemble_system”) 26分鐘
Quiz1 個練習
Unit 4 Quiz8分鐘
4.6

熱門審閱

創建者 SSMar 13th 2017

It is very well structured and Dr Krishna Garikipati helps me understand the course in very simple manner. I would like to thank coursera community for making this course available.

創建者 YWJun 21st 2018

Great class! I truly hope that there are further materials on shell elements, non-linear analysis (geometric nonlinearity, plasticity and hyperelasticity).

講師

Krishna Garikipati, Ph.D.

Professor of Mechanical Engineering, College of Engineering - Professor of Mathematics, College of Literature, Science and the Arts

關於 University of Michigan

The mission of the University of Michigan is to serve the people of Michigan and the world through preeminence in creating, communicating, preserving and applying knowledge, art, and academic values, and in developing leaders and citizens who will challenge the present and enrich the future....

常見問題

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • You will need computing resources sufficient to install the code and run it. Depending on the type of installation this could be between a 13MB download of a tarred and gzipped file, to 45MB for a serial MacOSX binary and 192MB for a parallel MacOSX binary. Additionally, you will need a specific visualization program that we recommend. Altogether, if you have 1GB you should be fine. Alternately, you could download a Virtual Machine Interface.

  • You will be able to write code that simulates some of the most beautiful problems in physics, and visualize that physics.

  • You will need to know about matrices and vectors. Having seen partial differential equations will be very helpful. The code is in C++, but you don't need to know C++ at the outset. We will point you to resources that will teach you enough C++ for this class. However, you will need to have done some programming (Matlab, Fortran, C, Python, C++ should all do).

  • Apart from the lectures, expect to put in between 5 and 10 hours a week.

還有其他問題嗎?請訪問 學生幫助中心