[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