Lets talk about Mantaflow

Since we are analyzing that .blend file, what are those artifacts/fire retention on screen that appears if you bake the simulation with adaptive domain disabled?

Does the mantaflow domain and flow object have their own subframes settings, or is it just the domain? If it’s only the domain, then I guess that’s what I was messing with. But the project file I sent wasn’t for that, so it didn’t have subframes at all.

I’m working right now so I don’t have the project in front of me, but what’s the ‘CFL number’? Does that solve both the subframes problem and the turbulence problem?

I should have said that both types of objects have substeps settings.

CFL number is probably named as is, according to Courant–Friedrichs–Lewy condition.

Tooltip says that an higher number gives more spaced substeps.

So, observed artifacts are inherent to the way mantaflow works. Convergence is not done and we observe dense cells without velocity like when some FLIP particles are stuck to angles of an obstacle when simulating fluids.

Use Adaptive Stepping option of Domain and adding some Sampling Substeps to Emitter should solve
artifacts of fire retention like it solves problem for liquids.

And decreasing CFL number should solve turbulence problem.

1 Like

Hey guys, I have a big Problem with leakage,as you can see here:


Can somebody please check my file and try to reproduce this (and tell me if I made a mistake or if it’s a bug)?
mantaflowProblem.blend (683.1 KB)

Feature request, will mantaflow inflow ever get “target” feature?

1 Like

Hello everyone !

I’m sorry to come here asking for help, but i have basically spent the last two days baking and rendering poor fluid sims, so I figured you might just help me fix this faster. My scene here is a basic version of what i’ll need in my project : a big ocean-like body of water (but of which we can see like 20-30meters in frame) is falling in a hole (basic obstacle object), with a swirling motion (a vortex force field).

I’m generally satisfied of what I can achieve as far as simulating the flow and baking the mesh goes, but the particles ALWAYS look bad. As you can see here they look like they are above the water (which is the first time I notice this problem, might just be a bug), but they are also distributed in a very “grid-like” manner, is this normal ? I’ve tried playing with the settings in the particle tab (which are rather unclear to me, despite watching the few videos on the subject), but it is somehow always very “inorganic”, grid like. This render has a 180 res and a 4 upres on the particle, is this just not enough ? Or am I missing something ? When I play too much with the settings I get a 300Go cache and almost unusable interface (even with hidden particles)

I also uploaded a video to reddit so you can see how weird it looks when animated (the compression is horrible, but at 1080p you can sort of guess the problem) https://www.reddit.com/r/blender/comments/cna1s3/anyone_familiar_with_this_mantaflow_particle/

Thanks a lot everyone,

Vincent

Hi BenMu I checked out your file and done a number of test and I could not find a reason why it should not be working then again I didn’t build the app so could be something I missed, I had this issue as well with some earlier builds I tested, then in one build it worked but would crash when rendering the output. I think its still the luck of the draw with builds at the moment. Also done a 256 res test in blender 2.8 default fluid sim, The collisions worked great, Look forward to manta flow being the defualt fluidsim one day.

Sorry for the late reply. Select the Domain and apply location: Ctrl+A - location (You see the operator panel that is opened at the bottom left in blender)
You do the same for Location and Scale for all your meshes.
In Blender for simulation it is recommended that you have the transformations applied to all meshes.

Thanks you, works like a charm now! Although I feel that the whole situation of physics systems and modifiers relying on those resettable coordinates isn’t very user friendly.

Well, I don’t know how other programs work. But when something does not work well in Blender, one of the things you should always check is the transformations. Not having the transformations applied can make things not work as you expect not only in simulations, but also with modifiers, or in Edit mode (for example Loop Tools or Edit Mesh tools addons)

By the way, auto apply transforms and auto make normals consistent Modifier would be great.
Edit:
and remove doubles modifier :slight_smile:

1 Like

Hello everyone,

I managed to fix my problem by starting it all over again from scratch, and I managed to get a result I’m at least somehow satisfied with, which is this :

