Finite Element Method in FEniCS: 1D Transient Heat Diffusion in detail
FEM problems can be easily solved in Python by providing the weak form of the PDE as well as the Boundary Condition and Initial Condition to Fenics. In this video, we will go over all steps in detail, incl. Function Spaces and deriving weak forms. Here are the notes: https://github.com/Ceyron/machine-learning-and-simulation/blob/main/english/fenics/fenics_1d_diffusion_detailed.pdf
This video is an in-detail extension of a previous video, in which we just did a quick and simple demo. Feel free to check this one out first: https://youtu.be/QpA7E4YHbyU
You can find the source-code as written in the video (with slightly more explaining comments): https://github.com/Ceyron/machine-learning-and-simulation/blob/main/english/fenics/heat_conduction_simple.py
Fenics is a software that allows to easily solve Partial Differential Equations in Python. PDEs arise in many disciplines, e.g., in Continuum Mechanics for fluid and solid simulations.
-------
📝 : Check out the GitHub Repository of the channel, where I upload all the handwritten notes and source-code files (contributions are very welcome): https://github.com/Ceyron/machine-learning-and-simulation
📢 : Follow me on LinkedIn or Twitter for updates on the channel and other cool Machine Learning & Simulation stuff: https://www.linkedin.com/in/felix-koehler and https://twitter.com/felix_m_koehler
💸 : If you want to support my work on the channel, you can become a Patreon here: https://www.patreon.com/MLsim
-------
⚙️ My Gear:
(Below are affiliate links to Amazon. If you decide to purchase the product or something else on Amazon through this link, I earn a small commission.)
- 🎙️ Microphone: Blue Yeti: https://amzn.to/3NU7OAs
- ⌨️ Logitech TKL Mechanical Keyboard: https://amzn.to/3JhEtwp
- 🎨 Gaomon Drawing Tablet (similar to a WACOM Tablet, but cheaper, works flawlessly under Linux): https://amzn.to/37katmf
- 🔌 Laptop Charger: https://amzn.to/3ja0imP
- 💻 My Laptop (generally I like the Dell XPS series): https://amzn.to/38xrABL
- 📱 My Phone: Fairphone 4 (I love the sustainability and repairability aspect of it): https://amzn.to/3Jr4ZmV
If I had to purchase these items again, I would probably change the following:
- 🎙️ Rode NT: https://amzn.to/3NUIGtw
- 💻 Framework Laptop (I do not get a commission here, but I love the vision of Framework. It will definitely be my next Ultrabook): https://frame.work
As an Amazon Associate I earn from qualifying purchases.
-------
Timestamps:
00:00 Intro
00:48 Initial-Boundary Value Problem
03:48 Initial Condition & Expected Behavior
05:12 Discretization into Finite Elements
06:14 Ansatz/Shape Function
08:16 Discrete PDE solution
11:41 Function Spaces (Lagrange Polynomials)
12:38 Code: Overview
12:51 Code: Mesh Discretization
13:34 Code: Function Space
14:59 Code: Translate IC & BC
19:40 Code Recap
20:02 Why we need the weak form?
21:06 (1) Multiply with test function
21:41 (2) Integrate over domain
22:10 (3) Integration by parts
23:13 What is the test function?
25:21 Vanishing Boundary Evaluation
25:47 Discussing the weak form
26:16 Weak form in residuum form
26:50 Discretization in time
30:27 Fenics wants multi-dim weak form
30:51 Weak form in high dim case
34:08 Multi dimensional integration by parts (divergence theorem)
40:30 Comparison with 1D case
41:25 Summary of high-dim weak form
41:59 Temporal Discretization in high-dim case
42:35 Final Weak Form for Fenics
43:36 Code: Defining Test & Trial Functions
44:38 Code: Weak Form Residuum
47:05 Code: Separate into lhs & rhs
47:49 Code: Time Loop & Simulation
50:20 Code: Adjusting Plot Visuals
51:08 Code: Running & Discussion
51:57 Outro
Видео Finite Element Method in FEniCS: 1D Transient Heat Diffusion in detail канала Machine Learning & Simulation
This video is an in-detail extension of a previous video, in which we just did a quick and simple demo. Feel free to check this one out first: https://youtu.be/QpA7E4YHbyU
You can find the source-code as written in the video (with slightly more explaining comments): https://github.com/Ceyron/machine-learning-and-simulation/blob/main/english/fenics/heat_conduction_simple.py
Fenics is a software that allows to easily solve Partial Differential Equations in Python. PDEs arise in many disciplines, e.g., in Continuum Mechanics for fluid and solid simulations.
-------
📝 : Check out the GitHub Repository of the channel, where I upload all the handwritten notes and source-code files (contributions are very welcome): https://github.com/Ceyron/machine-learning-and-simulation
📢 : Follow me on LinkedIn or Twitter for updates on the channel and other cool Machine Learning & Simulation stuff: https://www.linkedin.com/in/felix-koehler and https://twitter.com/felix_m_koehler
💸 : If you want to support my work on the channel, you can become a Patreon here: https://www.patreon.com/MLsim
-------
⚙️ My Gear:
(Below are affiliate links to Amazon. If you decide to purchase the product or something else on Amazon through this link, I earn a small commission.)
- 🎙️ Microphone: Blue Yeti: https://amzn.to/3NU7OAs
- ⌨️ Logitech TKL Mechanical Keyboard: https://amzn.to/3JhEtwp
- 🎨 Gaomon Drawing Tablet (similar to a WACOM Tablet, but cheaper, works flawlessly under Linux): https://amzn.to/37katmf
- 🔌 Laptop Charger: https://amzn.to/3ja0imP
- 💻 My Laptop (generally I like the Dell XPS series): https://amzn.to/38xrABL
- 📱 My Phone: Fairphone 4 (I love the sustainability and repairability aspect of it): https://amzn.to/3Jr4ZmV
If I had to purchase these items again, I would probably change the following:
- 🎙️ Rode NT: https://amzn.to/3NUIGtw
- 💻 Framework Laptop (I do not get a commission here, but I love the vision of Framework. It will definitely be my next Ultrabook): https://frame.work
As an Amazon Associate I earn from qualifying purchases.
-------
Timestamps:
00:00 Intro
00:48 Initial-Boundary Value Problem
03:48 Initial Condition & Expected Behavior
05:12 Discretization into Finite Elements
06:14 Ansatz/Shape Function
08:16 Discrete PDE solution
11:41 Function Spaces (Lagrange Polynomials)
12:38 Code: Overview
12:51 Code: Mesh Discretization
13:34 Code: Function Space
14:59 Code: Translate IC & BC
19:40 Code Recap
20:02 Why we need the weak form?
21:06 (1) Multiply with test function
21:41 (2) Integrate over domain
22:10 (3) Integration by parts
23:13 What is the test function?
25:21 Vanishing Boundary Evaluation
25:47 Discussing the weak form
26:16 Weak form in residuum form
26:50 Discretization in time
30:27 Fenics wants multi-dim weak form
30:51 Weak form in high dim case
34:08 Multi dimensional integration by parts (divergence theorem)
40:30 Comparison with 1D case
41:25 Summary of high-dim weak form
41:59 Temporal Discretization in high-dim case
42:35 Final Weak Form for Fenics
43:36 Code: Defining Test & Trial Functions
44:38 Code: Weak Form Residuum
47:05 Code: Separate into lhs & rhs
47:49 Code: Time Loop & Simulation
50:20 Code: Adjusting Plot Visuals
51:08 Code: Running & Discussion
51:57 Outro
Видео Finite Element Method in FEniCS: 1D Transient Heat Diffusion in detail канала Machine Learning & Simulation
Показать
Комментарии отсутствуют
Информация о видео
12 мая 2022 г. 14:43:10
00:53:06
Другие видео канала
Adjoint Sensitivities over nonlinear equation with JAX Automatic DifferentiationDeriving the Weak Form for Linear Elasticity in Structural MechanicsScientific Python Tutorial Workshop | Part 3 | Scikit-Learn & a bit of TensorFlowWavenumber 128 Kolmogorov Flow | Turbulence SimulationUpdate: Machine Learning & Simulation now has a Patreon PageWavenumber 64 Kolmogorov Flow | Turbulence SimulationBinomial Distribution | Intuition & Introduction | w\ example in TensorFlow ProbabilityPosterior & MAP for the Categorical | Full Derivation | example in TensorFlow ProbabilityWhat is a Jacobian-Vector product (jvp) in JAX?Simple KS solver in JAXLinear Regression in High Dimensions - Deriving the matrix-valued Least-Squares LossMaximum Likelihood Estimate for the One-Hot Categorical | TensorFlow ProbabilityMaximum A Posteriori Estimate (MAP) for Bernoulli | Derivation & TensorFlow ProbabilitySampling the Multivariate Normal distribution | example in PythonDeformation Gradient | Continuum Mechanics | with simple examplesPosterior for the Bernoulli using the Conjugate Prior | with example in TensorFlow ProbabilityNonlinear System Solve - Pullback/vJp ruleMatrix-Vector product - Pullback/vJp ruleDirichlet Distribution | Intuition & Intro | w\ example in TensorFlow ProbabilitySimple forward-mode AD in Julia using Dual Numbers and Operator Overloading