38
Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1 David J. Willis September 7, 2016 David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : September 7, 2016 1 / 38

Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Module 1 : 22.520 Numerical Methods for PDEs :Course Introduction, Lecture 1

David J. Willis

September 7, 2016

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 1 / 38

Page 2: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

References and Acknowledgements

The following materials were used in the preparation of this lecture:

1 16.920 Course notes and slides from MIT – Lecture 1

2 L.N. Treffethen and D.Bau III, Numerical Linear Algebra, SIAM.

3 G. Strang, Introduction to Applied Mathematics, Wellesley-CambridgePress.

The author of these slides wishes to thank these sources for helping withthe current lecture.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 2 / 38

Page 3: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Table of contents

1 AnnouncementsEnrollment

2 Syllabus and Course AdministrationClass FormatGrading SchemeGrading SchemeGrading SchemeTextbookSchedule

3 Getting Matlab

4 Introducing Partial Differential Equations

5 Programming, Matlab and Some Linear Algebra

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 3 / 38

Page 4: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Announcements Enrollment

Course (Over-)Enrollment

At present there are 19 seats in the class:

There is 1 permission number not being employed.

7+ people are on the wait list

Exploring the possibility of increased enrollment

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 4 / 38

Page 5: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration

Introductions

Website: faculty.uml.edu/dwillis/MECH5200/

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 5 / 38

Page 6: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration

Introductions

22.520 Numerical Methods for PDEs : Graduate & Seniors

Lecture: Mon/Weds: 5:00pm-6:15pm*

Office hours: Monday. 3:00-5:00pm, Tuesday 1pm-2pm.

Office: EB-322 (Perry Hall – 322)

Email: david [email protected]

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 6 / 38

Page 7: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration

What is the purpose of this course?

This course is a combination of:

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 7 / 38

Page 8: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration

What is the purpose of this course?

Specifically, you will learn:

[FDM] Finite Difference Methods: Theory, Discretization, andNumerical Solutions.[FVM] Finite Volume Methods: Theory, Discretization, and NumericalSolutions.[FEM] Finite Element Methods: Theory, Discretization, and NumericalSolutions.[BEM] Boundary Integral Methods: Theory, Discretization, andNumerical Solutions.

And supporting this will be:

[MAT] Numerical methods for solving linear and nonlinear systems.[GEO] Discrete Geometry Representation and Mesh Generation

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 8 / 38

Page 9: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Class Format

Blended and Flipped Classroom

My challengesTheoretical math in evening is tough to do well!Material is heavily applied and learned best this way.Computer coding takes practice and interaction.

My proposed solution:Semi-blended, semi-flipped classroom (modern, woooaah!):

2→ 4× 15− 20 minute videos a week on core concepts (watch beforeclass).Meet in class to do blended instruction and coding (matlab).Sometimes code/classwork is due for credit.Go home and do the homework projects.

Thoughts?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 9 / 38

Page 10: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Class Format

Videos

Video 1-3 uploaded to YouTube

Email sign-up sheet (will send links weekly)

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 10 / 38

Page 11: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Grading Scheme

Grades and Deliverables

60% Homework – individually performed homework problems withcomputer programming (6-7 total, with 3-4 being larger”mini-project” assignments).

30% Computer Programming Project – An individual FDM, FVMor FEM project in a field of your choice.

10% In-class exercises – in-class exercises and assignments.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 11 / 38

Page 12: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Grading Scheme

Grades and Deliverables

Homework will cover main concepts discussed in online videos and inclass (theory, coding and application).

Homework policy:Study and workgroups are permitted; however, what you write andhand-in must be individual.You may not code/implement homework problems together outside ofclass.Any computer code that is similar to other students’ will result in agrade of zero.All homeworks & projects will require Matlab or another programminglanguage (matlab/Python/C/C++/Fortran etc.)Homework will be due on paper, with OneDrive used for electroniccode.

Since the homework is the source of the majority of your grade, azero-tolerance policy will be in effect in accordance with the UMLacademic integrity policy:

http://www.uml.edu/Catalog/Undergraduate/Policies/Academic-Integrity.aspx

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 12 / 38

Page 13: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Grading Scheme

Grades and Deliverables

Class exercises will be hands-on, pair programming efforts.

