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
path: root/intern
diff options
context:
space:
mode:
authorJens Verwiebe <info@jensverwiebe.de>2013-04-10 22:35:18 +0400
committerJens Verwiebe <info@jensverwiebe.de>2013-04-10 22:35:18 +0400
commitcbe9ae244e5af8b89e28a6fe03405bcb368ba83b (patch)
tree383220a82cfeea4845f96f298e34b98939014bf2 /intern
parentac224a64f408fcc8f90f7ea0124cbe4b9ef1e811 (diff)
Add a gui control for setting omp threads in fluids
Diffstat (limited to 'intern')
-rw-r--r--intern/elbeem/extern/elbeem.h2
-rw-r--r--intern/elbeem/intern/simulation_object.cpp5
2 files changed, 7 insertions, 0 deletions
diff --git a/intern/elbeem/extern/elbeem.h b/intern/elbeem/extern/elbeem.h
index 6df08ccebd2..bd50b6f08dc 100644
--- a/intern/elbeem/extern/elbeem.h
+++ b/intern/elbeem/extern/elbeem.h
@@ -99,6 +99,8 @@ typedef struct elbeemSimulationSettings {
elbeemRunSimulationCallback runsimCallback;
/* pointer passed to runsimCallback for user data storage */
void* runsimUserData;
+ /* simulation threads used by omp */
+ int threads;
} elbeemSimulationSettings;
diff --git a/intern/elbeem/intern/simulation_object.cpp b/intern/elbeem/intern/simulation_object.cpp
index 87828b26088..79b1a2ce635 100644
--- a/intern/elbeem/intern/simulation_object.cpp
+++ b/intern/elbeem/intern/simulation_object.cpp
@@ -19,6 +19,10 @@
#include "particletracer.h"
#include "elbeem.h"
+#if PARALLEL==1
+#include <omp.h>
+#endif
+
#ifdef _WIN32
#else
#include <sys/time.h>
@@ -173,6 +177,7 @@ int SimulationObject::initializeLbmSimulation(ntlRenderGlobals *glob)
mpLbm->initDomainTrafo( mpElbeemSettings->surfaceTrafo );
mpLbm->setSmoothing(1.0 * mpElbeemSettings->surfaceSmoothing, 1.0 * mpElbeemSettings->surfaceSmoothing);
mpLbm->setIsoSubdivs(mpElbeemSettings->surfaceSubdivs);
+ omp_set_num_threads(mpElbeemSettings->threads);
mpLbm->setSizeX(mpElbeemSettings->resolutionxyz);
mpLbm->setSizeY(mpElbeemSettings->resolutionxyz);
mpLbm->setSizeZ(mpElbeemSettings->resolutionxyz);