Commit: 937c63766f7b2822badd50e8c88164fcbcdaaea1
Author: Sebastián Barschkis
Date:   Sat Mar 19 20:57:13 2016 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rB937c63766f7b2822badd50e8c88164fcbcdaaea1

moved uv setup and calculations from step low to step high. not needed in step 
low

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

M       intern/mantaflow/intern/MANTA.cpp
M       intern/mantaflow/intern/strings/smoke.h

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

diff --git a/intern/mantaflow/intern/MANTA.cpp 
b/intern/mantaflow/intern/MANTA.cpp
index 96ea6d6..cb6e61e 100644
--- a/intern/mantaflow/intern/MANTA.cpp
+++ b/intern/mantaflow/intern/MANTA.cpp
@@ -44,7 +44,7 @@ MANTA::MANTA(int *res, SmokeModifierData *smd)
        // Make sure that string vector does not contain any previous commands
        mCommands.clear();
 
-       // simulation constants
+       // Simulation constants
        mTempAmb            = 0; // TODO: Maybe use this later for buoyancy 
calculation
        mResX               = res[0];
        mResY               = res[1];
@@ -54,7 +54,7 @@ MANTA::MANTA(int *res, SmokeModifierData *smd)
        mConstantScaling    = (mConstantScaling < 1.0f) ? 1.0f : 
mConstantScaling;
        mTotalCells         = mResX * mResY * mResZ;
        
-       // low res grids
+       // Low res grids
        mDensity        = NULL;
        mHeat           = NULL;
        mVelocityX      = NULL;
@@ -78,7 +78,7 @@ MANTA::MANTA(int *res, SmokeModifierData *smd)
        mObstacles      = new unsigned char[mTotalCells];       // TODO in 
Mantaflow
        mObstaclesAnim  = new unsigned char[mTotalCells];       // TODO in 
Mantaflow
        
-       // high res grids
+       // High res grids
        mDensityHigh    = NULL;
        mFlameHigh      = NULL;
        mFuelHigh       = NULL;
@@ -150,7 +150,6 @@ void MANTA::initSetup(SmokeModifierData *smd)
        std::string tmpString =
                manta_import +
                solver_setup_low +
-               uv_setup +
                alloc_base_grids_low +
                prep_domain_low +
                flags +
@@ -166,6 +165,7 @@ void MANTA::initSetupHigh(SmokeModifierData *smd)
 {
        std::string tmpString =
                solver_setup_high +
+               uv_setup +
                alloc_base_grids_high +
                prep_domain_high +
                wavelet_turbulence_noise +
@@ -558,7 +558,7 @@ string MANTA::getGridPointer(std::string gridName, 
std::string solverName)
        if (retured_value == NULL){cout << "null" << 15 << endl;return "";}
        std::string res = PyBytes_AsString(encoded);
        cout << "Pointer on "<< gridName << " " << res << endl;
-       PyGILState_Release(gilstate);           
+       PyGILState_Release(gilstate);
        return res;
 }
 
