Today we'll work with the most difficult and the toughest out of all physics simulators to work with,
the fluid simulator The fluid simulator has far too many options,
so it would be more efficient to explain just the basics and find out what the functions do
by working with real examples So let's discuss the basics and get right into examples Cloth simulator we've talked about right before can be thought as coming from Soft Body but this Fluid simulator started from a Particle simulator For your understanding, I'll do some basic settings Fluid Simulator Fluid Simulator So you know now where it is Right here, this is where the Fluid simulator is Once you click it, you don't see many options other than Type For a Fluid simulator, you need a Domain as it's supposed to work within this Domain And Flow that's next works like the Emitter or Producer that we used when we were working with a Particle simulator And then there was Collision but for Fluid, those that work like Collision
are built within the Effector For a Fluid simulation Domain and Flow are the two most important things We'll make it Domain And then it changes into wireframe like this and at the corner there's another small cube What this does is to show the Voxel made
within the simulator visually within the simulator visually,
the smallest unit Now then, Domain Type is Gas now This is for simulating gas and Liquid is for liquid And then there's this Resolution Divisions which as the value goes up, the resolution goes up so the space taken by Voxel or particle gets reduced therefore you get a more detailed expression And then Time Scale is a sort of fast forward function or slowing down Then there's CFL Number which is Courant–Friedrichs–Lewy condition it's from Fluid Mechanics.
Fluid can be described as waves like this but what expresses this wave is the particle These particles move to express the waves They move like this, but they don't move for no reason they move like this because of a certain force And these particles can be measured
within this 3-dimensional space in a grid format like this How CFL Number comes out is by multiplying
the maximum speed of this particle by the amount of time taken by 1 frame Then you'll get how much it would move
per frame at this speed As it's speed multiplied by time And you divide it by the distance between the grid It's a 3-dimensional space,
so you'll calculate with x, y and z axes So then, at the maximum speed of a given particle,
frame by frame how much distance would it move
within the time taken per frame If it moved this much, you divide this distance by x-axis of grid In this case, it would be 3 This is Courant Number And we can then think next If the unit time is reduced with all other conditions being the same if the time unit used for calculation was reduced,
what would happen? For example, the default CFL Number is 4 For it to be 4 if the basic length of the grid is 4, then (particle) should be 16 For 16, the original maximum speed was 4 and the time took was 4 Think of it like this Then 4*4=16, and then 16/4 so C number becomes 4 but if this unit time was reduced into 1 If every other value is the same but the unit time was reduced into 1 what happens is that the maximum speed would increase With CFL Number staying the same if the unit frame time was reduced the maximum speed of particle goes up Let's test it out To make the particle size more visible it was default size right? We'll make a Domain with 2m Cube And make another cube and make it Fluid, and we need an object
that can work as an Emitter Which would be Flow Make it Flow and we'll call it Liquid instead of Smoke Likewise, Domain is Gas right now, change it to Liquid Once changed, Domain becomes solid like this Go to Object Properties and within Viewport Display,
we'll make it WireView And choose Flow object It says Geometry, change it to Inflow Now, if it says Geometry it creates the particles as much as
the volume of the object we made and with Inflow you get particles like water from the tap If nothing happens even if you run it this Domain's Resolution Divisions if you fiddle with it it'll work Just change the resolution If you run it now it drops like this So it's like that but if you look at the wave, the water moves rather gently Now the CFL Number is 4 What would happen if you reduced it to 1 x or y, and time multiplied by speed but if the speed and time remained the same, for this to be 1 you need to increase the distance between grid So if it was 16/4 and CFL Number was 4, but change it to 1 For 16 to remain the same then this distance needs to be increased to make it 1 If you lower CFL Number to 1
and run the simulation How is it The water moves more violently compared to before So now the CFL Number is 1, but Timesteps is 4 It means it calculates 4 times per frame so what Timesteps Maximum is 4 means is that it's 1/4 time If by 16/16 it became 1 what would happen if you increased Timesteps Maximum from 1/4 to 1? Then the maximum speed would be reduced Let's try it Lowering Timesteps Maximum to 1 Then the water becomes gentle again This Timesteps is how many times
it goes through simulation per frame so if you've got an error in your simulation result increase the value of Timesteps and
you'll be able to calculate more accurately But it doesn't end there It also affects the movement of the particle itself It's not a field I know well, but in Fluid Mechanics they say CFL Number should be smaller than 1 because if CFL Number was 4 then each time the unit time increases by a step,
you go through 4 steps of the grid so within this single grid, you can't calculate exactly
to which direction the particle would take force and move so they say CFL Number should be less than 1 But the reason Blender gives CFL's default value as 4 is because you have Timesteps set as 4, so you get 1/4 the time so then it calculates 1/4 time at maximum speed (resulting in) calculating the distance of a single grid so I think that's why they set it as 4 and 4 In conclusion, we need to adjust these values for our purposes