World Congress on Computational Mechanics (WCCM) Presentation
Dissertation Complete! “High-Order Moment Methods for Thermal Radiative Transfer”
Lawrence Berkeley Lab Applied Math Seminar
Nonlinear Elasticity
Finite element simulation of a hyperelastic material with nonlinear Kirchhoff-St. Venant constitutive law. The material is stretched upwards for one second and then released inducing the free vibration shown. Roundoff errors eventually build enough to perturb the material laterally.
Transient Heat Conduction
The mesh was generated with gmsh
. Running
./transient.exe sam
with the code at https://github.com/smsolivier/FEM will produce the data for the above video. The visualization was done with LLNL’s Visit.
Stokes Flow
P2P1 triangles were used to discretize the Stokes Equations.
Lid Driven Cavity
The velocity magnitude and vectors for the Lid Driven Cavity problem. The top wall has a fixed velocity of 1 and the sides and bottom have no slip boundary conditions.
Flow Over a Cylinder
The velocity magnitude, vectors, and streamlines for Stokes Flow across a cylinder.
The code can be found here. Building the stokes.cpp
executable and running:
./stokes.exe cavity
and
./stokes.exe flow
will generate the data for the plots shown above.
Wave Equation
My arbitrary order FEM code (found here) was used to solve the Wave Equation with dissipation:
$$ \frac{\partial^2 u}{\partial t^2} + a \frac{\partial u}{\partial t} = c \nabla^2 u \,, $$
where is the displacement of the wave. controls the dissipation of the wave over time and controls the wave propogation speed. The second derivative in time was handled with a finite difference scheme:
$$ \frac{\partial^2 u}{\partial t^2} \approx \frac{u_{i+1} – 2u_i + u_{i-1}}{\Delta t^2} \,. $$
Standard time integration procedures can now be applied.
In the video below, the second order Crank-Nicholson method and a fourth order FEM discretizations were used for space and time, respectively. The video shows the relaxation of the initial sinusoidal perturbation over time in an L shaped domain.
Mandelbrot
The Mandelbrot set is the set of complex numbers, , such that the series
$$ z_{n+1} = z_n^2 + c $$
does not diverge as . These values of can then be plotted in the complex plane to produce some interesting images. As each pixel in the image is an independent calculation this is a good problem for getting familiar with parallel computing. The following images were generated with the code at https://github.com/smsolivier/Mandelbrot.