ISC 5935 Schedule
Computational PDE's
Spring Session 2015


http://people.sc.fsu.edu/~jburkardt/classes/fem_2015/schedule.html


This informal class, ISC 5935, "Selected Topics: Computational PDE's" meets once a week, on Tuesdays (usually) at 2:00pm, to discuss progress, present results, plan the next week's work, and have a cup of coffee.

  1. 15 January:
    Class overview; discussion of student "contracts"
  2. 20 January:
    Mike will discuss a plan for investigating the Mitchell benchmark problems;
    Isaac will present his previous work on radial basis functions;
    Wenju will discuss the results of running his 2D Navier Stokes code on a benchmark problem;
  3. 27 January:
    Isaac will compute and plot the Gaussian and multiquadric RBF's in 1D, for 5 equally spaced points, and then the corresponding cardinal or Lagrange functions; he will also start to explore the sparse approach he is interested in;
    Wenju will run his Navier Stokes code using the region [0.5,2.5]x[0.5,2.5], with nu = 0.001 and rho = 1.0; he will tabulate the L2 norm of the velocity error at 5 time steps between 0 and 1. he will plot the mesh, the velocity vectors, and the pressure. he will report the number of elements, the number of time steps, and the elapsed CPU time.
    Mike will present a description of four or five adaptive refinement techniques; he will explain how an adapative scheme estimates the error and decides where to refine; he will run Fenics on the first Mitchell problem, and use the built-in adaptive meshing procedure to reduce the error.
  4. 03 February:
    Wenju will define the problem he is interested in, namely, a system of incompressible time-dependent Navier-Stokes equations in a 2D region, with a stochastic forcing term. He will create and present a 1 page document listing the equations and explaining how he sets up the finite element system and the stochastic term.
    Mike will set up and solve the L-shaped region, Mitchell problem #2, and give some numeric results for an adapative mesh refinement approach to this problem. He may also present some information about the Hermes software for hp refinement.
    Isaac will look at the error calculation, and particularly focus on boundary conditions. Hans has also suggested that he look at the interpolation problem for a sequence of test problems.
  5. 10 February:
    Mike has changed his project; he will discuss his new study plan, which focuses on the application of the reduced basis technique to PDE's with stochastic inputs. Mike also demonstrated some Fenics code, using SLEPC and PETSC, that allowed him to solve the eigenproblems associated with his calculations.
  6. 17 February:
    Isaac is looking at a nearest neighbor algorithm, which would allow him to develop a modified algorithm that only uses local information. He hopes to have something programmed, or else will at least explain the ideas behind this approach.
    Wenju has found a paper with benchmark data for flow around a cylinder, by Volker John. He set up his code for this problem and compared his computations for drag and lift. His results differ by a significant amount. He will try to see if he can fix the discrepancy, and he will write a short report on what he has done, to turn in next time.
    Mike is working on implementing the ideas he discussed.
  7. 24 February:
    Mike has sketched out an approach for a multilevel algorithm for a stochastic PDE. He explained the 'vanilla' version of his algorithm, as well as his thoughts about using a hierarchical snapshot set. Next week, he will report on his efforts to use Hans's code as a starting point.
    Wenju has been trying to resolve the discrepancy between his results and the benchmark paper. He is using an Euler method in time, but thinks that a Crank-Nicolson time discretization might be more appropriate. For next week, he will explain what he has done to investigate this.
    Isaac has gotten the multidimensional version of the sparse RBF code working, using a KD-tree approach to get neighboring points. He will show us some results next time.
  8. 03 March:
    Wenju was excused from class for a medical emergency involving a friend;
    Isaac walked us through the calculations involved in setting up the stencils for derivatives; we guessed that the stencils can be used as "pre-weights" on the original functional data, or, if used to multiply the functional data, results in estimated derivative data associated with the basis functions. Isaac showed a 1D plot, but we wanted a 2D example to argue over. We decided to investigate the Frank functions.
    Mike received the deterministic code from Hans, and needs to reconfigure it to handle his stochastic expansion. He expectst that by the next meeting, he will have the matrix assembly working, and the reduced basis vectors computed.
  9. 10 March: (No class! Spring Break!)
  10. 17 March:
    Isaac has run his sparse neighbor code in 2D and is getting good results. However, when he goes from a 10x10 grid to a 100x100 grid, the total error is not going down. (This might be because he needs to account for the fact that the dxdy integration area is going down by a factor of 100...) He says the KD tree calculation is slow, and a 100x100 grid takes 20 minutes to work through.
    Mike says he has gotten the finite element information figured out and his ROM code is now basically working. This is all written in Matlab. Now he needs to start looking at a particular problem, and generate some studies for a series of reduced basis sizes, or grid refinements.
    Wenju ran the Crank-Nicolson and backward Euler versions of his code, and is getting reasonable approximations of drag and lift, particularly for the CN code.
  11. 24 March:
    Mike has a plan for his computations, but at the moment, things are going wrong. He expects to be able to report some results next time.
    Wenju found some Navier Stokes calculations coded in FreeFem and was able to modify them to solve his problem. He did not have numerical results or plots to show, but says that the final result compared well with the benchmark, although the computational time was considerable, on the order of the two hours that it takes his Fortran code to run. We asked him to prepare a drag/lift plot for this new approach. We also suggested that he try to make a fair comparison of the different codes that he has written, using the same grid and time scheme. Wenju reported a peculiar issue in the convergence ratio when dividing the grid by sqrt(2) each time instead of 2. We decided that the two families of grids might not be comparable, and that he is jumping back and forth between two convergence curves with different constants. Part of the iterative scheme in the FreeFem code was unclear to Wenju; John suspected it was similar to a scheme in Max's book, and will check into that.
    Isaac was able to get better convergence estimates once he modified his error calculation. When he looked at the interpolation version of the problem, he didn't get such good results, but that is actually not the problem he is interested in. He wants to get onto a GPU system, and John will see about getting him some time.
  12. 31 March:
    Wenju showed the numerical results from his FreeFem implementation of his Navier-Stokes problem. The plots of lift and drag looked much smoother than his previous results. Wenju said he wondered whether he could modify his own code to match the FreeFem results.
    Isaac is in the middle of a coding effort.
    Mike is working on this code, which is almost ready, and is writing up a paper, and working with Hans on the theoretical justification of his algorithm.
  13. 07 April:
    Isaac is running on the RCC. He plans to do a comparison of the sparse code's performance with Python, versus running on the GPU's with CUDA/C
    Mike is writing his LaTeX report, in a possibly publishable form. He is concerned about how to choose the number of basis vectors, how to estimate the cost savings and efficiency of his method.
    Wenju is starting his report.
  14. 14 April:
    Mike is writing his report. His code and Hans's code are cooperating now. However, when he applies his algorithm, he observes error increase rather than decrease. He is going to try to step back to a simpler problem to see where the difficulty is coming from.
    Wenju is running his code on the RCC cluster, using Fortran and MPI. Each process runs a problem using a fine mesh solution for comparison with coarse mesh solutions.
    Isaac has his code working in Python, and in Cuda/C on the spear cluster. He needs access to Lapack (use CLAPACK?) and to a sparse solver (how about SuperLU?). He will check with RCC about these. Then he will compare his dense and sparse codes, and his Python and Cuda/C codes. Hans suggested also varying the number of nearest neighbors used.
  15. 21 April:
    Wenju
    Isaac
    Mike missed class because of illness.
  16. 28 April: Final reports are due.

You can return to the FEM 2015 web page.


Last revised on 21 April 2015.