Fix T82488: Mantaflow - force fields have very low influence compare to 2.90.1
Removed 0.2f factor when setting forces. Why this factor has been used when forces should only be clamped, nobody knows ..
This commit is contained in:
parent
29693c7b07
commit
0e6820cc5d
Notes:
blender-bot
2023-02-14 02:41:05 +01:00
Referenced by issue #82488, Mantaflow - force fields have very low influence compare to 2.90.1
|
@ -364,7 +364,6 @@ def fluid_pre_step_$ID$():\n\
|
|||
\n\
|
||||
# Main vel grid is copied in adapt time step function\n\
|
||||
\n\
|
||||
# translate obvels (world space) to grid space\n\
|
||||
if using_obstacle_s$ID$:\n\
|
||||
# Average out velocities from multiple obstacle objects at one cell\n\
|
||||
x_obvel_s$ID$.safeDivide(numObs_s$ID$)\n\
|
||||
|
@ -372,7 +371,6 @@ def fluid_pre_step_$ID$():\n\
|
|||
z_obvel_s$ID$.safeDivide(numObs_s$ID$)\n\
|
||||
copyRealToVec3(sourceX=x_obvel_s$ID$, sourceY=y_obvel_s$ID$, sourceZ=z_obvel_s$ID$, target=obvelC_s$ID$)\n\
|
||||
\n\
|
||||
# translate invels (world space) to grid space\n\
|
||||
if using_invel_s$ID$:\n\
|
||||
copyRealToVec3(sourceX=x_invel_s$ID$, sourceY=y_invel_s$ID$, sourceZ=z_invel_s$ID$, target=invelC_s$ID$)\n\
|
||||
\n\
|
||||
|
@ -382,7 +380,6 @@ def fluid_pre_step_$ID$():\n\
|
|||
interpolateMACGrid(source=guidevel_sg$ID$, target=velT_s$ID$)\n\
|
||||
velT_s$ID$.multConst(vec3(gamma_sg$ID$))\n\
|
||||
\n\
|
||||
# translate external forces (world space) to grid space\n\
|
||||
copyRealToVec3(sourceX=x_force_s$ID$, sourceY=y_force_s$ID$, sourceZ=z_force_s$ID$, target=forces_s$ID$)\n\
|
||||
\n\
|
||||
# If obstacle has velocity, i.e. is a moving obstacle, switch to dynamic preconditioner\n\
|
||||
|
|
|
@ -3196,9 +3196,15 @@ static void update_effectors_task_cb(void *__restrict userdata,
|
|||
mul_v3_fl(retvel, mag);
|
||||
|
||||
/* Constrain forces to interval -1 to 1. */
|
||||
data->force_x[index] = min_ff(max_ff(-1.0f, retvel[0] * 0.2f), 1.0f);
|
||||
data->force_y[index] = min_ff(max_ff(-1.0f, retvel[1] * 0.2f), 1.0f);
|
||||
data->force_z[index] = min_ff(max_ff(-1.0f, retvel[2] * 0.2f), 1.0f);
|
||||
CLAMP3(retvel, -1.0f, 1.0f);
|
||||
data->force_x[index] = retvel[0];
|
||||
data->force_y[index] = retvel[1];
|
||||
data->force_z[index] = retvel[2];
|
||||
|
||||
# if DEBUG_PRINT
|
||||
/* Debugging: Print forces. */
|
||||
printf("setting force: [%f, %f, %f]\n", data->force_x[index], data->force_y[index], data->force_z[index]);
|
||||
# endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue