Skip to content
Sections
Personal tools
You are here: Home » Members » nrolander's Home » Digital Portfolio » MATLAB

MATLAB Work

Document Actions
I have only been using MATLAB for two years, but have become extremely proficient at programming with it becuase of my extensive previous programming experience and through using it continuously for every piece of work I have completed at graduate school. I find that its power with Matrix manipulation, general computational speed, symbolic variable processing, and huge number of internal functions make it a great tool for any job. This page contains a few examples of my MATLAB work.

MATLAB Work


Every piece of class work that is listed in my main page has an associated suite of MATLAB functions.  Therefore the work presented here is simply a subset of that body of work, and acts to highlight some of my favorite functions or plots.  These examples are:

Error Isosurface Plot


This plot is part of my Masters research work.  It shows the error of recreating a given turbulent fluid flow field using three principle modes or basis functions.  These functions are generated using Proper Orthogonal Decomposition, for more information see my Masters research work.  This plot is an isosurface of the absolute deviation from the given field, and shows that the function is well behaved and has only one minimum, and hence yeilds the class of optimization methods to be applied to fit the basis functions.  The plot is shown below:



Flux Limiter Numerical PDE Solver


The Flux Corrected Transport scheme for solving hyperbolic partial differential equations is a second order accurate conservative scheme that can yeild good results for shockwave propagation problems.  The plots below show the solution to the propagation of a square wave translating with a speed of 1 m/s after 10 seconds.


Although the peak is located correctly, there is also numerical diffusion in this scheme, as demonstrated in the following plot.

This plot shows the decay of the square wave with time, which is more pronounced as a coarses mesh was used for this simulation to better demonstrate this phenomenon.

Source Code:
This code can be viewed by any simple text exitor outside of MATLAB, including a web browser.

MUSCL Numerical PDE Solver


The Monotonic Upsream-centered Scheme for Conservation Laws using the 2nd Order Runge-Kutta method in time is a good 2nd order general conservative scheme for numerical solutions to hyperbolic partial differential equations.  In this example the scheme is applied to a modified Burgers Equation, where the baseline of the sine function has been shifted to a value of 1.  This creates a constant velocity transport of the standard Burgers solution.  The results are plotted below after one second.


To better clarify the transport of the Burgers solution, the following plot shows snapshots at several intermediate times.


Source Code:
This code can be viewed by any simple text exitor outside of MATLAB, including a web browser.  MUSCL is a function that is called by TVD_RK2, the main function.

Pattern Search Optimization Routine


A simple and robust optimization algorithm is the Hooke and Jeeve's pattern search.  This method initially finds a search direction along the prinicple axes of the control variables, and marches in that direction untill no further improvement is found, wherin a new direction is found.  If the search does not yield improvement, a smaller search radius is used.  This search is repeated untill the convergence criterion are met.

The results of this pattern search are applied to Fenton and Easton's function, shown below.

Fenton and Easton's Function

Surface Plot

Contour Plot

The iterative steps of the patern search are shown below on the surface plot, and a detailed view of the final convergence to the minimum on the coutour plot.


View Code as HTML:
Source Code:
This code can be viewed by any simple text exitor outside of MATLAB, including a web browser.  Explore, FEfunction, and SpacePlotter are subfunctions of Pattern Search.

Droplet Surface Gradient Plot


The problem here is the determination of the nucleation point, the position at which solidification starts on a suspended molten metal droplet.  In order to measure these phenomena, a sequence of two dimensional point data representing the phase front must be transformed into three dimensions, with the height data of each point corresponding to the top surface of the metal sample.  In the first two figures this data transformation is demonstrated.  Each series of colored points represents the edge of a phase front at a single frame in time. The first figure shows the original points as they appear in the captured image sequence, and the second figure shows these points transformed to three dimensions on the surface of the ellipsoid sample surface.  Each series of color represents points captured in a single frame of the animation.




Using this data a point must be found, constrained to the surface of the sample, representing the nucleation point.  Based upon the knowledge of the constant velocity nature of the phase front and the time at which each frame of points in the sequence was captured, the velocity required to reach each point in the sequence can be calculated.  Through minimizing the deviation in this velocity through varying the position of the nucleation point and the time at which the nucleation occurred the nucleation point and time can be found.   The corresponding phase velocity can be computed, and this process can be applied to any captured phase front image sequence.

To demonstrate how to find this nucleation point, the negative gradient function was computed at the center of each of the facets of the ellipsoid and plotted as 3D vectors with the tail rooted at the surface of the ellipsoid.  The resulting plot is shown below.  The gradient vectors show that if a steepest descent search were started at the top of the ellipsoid, that the negative gradient would actually search along the backside of the sample, and all the way around the droplet to the nucleation site.  This was very important to know while debugging the optimization program, as without this knowledge one would think that the algorithm was searching in the wrong direction.



Cold Aisle Simulation


As a feasability study for my Master's research work I investigated the thermal efficiency of a cold aisle in a data center.  A complete report of the stidy is avaliable here.  The geometry, airflow, and heat generation is shown below.  The grey region represents the area of heat generation from the server Printed Circuit Board.



The resulting flow conditions are turbulent and are solved for using FLUENT yeilding a series of flow pattern observations.  These observations are decomposed into basis functions using Proper Orthogonal Decomposition.  These basis funtions are superimposed to quickly recreate a given flow field, as shown below.

Using this flow data, the following cell Peclet number distribution is obtained.  This data is used to determine the upwinding sheme that is best suited to solve the convective heat transfer problem.

Solving the energy equation discritized over the flow field doman yeilds the following temperature profile.  This can be used to find the maximum temperature of the server boards, and hence the volume and temperature of air required to keep the system below critical operating temperature.


Created by nrolander
Last modified 06/01/2005 03:52 PM
« November 2009 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Log in
 
 

Powered by Plone