13.07.2015 Views

Controlling Fluid Simulations with Custom Fields in Houdini Master ...

Controlling Fluid Simulations with Custom Fields in Houdini Master ...

Controlling Fluid Simulations with Custom Fields in Houdini Master ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.4 Up Res techniqueIn Houd<strong>in</strong>i 10 a new technique was <strong>in</strong>troduced were a low resolution simulationcan be used as the basis for a higher resolution simulation. The key conceptis that you get the general motion from the lower resolution simulation and<strong>in</strong>troduce high frequency noise <strong>in</strong>to the velocity eld, but only where there isa high curvature. The <strong>in</strong>troduced noise has a low amplitude so it does not<strong>in</strong>terfere <strong>with</strong> the general motion com<strong>in</strong>g from the low resolution velocity eld.A cut down version of the pyrosolver is used for the Up Res phase as a lot of the<strong>in</strong>formation is com<strong>in</strong>g from the low res elds rather than hav<strong>in</strong>g to be calculatedfrom scratch. Because it is still a high resolution simulation it can take a longtime. The foundations for this Up Res technique were <strong>in</strong>itially built <strong>in</strong> Houd<strong>in</strong>i9.5 based on [11]. It then became a fully <strong>in</strong>tegrated tool support<strong>in</strong>g Constant,Wavelets and Curl noise. The Gas Up Res solver is also a digital asset, whichmeans it can be modied to support custom user dened elds com<strong>in</strong>g from thelow res simulation or added <strong>in</strong> to support a certa<strong>in</strong> type of control or new typeof noise. Those elds can then be up-ressed and written to disk at the end ofeach simulation step.4.5 Distributed simulationsRunn<strong>in</strong>g high resolution simulations can take a lot of time. Therefore the functionalityhas been built <strong>in</strong> to be able to split a heavy uid conta<strong>in</strong>er <strong>in</strong>to slices.These slices represent partitions of the volume. The amount of overlap betweenthe slices that is required for a good distributed simulation depends on the speedof the uid and needs to be set by the user. There are several ways the slicescan be dened, but by default they will partition the space <strong>in</strong>side the conta<strong>in</strong>ersimilarly to a b<strong>in</strong>ary tree. Each slice can then be calculated on a dierentmach<strong>in</strong>e that is connected to a host mach<strong>in</strong>e that is runn<strong>in</strong>g a tracker. Themach<strong>in</strong>es share the data between them <strong>in</strong> the overlapp<strong>in</strong>g regions through <strong>in</strong>terprocess communication. The speed ga<strong>in</strong>s are signicant, but not l<strong>in</strong>ear as theextra overlap and communication between mach<strong>in</strong>es takes up a bit of additionalprocess<strong>in</strong>g power. The simulation generally runs as fast as the slowest mach<strong>in</strong>e.If all the mach<strong>in</strong>es have the same specications this is not a problem, but if oneof them is signicantly slower than the others, the faster mach<strong>in</strong>es will not beused as eciently.Sidefx has provided Hqueue, a python based renderfarm software to help<strong>with</strong> this distribution. However HQueue was not tested for this project due tolimited adm<strong>in</strong>istrative permissions. Instead a few shell scripts were written thatremotely start a tracker and the simulations and make use of the exact samedistribution techniques. Aga<strong>in</strong> it is convenient that open access is provided tothe distribution techniques <strong>with</strong>out forc<strong>in</strong>g users to use HQueue.19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!