[Bf-blender-cvs] [09d2c464ddc] fluid-mantaflow: obvel velocity fix, disabling surface tension and viscosity for now, set do not delete flip in obstacle
Sebastián Barschkis
noreply at git.blender.org
Wed Nov 8 17:26:48 CET 2017
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\
More information about the Bf-blender-cvs
mailing list