fluids v.3
C C++
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
common First commit 3/7/2014 Mar 8, 2014
fluids First commit 3/7/2014 Mar 8, 2014
README.md Update README.md Mar 8, 2014
READ_ME.txt First commit 3/7/2014 Mar 8, 2014
arial_12.bin First commit 3/7/2014 Mar 8, 2014
arial_12.tga First commit 3/7/2014 Mar 8, 2014
ball32.png First commit 3/7/2014 Mar 8, 2014
cudart32_42_9.dll First commit 3/7/2014 Mar 8, 2014
cutil.h First commit 3/7/2014 Mar 8, 2014
cutil32.dll First commit 3/7/2014 Mar 8, 2014
cutil32.lib First commit 3/7/2014 Mar 8, 2014
cutil_math.h First commit 3/7/2014 Mar 8, 2014
fluids_v3.exe First commit 3/7/2014 Mar 8, 2014
fluids_v3.sln
fluids_v3.vcxproj First commit 3/7/2014 Mar 8, 2014
fluids_v3.vcxproj.filters First commit 3/7/2014 Mar 8, 2014
main.cpp First commit 3/7/2014 Mar 8, 2014
nvToolsExt32_1.dll First commit 3/7/2014 Mar 8, 2014
nvToolsExt64_1.dll First commit 3/7/2014 Mar 8, 2014
scene.xml First commit 3/7/2014 Mar 8, 2014
tinyXML_2010.lib
tinyXML_2010_x64.lib First commit 3/7/2014 Mar 8, 2014
vc100.pdb

README.md

Fluids v.3.1, R. Hoetzlein (c) 2012-213, http://fluids3.com

UPDATE: March 7, 2014 Fluids v.3.1 is now available on github and on project website. This version is essentially identical, but is much easier to build. It has the following new features:

  • Easier to build. No more dependency on freetype or glut.
  • Interactive on-screen GUIs
  • Upgraded to run on CUDA 5.0 and 5.5
  • Profile timings. Now includes GPU markers for profiling on the GPU using NVIDIA’s free NSight tool.
  • Bug fixes noticed by users

Requirements:

Fluids v.3.1 requires a CUDA-capable NVIDIA graphics card /w Compute capability 2.1 or higher. Builds tested on Windows 7 with Visual Studio 2010

Start Fluids by running fluids_v3.exe See below for License terms. See website for software details.

Fluids 3.1 makes use of the following libraries: CUDA - http://www.nvidia.com/object/cuda_home_new.html OpenGL - http://www.opengl.org/ TinyXML - http://www.grinninglizard.com/tinyxml/index.html

Keyboard commands:

H Turn scene info on/off N, M Change number of particles [, ] Change example scene (loaded from scene.xml) F, G Change algorithm (CPU, GPU, etc.) J Change rendering mode (points, sprites, spheres) C Adjust camera (using mouse) L Adjust light (using mouse) A,S,W,D Move camera target 1 Draw acceleration grid 2 Draw particle IDs (be sure # < 4096 first) ~ Start video capture to disk (tilde key) -, + Change grid density

Scene parameters:

  • Example scenes are loaded from the scene.xml file All parameters are permitted in either Fluid or Scene sections. DT Simulation time step SimScale Simulation scale (see website) Viscosity Fluid viscosity coefficient RestDensity Fluid rest density Mass Fluid particle mass Radius Fluid particle radius, only for boundary tests IntStiff Fluid internal stiffness (non-boundary) BoundStiff Fluid stiffness at boundary BoundDamp Fluid damping at boundary AccelLimit Acceleration limit (for stability) VelLimit Velocity limit (for stability) PointGravAmt Strength of point gravity PointGravPos Position of point gravity PlaneGravDir Direction of plane gravity GroundSlope Slope of the ground (Y- plane) WaveForceFre Frequency of wave forcing WaveForceMin Amplitude of wave forcing from X- plane WaveForceMax Amplitude of wave forcing from X+ plane Name Name of scene example Num Number of particles to simulate VolMin Start corner of Domain Volume VolMax End corner of Domain Volume InitMin Start corner of Initial Particle placement InitMax End corner of Initial Particle placement

Attribute-ZLib license (* See additional part 4)

FLUIDS v.3 - SPH Fluid Simulator for CPU and GPU Copyright (C) 2012-2013. Rama Hoetzlein, http://fluids3.com

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.
  4. Any published work based on this code must include public acknowledgement of the origin. This includes following when applicable:
    • Journal/Paper publications. Credited by reference to work in text & citation.
    • Public presentations. Credited in at least one slide.
    • Distributed Games/Apps. Credited as single line in game or app credit page. Retaining this additional license term is required in derivative works. Acknowledgement may be provided as: Publication version:
      2012-2013, Hoetzlein, Rama C. Fluids v.3 - A Large-Scale, Open Source Fluid Simulator. Published online at: http://fluids3.com Single line (slides or app credits): GPU Fluids: Rama C. Hoetzlein (Fluids v3 2013)

Notes on Clause 4: The intent of this clause is public attribution for this contribution, not code use restriction. Both commerical and open source projects may redistribute and reuse without code release. However, clause #1 of ZLib indicates that "you must not claim that you wrote the original software". Clause #4 makes this more specific by requiring public acknowledgement to be extended to derivative licenses.