We will mix groups weekly.

Aim is to work together to get a deeper understanding. We’ll see thisin weeks to come.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 13 / 38

Page 14: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Grading Scheme

Frequently Asked Questions

Questions?

Do I need to type my answers for questions that are not implementedon a computer?

Do I need to type my project proposal and final report?

How do I hand in the portions of the homework that are implementedon a computer?

Do I need to hand in color printouts of matlab (or other codinglanguage) results?

Can I ask for additional computer coding help?

Do I need to know matlab?

What if I know no programming languages?

How is this course diffferent than John White’s? MIT’s?

Will the lecture videos be available for students to watch?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 14 / 38

Page 15: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Textbook

Online Materials and Textbook(s)

MIT Opencourseware : 16.920, 16.910, 16.901)

http://ocw.mit.edu/

Suggestions for texts will appear as references in the lecture notes –buy if you want, when you want.

Lecture videos to be posted.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 15 / 38

Page 16: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Syllabus and Course Administration Schedule

Approximate Schedule

Introduction, matlab & some linear algebra – today

Finite difference methods for elliptical, parabolic and hyperbolicequations (4-5 weeks)

Finite volume methods for conservation laws (2-3 weeks)

Finite element methods (4-5 weeks)

Boundary element methods (whatever time is left at the end)

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 16 / 38

Page 17: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Getting Matlab

Class Plan & Announcements

Virtual labs – Login to a virtual machine to use matlab.http://www.uml.edu/IT/Services/vLabs/Client-Configurations/clients.aspx

UMass Lowell Educational Matlab License:https://www.uml.edu/IT/Services/Software/Matlab-For-Students.aspx

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 17 / 38

Page 18: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Getting Matlab

Questions?

Any questions...?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 18 / 38

Page 19: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Getting Matlab

Table of contents

1 AnnouncementsEnrollment

2 Syllabus and Course AdministrationClass FormatGrading SchemeGrading SchemeGrading SchemeTextbookSchedule

3 Getting Matlab

4 Introducing Partial Differential Equations

5 Programming, Matlab and Some Linear Algebra

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 19 / 38

Page 20: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

Example PDEs

PDE: A differential equation involving an unknown function(s) ofseveral variables and their partial derivatives w.r.t those variables.

Partial differential equations are convenient models of physical systembehavior

e.g., Indicates how u changes with respect to x , y and/or t?

They are found everywhere in engineering and mathematics

Can you give and example of a PDE?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 20 / 38

Page 21: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs w/ Smooth Solutions

The Poisson Equation (Elliptic):

−κ∇2u = −κ(∂2u

∂x2+∂2u

∂y 2

)= f (1)

Laplace’s Equation (Elliptic):

∇2u =∂2u

∂x2+∂2u

∂y 2= 0 (2)

Electrostatics and capacitance extraction, Potential flow, Torsion in abar of constant cross section, Gravity driven viscous flow in a channel,Membrane deflection, Ground water flow, Stationary heat transfer ...

What does the equation mean?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 21 / 38

Page 22: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

Laplace Operator

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 22 / 38

Page 23: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs w/ Smooth Solutions

Example: ArbTwoD FD.m

Figure : Torsion in a bar solved using Finite Differences (HW assignment?)

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 23 / 38

Page 24: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs w/ Smooth Solutions

Let’s make the equation a bit more complicated and see whathappens.

Unsteady heat conduction equation (Parabolic):

∂u

∂t= κ∇2u + f (3)

f =∂u

∂t− κ

(∂2u

∂x2+∂2u

∂y 2

)(4)

(5)

We’ve simply added a ∂u∂t term.

What does this mean? How have things changed?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 24 / 38

Page 25: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

Unsteady heat conduction equation

Example: OneD FD Temp EX.m

Example: TempImplicit.m

Figure : Model problem for unsteady temperature problem

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 25 / 38

Page 26: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs w/ Non-smooth Solutions

The 1st Order Wave Equation (Hyperbolic) – one direction of informationpropagation:

∂u

∂t+ c · ∇u = 0 (6)

What does this equation mean?

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 26 / 38

Page 27: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

First Order Wave Equation

Example: HyperWave EX.m

Figure : Model for the wave equation (showing time and space)

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 27 / 38

Page 28: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

