Commit: 2c6348bf35e429d6a7b97b8712dde7375bddc699
Author: Sebastián Barschkis
Date:   Fri Aug 19 21:27:46 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB2c6348bf35e429d6a7b97b8712dde7375bddc699

added support for external forces for liquids

===================================================================

M       intern/mantaflow/intern/strings/liquid_script.h

===================================================================

diff --git a/intern/mantaflow/intern/strings/liquid_script.h 
b/intern/mantaflow/intern/strings/liquid_script.h
index 8d6dbe4..5e8aa5a 100644
--- a/intern/mantaflow/intern/strings/liquid_script.h
+++ b/intern/mantaflow/intern/strings/liquid_script.h
@@ -103,7 +103,12 @@ mesh       = s.create(Mesh)\n\
 \n\
 # Acceleration data for particle nbs\n\
 pindex     = s.create(ParticleIndexSystem)\n\
-gpi        = s.create(IntGrid)\n";
+gpi        = s.create(IntGrid)\n\
+\n\
+forces     = s.create(MACGrid)\n\
+x_force    = s.create(RealGrid)\n\
+y_force    = s.create(RealGrid)\n\
+z_force    = s.create(RealGrid)\n";
 
 const std::string liquid_alloc_high = "\n\
 mantaMsg('Liquid alloc high')\n\
@@ -202,6 +207,10 @@ def liquid_step():\n\
     \n\
     # Forces & pressure solve\n\
     addGravity(flags=flags, vel=vel, gravity=gravity)\n\
+    copyRealToVec3(sourceX=x_force, sourceY=y_force, sourceZ=z_force, 
target=forces)\n\
+    addForceField(flags=flags, vel=vel, force=forces)\n\
+    forces.clear()\n\
+    \n\
     setWallBcs(flags=flags, vel=vel)\n\
     solvePressure(flags=flags, vel=vel, pressure=pressure, phi=phi)\n\
     setWallBcs(flags=flags, vel=vel)\n\
@@ -329,7 +338,11 @@ if 'pp'         in globals() : del pp\n\
 if 'pVel'       in globals() : del pVel\n\
 if 'mesh'       in globals() : del mesh\n\
 if 'pindex'     in globals() : del pindex\n\
-if 'gpi'        in globals() : del gpi\n";
+if 'gpi'        in globals() : del gpi\n\
+if 'forces'     in globals() : del forces\n\
+if 'x_force'    in globals() : del x_force\n\
+if 'y_force'    in globals() : del y_force\n\
+if 'z_force'    in globals() : del z_force\n";
 
 const std::string liquid_delete_grids_high = "\n\
 mantaMsg('Deleting highres grids, mesh, particlesystem')\n\
@@ -354,4 +367,3 @@ const std::string liquid_delete_variables_high = "\n\
 mantaMsg('Deleting highres liquid variables')\n\
 if 'scale'            in globals() : del scale\n\
 if 'xl_radiusFactor'  in globals() : del xl_radiusFactor\n";
-

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to