LarmorFluid - YAPFS
YAPFS: Yet Another PIC/FLIP fluid simulation Solver
Author: Pier Paolo Ciarravano http://www.larmor.com
This project is another classical implementation of PIC/FLIP fluid simulation solver based on algorithms described in the book “Fluid Simulation for Computer Graphics” by Robert Bridson, but with some particular future goals:
- Use of OpenVDB and future implementation using Dneg's OpenVDBPoints lib
- NVIDIA CUDA 8 and cuSPARSE API
- Multithread using TBB
- Handling of large grid and large dataset
- Use of NVIDIA GVDB Sparse Volumes
- Export particles with Disney Partio or other formats
- Import from Alembic
- Unit test using CppUnit
- Availability of AWS EC2 AMI image already configured to run the solver easily on a AWS EC2 P2 Istances
The project is still in development and debugging.
Build and test:
Use CMake to build the binary.
To run the unit test of CUDA pressure solver e.g.:
$ ./yapfs --action test LarmorFluid or YAPFS (Yet Another PIC/FLIP Solver) by Pier Paolo Ciarravano (http://www.larmor.com) - Dec.2016-Jan.2017 INFO - logInit initialized INFO - Reading command line INFO - Reading Configs file INFO - Config file name: yapfs.ini DEBUG - getConfig: action = test INFO - Starting YAPFS test INFO - RUN TEST TestCaseSolver::testSolver INFO - Run Solver on grid dimension: 100x100x100 GPU Device 0: "GeForce GTX 1070" with compute capability 6.1 > GPU device has 15 Multi-Processors, SM 6.1 compute capabilities SPARSE SOLVER: Total iterations = 8, residual = 8.643779e-06 NxM = 1000000x1000000 SPARSE SOLVER: Test Summary: Error amount = 0.000006 INFO - TOTAL TIME IN MILLIESEC: 12.639971 INFO - TOTAL ERROR: 0.000000 .....
LarmorFluid-YAPFS Version 1.0 2017
Copyright (c) 2017 Pier Paolo Ciarravano
All rights reserved.
LarmorFluid-YAPFS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
LarmorFluid-YAPFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with LarmorFluid-YAPFS. If not, see http://www.gnu.org/licenses/.
Licensees holding a valid commercial license may use this file in accordance with the commercial license agreement provided with the software.