@@ -579,7 +579,7 @@ void MANTA::updatePointers(SmokeModifierData *smd)
        mFuelInflow     = (float*) pointerFromString( 
getGridPointer("fuel_inflow","s") );
        
        if (smd->domain->active_fields & SM_ACTIVE_HEAT) {
-               mHeat      = (float*) pointerFromString(getGridPointer("heat",  
      "s") );
+               mHeat       = (float*) pointerFromString(getGridPointer("heat", 
       "s") );
        }
        if (smd->domain->active_fields & SM_ACTIVE_FIRE) {
                mFlame      = (float*) pointerFromString( 
getGridPointer("flame",      "s") );
diff --git a/intern/mantaflow/intern/strings/smoke.h 
b/intern/mantaflow/intern/strings/smoke.h
index f13a98d..ed19873 100644
--- a/intern/mantaflow/intern/strings/smoke.h
+++ b/intern/mantaflow/intern/strings/smoke.h
@@ -77,8 +77,7 @@ s.cfl = 4.0\n\
 s.timestep = dt0\n\
 timings = Timings()\n\
 vorticity = $VORTICITY$\n\
-boundaryWidth = 1\n\
-uvs = 2\n";
+boundaryWidth = 1\n";
 
 const string alloc_base_grids_low = "\n\
 # prepare grids low\n\
@@ -119,6 +118,7 @@ xl.timestepMax = s.timestepMax\n\
 xl.cfl = s.cfl\n\
 wltStrength = $WLT_STR$\n\
 octaves = 0\n\
+uvs = 2\n\
 if upres == 1:\n\
   octaves = int(math.log(upres+1)/ math.log(2.0) + 0.5)\n\
 elif upres > 1:\n\
@@ -264,7 +264,6 @@ if 'heat' in globals() : del heat\n";
 const string del_base_grids_low = "\n\
 mantaMsg('Deleting base grids low')\n\
 if 'flags' in globals() : del flags\n\
-if 'uvs' in globals() : del uvs\n\
 if 'vel' in globals() : del vel\n\
 if 'x_vel' in globals() : del x_vel\n\
 if 'y_vel' in globals() : del y_vel\n\
@@ -300,15 +299,13 @@ if 'fps' in globals() : del fps\n\
 if 'dt0' in globals() : del dt0\n\
 if 'vorticity' in globals() : del vorticity\n\
 if 'boundaryWidth' in globals() : del boundaryWidth\n\
-if 's' in globals() : del s\n\
 if 'timings' in globals() : del timings\n\
 if 'using_colors' in globals() : del using_colors\n\
 if 'using_heat' in globals() : del using_heat\n\
 if 'using_fire' in globals() : del using_fire\n\
 if 'last_frame' in globals() : del last_frame\n\
 if 'maxvel' in globals() : del maxvel\n\
-if 'gravity' in globals() : del gravity\n\
-if 'uv' in globals() : del uv\n";
+if 'gravity' in globals() : del gravity\n";
 
 const string del_vars_high = "\n\
 mantaMsg('Deleting variables high')\n\
@@ -316,6 +313,8 @@ if 'upres' in globals() : del upres\n\
 if 'xl_gs' in globals() : del xl_gs\n\
 if 'xl' in globals() : del xl\n\
 if 'wltStrength' in globals() : del wltStrength\n\
+if 'uvs' in globals() : del uvs\n\
+if 'uv' in globals() : del uv\n\
 if 'octaves' in globals() : del octaves\n";
 
 //////////////////////////////////////////////////////////////////////
@@ -379,11 +378,6 @@ def step_low():\n\
   mantaMsg('Advecting velocity')\n\
   advectSemiLagrange(flags=flags, vel=vel, grid=vel, order=$ADVECT_ORDER$, 
openBounds=doOpen, boundaryWidth=boundaryWidth)\n\
   \n\
-  for i in range(uvs):\n\
-    mantaMsg('Advecting UV and updating UVWeight')\n\
-    advectSemiLagrange(flags=flags, vel=vel, grid=uv[i], 
order=$ADVECT_ORDER$)\n\
-    updateUvWeight(resetTime=16.5 , index=i, numUvs=uvs, uv=uv[i])\n\
-  \n\
   if doOpen:\n\
     resetOutflow(flags=flags, real=density)\n\
   mantaMsg('Vorticity')\n\
@@ -405,14 +399,6 @@ def step_low():\n\
   \n\
   mantaMsg('Pressure')\n\
   solvePressure(flags=flags, vel=vel, pressure=pressure)\n\
-  \n\
-  mantaMsg('Energy')\n\
-  computeEnergy(flags=flags, vel=vel, energy=energy)\n\
-  \n\
-  tempFlag.copyFrom(flags)\n\
-  extrapolateSimpleFlags( flags=flags, val=tempFlag, distance=2, 
flagFrom=FlagObstacle, flagTo=FlagFluid )\n\
-  extrapolateSimpleFlags( flags=tempFlag, val=energy, distance=6, 
flagFrom=FlagFluid, flagTo=FlagObstacle )\n\
-  computeWaveletCoeffs(energy)\n\
   # TODO: mantaMsg('Forcefield')\n\
   # TODO: addForceField(flags=flags, vel=vel, force=forces)\n\
   # TODO: forces.clear()\n\
@@ -436,6 +422,20 @@ def update_flame_low():\n\
 const string smoke_step_high = "\n\
 def step_high():\n\
   mantaMsg('Step high')\n\
+  for i in range(uvs):\n\
+    mantaMsg('Advecting UV')\n\
+    advectSemiLagrange(flags=flags, vel=vel, grid=uv[i], 
order=$ADVECT_ORDER$)\n\
+    mantaMsg('Updating UVWeight')\n\
+    updateUvWeight(resetTime=16.5 , index=i, numUvs=uvs, uv=uv[i])\n\
+  \n\
+  mantaMsg('Energy')\n\
+  computeEnergy(flags=flags, vel=vel, energy=energy)\n\
+  \n\
+  tempFlag.copyFrom(flags)\n\
+  extrapolateSimpleFlags(flags=flags, val=tempFlag, distance=2, 
flagFrom=FlagObstacle, flagTo=FlagFluid)\n\
+  extrapolateSimpleFlags(flags=tempFlag, val=energy, distance=6, 
flagFrom=FlagFluid, flagTo=FlagObstacle)\n\
+  computeWaveletCoeffs(energy)\n\
+  \n\
   interpolateMACGrid(source=vel, target=xl_vel)\n\
   sStr = 1.0 * wltStrength\n\
   sPos = 2.0\n\

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

Reply via email to