Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2020-03-07 21:56:51 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-03-07 21:57:06 +0300
commit5539b68009e6936238c060808b874e6a6e86a073 (patch)
treed69c01c61986d6afce88e49596bed66f903da96f /intern/mantaflow
parent9867a82072bb7d4394cbe8679b6c73d4ae209dbe (diff)
Fluid: Optimization for smoke simulation (multigrid)
The solver will now automatically detect static scenes (no moving obstacles) and use a slightly faster pressure solve in those cases.
Diffstat (limited to 'intern/mantaflow')
-rw-r--r--intern/mantaflow/intern/strings/smoke_script.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/intern/mantaflow/intern/strings/smoke_script.h b/intern/mantaflow/intern/strings/smoke_script.h
index 7a6a2a6d7bf..fb2eaa9b441 100644
--- a/intern/mantaflow/intern/strings/smoke_script.h
+++ b/intern/mantaflow/intern/strings/smoke_script.h
@@ -30,7 +30,7 @@
const std::string smoke_variables =
"\n\
mantaMsg('Smoke variables low')\n\
-preconditioner_s$ID$ = PcMGDynamic\n\
+preconditioner_s$ID$ = PcMGStatic\n\
using_colors_s$ID$ = $USING_COLORS$\n\
using_heat_s$ID$ = $USING_HEAT$\n\
using_fire_s$ID$ = $USING_FIRE$\n\
@@ -391,6 +391,8 @@ def smoke_step_$ID$():\n\
mantaMsg('Walls')\n\
setWallBcs(flags=flags_s$ID$, vel=vel_s$ID$, obvel=obvel_s$ID$ if using_obstacle_s$ID$ else None)\n\
\n\
+ preconditioner_s$ID$ = PcMGDynamic if using_obstacle_s$ID$ and obvel_s$ID$.getMax() > 0 else PcMGStatic\n\
+ mantaMsg('Using preconditioner: ' + str(preconditioner_s$ID$))\n\
if using_guiding_s$ID$:\n\
mantaMsg('Guiding and pressure')\n\
PD_fluid_guiding(vel=vel_s$ID$, velT=velT_s$ID$, flags=flags_s$ID$, weight=weightGuide_s$ID$, blurRadius=beta_sg$ID$, pressure=pressure_s$ID$, tau=tau_sg$ID$, sigma=sigma_sg$ID$, theta=theta_sg$ID$, preconditioner=preconditioner_s$ID$, zeroPressureFixing=not doOpen_s$ID$)\n\