[Bf-blender-cvs] [c8df09ab0de] fluid-mantaflow: updated manta pp files

Sebastián Barschkis noreply at git.blender.org
Sat May 27 22:53:52 CEST 2017


Commit: c8df09ab0de18620513c3b07b7d4f816bf8b887f
Author: Sebastián Barschkis
Date:   Sun Apr 2 21:18:28 2017 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBc8df09ab0de18620513c3b07b7d4f816bf8b887f

updated manta pp files

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

M	intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp
M	intern/mantaflow/intern/manta_pp/omp/fastmarch.h
M	intern/mantaflow/intern/manta_pp/omp/gitinfo.h
M	intern/mantaflow/intern/manta_pp/omp/levelset.cpp
M	intern/mantaflow/intern/manta_pp/omp/levelset.h
M	intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/initplugins.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/pressure.cpp
M	intern/mantaflow/intern/manta_pp/omp/registration.cpp
M	intern/mantaflow/intern/manta_pp/tbb/fastmarch.cpp
M	intern/mantaflow/intern/manta_pp/tbb/fastmarch.h
M	intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
M	intern/mantaflow/intern/manta_pp/tbb/levelset.cpp
M	intern/mantaflow/intern/manta_pp/tbb/levelset.h
M	intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/initplugins.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/pressure.cpp
M	intern/mantaflow/intern/manta_pp/tbb/registration.cpp
M	intern/mantaflow/intern/strings/liquid_script.h
M	intern/mantaflow/intern/strings/smoke_script.h

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