I started to render it out, the first few frames look really good, and then all of a sudden the particles “switch” to this new position (and then continue as such for the next frames)

Does anyone here know why that might be ? That’s especially frustrating because after hours of tests I finally find a rather nice result, which I can’t use because it’s only here for a few frames…

Thanks a lot in advance

I don’t really see much of a difference, compared to the first picture, what do you mean?

You’re right it was not obvious enough, here are a few frames very slowed down, you can clearly see the jump

https://www.youtube.com/watch?v=yYrplAg9tPs&feature=youtu.be

Ah I see. Would you mind sharing your file?

Of course, thanks a lot for the help :slight_smile:

fluidonly V2.blend (1.3 MB)

I’ve been playing with Mantaflow for a week or so now, I think I might really like it! Pause and resume baking, and baking the noise seperately without re-baking the whole sim is just fantastic!!!

One thing I’m getting occasionally in the 2.81 version I’m using is weird little ‘twitches’ for a frame or two in the smoke position after baking noise (doing a Gas sim obviously). Sounds very similar to the above issue.
When you watch the Domain in the 3D view, the whole thing will move slightly in x, y or z on the same frame or two the smoke has ‘twitched’, then move back.
If you disable the noise this ‘twitch’ does not happen to the Domain or the smoke. (correction- the domain does twitch without the noise, but the smoke does not.)
I think noise does not like adaptive domain maybe.

In fact I’ve just created one such sim-

Here’s the scene file- MantaflowDomainTwitch.blend (716.5 KB)

Anyone else getting these? And does ANYONE(!) know of any documentation for Blender Mantaflow? I’ve been googling, but just get stuff related to standalone Mantaflow software.

In fact I’m definitely pointing at adaptive domain for my issue: I re baked the same .blend I uploaded already, with Adaptive Domain disabled and there are no ‘twitches’.

The sim looks completely different however (which is sort of unexpected / annoying, as nothing was changed apart from using Adaptive Domain or not), but it does not have the jumps!

I am not seeing this issue with every sim I’ve made with Adaptive Domain and Noise (or at least, not noticing), but when I do get the issue I’ve not managed to lose it by changing settings slightly or any such trickery- in other words, from what I’ve noticed so far; if I get the issue it seems to want to stay.

Hi, looks like mantaflow dosnt become part of 2.81.
Has someone tried to compile on Linux the last days? I get many faults at 99%. Compiling the master works fine.

Thanks for every information.

Goal of adaptive domain is to adapt resolution of voxel grid to size of volume occupied by smoke.
So, you can have camera close to smoke when simulation start, move it far away from emitter of smoke as it expands to continue to see it globally without quality change and using baking simulation at an heavy simulation.
That is a trick that does not work for every case. If you don’t render with 2 camera and foresee a cut or if camera don’t move ; you should perceive a lost of quality in volume resolution.
Domain expands but amount of volume cells of domain don’t.

So, high resolution (where noise is added) is interpolated from this low resolution domain that is different at each adaptive domain expansion.

It would be great if adaptive domain could adapt itself by increasing amount of cells instead of growing existing ones.
User would define size of a cell, a maximum number of resolution divisions. Then, voxel grid would grow preserving smoke quality until reaching maximum resolution. At that moment, cells of simulation would grow.
But it looks like computations of velocities and locations of smoke at next frame is entirely based on the fact to use a voxel grid with a fixed amount of cells.

I think that in many cases, we don’t have other choice than skipping adaptive domain.

Thanks for that, it makes somewhat more sense now!
Obviously I had no idea of how it worked ‘under the bonnet’, if you’d have asked me I’d have guessed the adaptive domain used a subset of the full size grid (similarly to how you can ‘render region’ and still get a full size frame delivered), but from what you’re saying this is not the case.

So basically adaptive domain is a great feature & timesaver, if it works for the particular sim / shot you’re using it on, if it does not however - give up and don’t use it (like I’ve been doing!)…

Cheers!