Fluidsim: Animated inflow (and outflow) never worked #30605

Closed
opened 2012-03-20 14:59:26 +01:00 by Daniel Genrich · 6 comments
Member

%%%I'm just reporting this so this issue doesn't get lost. Was initially reported by Daniel Salazar (ZanQdo).

Problem:

Basicly if an inflow got more than 1 keyframe and "Volume initialisation" is set to either "VOLUME" or "BOTH", only the shell is initialized and only from the shell is new inflow generated.

My bug hunting outcome so far:

  1. The relevant code seems to be in solver_init.cpp (blender/intern/elbeem/intern).

a) Whenever a fluid inflow object got more than 1 keyframe, the function "getIsAnimated()" returns "true". If an inflow is detected to be animated, another set of code is used to initialize the object.

b) The interesting functions to investigate seem to be "LbmFsgrSolver::initGeometryFlags()" and "LbmFsgrSolver::initMovingObstacles(bool staticInit)". Look for "FGI_MBNDINFLOW".

c) When I comment line 1871 in solver_init.cpp "ntype = CFInvalid;" and change it to "rhomass = 1.0; ntype = CFFluid;", the inflow gets initialized correctly BUT this does not fix the problem: New inflow is only generated from the shell. So basicly this "fix" only treats 1 symptom, not the real problem. BUT it also means that the problem + solution is in those functions (I think!).

d) To see how the correct initialisation should look like, you can delete the second keyframe in "AnimInflow-bad-active2.blend".


I am also stuck at this point, if someone else knows what to do, feel free to try your luck. A fresh look can never hurt.

Thanks
Daniel / Genscher
%%%

%%%I'm just reporting this so this issue doesn't get lost. Was initially reported by Daniel Salazar (ZanQdo). Problem: ------------------------ Basicly if an inflow got more than 1 keyframe and "Volume initialisation" is set to either "VOLUME" or "BOTH", only the shell is initialized and only from the shell is new inflow generated. My bug hunting outcome so far: ------------------------------------------------------ 0) The relevant code seems to be in solver_init.cpp (blender/intern/elbeem/intern). a) Whenever a fluid inflow object got more than 1 keyframe, the function "getIsAnimated()" returns "true". If an inflow is detected to be animated, another set of code is used to initialize the object. b) The interesting functions to investigate seem to be "LbmFsgrSolver::initGeometryFlags()" and "LbmFsgrSolver::initMovingObstacles(bool staticInit)". Look for "FGI_MBNDINFLOW". c) When I comment line 1871 in solver_init.cpp "ntype = CFInvalid;" and change it to "rhomass = 1.0; ntype = CFFluid;", the inflow gets initialized correctly BUT this does not fix the problem: New inflow is only generated from the shell. So basicly this "fix" only treats 1 symptom, not the real problem. BUT it also means that the problem + solution is in those functions (I *think*!). d) To see how the correct initialisation should look like, you can delete the second keyframe in "AnimInflow-bad-active2.blend". ----------------------------------------------------- I am also stuck at this point, if someone else knows what to do, feel free to try your luck. A fresh look can never hurt. Thanks Daniel / Genscher %%%
Author
Member

Changed status to: 'Open'

Changed status to: 'Open'
Member

%%%I would only add bugs in the tracker when it's an open issue; i.e. our team has it on the todo to fix it.

If you like to create a todo item for future reference, put this in the wiki?
http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Tools#Fluid_Simulation%%%

%%%I would only add bugs in the tracker when it's an open issue; i.e. our team has it on the todo to fix it. If you like to create a todo item for future reference, put this in the wiki? http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Tools#Fluid_Simulation%%%
Author
Member

%%%Hey,

where is the difference between a TODO-item and a bug? Since the object moves and spits out fluid, it basicly works. But it's buggy. So I guess thought this is a valid bug which nobody fixed but should be fixed since moving inflows are pretty useless so far.%%%

%%%Hey, where is the difference between a TODO-item and a bug? Since the object moves and spits out fluid, it basicly works. But it's buggy. So I guess thought this is a valid bug which nobody fixed but should be fixed since moving inflows are pretty useless so far.%%%

%%%Basically in this case bug means we've got a developer who's familiar with code in which some crap happens and able to fix that crappiness. In case of simulations.. We don't have active developer here. If you think you can look into the issue and propose some fix, feel free to look into it, otherwise i'd prefer this issue be moved to TODO list.%%%

%%%Basically in this case bug means we've got a developer who's familiar with code in which some crap happens and able to fix that crappiness. In case of simulations.. We don't have active developer here. If you think you can look into the issue and propose some fix, feel free to look into it, otherwise i'd prefer this issue be moved to TODO list.%%%

%%%Added not to a TODO wiki there http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Tools#Fluid_Simulation%%%

%%%Added not to a TODO wiki there http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Tools#Fluid_Simulation%%%

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#30605
No description provided.