<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jacks of Science &#187; Physics</title>
	<atom:link href="http://www.jacksofscience.com/category/physics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jacksofscience.com</link>
	<description>Puttin' the Tron in Electron</description>
	<lastBuildDate>Sun, 27 Nov 2011 18:58:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Three Aspects of a Great Fluid Simulation</title>
		<link>http://www.jacksofscience.com/physics/three-aspects-of-a-great-fluid-simulation/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/three-aspects-of-a-great-fluid-simulation/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 05:25:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computation]]></category>
		<category><![CDATA[GSOC]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=549</guid>
		<description><![CDATA[GSOC has finally come to a close. It seems like yesterday when I was blogging on here, young and foolish about the complexity of my project. What you see above are my modest results. Pretty as it might look, this fluid is most definitely code-name O(n^2), and that&#8217;s not really a good thing! Let me [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2009/08/gsoc09.png"><img class="size-full wp-image-548 alignnone" title="Fluid Visualization in Step" src="http://www.jacksofscience.com/wp-content/uploads/2009/08/gsoc09.png" alt="Google Summer of Code Fluid in Step" width="475" height="207" /></a></p>
<p>GSOC has finally come to a close. It seems like yesterday when I was blogging on here, young and foolish about the complexity of my project. What you see above are my modest results. Pretty as it might look, this fluid is most definitely code-name O(n^2), and that&#8217;s not really a good thing! Let me explain the name in the three major aspects of my project.</p>
<p><strong>Realism</strong></p>
<p>It&#8217;s one thing to implement a smoothed particle hydrodynamics <a href="http://www.matthiasmueller.info/publications/sca03.pdf">paper</a> in STEP, that was basically done by the midterm, but how can you make it&#8230; well, physical? In an SPH system, there are several parameters that must be adjusted to achieve that. Namely, the temperature dependent gas constant, the rest density, the smoothing kernel length, the surface tension coefficient, the viscosity constant, and the universal bounciness of object-object interactions. With the exception of the surface tension and bounciness, I was able to determine a number of these constants for a working fluid using trial and error.</p>
<p>Most significant for computation was the adjustment of the smoothing kernel length. This is the radius around each fluid particle at which the effects of the particle are spread out. According to the SPH algorithm I implemented, at each time step we compute the pressures at each fluid particle based on the density of all fluid particles within the smoothing kernel radius. That being said, at each time-step I made O(n^2) distance to fluid particle comparisons, and in the limit of an infinitely large smoothing kernel there would be O(n^2) arithmetic operations. Among some other issues I will discuss, I found this to be a limiting factor for the number of fluid particles I could use. </p>
<p>Unfortunately, this prevented me from testing an important aspect of fluids, surface tension. By adding some additional fake surface tension forces outlined in Muller 2003, my fluid would be calmer and perhaps even support the weight of a boat at it&#8217;s surface. Additionally, the addition of bounciness would allow gravity to act realistically on the fluid and have density collect at the bottom of a jar.</p>
<p>So, how can one improve on this brute-force enumeration of all pairs of particles? My expert mentor Vladimir suggested a new data structure might be the best approach. Since both fluids and gases benefit from a large number of particles, it would be advantageous to implement a <a href="http://en.wikipedia.org/wiki/Minimum_bounding_box">Axis-Aligned Bounding Box</a> data structure. Not only would this help for collision detection between any Step objects but this would provide a way to only calculate pressure forces for neighboring fluid particles. This works because we store a sorted list of boxes about both our X an Y axes and keep track of box overlaps. Unfortunately, my mentor and I did not have enough time to implement this complex rehaul to StepCore.</p>
<p><strong>Measurement</strong></p>
<p>Step is about education. For educational purposes, at the very least, it would be great to be able to know the average density and pressure within a region of the fluid. Despite my fluid being somewhat artificial and hacked together with strange internal values, I managed to achieve this. However, the computational complexity is, once again, not pretty. </p>
<p>The calculation of pressure at a particle point in the World was already used for the dynamics of the fluid. I merely had to generalize it for discrete area elements of Step&#8217;s &#8220;measurement rectangle&#8221;. By moving the rectangle and resizing it within the Fluid, each time-step I am sliced the area into a grid, calculated the pressure and density at the center of each area, and then added it all together.</p>
<p>The trouble with that is probably quite clear. If you have a very large measurement rectangle you may want a widely spaced grid and for a small measurement rectangle you may want a closely spaced grid. A grid dependent on the size of the rectangle and the smoothing kernel radius is also a difficult value to fine tune.</p>
<p>In the future,  It would be ideal for the user to be able to select the precision of the pressure and density calculation at their own discretion, and have the variance values adjust accordingly. I was unable to implement variance calculations for these measurements, but that may also be an expensive calculation!</p>
<p><strong>Visualization</strong></p>
<p>Finally, the Pièce de résistance. The jaw-dropping visuals that all fluids deserve. As you can see above, there&#8217;s lots of room for improvement. Visualization can be done in two ways. Muller 2003, the paper I was following for this SPH implementation, suggests a fancy isosurface calculation. That is, determine the normal to the fluid particle density field at every point. If this value is greater than some threshold, it&#8217;s safe to say it&#8217;s a surface particle and it could be used to draw a sexy looking surface. </p>
<p>However, with a deadline looming, my mentor suggested a simpler approach. I would simply calculate density at each point in a grid and then paint a particle there with opacity based on the density. As seen above, these opacity calculations weren&#8217;t quite calibrated, since we don&#8217;t see much variation in blue except at the edges of the fluid. </p>
<p>I had a problem though. Where should I &#8220;draw the line&#8221; for drawing the dots? I can&#8217;t very well calculate the density at each point in the observable screen area. It would take forever to get a smooth fluid. The solution is to calculate the minimum bounding box for the fluid and use a cut-off value in-case one fluid particle flies away off the screen. This ended up being quite challenging for some reason, so I decided to only render the fluid within the &#8220;measurement rectangle&#8221;.</p>
<p>I had an issue with converting between coordinate systems that still remains unsolved. I needed to draw my fluid about the origin of the WorldScene or else my fluid would render in the incorrect location. This is likely due to a simple mapping problem that I intend to figure out soon.</p>
<p><strong>End</strong></p>
<p>So, what&#8217;s next for Fluids, Step, and Me? The realism, measurement, and visualization issues outlined above will continue to be worked on by Vladimir and I. After some of the fundamental problems are addressed, I forsee a very liquidy Step in the near future. Me? I&#8217;m starting a MSc. in Physics at University of Waterloo this Fall, but I had a lot of fun on this project and hope to continue making Step a richly featured open-source physics simulator!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/three-aspects-of-a-great-fluid-simulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fluid Integration into the Step GUI</title>
		<link>http://www.jacksofscience.com/physics/fluid-integration-into-the-step-gui/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/fluid-integration-into-the-step-gui/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 06:18:27 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[GSOC]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=531</guid>
		<description><![CDATA[It&#8217;s about time I popped this bubble of silence. I&#8217;ve been working hard on two programming projects this summer, namely my Google Summer of Code project and a fancy upgrade to some molecular dynamics software. In my previous posts, I looked at the back-end of Step and some of the mathematics of smoothed particle hydrodynamics. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2009/06/bubble-1242713362.jpg"><img class="alignnone size-full wp-image-544" title="Bubble" src="http://www.jacksofscience.com/wp-content/uploads/2009/06/bubble-1242713362.jpg" alt="Bubble" width="459" height="344" /></a></p>
<p>It&#8217;s about time I popped this bubble of silence.</p>
<p>I&#8217;ve been working hard on two programming projects this summer, namely my <a href="http://socghop.appspot.com/">Google Summer of Code</a> project and a fancy upgrade to some <a href="http://dirac.cnrs-orleans.fr/MMTK/">molecular dynamics software</a>. In my previous posts, I looked at the back-end of <a href="http://edu.kde.org/step/">Step</a> and some of the mathematics of smoothed particle hydrodynamics. There are still plenty of outstanding problems in those areas but I&#8217;ll address those gradually in the coming weeks. For this post, I&#8217;ll give an overview of all the GUI/user interactivity stuff that i&#8217;ll have to tackle on my quest to implement fast fluid simulation.</p>
<p>I&#8217;ll just enumerate the ways the user can interact with a fluid and trace through exactly what is going on behind the scenes. I know, KDevelop/IDEs are pretty fancy, but I&#8217;m oldschool so I tend to just follow the code execution manually. It&#8217;s kind of like a grep-based treasure hunt! So, I&#8217;ll just give some running commentary with bonus screenshots from the current Gas classes. I doubt many readers of this blog will find this interesting, but my dream is that this post series may someday be useful for a new Step developer =P </p>
<p>Oh, if you&#8217;re a Qt newbie just remember that any class with a Q is a <a href="http://doc.trolltech.com/">Qt class</a>, and don&#8217;t forget your <a href="http://doc.trolltech.com/signalsandslots.html">slots and signals</a>.</p>
<p><span id="more-531"></span><img class="alignnone size-full wp-image-540" title="Screenshot 4" src="http://www.jacksofscience.com/wp-content/uploads/2009/06/ss4.png" alt="Screenshot 4" width="158" height="380" /></p>
<p><strong>User clicks the fluid object in the item palette and adds it to the Scene.</strong></p>
<p>When any action, such as clicking on a button, is performed by the user, a QAction:triggered signal is emitted by that object. Within the itemPalette class (as pictured graphically above) we deal with this signal by linking it up to an actionTriggered slot. </p>
<p>    QObject::connect(_actionGroup, SIGNAL(triggered(QAction*)), this, SLOT(actionTriggered(QAction*)));</p>
<p>This slot then passes over the responsibility of creating a new object from the itemPalette to the WorldScene&#8217;s beginAddItem method. The WorldScene handles all things graphical in Step. It inherits QGraphicsScene and provides us with a safe place for visualizing our 2D objects. Some day, when a brave Summer of Code student steps up to the challenge, Step will evolve to 3D and leave QGraphicsScene in the dust.</p>
<p>WorldScene then initializes a new ItemCreator. You can only add one item at a time to the WorldScene, so it checks to see if an itemCreator has already been defined, and if so it deletes it, while emitting an endAddItem signal. Anyway, since we don&#8217;t actually know the type of the item being created, we have to pass the item over to the worldFactory class to query our object. Once we know more about the object we call the specific newItemCreator class of that object, that in my case will be FluidCreator. It&#8217;s worth mentioning that every derived class form Item has it&#8217;s own Creator, GraphicsItem, and MenuHandler classes.  I&#8217;ll go over these as they come up.</p>
<p>FluidCreator will be a class with the sole purpose of adjusting the initial state of the fluid before it gets placed on the WorldScene. It&#8217;s definition should look something like this:</p>
<p>    FluidCreator(const QString&amp; className, WorldModel* worldModel, WorldScene* worldScene) : ItemCreator(className, worldModel, worldScene) {}</p>
<p>At this point the user gets a friendly notification to click somewhere to position the start of the fluid. In the Phun physics sandbox you can &#8220;liquify&#8221; any object to create a fluid. This can be pretty entertaining, but when it comes building a precise simulation, a boring rectangle is best suited!</p>
<p><img class="alignnone size-full wp-image-537" title="Screenshot 1" src="http://www.jacksofscience.com/wp-content/uploads/2009/06/ss1.png" alt="Screenshot 1" width="476" height="74" /></p>
<p>Any WorldScene clicks get passed to the fluidCreator sceneEvent until the item creation is flagged as being completed. Three different mouse events are handled by the fluidCreator scene event. </p>
<ol>
<li>The user clicks the mouse. This creates a fluid object and a fluidForce object that are added to the World. This case also starts a &#8220;Macro&#8221; for undo purposes later on.</li>
<li>The user drags the mouse. This updates the measureRectSize and measureRectCenter fluid attributes.</li>
<li>The user releases the mouse. This finalizes the rectangle information. If the user did not drag the mouse it  would create a default rectangle size. Releasing the mouse prompts the user to input detailed attributes for the fluid. For early development all values should be fixed as only certain values may permit stable fluids. Once this information is added, the fluid particles will be created within the fluid and the Undo macro is ended. A nice pop-up confirming the creation of a new fluid will appear and we are left with a rectangle filled with non overlapping fluid particles.</li>
</ol>
<p><img class="alignnone size-full wp-image-538" title="Screenshot 2" src="http://www.jacksofscience.com/wp-content/uploads/2009/06/ss2.png" alt="Screenshot 2" width="477" height="243" /></p>
<p>On top of all that, when the user releases the mouse, a menu handler is created. This menuHandler takes care of both the context menu and the creation of new fluid particles. By itself, a fluid is just a framework for keeping track of fluid particles. Separating the creation of fluid particles from creation of a fluid allows the user to re-run the particle creation method until a desired smoothness is achieved. MenuHandler also kicks off a critical chain reaction by adding a FluidParticleList to the WorldModel.</p>
<p>The WorldModel is really the central nervous system of Step. All solvers, constraints, collisions, and general mayhem occurs within this monster of a class. I won&#8217;t unnecessarily spill the guts of Step into this post, but suffice to say, things get quite elaborate at this point. </p>
<p>To quote my mentor:</p>
<blockquote><p>In WorldScene::worldRowsInserted signal handler, which is called when new item is added to the World, the corresponding graphics item gets created and initialized. In WorldScene::worldDataChanged slot, which is called when some (or all) items in the World changes their state, it calls WorldGraphicsItem::worldDataChanged method for each graphics item on the scene so that each item can redraw itself</p></blockquote>
<p>The question I have to ask is, how should one draw a fluid Particle? I will have to do some hands on experimentation with this later, but it is important that fluid particle spheres overlap to give an illusion of a continuos fluid. The actual drawing of the fluid particle object is coded into the GraphicsItem::paint class.</p>
<p><strong>Users selects a fluid particle</strong></p>
<p> Selecting or hovering over a fluid particle is considered a &#8220;stateChange&#8221; event and is handled depending on the object. User interactivity with the fluid may be an interesting task, especially in real-time while the simulation is running. However, clicking and dragging a fluid particle should be entirely possible even when pushing against other fluid particles. As with a Gas, I feel that a fluid particle should display a velocity vector (as pictured below). This velocityHandler is created using the Vector2D velocity quantity of our fluid as follows:</p>
<p>    _velocityHandler = new ArrowHandlerGraphicsItem(item, worldModel, this, _item-&gt;metaObject()-&gt;property(&#8220;velocity&#8221;));</p>
<p>In particular, ArrowHandlerGraphicsItem is described in detail in the WorldGraphics class. One idea I may be interested in implementing in the future, is adding support for displaying &#8220;velocity field lines&#8221; to show the instantaneous velocity at a fixed grid of points throughout the fluid. Other cool graphical features might be a rainbow color mapping to identify the areas of high pressure/density.</p>
<p><img class="alignnone size-full wp-image-541" title="Screenshot 5" src="http://www.jacksofscience.com/wp-content/uploads/2009/06/ss5.png" alt="Screenshot 5" width="475" height="174" /></p>
<p><strong>User presses simulate.</strong></p>
<p>The actual simulation process, in order words, the integration algorithm of all our forces in order to go forward one step in time, is briefly outlined in the Introduction to StepCore document here (http://stepcore.sourceforge.net/docs/design_intro.html). But what end user in their right mind is interested in such things? </p>
<p>End users can keep track of two types of measurements for a fluid. </p>
<ol>
<li>Exact properties of a selected &#8220;fluid particle&#8221;.</li>
<li>Average observables of our system like average velocities, densities and pressures using a rectangular selection.</li>
</ol>
<p>Where the latter would be the most accurate data to be obtained from the fluid. The difficulty with the first measurement is that fluid particles are an arbitrary representation of a bulk amount of fluid. Nonetheless, for either measurement, the properties browser gets updated with data in a similar way. PropertiesBrowser has slots to catch when an object gets selected or when data changes in the world. Then it updates the browser fields accordingly. </p>
<p><img class="alignnone size-full wp-image-539" title="Screenshot 3" src="http://www.jacksofscience.com/wp-content/uploads/2009/06/ss3.png" alt="Screenshot 3" width="476" height="176" /></p>
<p>A difficult aspect of simulation will surely be the collision of fluid particles with other objects. In that case, it is imperative that the effective radius of a fluid particle avoid overlapping excessively with other objects. Perhaps by tweaking the smoothing kernel, no overlap will actually occur, but I must pay close attention that the fluid particles don&#8217;t appear penetrate though an object when in fact the core particle is somewhere safe. This is a case when dynamic graphical scaling of the radius of a particle might be beneficial.</p>
<p><strong>User deletes the object.</strong></p>
<p>Deleting a fluid is a bit less complex than creating a new fluid and fluid particles from scratch. It&#8217;s more or less just a matter of getting your book-keeping straight. Any delete event, for instance, selecting an object and pressing the delete key, will be caught and passed on to the worldModel for annilhation. </p>
<p>That&#8217;s just about all the interactions the user has with the fluid. Phew, talk about exhaustive. Next post, hopefully  on Thursday or Friday, I&#8217;ll touch on some collision detection issues. That&#8217;ll be the final topic before I dive into a glorious ocean of code.</p>
<p> </p>
<p><span style="text-decoration: underline;"><br />
</span></p>
<p><span style="text-decoration: underline;"><br />
</span></p>
<p><span style="text-decoration: underline;"><br />
</span></p>
<p><span style="text-decoration: underline;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/fluid-integration-into-the-step-gui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Fluid One Chunk At A Time</title>
		<link>http://www.jacksofscience.com/physics/building-a-fluid-one-chunk-at-a-time/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/building-a-fluid-one-chunk-at-a-time/#comments</comments>
		<pubDate>Mon, 25 May 2009 07:19:02 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computation]]></category>
		<category><![CDATA[GSOC]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=507</guid>
		<description><![CDATA[I went to the Sharcnet GPU and Cell Computing Symposium at my university last week. One of the keynote speakers, Dr. Paul Woodward, pretty much blew my weak and feeble mind. He used Roadrunner, a.k.a. the faster supercomputer in the world, to compute some impressive fluid dynamics. You know your research group is on the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2009/05/sg5-curtain-1024x768.png"><img class="alignnone size-full wp-image-515" title="Fluid Simulation Woodward Minnesota" src="http://www.jacksofscience.com/wp-content/uploads/2009/05/sg5-curtain-1024x768.png" alt="Fluid Simulation Woodward Minnesota" width="475" height="200" /></a></p>
<p>I went to the <a href="http://www.sharcnet.ca/events/ssgc2009/">Sharcnet GPU and Cell Computing Symposium</a> at my university last week. One of the keynote speakers, <a href="http://www.lcse.umn.edu/">Dr. Paul Woodward</a>, pretty much blew my weak and feeble mind. He used <a href="http://en.wikipedia.org/wiki/IBM_Roadrunner">Roadrunner</a>, a.k.a. the faster supercomputer in the world, to compute some impressive fluid dynamics. You know your research group is on the right track when you have a <a href="http://www.lcse.umn.edu/coppermine/index.php?cat=18">Wallpapers section</a> on your web site.</p>
<p>Back on planet earth, us computational plebs don&#8217;t have such luxurious resources at our finger tips. To start with, you don&#8217;t have a lot of options when you feel like simulating fluids on a computer. Things get even more depressing when you want fluid flow computed in real time. In video games, or maybe just in old video games, accurate water simulation ends up being avoided all together with some elaborate ruse to keep computation costs down. Why do fluids have such a bad rep? To paraphrase <a href="http://en.wikipedia.org/wiki/Navier-Stokes_equations">Wikipedia</a>: &#8220;We suck at solving systems of non-linear partial differential equations, here&#8217;s a million dollars if you figure it out, good luck lol&#8221;.</p>
<p>I find this whole water simulation extra-depressing because <a href="http://en.wikipedia.org/wiki/Digital_physics">the universe computes the solution to these problems</a> instantly and literally rubs it in our face whenever the wind blows (<a href="http://en.wikipedia.org/wiki/Navier–Stokes_existence_and_smoothness">via turbulence</a>). Just imagine with me what life would be like if we had an exact solution for fluid flow. Picture weather forecasts that actually forecast, reliable message-in-a-bottle delivery using ocean currents, and aerodynamic everything.</p>
<p>Wow, nice introduction. This post is actually about my fluid simulation project for Google Summer of Code. To achieve real-time fluid simulation in Step, I intend to follow the <a href="http://en.wikipedia.org/wiki/Smoothed_particle_hydrodynamics">Smoothed Particle Hydrodynamics </a>(SPH) algorithm outlined by Muller et al. in &#8220;<a href="http://www.matthiasmueller.info/publications/sca03.pdf">Particle-Based Fluid Simulation for Interactive Applications</a>&#8220;. This method works by breaking up a large fluid body into discrete chunks and using these chunks to create smoothed out fields. In fluids, the stuff we care about are pressure, density, and velocity fields. SPH is just a fancy way of figuring out the forces that act on your fluid by taking these fields into account.</p>
<p>Without going into all the mathematical detail presented by Muller et al., we can begin to define our fluid particles class in <a href="http://stepcore.sourceforge.net/docs/design_intro.html">StepCore</a>, the mathematical back-end of Step. Note that all of this is pretty fuzzy right now since I haven&#8217;t started coding anything. Many important properties of FluidParticle already exist the base class Particle in Step as depicted below. Nothing too special here, just get and set methods for the particle member variables. One thing to note is that FluidParticle has a specific radius that defines the core radius of each particle. However, at this point it is unlikely that the radius of each particle will vary. I&#8217;ll talk about Errors in a separate post also.</p>
<p><span style="text-decoration: underline;"><img class="alignnone size-full wp-image-510" title="step-fluids-uml1" src="http://www.jacksofscience.com/wp-content/uploads/2009/05/step-fluids-uml1.png" alt="step-fluids-uml1" width="450" height="581" /></span></p>
<p>Now that the FluidParticle is defined we can look at the collective group, the Fluid. All &#8220;bodies and forces&#8221; in Step are derived from the root class <a href="http://stepcore.sourceforge.net/docs/classStepCore_1_1Item.html">Item</a>. A Fluid is simply a group of FluidParticle items in a handy &#8220;Item Group&#8221;. The main purpose of this group is to extract macroscopic features of our fluid particles that exists within a rectangle drawn in the GUI.</p>
<p>This rectangular data inquiry box was designed for use with the Gas class where determining the number of particles, the kinetic energy, and the temperature are meaningful quantities for statistical mechanics. However, I&#8217;m not really sure how well the physics of statistical mechanics translates to the mathematics of a fluid. For instance, I may know the velocities of all my fluid chunks but is it correct to use these velocities to determine the so-called &#8220;temperature&#8221; of my fluid? I suppose so&#8230; but I have to do a bit more research.</p>
<p>Nonetheless, for now I&#8217;ll just use the rectPressure(), rectVelocity() and rectDensity(). I&#8217;d like to be able to use these methods to not just calculate the average pressure, velocity, and density by looping over the values stored in each fluid chunk but averaging over the entire field created by the fluid chunks. I&#8217;m not sure how computationally demanding this calculation will be, but if I discretized space within the fluid into some sort of grid this may be possible. </p>
<p><span style="text-decoration: underline;"><img class="alignnone size-full wp-image-514" title="Step Fluids UML 2" src="http://www.jacksofscience.com/wp-content/uploads/2009/05/step-fluids-uml22.png" alt="Step Fluids UML 2" width="446" height="384" /></span></p>
<p>So now we have a Fluid that is composed of individual FluidParticles. Where does the physics come in? We need to look at the FluidForce class for that. The purpose of the FluidForce class is to do the work of applying the inter-fluid forces to each particle in our item group by means of the calcForce method that allows you to calculate the variances based on a boolean flag. In the process of calculating the forces on each fluid particle, I&#8217;ll have to use the helper method calcPressureDensity() as well.</p>
<p><img class="alignnone size-full wp-image-516" title="Step Fluids UML 3" src="http://www.jacksofscience.com/wp-content/uploads/2009/05/step-fluids-uml3.png" alt="Step Fluids UML 3" width="440" height="137" /></p>
<p>You&#8217;ll notice that the only member variable for the fluidForce is a cutoff value and FluidErrors (which I will elaborate on later). This value represents a limiting distance for which the force contribution from a distant particle would be so small that it&#8217;s not worth calculating. In the current Gas implementation in Step, calcForce requires O(n^2) comparisons, as we have to loop through all pairs of particles to determine if they have a distance less than the cutoff value. As mentioned briefly in Muller et al., a potential speed-up over this approach might be to place our fluid particles on a grid and only calculate the force contribution from particles attached to neighboring grid cells to our particle of interest. I&#8217;ll address performance issues later in my project.</p>
<p>I&#8217;ve already overlooked a few critical issues that may require the modification of these classes. A fundamental characteristic of a fluid is <a href="http://en.wikipedia.org/wiki/Viscosity">viscosity</a>, which is defined as resistance of a fluid to shear and stress forces. Obviously, my GSOC project will not be complete unless I can simulate some delicious sticky honey. At this stage, for simplicity, I&#8217;ll probably just hard code some viscosity values. The second critical issue will be collisions. My mentor and I both agree that collision handling may get tricky. If you&#8217;ve ever been stuck in a wall or a tree when playing a video game you&#8217;ll know what I mean.</p>
<p>I&#8217;ll address that problem eventually but next I&#8217;ll briefly discuss the Error classes associated with the fluid objects. The calculation of errors/variances is one of the cool features that makes Step unique!</p>
<p>After that, I&#8217;ll explore the Qt and GUI side of Step. I&#8217;ll connect the classes I&#8217;ve defined above to user interactions. Once I do that, things should get a lot clearer in terms of how the FluidForce, Fluid and FluidParticles work in conjunction with the World.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/building-a-fluid-one-chunk-at-a-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Summer of Fast Fluid and Gas Simulation</title>
		<link>http://www.jacksofscience.com/physics/summer-of-fast-fluid-and-gas-simulation/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/summer-of-fast-fluid-and-gas-simulation/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 19:44:44 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computation]]></category>
		<category><![CDATA[GSOC]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[computers]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=491</guid>
		<description><![CDATA[Step is a 2D open-source physics simulator that was recently added to the KDE Education project. Vladimir, the original developer and former Google Summer of Code student, posted up a few ideas to improve Step for this years Google Summer of Code. He included one about improving fluid simulation and, being a computational physicist (TM), [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-490" title="Gas Simulation in KDE Step" src="http://www.jacksofscience.com/wp-content/uploads/2009/04/gas1-1.png" alt="Gas Simulation in KDE Step" width="450" height="184" /></p>
<p><a href="http://edu.kde.org/step/">Step</a> is a 2D open-source physics simulator that was recently added to the <a href="http://edu.kde.org/">KDE Education project</a>.</p>
<p><a href="http://ksvladimir.blogspot.com/">Vladimir</a>, the original developer and former Google Summer of Code student, posted up a few ideas to improve Step for this years <a href="http://socghop.appspot.com/program/home/google/gsoc2009">Google Summer of Code</a>. He included one about improving fluid simulation and, being a computational physicist (TM), I decided to go for it. I wrote up a fancy <a href="http://www.jacksofscience.com/wp-content/uploads/2009/04/gsoc2009.pdf">proposal</a> a few weeks ago and I&#8217;m happy to say that it was accepted.</p>
<p>A lot of GSOC projects are strictly geeking out behind-the-scenes, but this one is fun, visual, and physics-based. It&#8217;s perfect for me.</p>
<p>Compared to Vladimir&#8217;s original summer of code, <a href="http://edu.kde.org/step/gsoc.php">spent designing Step in it&#8217;s entirety</a>, my proposal seems like a pretty modest addition. However, fluids are traditionally a very messy subject in the world of physics simulators. If you aren&#8217;t convinced, <a href="http://www.box2d.org/forum/viewtopic.php?f=3&amp;t=574">read this thread on the Box2D forums from only a month ago</a>. To quote ElectroDruid on <a href="http://www.box2d.org/forum/viewtopic.php?f=3&amp;t=574&amp;start=80">page 9</a>:</p>
<blockquote><p>&#8220;I gave up with having the particles be handled by Box2D, and one of the main reasons was because of the amount of pairs generated. You can up the maximum limits, but eventually you just run out of storage space for the numbers of pairs that can be needed in certain cases. Box2D is great for rigid bodies, but for fluids where you need a lot of particles which interact with each other in close proximity all the time, it&#8217;s easy to push the limits to breaking point.&#8221;</p></blockquote>
<p>I&#8217;m sure I will have to deal with similar problems encountered in that thread, but I&#8217;m optimistic that such issues can be resolved. Throughout the summer I&#8217;ll be blogging my progress on the project here, so stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/summer-of-fast-fluid-and-gas-simulation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Merits of a Formula Sheet</title>
		<link>http://www.jacksofscience.com/physics/the-merits-of-a-formula-sheet/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/the-merits-of-a-formula-sheet/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 05:34:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[condensed matter]]></category>
		<category><![CDATA[exams]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[school]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=482</guid>
		<description><![CDATA[Click the thumbnail above to catch a glimpse of a single-sided slice of beauty. I cranked it out for my condensed matter physics final tomorrow morning. Arguably a waste of potential &#8220;comprehension-intensive&#8221; study time, preparing an excessive formula sheet always puts me at ease (at least until moments before the exam when classmates are chatting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2009/04/image0028.jpg"><img class="size-full wp-image-484 alignnone" title="Formula Sheet for Condensed Matter Physics" src="http://www.jacksofscience.com/wp-content/uploads/2009/04/blogthumb.jpg" alt="Formula Sheet for Condensed Matter Physics" width="450" height="245" /></a></p>
<p>Click the thumbnail above to catch a glimpse of a single-sided slice of beauty. I cranked it out for my condensed matter physics final tomorrow morning.</p>
<p>Arguably a waste of potential &#8220;comprehension-intensive&#8221; study time, preparing an excessive formula sheet always puts me at ease (at least until moments before the exam when classmates are chatting about some obscure textbook chapters).</p>
<p>I usually insert inspirational messages into my formula sheets just in case I need that bonus motivation, but this time&#8230; see if you can find Waldo!</p>
<p>P.S., I can&#8217;t wait until I can take care of this blog again after my finals.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/the-merits-of-a-formula-sheet/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sir Roger Penrose Gives Me Inspiration To Calculate</title>
		<link>http://www.jacksofscience.com/physics/sir-roger-penrose-gives-me-inspiration-to-calculate/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/sir-roger-penrose-gives-me-inspiration-to-calculate/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 06:13:38 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Physics]]></category>
		<category><![CDATA[astrophysics]]></category>
		<category><![CDATA[autograph]]></category>
		<category><![CDATA[calculator]]></category>
		<category><![CDATA[penrose]]></category>
		<category><![CDATA[signature]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=474</guid>
		<description><![CDATA[I heard Sir Roger Penrose give a talk at the Perimeter Institute, Grand Opening 4 years ago. Finally, just last week, the esteemed Oxford physicist and I were re-united at last. Free tickets sold out almost instantly, but there&#8217;s no chance I could let such a celebrity parade across my front lawn without witnessing it [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-472" title="University of Waterloo Homework" src="http://www.jacksofscience.com/wp-content/uploads/2008/10/cimg0537-blog.jpg" alt="" width="460" height="345" /></p>
<p>I heard <a href="http://en.wikipedia.org/wiki/Roger_penrose">Sir Roger Penrose</a> give a talk at <a href="http://pirsa.org/04100005/">the Perimeter Institute, Grand Opening</a> 4 years ago. Finally, just last week, the esteemed Oxford physicist and I were re-united at last. Free tickets sold out almost instantly, but there&#8217;s no chance I could let such a celebrity parade across my front lawn without witnessing it first hand. Especially since it&#8217;s good blog material, and Jacks of Science is essentially the Perez Hilton of Science (slogan trademark pending).</p>
<p>Penrose spoke overtime on the nature of our universe before the Big Bang. I like to think of the lecture as an hour and a half of supplementary material to Leon Lederman&#8217;s 10 second hand-wavey answer to the very same question in <a href="http://www.sciencentral.com/video/2008/08/21/street-corner-science-with-leon-lederman/">Street Corner Science Part 1</a>.</p>
<p><a href="http://www.nationalpost.com/news/story.html?id=859565">The National Post</a> does a great job of treading past the physics into <a href="http://physicsandphysicists.blogspot.com/2008/10/if-big-bang-recycles-what-does-that.html">theological no-man&#8217;s land</a>. Thankfully, to help clear up some of the physics details, I jotted down some key quotes from the lecture:</p>
<ul>
<li>&#8220;General Relativity makes light cones &#8216;Higgily-Piggily&#8217;</li>
<li>&#8220;Unpleasant tiny black-hole explosions&#8221;</li>
<li>&#8220;Rogue electrons, I hope they dissapear&#8221;</li>
<li>&#8220;Universe loses track of time&#8221;</li>
</ul>
<p>Yeah, the notes were pretty brief.. but the whole talk should be <a href="http://www.perimeterinstitute.ca/Outreach/Public_Lectures/View_Past_Public_Lectures/">available online at some point</a>. It was a great lecture. Penrose&#8217;s colorful overhead transparencies have already inspired some sort of grassroots movement among my classmates.</p>
<p>Personally, I found that I could appreciate a lot more of the mathematical details this time around. You see, I&#8217;ve learned a lot in the past 4 years. I am much wiser. This time around I didn&#8217;t forget to get an autograph!</p>
<p><a href="http://physicsbuzz.physicscentral.com/2008/10/physics-nobel-prize-to-be-announced.html">If Penrose wins a Nobel Prize today, I&#8217;ll be rich</a>!</p>
<p><img class="alignnone size-full wp-image-471" title="Penrose Signed Calculator Detail" src="http://www.jacksofscience.com/wp-content/uploads/2008/10/cimg0538-blog.jpg" alt="" width="460" height="345" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/sir-roger-penrose-gives-me-inspiration-to-calculate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physics Classroom of the 21st Century</title>
		<link>http://www.jacksofscience.com/physics/physics-classroom-of-the-21st-century/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/physics-classroom-of-the-21st-century/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 20:38:15 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Physics]]></category>
		<category><![CDATA[arxiv]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=468</guid>
		<description><![CDATA[I&#8217;m basically the worst science blogger! I went to a week of great lectures at the Science in the 21st Century conference last month and Jacks of Science has been in complete silence for weeks. How embarrassing! Unfortunately, I had an unhealthy amount of class/general burdens of life during the week of the conference so [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2008/09/21st-cent.jpg"><img class="alignnone size-full wp-image-467" title="Science in the 21st Century FOX" src="http://www.jacksofscience.com/wp-content/uploads/2008/09/21st-cent.jpg" alt="Science in the 21st Century FOX" width="460" height="250" /></a></p>
<p>I&#8217;m basically the worst science blogger! I went to a week of <a href="http://pirsa.org/C08021">great lectures</a> at the <a href="http://www.science21stcentury.org/">Science in the 21st Century conference</a> last month and Jacks of Science has been in complete silence for weeks. How embarrassing!</p>
<p>Unfortunately, I had an unhealthy amount of class/general burdens of life during the week of the conference so I had to keep a low profile. I mostly just <a href="http://flickr.com/photos/easternblot/2848242193/">snuck around when people weren&#8217;t looking</a> and ate unhealthy amounts of snacks/nanaimo bars in between the lectures.</p>
<p>However, just a few days ago, I was recently reminded of the rapidly approaching future of science when I read the syllabus of <a href="http://am473.ca/">Quantum Theory (AM473)</a> taught by <a href="http://www.perimeterinstitute.ca/index.php?option=com_content&amp;task=view&amp;id=30&amp;Itemid=72&amp;pi=6143">Robin Blume-Kohout</a> at U. Waterloo this semester. I&#8217;m not currently enrolled in it, but simply hearing about it from my classmates, I could tell it was dripping with the 21st century:</p>
<ol>
<li>The <a href="http://am473.ca/">course web-page</a> makes use of <a href="http://pirsa.org/08090057/">Garrett Lisi&#8217;s LaTeX hacked TiddlyWiki</a> (<a href="http://physicswiki.org/sci21/download/">downloadable here</a>). Lecture notes are included, so there is a whole lot of potential for adding depth to lectures.</li>
<li>The mark breakdown for the course includes 10% for participation, which specifically encourages wiki contributions! You can either add to the course wiki or submit improvements to the math and quantum physics articles on Wikipedia.</li>
<li>Class projects suggest critically analyizing open-access papers on arXiv and presenting them to the class.</li>
<li>Assignments must be submitted electronically and LaTex typeset assignments receive 10% extra credit. Environmentally friendly!</li>
</ol>
<p>As an aside, I have heard that the workload of the class is far too heavy, but it&#8217;s definitely a step in the right direction. I have never heard of an undergraduate course which is so integrated with online resources. Even in Waterloo&#8217;s prestigeous Computer Science department&#8230;</p>
<p>Death to the &#8220;PDF repository&#8221; course webpage!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/physics-classroom-of-the-21st-century/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>White Stuff and Black Stuff That People Like</title>
		<link>http://www.jacksofscience.com/physics/white-stuff-and-black-stuff-that-people-like/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/white-stuff-and-black-stuff-that-people-like/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 02:56:18 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Physics]]></category>
		<category><![CDATA[black]]></category>
		<category><![CDATA[colour]]></category>
		<category><![CDATA[optics]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[white]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=462</guid>
		<description><![CDATA[People who read books are suckers. Why put yours eyes through hours of tortuous labour when you can trade the horrible noise pollution of the city for a beautifully read audiobook? My latest audatory book digestion was Christopher Hitchen&#8217;s tirade on the big G in God Is Not Great. In the book, Hitchens shares a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2008/08/prism-by-chris-ing.png"><img class="alignnone size-full wp-image-465" title="Pixel Prism" src="http://www.jacksofscience.com/wp-content/uploads/2008/08/prism-by-chris-ing.png" alt="Pixel Prism" width="460" height="288" /></a></p>
<p>People who read books are suckers. Why put yours eyes through hours of tortuous labour when you can trade the horrible noise pollution of the city for a beautifully read audiobook? My latest audatory book digestion was <a href="http://www.vanityfair.com/politics/features/2008/08/hitchens200808">Christopher Hitchen&#8217;s</a> tirade on the big G in <a href="http://www.amazon.com/God-Not-Great-Religion-Everything/dp/1600240097/ref=ed_oe_a&amp;assoc_id=jackofscie-20">God Is Not Great</a>.</p>
<p>In the book, Hitchens shares a fond memory of his grade school teacher informing the class that God made all the trees and grass the colour green because it was most relaxing to the human eye. For brevity&#8217;s sake, Hitchens clarifies that “eyes were adjusted to nature, not the other way around” but it&#8217;s really a fantastic question. Why is the grass green?</p>
<p>Colour mostly boils down to the <a href="http://en.wikipedia.org/wiki/Absorption_spectrum">absorption spectrum</a> of a particular chemical element in an object. Flowers have evolved enticing colours to attract pollinators, birds/<a href="http://www.youtube.com/watch?v=VfrenBOBMc0">humans</a> have evolved sexy tailfeathers to attract mates, but sometimes nature throws you a color you didn&#8217;t expect. Especially with stuff that I expect would be either <a href="http://www.youtube.com/watch?v=MbNPotsAFxg">black or white</a>.</p>
<p><strong>Why are plants not black</strong>?</p>
<p>Plants are <a href="http://www.thechemblog.com/?p=850">green</a> because they are packed with the photoreceptor <a href="http://en.wikipedia.org/wiki/Chlorophyll">chlorophyll</a>.  This pigment is used to capture energy from the sun to fuel the chronic plant craving for sugars. So if plants evolved to be truly efficient, why the heck are they wasting all that green light and reflecting it at us?</p>
<p><a href="http://www.madsci.org/posts/archives/2000-03/952478790.Bt.r.html">This post</a> by Todd Holland at University of Illinois explains that plants get all they need from the sun in the blue and red portions of sunlight. In different sunlight conditions, astrobiologists theorize that <a href="http://www.astrobio.net/news/modules.php?file=article&amp;name=News&amp;op=modload&amp;sid=2373">plants may be completely black</a>!</p>
<p><strong>Why is the sun not white?</strong></p>
<p>The surface of the sun is like 6000K. The emission spectrum of a <a href="http://en.wikipedia.org/wiki/Black_body#Explanation">black-body</a> is definitely in the white area, so why does the sun look yellow and even orange at sunsets?</p>
<p>The sun is yellow for the same reason that <a href="http://hyperphysics.phy-astr.gsu.edu/Hbase/atmos/blusky.html">the sky is blue</a>. The molecules in our atmosphere scatter sunlight like nobodies business and since blue and violet light is <a href="http://en.wikipedia.org/wiki/Rayleigh_scattering#Rayleigh_scattering_from_molecules">scattered easiest</a>, we are left with a red/orange/yellow looking sun. The sun is orangiest when light has to pass through more atmosphere when we observe it at dusk/dawn.</p>
<p><strong>Why is the moon white?</strong></p>
<p>Now that I&#8217;ve explained why the sun is yellow, why the heck isn&#8217;t the moon also yellow? It&#8217;s the same light as the sun and it travels through the same amount of atmosphere. Damn you science you make no sense!</p>
<p>The reason the moon appears white is because <a href="http://www.boston.com/news/science/articles/2008/02/18/why_is_the_moon_white_while_the_sun_is_yellow/">the light is too dim</a>! Our eyes are too crappy at night time because we only use the rods in the back of our eyes which don&#8217;t provide very good color information.</p>
<p><strong>Why is space not white?</strong></p>
<p>If there are <a href="http://news.bbc.co.uk/1/hi/sci/tech/3085885.stm">70 sextillion stars in the visible universe</a>, why isn&#8217;t space completely white? Dudes in the 1800&#8242;s were all over this problem and it&#8217;s known as <a href="http://en.wikipedia.org/wiki/Olbers%27_paradox">Olbers&#8217; Paradox</a>. I wish I had a paradox named after me&#8230; Anyway, Wikipedia gives the &#8220;mainstream&#8221; explanation as follows:</p>
<ol>
<li>The speed of light is finite so a lot of starlight hasn&#8217;t reached us yet.</li>
<li>The age of the universe is finite due to the Big Bang so beyond a certain point there aren&#8217;t any stars at all.</li>
<li>Space is expanding so visible light gets <a href="http://en.wikipedia.org/wiki/Redshift">shifted</a> into the UV and microwave spectrum which explains that snazzy <a href="http://www.boingboing.net/2008/09/05/sf-artist-makes-a-te.html">cosmic microwave background radiation</a>.</li>
</ol>
<p><strong>Why are black holes black?</strong></p>
<p>It seems obvious that photons cannot escape the super strong black hole gravity, but why? <a href="http://blogs.scienceforums.net/swansont/archives/278">Photons</a> have zero <a href="http://en.wikipedia.org/wiki/Rest_mass">rest mass</a> and equation for a gravitational force has mass in it&#8230;  so you should be saying &#8220;i dont c what u did there&#8221;.</p>
<p>Turns out that Einstein came up with this crazy thing called General Relativity says that the geometry of space time can be curved, which in turn, can alter the <a href="http://www.physlink.com/Education/AskExperts/ae661.cfm">trajectory of photons</a>.</p>
<p><strong>Why is <span style="text-decoration: line-through;"><a href="http://www.youtube.com/watch?v=NtILxBszyf8">snow</a></span> snow white?</strong></p>
<p>Tap water is clear, ice cubes are clear, and Dasani is the clearest of all since it costs extra. Snowflake whiteness comes from the complexity and imperfections of the <a href="http://www.its.caltech.edu/~atomic/snowcrystals/designer3/designer3.htm">snowflake structure</a>. Light gets scattered all over the place and makes for the best Christmas ever.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/white-stuff-and-black-stuff-that-people-like/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sylvester Gates and The One Ring To Rule Them All</title>
		<link>http://www.jacksofscience.com/physics/sylvester-gates-and-the-one-ring-to-rule-them-all/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/physics/sylvester-gates-and-the-one-ring-to-rule-them-all/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 05:26:38 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Physics]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[lhc]]></category>
		<category><![CDATA[nova]]></category>
		<category><![CDATA[supersymmetry]]></category>
		<category><![CDATA[television]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=463</guid>
		<description><![CDATA[What a pleasure it was to witness Sylvester Gates&#8216; gentlemanly afro today. Check out his 53 page CV here [pdf]. The famed physicist and Elegant Universe TV star gave a talk to the students of Notre Dame and to think I never even got my copy of Elegant Universe signed! I guess that will have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2008/08/james.jpg"><img class="alignnone size-full wp-image-464" title="Sylvester James Gates Jr." src="http://www.jacksofscience.com/wp-content/uploads/2008/08/james.jpg" alt="Sylvester James Gates Jr." width="460" height="233" /></a></p>
<p>What a pleasure it was to witness <a href="http://en.wikipedia.org/wiki/Sylvester_James_Gates">Sylvester Gates</a>&#8216; gentlemanly afro today. Check out his 53 page CV <a href="http://www.physics.umd.edu/people/faculty/cv/GatesCV.pdf">here</a> [pdf]. The famed physicist and <a href="http://www.pbs.org/wgbh/nova/elegant/">Elegant Universe TV star</a> gave <a href="http://physics.nd.edu/talks/Fall2008/COLL_Aug27_2008.html">a talk</a> to the students of Notre Dame and to think I never even got my copy of <a href="http://www.amazon.com/Elegant-Universe-Superstrings-Dimensions-Ultimate/dp/0393058581/ref=ed_oe_h&amp;assoc_id=jackofscie-20">Elegant Universe</a> signed! I guess that will have to wait until <a href="http://www.perimeterinstitute.ca/Outreach/Public_Lectures/Public_Lectures/">next week</a>?</p>
<p>Preceding the lecture was a room with multiple fruit, cracker, donut, and cookie platters giving physics majors ample opportunity to anti-socialize. Obviously the room was packed. Upon escaping several dead-end conversations and a laborious explanation of where Toronto was in respect to its closest state I found an engaging group of students. They explained that they received extra credit for attending this talk. America is corrupt like that!</p>
<p>There&#8217;s no doubt it was the most enjoyable credits these students have ever earned because Dr. Gates knew exactly how to entertain. It was interesting to hear that his PhD thesis on <a href="http://fliptomato.wordpress.com/2008/03/20/supersymmetry-literature-for-the-perplexed/">supersymmetry</a> was a topic unfamiliar to his adviser or anyone at MIT at the time. He likened his defense, in choosing a topic no one was familiar with, to <a href="http://en.wikipedia.org/wiki/James_T._Kirk#Fictional_character_history">James T. Kirk&#8217;s</a> reprogramming of the <a href="http://en.wikipedia.org/wiki/Kobayashi_Maru">Kobayashi-Maru</a> combat simulation to beat the system! Well put.</p>
<p>The talk was uncomfortably compressed from 1 hour and 45 minutes to just an hour, but thanks to many futuristic 3D animations of feynman diagrams, that had been developed for the <a href="http://www.teach12.com/ttcx/coursedesclong2.aspx?cid=1284">Superstring Theory: DNA of Reality</a> teaching company series, a lot of information was conveyed.</p>
<p>In typical theorist fashion, Gates gave the <a href="http://en.wikipedia.org/wiki/Dirac_equation#History">prediction of the positron by the Dirac equation</a> as an example where the math came before the experimental result. Analogous to this in his own field would be the predicted <a href="http://cosmicvariance.com/2008/08/04/what-will-the-lhc-find/">Higgs Boson</a> which will be tested next month thanks to a certain <a href="http://en.wikipedia.org/wiki/LHC">7 billion dollar experiment</a>.</p>
<p>I was especially happy to hear Gates promoting the <a href="http://www.youtube.com/watch?v=j50ZssEojtM">LHC rap</a> which proves that <span style="text-decoration: line-through;">normal</span> people other than bloggers really do use the internet. To wrap things up, he closed by praising the physicists working on LHC as &#8216;Lords of the Ring&#8217;. Someone in the front immediately asked who Frodo was but I couldn&#8217;t catch the name he replied! To be honest, I&#8217;m a little more concerned about the possibility of ring wraiths&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/physics/sylvester-gates-and-the-one-ring-to-rule-them-all/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jacks of Science Blogging Experiment Failure</title>
		<link>http://www.jacksofscience.com/general/the-blogging-experiment/?&amp;owa_from=feed&amp;owa_sid=</link>
		<comments>http://www.jacksofscience.com/general/the-blogging-experiment/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 00:10:20 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Biology]]></category>
		<category><![CDATA[Chemistry]]></category>
		<category><![CDATA[Earth Science]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[Physics]]></category>

		<guid isPermaLink="false">http://www.jacksofscience.com/?p=385</guid>
		<description><![CDATA[Jacks of Science is a bit of an experiment. I hypothesized that the site would become a flourishing group science blog as far back as 2006. To observe this desired blog state I devised a simple theory. I would mix a solution from a staff of student bloggers in different fields such as Physics, Biology, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacksofscience.com/wp-content/uploads/2008/05/mad_scientist.gif"><img class="aligncenter size-full wp-image-386" title="Mad Scientist" src="http://www.jacksofscience.com/wp-content/uploads/2008/05/mad_scientist.gif" alt="Maddened Scientist" width="338" height="450" /></a></p>
<p>Jacks of Science is a bit of an experiment.</p>
<p>I hypothesized that the site would become a flourishing <strong>group</strong> science blog as far back as 2006.</p>
<p>To observe this desired blog state I devised a simple theory. I would mix a solution from a staff of student bloggers in different fields such as Physics, Biology, Geology, and Chemistry.</p>
<p>Would I be able to find reactants that formed a homogeneous mixture or a highly reactive substance on the brink of explosion?! Even if I found writers that worked coherently together, would I continue to get decent results over time? </p>
<p>I figured that the greatness of Jacks of Science would be directly correlated with post diversity. Many authors would lead to diversity in post subject matter, writing style, humor, complexity, geekiness, and length. However, in theory, things are much different than in experiment. As you may have noticed, this diversity of authors ended up just being a diverse range of posts authored by me. I didn&#8217;t follow through on my original plan of finding other writers since I was busy trying to become a better blogger myself.</p>
<p>The original intention of the site has been lost but, 102 posts later, as my domain renewal date draws nearer, you&#8217;re looking at the results of the Jacks of Science experiment. Full of <a href="http://www.jacksofscience.com/art/the-greatest-note-doodles-of-3rd-year-physics/">random art doodled on my class notes</a> (which now includes my 1st and 2nd year!), to <a href="http://www.jacksofscience.com/general/downloading-pirated-science/">pro-piracy open science discussion</a>, to <a href="http://www.jacksofscience.com/music/">science DJ mixes</a>, to my most popular article: <a href="http://www.jacksofscience.com/art/bring-love-to-the-lab-with-a-science-valentine/">Science Valentines</a>.</p>
<p>So I&#8217;m trying to draw some conclusions about the data so far. As far as the traffic indicates the site is growing in popularity but I&#8217;m just not sure if things are working out. Blogging is a lot of fun, but the Jacks of Science initiative, as originally imagined, has been stagnant for some time. It doesn&#8217;t seem to be going anywhere for a variety of reasons off the top of my head.</p>
<ul>
<li>No clear audience that I&#8217;m writing for!</li>
<li>No incentive for new writers to be part of the site!</li>
<li>I can only post once a week by myself (quality over quantity)!</li>
<li>Science is boring (and thus cannot reach a wide enough audience)!</li>
<li>My single column blog theme is too narrow!</li>
</ul>
<div>So the Jacks of Science domain expiry date is June 8th, does anyone have any suggestions or should JOS expire peacefully on its 2nd birthday? Comment or email me at science AT DOMAIN NAME jacksofscience DOT com</div>
<div>Perhaps I should start fresh on a new blog of my own (just imagine &#8220;Jack of Science&#8221; with blogging about about normal things too). Perhaps I should contribute to an existing blog? Perhaps quit blogging and focus on real hobbies that make you money like wood carving or online poker? Perhaps quit using the internet all together! OMG this is turning into my quarter life crisis, help me out!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jacksofscience.com/general/the-blogging-experiment/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

