270E Lecture Summaries

December 5, 2008 (last lecture)

December 3, 2008

December 1, 2008

November 26, 2008

November 24, 2008

November 21, 2008

November 19, 2008

November 17, 2008

November 14, 2008

November 12, 2008

November 10, 2008

November 7, 2008

November 5, 2008

November 3, 2008

October 31, 2008

October 29, 2008

October 27, 2008

October 24, 2008

Creation of a Fast Poisson solver (continued)

October 22, 2008

Creation of a Fast Poisson solver

October 20, 2008

Further discussion of the stream function its' use for determining divergence free vector fields with specified velocities on the boundary of a computational domain. Also discussed how information concerning the velocity field can be can extracted from a contour plot of the stream function.

Discussed aspects of the routine FastPoissonSolverDirichlet; the general idea behind the routine and the routines use of the NCAR FishPack routine HWSCRT.

October 17, 2008

Discussed the relation of timestep restriction associated with the CFL condition and the timestep restriction associated with the stability of the numerical method.

Began discussion of the use of a stream function to determine divergence free vector fields and described the procedure to be used to obtain a velocity field from a stream function that is determined numerically.

October 15, 2008

Discussed the error bound for the solution procedures:

Presented the results of a local truncation error analysis of the spatial discretizations used.

Presented the results of the computation of the eigenvalues of the spatial discretizaton operators. The basis for these computations is discrete Fourier analysis

Went through the process of determining the stability condition when RK methods of order one through four are used. This process consists of combining knowledge of the eigenvalues of the spatial discretization operator and the region of absolute stability for the methods.

October 13, 2008

Stated and the sketched the derivation of an error bound for solution procedures based upon method of lines discretizations.

October 10, 2008

Disucssed

Outlined what's next

Presented the notation to be used in the derivation of the error bound.

October 8, 2008

Continued with the discussion of Assignment 2 C++ implementation
Discussed use of container classes for parameters and an array class for solution values
Considered the following questions/complaints wirh regard to assigment 2

Q1: I'm getting peculiar converence results --- why?
C1: I didn't like having to write down so much to carry out the experiments
Q2: Method (b) and (c) yield exactly the same results -- does this mean there is a bug in the code?
Q4: Why is method (b) a clever method?
Q5: What was responsible for the variation of the methods behavior when Runge-Kutta methods were changed. In particular, for a given RK ODE order, why did some of the schemes work statisifactorily, but others "blew up".
Q6: The results at one rotation weren't very satisfactory --- does this mean there is a bug in the code? If it isn't a bug, then what is causing the results to appear as they do?

Answered Q1, and for C1, suggested that to avoid having to write so much, one can have the computer carry out and tabulate the experiments. There is no need for a script to do this, one can modify the loops within the main routine.

Showed animations of some sample solutions obtained with each method.

October 6, 2008

Described the test problem used in assignment 2 and it's exact solution.
Described the Runge-Kutta methods used in assignment2.
Discussed the general implementation strategy for the method of lines procedure.
Discussed the reasons for not using a standard matrix/vector approach, even though the system of ODE's being solved is a linear system of ODE's.
Began a discussion of the C++ specific constructs used in the implementation --- container classes for the method parameters and an array class, DoubleArray2D, to represent solution values at the grid nodes.

October 3, 2008

Described the origin of the four numerical methods being studied in Assignment 2. The first two are simple methods, often the first methods that are implemented when one's aim is to just create a functional program.The second two methods the result of trying to be "clever".

  1. Non-conservation form, $\dfrac{\partial {\rm S}}{\partial t} \, = -\vec{u} \, \, \nabla {\rm S}$, with standard second order centered differences used to approximate the derivatives in $ \nabla {\rm S}$.
  2. Non-conservation form, $\dfrac{\partial {\rm S}}{\partial t} \, = -\vec{u} \, \, \nabla {\rm S}$, with "upwind", first order differences used to approximate the derivatives in $ \nabla {\rm S}$.
  3. Mixed conservation and non-conservation form, $\dfrac{\partial {\rm S}}{\partial t} \, = -\dfrac{1}{2} \vec{u} \, \, \nabla {\rm S} -\dfrac{1}{2} {\rm div} (\vec{u}{\rm S})$ with standard second order centered differences used to approximate derivatives. Question: Why is this a "clever" thing to do?
  4. Conservation form, $\dfrac{\partial {\rm S}}{\partial t} \, =-{\rm div} (\vec{u}{\rm S})$. A finite volume discretization where the integral of the convective flux over the cell boundary is approximated using Simpson's rule, and a midpoint rule is used to approximate the integral of the time derivative.

Warning: In the code distributed for assignment 2, the spatial discretization approximations are implemented using a specification of S at all points of the boundary. This is not a correct specification of the boundary conditions; however, the consequences of this flaw will not be observed with the test cases being run for the assignment. This flaw will be "fixed" in assignment 3.

October 1, 2008

Derived the equation for convective transport :

Indicated the origin of the expression used for the convective flux
Defined conservation form and non-conservation form for the transport equation.
Discussed how constant density and conservation of mass imply incompressibility, but incompressibility does not imply constant density, e.g. one can have incompressible flows for fluids of variable density.
Outlined the setup for the numerical approximation of the equation for convective transport --- a "Method of Lines" approach is being used.
Began a derivation of a control volume discretization for spatial derivatives. This method is the first of four numerical methods whose approximation properties will be explored in assignment 2.

September 29, 2008

Described the directory structure to be used for the course work.
Demonstrated:

Began the derivation of an equation for passive transport of a scalar quantity by a fluid with a prescribed velocity (e.g. convection).

September 26, 2008

Business: see Course Policies

Scientific computing is a synthesis of knowledge of

and

Our focus is on scientific computing where the problem area is incompressible fluid flow (a type of fluid motion).

What defines a fluid motion.
Fluids include both liquids and gasses.
Most computational methods focus on computing the velocity of the fluid.
The assumption of incompressibility is made so we can ignore sound waves as part of a fluid motion.
Target equations are the Navier-Stokes equations.

Q1: Where do the equations come from?
Q2: How are we going to develop numerical methods to solve them?

A1: As the course progresses, the equations will be derived (slowly).
A2: The NS equations are a combination of equations of hyperbolic, parabolic and elliptic. We well be combining numerical standard numerical methods for equations of these types to create the solution procedures for the NS equations.

Topics (each will have a corresponding assignment)

2D Convection by a specified divergence free velocity field.
2D Convection-Diffusion by a specified divergence free velocity field.
Time independent vortical flows (construction of divergence free vector fields that correspond to time-independent rotational flow).
FFT's, construction of fast Poisson solvers
Euler equations using the vorticity-stream function formulation
Navier-Stokes equations using the vorticity-stream function formulation
Euler equations using primitive (u,P) variables.
Navier-Stokes equations using primitive (u,P) variables.