Combining ideas together – yields the convection diffusion equation(transport phenomena):

∂u

∂t+ U · ∇u = κ∇2u + f (7)

Where U, κ > 0, f may be constant or functions in space. U is typically afield velocity, f is a source term and κ is a physical parameter related tothe physics of the problem.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 28 / 38

Page 29: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs : The Convection-Diffusion Equation: DISCUSSION

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 29 / 38

Page 30: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs : The Convection-Diffusion Equation

∂u

∂t+ U · ∇u = κ∇2u + f (8)

u = T (temperature) – this is the Heat Transfer Equation

u = P (pollutant concentration) – Coastal/groundwater engineering

u = p (price of an option) – Financial Engineering

u = ~u (momentum per unit mass or velocity) – Navier StokesEquation

Obviously, the convection-diffusion equation is an important PDE.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 30 / 38

Page 31: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

Additional Important PDEs : The Second Order WaveEquation

Some other equations of interest

The wave equation:∂2u

∂t2− c2∂

2u

∂x2= 0 (9)

This equation describes the propagation of a wave through the domainbeing considered (bi-directional).

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 31 / 38

Page 32: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs : The KdV Equation

The KdV (Korteweg - de Vries) equation:

∂u

∂t+∂3u

∂x3− 6u

∂u

∂x= 0 (10)

Weakly non-linear, shallow water equation, optics signal propagation,etc.

Example: Solitons InClass.m

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 32 / 38

Page 33: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs : The Hamilton-Jacobi equation and Eikonalequation

The H-J equation:

∂u

∂t+ F (x , y , z)‖∇u(x , y)‖ = 0 (11)

The Eikonal equation:

F (x , y , z) · ‖∇T (x , y)‖ = 1 (12)

What does this equation mean?

Use heavily in level sets and path planning.

Used at UML for machine tool path planning (CNC)

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 33 / 38

Page 34: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

PDEs : The Hamilton-Jacobi equation and Eikonalequation

Figure : Solution to the Eikonal Equation for Path Planning

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 34 / 38

Page 35: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Introducing Partial Differential Equations

Table of contents

1 AnnouncementsEnrollment

2 Syllabus and Course AdministrationClass FormatGrading SchemeGrading SchemeGrading SchemeTextbookSchedule

3 Getting Matlab

4 Introducing Partial Differential Equations

5 Programming, Matlab and Some Linear Algebra

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 35 / 38

Page 36: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Programming, Matlab and Some Linear Algebra

Compiled vs. Interpreted Coding Languages

Computer programming languages are classified as:

Interpreted languages (eg. Matlab, Python, Octave, etc.)

Code is saved as writtenIntructions are sequentially compiled as they are reachedSlow run-timeFast to prototype and code (less errors)Usually used for prototyping

Compiled languages (eg: C/C++/Fortran)

Code is converted to machine instructions and saved as an executableFast run-time → just need to run the instructionsSlower to prototype and code (more errors)Usually used for production and released codes

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 36 / 38

Page 37: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Programming, Matlab and Some Linear Algebra

Interpreted Coding Languages

Matlab is an interpreted language – designed for vector and matrixalgebra. Thus, there are ways to make matlab interpreted code moreefficient by making use of built in compiled functions.

Many of the matrix-matrix, matrix-vector, and vector-vectoroperations are compiled.

Writing vectorized code is much more efficient than loop strucutres

example

Try the following:

Generate a 1000× 1000 matrix, A, and multiply it by a vector, b.

Use for loops in one case and use the ∗ operator in the other case

We can see that matlabs built-in operations are much better. Try to keepfor, while, etc. loops to a minimum.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 37 / 38

Page 38: Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction ...faculty.uml.edu › dwillis › MECH5200 › PDFs › 2016_22520_MODULE_… · Table of contents 1 Announcements

Programming, Matlab and Some Linear Algebra

Interpreted Coding Languages–Octave

For those who are interested in a ’cheaper’ version of Matlab, octave &FreeMat are very similar to matlab (identical but slower for most things):

http://www.gnu.org/software/octave/

Also, python is not a significant departure from Matlab and is rapidlygaining/gained popularity.

David J. Willis Module 1 : 22.520 Numerical Methods for PDEs : Course Introduction, Lecture 1September 7, 2016 38 / 38