diff --git a/intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp b/intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp
index b679555b098..974b967a70e 100644
--- a/intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp
+++ b/intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp
@@ -33,7 +33,7 @@ using namespace std;
 namespace Manta {
 	
 template<class COMP, int TDIR>
-FastMarch<COMP,TDIR>::FastMarch(FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& levelset, Real maxTime, MACGrid* velTransport )
+FastMarch<COMP,TDIR>::FastMarch(const FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& levelset, Real maxTime, MACGrid* velTransport )
 	: mLevelset(levelset), mFlags(flags), mFmFlags(fmFlags)
 {
 	if (velTransport)
@@ -578,18 +578,18 @@ void extrapolateVec3Simple(Grid<Vec3>& vel, Grid<Real>& phi, int distance = 4, b
 	tmp.clear();
 	const int dim = (vel.is3D() ? 3:2);
 
-	// by default, march outside
-	if(!inside) {
-		// mark all inside
-		FOR_IJK_BND(phi,1) {
-			if ( phi(i,j,k) < 0. ) { tmp(i,j,k) = 1; }
-		}
-	} else {
-		FOR_IJK_BND(phi,1) {
-			if ( phi(i,j,k) > 0. ) { tmp(i,j,k) = 1; }
-		}
-	}
-	// + first layer around
+ 	// mark initial cells, by default, march outside
+ 	if(!inside) {
+ 		// mark all inside
+ 		FOR_IJK_BND(phi,1) {
+ 			if ( phi(i,j,k) < 0. ) { tmp(i,j,k) = 1; }
+ 		}
+ 	} else {
+ 		FOR_IJK_BND(phi,1) {
+ 			if ( phi(i,j,k) > 0. ) { tmp(i,j,k) = 1; }
+ 		}
+  	}
+	// + first layer next to initial cells
 	FOR_IJK_BND(vel,1) {
 		Vec3i p(i,j,k);
 		if ( tmp(p) ) continue;
diff --git a/intern/mantaflow/intern/manta_pp/omp/fastmarch.h b/intern/mantaflow/intern/manta_pp/omp/fastmarch.h
index 570d21d4c52..2b02a6a6cdf 100644
--- a/intern/mantaflow/intern/manta_pp/omp/fastmarch.h
+++ b/intern/mantaflow/intern/manta_pp/omp/fastmarch.h
@@ -77,7 +77,7 @@ public:
 	FmValueTransportVec3() : mpVal(0), mpFlags(0) { };
 	~FmValueTransportVec3() { };
 	inline bool isInitialized() { return mpVal != 0; } 
-	void initMarching(GRID* val, FlagGrid* flags) {
+	void initMarching(GRID* val, const FlagGrid* flags) {
 		mpVal = val;
 		mpFlags = flags;
 	} 
@@ -96,7 +96,7 @@ public:
 
 protected:
 	GRID* mpVal;
-	FlagGrid* mpFlags;
+	const FlagGrid* mpFlags;
 };
 
 class FmHeapEntryOut {
@@ -148,7 +148,7 @@ public:
 
 	enum SpecialValues { FlagInited = 1, FlagIsOnHeap = 2};
 
-	FastMarch(FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& levelset, Real maxTime, MACGrid* velTransport = NULL);
+	FastMarch(const FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& levelset, Real maxTime, MACGrid* velTransport = NULL);
 	~FastMarch() {}
 	
 	//! advect level set function with given velocity */
@@ -168,7 +168,7 @@ public:
 	inline Real _phi(int i, int j, int k) { return mLevelset(i,j,k); }
 protected:   
 	Grid<Real>&   mLevelset;
-	FlagGrid&     mFlags;
+	const FlagGrid&     mFlags;
 	Grid<int>&    mFmFlags;
 	
 	//! velocity extrpolation
diff --git a/intern/mantaflow/intern/manta_pp/omp/gitinfo.h b/intern/mantaflow/intern/manta_pp/omp/gitinfo.h
index f9ef14a5184..54fad6dcbc6 100644
--- a/intern/mantaflow/intern/manta_pp/omp/gitinfo.h
+++ b/intern/mantaflow/intern/manta_pp/omp/gitinfo.h
@@ -1,4 +1,4 @@
 
 
-#define MANTA_GIT_VERSION "commit 14d48a07f9b695496b87c74a96013c744ff1f05b" 
+#define MANTA_GIT_VERSION "commit c4966b1a3585ab866bbdff3e961f09052a3c5025" 
 
diff --git a/intern/mantaflow/intern/manta_pp/omp/levelset.cpp b/intern/mantaflow/intern/manta_pp/omp/levelset.cpp
index 8267cce6149..2558a447e10 100644
--- a/intern/mantaflow/intern/manta_pp/omp/levelset.cpp
+++ b/intern/mantaflow/intern/manta_pp/omp/levelset.cpp
@@ -41,7 +41,7 @@ static const int FlagInited = FastMarch<FmHeapEntryOut, +1>::FlagInited;
 static const Vec3i neighbors[6] = { Vec3i(-1,0,0), Vec3i(1,0,0), Vec3i(0,-1,0), Vec3i(0,1,0), Vec3i(0,0,-1), Vec3i(0,0,1) };
 	
 
- struct InitFmIn : public KernelBase { InitFmIn(FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType) :  KernelBase(&flags,1) ,flags(flags),fmFlags(fmFlags),phi(phi),ignoreWalls(ignoreWalls),obstacleType(obstacleType)   { runMessage(); run(); }  inline void op(int i, int j, int k, FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType )  {
+ struct InitFmIn : public KernelBase { InitFmIn(const FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType) :  KernelBase(&flags,1) ,flags(flags),fmFlags(fmFlags),phi(phi),ignoreWalls(ignoreWalls),obstacleType(obstacleType)   { runMessage(); run(); }  inline void op(int i, int j, int k, const FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType )  {
 	const IndexInt idx = flags.index(i,j,k);
 	const Real v = phi[idx];
 	if (ignoreWalls) {
@@ -53,7 +53,7 @@ static const Vec3i neighbors[6] = { Vec3i(-1,0,0), Vec3i(1,0,0), Vec3i(0,-1,0),
 		if (v>=0) fmFlags[idx] = FlagInited;
 		else      fmFlags[idx] = 0;
 	}
-}   inline FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<int>& getArg1() { return fmFlags; } typedef Grid<int> type1;inline Grid<Real>& getArg2() { return phi; } typedef Grid<Real> type2;inline bool& getArg3() { return ignoreWalls; } typedef bool type3;inline int& getArg4() { return obstacleType; } typedef int type4; void runMessage() { debMsg("Executing kernel InitFmIn ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - "<< ma [...]
+}   inline const FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<int>& getArg1() { return fmFlags; } typedef Grid<int> type1;inline Grid<Real>& getArg2() { return phi; } typedef Grid<Real> type2;inline bool& getArg3() { return ignoreWalls; } typedef bool type3;inline int& getArg4() { return obstacleType; } typedef int type4; void runMessage() { debMsg("Executing kernel InitFmIn ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" -  [...]
 #pragma omp parallel 
  {  
 #pragma omp for  
@@ -61,13 +61,13 @@ static const Vec3i neighbors[6] = { Vec3i(-1,0,0), Vec3i(1,0,0), Vec3i(0,-1,0),
 #pragma omp parallel 
  {  
 #pragma omp for  
-  for (int j=1; j < _maxY; j++) for (int i=1; i < _maxX; i++) op(i,j,k,flags,fmFlags,phi,ignoreWalls,obstacleType);  } }  } FlagGrid& flags; Grid<int>& fmFlags; Grid<Real>& phi; bool ignoreWalls; int obstacleType;   };
+  for (int j=1; j < _maxY; j++) for (int i=1; i < _maxX; i++) op(i,j,k,flags,fmFlags,phi,ignoreWalls,obstacleType);  } }  } const FlagGrid& flags; Grid<int>& fmFlags; Grid<Real>& phi; bool ignoreWalls; int obstacleType;   };
 #line 32 "levelset.cpp"
 
 
 
 
- struct InitFmOut : public KernelBase { InitFmOut(FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType) :  KernelBase(&flags,1) ,flags(flags),fmFlags(fmFlags),phi(phi),ignoreWalls(ignoreWalls),obstacleType(obstacleType)   { runMessage(); run(); }  inline void op(int i, int j, int k, FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType )  {
+ struct InitFmOut : public KernelBase { InitFmOut(const FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType) :  KernelBase(&flags,1) ,flags(flags),fmFlags(fmFlags),phi(phi),ignoreWalls(ignoreWalls),obstacleType(obstacleType)   { runMessage(); run(); }  inline void op(int i, int j, int k, const FlagGrid& flags, Grid<int>& fmFlags, Grid<Real>& phi, bool ignoreWalls, int obstacleType )  {
 	const IndexInt idx = flags.index(i,j,k);
 	const Real v = phi[idx];
 	if (ignoreWalls) {
@@ -79,7 +79,7 @@ static const Vec3i neighbors[6] = { Vec3i(-1,0,0), Vec3i(1,0,0), Vec3i(0,-1,0),
 	} else {
 		fmFlags[idx] = (v<0) ? FlagInited : 0;
 	}
-}   inline FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<int>& getArg1() { return fmFlags; } typedef Grid<int> type1;inline Grid<Real>& getArg2() { return phi; } typedef Grid<Real> type2;inline bool& getArg3() { return ignoreWalls; } typedef bool type3;inline int& getArg4() { return obstacleType; } typedef int type4; void runMessage() { debMsg("Executing kernel InitFmOut ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - "<< m [...]
+}   inline const FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<int>& getArg1() { return fmFlags; } typedef Grid<int> type1;inline Grid<Real>& getArg2() { return phi; } typedef Grid<Real> type2;inline bool& getArg3() { return ignoreWalls; } typedef bool type3;inline int& getArg4() { return obstacleType; } typedef int type4; void runMessage() { debMsg("Executing kernel InitFmOut ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - [...]
 #pragma omp parallel 
  {  
 #pragma omp for  
@@ -87,20 +87,20 @@ static const Vec3i neighbors[6] = { Vec3i(-1,0,0), Vec3i(1,0,0), Vec3i(0,-1,0),
 #pragma omp parallel 
  {  
 #pragma omp for  
-  for (int j=1; j < _maxY; j++) for (int i=1; i < _maxX; i++) op(i,j,k,flags,fmFlags,phi,ignoreWalls,obstacleType);  } }  } FlagGrid& flags; Grid<int>& fmFlags; Grid<Real>& phi; bool ignoreWalls; int obstacleType;   };
+  for (int j=1; j < _maxY; j++) for (int i=1; i < _maxX; i++) op(i,j,k,flags,fmFlags,phi,ignoreWalls,obstacleType);  } }  } const FlagGrid& flags; Grid<int>& fmFlags; Grid<Real>& phi; bool ignoreWalls; int obstacleType;   };
 #line 47 "levelset.cpp"
 
 
 
 
- struct SetUninitialized : public KernelBase { SetUninitialized(Grid<int>& flags, Grid<int>& fmFlags, Grid<Real>& phi, const Real val, int ignoreWalls, int obstacleType) :  KernelBase(&flags,1) ,flags(flags),fmFlags(fmFlags),phi(phi),val(val),ignoreWalls(ignoreWalls),obstacleType(obstacleType)   { runMessage(); run(); }  inline void op(int i, int j, int k, Grid<int>& flags, Grid<int>& fmFlags, Grid<Real>& phi, const Real val, int ignoreWalls, int obstacleType )  {
+ struct SetUninitialized : public KernelBase { SetUnini

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list