Commit: 09d2c464ddc39fb6fca07b1f5706c6e771c1d4c8
Author: Sebastián Barschkis
Date:   Wed Nov 8 14:31:27 2017 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rB09d2c464ddc39fb6fca07b1f5706c6e771c1d4c8

obvel velocity fix, disabling surface tension and viscosity for now, set do not 
delete flip in obstacle

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

M       intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
M       intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp
M       intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
M       intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp
M       intern/mantaflow/intern/strings/liquid_script.h

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

diff --git a/intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp 
b/intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
index 84dd78f3054..7815f901518 100644
--- a/intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
+++ b/intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
@@ -305,7 +305,7 @@ void setInflowBcs(MACGrid& vel, string dir, Vec3 value) {
        if (obvel) {
                bcsVel.x = (*obvel)(i,j,k).x;
                bcsVel.y = (*obvel)(i,j,k).y;
-               if(!(*obvel).is3D()) bcsVel.z = (*obvel)(i,j,k).z;
+               if((*obvel).is3D()) bcsVel.z = (*obvel)(i,j,k).z;
        }
 
        // we use i>0 instead of bnd=1 to check outer wall
@@ -314,7 +314,7 @@ void setInflowBcs(MACGrid& vel, string dir, Vec3 value) {
        if (j>0 && flags.isObstacle(i,j-1,k))                                   
         vel(i,j,k).y = bcsVel.y;
        if (j>0 && curObs && flags.isFluid(i,j-1,k))                            
 vel(i,j,k).y = bcsVel.y;
 
-       if(!vel.is3D()) {                                                       
vel(i,j,k).z = bcsVel.z; } else {
+       if(!vel.is3D()) {                                                       
vel(i,j,k).z = 0; } else {
        if (k>0 && flags.isObstacle(i,j,k-1))                                   
        vel(i,j,k).z = bcsVel.z;
        if (k>0 && curObs && flags.isFluid(i,j,k-1))                            
vel(i,j,k).z = bcsVel.z; }
        
diff --git a/intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp 
b/intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp
index 994a9c16f47..0802b6c53b6 100644
--- a/intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp
+++ b/intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp
@@ -401,7 +401,7 @@ void PD_fluid_guiding(MACGrid& vel, MACGrid& velT, 
Grid<Real>& pressure, FlagGri
 void releaseBlurPrecomp() {
        gBlurPrecomputed = false;
        gBlurKernelRadius = -1;
-       gBlurKernel = NULL;
+       gBlurKernel = 0.f;
 } static PyObject* _W_3 (PyObject* _self, PyObject* _linargs, PyObject* _kwds) 
{ try { PbArgs _args(_linargs, _kwds); FluidSolver *parent = 
_args.obtainParent(); bool noTiming = _args.getOpt<bool>("notiming", -1, 0); 
pbPreparePlugin(parent, "releaseBlurPrecomp" , !noTiming ); PyObject *_retval = 
0; { ArgLocker _lock;   _retval = getPyNone(); releaseBlurPrecomp();  
_args.check(); } pbFinalizePlugin(parent,"releaseBlurPrecomp", !noTiming ); 
return _retval; } catch(std::exception& e) { pbSe [...]
 
 
diff --git a/intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp 
b/intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
index 289c8a79ef9..407b95e124d 100644
--- a/intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
+++ b/intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
@@ -243,7 +243,7 @@ void setInflowBcs(MACGrid& vel, string dir, Vec3 value) {
        if (obvel) {
                bcsVel.x = (*obvel)(i,j,k).x;
                bcsVel.y = (*obvel)(i,j,k).y;
-               if(!(*obvel).is3D()) bcsVel.z = (*obvel)(i,j,k).z;
+               if((*obvel).is3D()) bcsVel.z = (*obvel)(i,j,k).z;
        }
 
        // we use i>0 instead of bnd=1 to check outer wall
@@ -252,7 +252,7 @@ void setInflowBcs(MACGrid& vel, string dir, Vec3 value) {
        if (j>0 && flags.isObstacle(i,j-1,k))                                   
         vel(i,j,k).y = bcsVel.y;
        if (j>0 && curObs && flags.isFluid(i,j-1,k))                            
 vel(i,j,k).y = bcsVel.y;
 
-       if(!vel.is3D()) {                                                       
vel(i,j,k).z = bcsVel.z; } else {
+       if(!vel.is3D()) {                                                       
vel(i,j,k).z = 0; } else {
        if (k>0 && flags.isObstacle(i,j,k-1))                                   
        vel(i,j,k).z = bcsVel.z;
        if (k>0 && curObs && flags.isFluid(i,j,k-1))                            
vel(i,j,k).z = bcsVel.z; }
        
diff --git a/intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp 
b/intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp
index 4869e4fe65b..09c9c75f6d9 100644
--- a/intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp
+++ b/intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp
@@ -368,7 +368,7 @@ void PD_fluid_guiding(MACGrid& vel, MACGrid& velT, 
Grid<Real>& pressure, FlagGri
 void releaseBlurPrecomp() {
        gBlurPrecomputed = false;
        gBlurKernelRadius = -1;
-       gBlurKernel = NULL;
+       gBlurKernel = 0.f;
 } static PyObject* _W_3 (PyObject* _self, PyObject* _linargs, PyObject* _kwds) 
{ try { PbArgs _args(_linargs, _kwds); FluidSolver *parent = 
_args.obtainParent(); bool noTiming = _args.getOpt<bool>("notiming", -1, 0); 
pbPreparePlugin(parent, "releaseBlurPrecomp" , !noTiming ); PyObject *_retval = 
0; { ArgLocker _lock;   _retval = getPyNone(); releaseBlurPrecomp();  
_args.check(); } pbFinalizePlugin(parent,"releaseBlurPrecomp", !noTiming ); 
return _retval; } catch(std::exception& e) { pbSe [...]
 
 
diff --git a/intern/mantaflow/intern/strings/liquid_script.h 
b/intern/mantaflow/intern/strings/liquid_script.h
index 84bc698de57..259297b2051 100644
--- a/intern/mantaflow/intern/strings/liquid_script.h
+++ b/intern/mantaflow/intern/strings/liquid_script.h
@@ -44,8 +44,8 @@ minParticles_s$ID$   = $PARTICLE_MINIMUM$\n\
 maxParticles_s$ID$   = $PARTICLE_MAXIMUM$\n\
 radiusFactor_s$ID$   = $PARTICLE_RADIUS$\n\
 randomness_s$ID$     = $PARTICLE_RANDOMNESS$\n\
-surfaceTension_s$ID$ = 0.9\n\
-viscosity_s$ID$      = 0.05\n\
+surfaceTension_s$ID$ = 0.0\n\
+viscosity_s$ID$      = 0.0\n\
 maxVel_s$ID$         = 1 # just declared here, do not set\n";
 
 const std::string liquid_variables_high = "\n\
@@ -64,7 +64,7 @@ phiIn_s$ID$      = s$ID$.create(LevelsetGrid)\n\
 phiOut_s$ID$     = s$ID$.create(LevelsetGrid)\n\
 phiOutIn_s$ID$   = s$ID$.create(LevelsetGrid)\n\
 pressure_s$ID$   = s$ID$.create(RealGrid)\n\
-curvature_s$ID$  = s$ID$.create(RealGrid)\n\
+curvature_s$ID$  = 0 #s$ID$.create(RealGrid)\n\
 \n\
 phiObs_s$ID$     = s$ID$.create(LevelsetGrid)\n\
 fractions_s$ID$  = 0 # s$ID$.create(MACGrid) # TODO (sebbas): disabling 
fractions for now - not fracwallbcs not supporting obvels yet\n\
@@ -236,7 +236,7 @@ def liquid_step_$ID$():\n\
         adjustSndParts(parts=ppSnd_s$ID$, flags=flags_s$ID$, phi=phi_s$ID$, 
partVel=pVelSnd_pp$ID$)\n\
     \n\
     mantaMsg('Advecting particles')\n\
-    pp_s$ID$.advectInGrid(flags=flags_s$ID$, vel=vel_s$ID$, 
integrationMode=IntRK4, deleteInObstacle=using_obstacle_s$ID$, 
stopInObstacle=False)\n\
+    pp_s$ID$.advectInGrid(flags=flags_s$ID$, vel=vel_s$ID$, 
integrationMode=IntRK4, deleteInObstacle=False, stopInObstacle=False)\n\
     \n\
     mantaMsg('Pushing particles out of obstacles')\n\
     pushOutofObs(parts=pp_s$ID$, flags=flags_s$ID$, phiObs=phiObs_s$ID$)\n\
@@ -299,8 +299,8 @@ def liquid_step_$ID$():\n\
     \n\
     setWallBcs(flags=flags_s$ID$, vel=vel_s$ID$, obvel=obvel_s$ID$ if 
using_obstacle_s$ID$ else 0, phiObs=phiObs_s$ID$, fractions=fractions_s$ID$)\n\
     \n\
-    mantaMsg('Calculating curvature')\n\
-    getLaplacian(laplacian=curvature_s$ID$, grid=phi_s$ID$)\n\
+#    mantaMsg('Calculating curvature')\n\
+#    getLaplacian(laplacian=curvature_s$ID$, grid=phi_s$ID$)\n\
     \n\
     if using_guiding_s$ID$:\n\
         mantaMsg('Guiding and pressure')\n\

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

Reply via email to