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:
-rw-r--r--intern/mantaflow/intern/MANTA_main.cpp1
-rw-r--r--intern/mantaflow/intern/strings/fluid_script.h1
-rw-r--r--intern/mantaflow/intern/strings/liquid_script.h18
-rw-r--r--intern/mantaflow/intern/strings/smoke_script.h18
-rw-r--r--source/blender/makesdna/DNA_fluid_types.h1
5 files changed, 18 insertions, 21 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp
index 9d5b3efb0bc..cc702b82151 100644
--- a/intern/mantaflow/intern/MANTA_main.cpp
+++ b/intern/mantaflow/intern/MANTA_main.cpp
@@ -907,7 +907,6 @@ void MANTA::initializeRNAMap(FluidModifierData *fmd)
mRNAMap["NAME_OBVEL_Z"] = FLUID_NAME_OBVEL_Z;
mRNAMap["NAME_FRACTIONS"] = FLUID_NAME_FRACTIONS;
mRNAMap["NAME_INVELC"] = FLUID_NAME_INVELC;
- mRNAMap["NAME_INVEL"] = FLUID_NAME_INVEL;
mRNAMap["NAME_INVEL_X"] = FLUID_NAME_INVEL_X;
mRNAMap["NAME_INVEL_Y"] = FLUID_NAME_INVEL_Y;
mRNAMap["NAME_INVEL_Z"] = FLUID_NAME_INVEL_Z;
diff --git a/intern/mantaflow/intern/strings/fluid_script.h b/intern/mantaflow/intern/strings/fluid_script.h
index 41816648dd3..73b92a76ec4 100644
--- a/intern/mantaflow/intern/strings/fluid_script.h
+++ b/intern/mantaflow/intern/strings/fluid_script.h
@@ -343,7 +343,6 @@ const std::string fluid_alloc_invel =
"\n\
mantaMsg('Allocating initial velocity data')\n\
invelC_s$ID$ = s$ID$.create(VecGrid, name='$NAME_INVELC$')\n\
-invel_s$ID$ = s$ID$.create(MACGrid, name='$NAME_INVEL$')\n\
x_invel_s$ID$ = s$ID$.create(RealGrid, name='$NAME_INVEL_X$')\n\
y_invel_s$ID$ = s$ID$.create(RealGrid, name='$NAME_INVEL_Y$')\n\
z_invel_s$ID$ = s$ID$.create(RealGrid, name='$NAME_INVEL_Z$')\n";
diff --git a/intern/mantaflow/intern/strings/liquid_script.h b/intern/mantaflow/intern/strings/liquid_script.h
index cef1483657a..13b8c0a9c78 100644
--- a/intern/mantaflow/intern/strings/liquid_script.h
+++ b/intern/mantaflow/intern/strings/liquid_script.h
@@ -177,6 +177,13 @@ def liquid_adaptive_step_$ID$(framenr):\n\
flags_s$ID$.initDomain(boundaryWidth=1 if using_fractions_s$ID$ else 0, phiWalls=phiObs_s$ID$, outflow=boundConditions_s$ID$)\n\
\n\
if using_obstacle_s$ID$:\n\
+ mantaMsg('Extrapolating object velocity')\n\
+ # ensure velocities inside of obs object, slightly add obvels outside of obs object\n\
+ # extrapolate with phiObsIn before joining (static) phiObsSIn grid to prevent flows into static obs\n\
+ extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=6, inside=True)\n\
+ extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=3, inside=False)\n\
+ resampleVec3ToMac(source=obvelC_s$ID$, target=obvel_s$ID$)\n\
+ \n\
mantaMsg('Initializing obstacle levelset')\n\
phiObsIn_s$ID$.join(phiObsSIn_s$ID$) # Join static obstacle map\n\
phiObsIn_s$ID$.fillHoles(maxDepth=int(res_s$ID$), boundaryWidth=1)\n\
@@ -211,8 +218,8 @@ def liquid_adaptive_step_$ID$(framenr):\n\
# add initial velocity: set invel as source grid to ensure const vels in inflow region, sampling makes use of this\n\
if using_invel_s$ID$:\n\
extrapolateVec3Simple(vel=invelC_s$ID$, phi=phiIn_s$ID$, distance=6, inside=True)\n\
- resampleVec3ToMac(source=invelC_s$ID$, target=invel_s$ID$)\n\
- pVel_pp$ID$.setSource(grid=invel_s$ID$, isMAC=True)\n\
+ # Using cell centered invels, a false isMAC flag ensures correct interpolation\n\
+ pVel_pp$ID$.setSource(grid=invelC_s$ID$, isMAC=False)\n\
# reset pvel grid source before sampling new particles - ensures that new particles are initialized with 0 velocity\n\
else:\n\
pVel_pp$ID$.setSource(grid=None, isMAC=False)\n\
@@ -275,13 +282,6 @@ def liquid_step_$ID$():\n\
mantaMsg('Adding external forces')\n\
addForceField(flags=flags_s$ID$, vel=vel_s$ID$, force=forces_s$ID$)\n\
\n\
- if using_obstacle_s$ID$:\n\
- mantaMsg('Extrapolating object velocity')\n\
- # ensure velocities inside of obs object, slightly add obvels outside of obs object\n\
- extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=6, inside=True)\n\
- extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=3, inside=False)\n\
- resampleVec3ToMac(source=obvelC_s$ID$, target=obvel_s$ID$)\n\
- \n\
extrapolateMACSimple(flags=flags_s$ID$, vel=vel_s$ID$, distance=2, intoObs=True if using_fractions_s$ID$ else False)\n\
\n\
# vel diffusion / viscosity!\n\
diff --git a/intern/mantaflow/intern/strings/smoke_script.h b/intern/mantaflow/intern/strings/smoke_script.h
index f81259115c5..0d50a730b2d 100644
--- a/intern/mantaflow/intern/strings/smoke_script.h
+++ b/intern/mantaflow/intern/strings/smoke_script.h
@@ -280,6 +280,13 @@ def smoke_adaptive_step_$ID$(framenr):\n\
flags_s$ID$.initDomain(boundaryWidth=0, phiWalls=phiObs_s$ID$, outflow=boundConditions_s$ID$)\n\
\n\
if using_obstacle_s$ID$:\n\
+ mantaMsg('Extrapolating object velocity')\n\
+ # ensure velocities inside of obs object, slightly add obvels outside of obs object\n\
+ # extrapolate with phiObsIn before joining (static) phiObsSIn grid to prevent flows into static obs\n\
+ extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=6, inside=True)\n\
+ extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=3, inside=False)\n\
+ resampleVec3ToMac(source=obvelC_s$ID$, target=obvel_s$ID$)\n\
+ \n\
mantaMsg('Initializing obstacle levelset')\n\
phiObsIn_s$ID$.join(phiObsSIn_s$ID$) # Join static obstacle map\n\
phiObsIn_s$ID$.fillHoles(maxDepth=int(res_s$ID$), boundaryWidth=1)\n\
@@ -386,21 +393,14 @@ def smoke_step_$ID$():\n\
mantaMsg('Adding forces')\n\
addForceField(flags=flags_s$ID$, vel=vel_s$ID$, force=forces_s$ID$)\n\
\n\
- if using_obstacle_s$ID$:\n\
- mantaMsg('Extrapolating object velocity')\n\
- # ensure velocities inside of obs object, slightly add obvels outside of obs object\n\
- extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=6, inside=True)\n\
- extrapolateVec3Simple(vel=obvelC_s$ID$, phi=phiObsIn_s$ID$, distance=3, inside=False)\n\
- resampleVec3ToMac(source=obvelC_s$ID$, target=obvel_s$ID$)\n\
- \n\
# Cells inside obstacle should not contain any density, fire, etc.\n\
if deleteInObstacle_s$ID$:\n\
resetInObstacle(flags=flags_s$ID$, density=density_s$ID$, vel=vel_s$ID$, heat=heat_s$ID$, fuel=fuel_s$ID$, flame=flame_s$ID$, red=color_r_s$ID$, green=color_g_s$ID$, blue=color_b_s$ID$)\n\
\n\
# add initial velocity\n\
if using_invel_s$ID$:\n\
- resampleVec3ToMac(source=invelC_s$ID$, target=invel_s$ID$)\n\
- setInitialVelocity(flags=flags_s$ID$, vel=vel_s$ID$, invel=invel_s$ID$)\n\
+ # Using cell centered invels, will be converted to MAC within the function\n\
+ setInitialVelocity(flags=flags_s$ID$, vel=vel_s$ID$, invel=invelC_s$ID$)\n\
\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\
diff --git a/source/blender/makesdna/DNA_fluid_types.h b/source/blender/makesdna/DNA_fluid_types.h
index 20d6cd8342f..8f67cd060e9 100644
--- a/source/blender/makesdna/DNA_fluid_types.h
+++ b/source/blender/makesdna/DNA_fluid_types.h
@@ -311,7 +311,6 @@ enum {
#define FLUID_NAME_OBVEL_Z "z_obvel"
#define FLUID_NAME_FRACTIONS "fractions"
#define FLUID_NAME_INVELC "invelC"
-#define FLUID_NAME_INVEL "invel"
#define FLUID_NAME_INVEL_X "x_invel"
#define FLUID_NAME_INVEL_Y "y_invel"
#define FLUID_NAME_INVEL_Z "z_invel"