CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Brownian Motion (

smpark138 July 21, 2012 16:24

Brownian Motion
Hi all,

I would like to simulate Brownian motion using Fortran subroutine. I used white noise method to generate random number. The program seemed to work well but the problem is that the random number was not generated at every time step. Do you have any idea?

lffabiani July 21, 2012 20:32

I have no clue to what is happening, but maybe you could help! You have to imagine that we (other users of the forum) are not actually beside you, so we know nothing of the problem you are trying to solve.

As a guideline, imagine you are explaining the situation to someone that has never seen your specific problem.

So, post a picture of your domain and the CCL of the setup, maybe someone can help!

Good luck

ghorrocks July 22, 2012 08:27

There have been many posts recently about Brownian motion. I recommend you do a search of the forum. Some comments: 1) If Brownian motion is relevant because it increases diffusion then you are better off modelling diffusion with an increased diffusivity to account for the Brownian motion. 2) If you are using Brownian motion to add a random diffusion to lagrangian particle tracks then you are mis-using the model. The Lagrangian particle track model assumes particles which are far larger than atomic scales, it assumes the particle has a Re number and interacts with the bulk flow through drag (and other forces). For particles smaller than this atomic scale forces are present and these are not included in CFX - the particle tracking model can handle these.

smpark138 July 22, 2012 11:28

Brownian Motion (CFX)
Thanks all,

Actually, I used User Subroutine to generate Brownian force. In addition, other all forces such as drag and gravity forces are removed except for Brownian force.

Amplitudes of the Brownian force components at every time step are then evaluated from

N(t) = G * sqrt(pi*S/dt)

Where G is a random Gaussian distributed number (0-mean, sigma=1), dt is the timestep and etc...

I compiled the subroutine and extracted results. There was particle movement without any error. But, the problem was that particle was not randomly moved unlike my expectation. They were straightly moved until termination. I think random number was not generated every time step.

For reference, I created cubic space for simulation and all surfaces were set to opening boundary condition (0 Pa)s since there is no fluid movement (convection term). Steady state condition was used (Am I right?).

Do you have any idea? I really appreciate any comment or question.

ghorrocks July 22, 2012 18:39

If you have removed the drag forces then how are you going to couple this to the fluid flow?

Rather than pressure boundaries have you considered translational periodic boundaries on all faces? They are nicer numerically, if it is a suitable condition.

smpark138 July 22, 2012 19:23

I really appreciate your answer. I added the drag force but the result was almost the same. Also, term S includes dynamic viscosity of fluid.

By the way, how can I set periodic boundary condition in CFX? Symmetry condition is the same as periodic condition?

ghorrocks July 22, 2012 19:33

What relevance does dynamic viscosity have at the atomic scales relevant for Brownian motion? My understanding is that at atomic scales you really need to consider all materials as little bits jiggling about and interacting with each other. The Navier Stokes equations do not apply, and that means CFX cannot model it.

Periodic boundaries can be defined in CFX as an interface, and select translational periodicity as the model. They are not the same as symmetry boundaries.

nasser January 12, 2013 12:01

hi friends
I have same problem , but I know you can model brownian motion. fluent in this case haven't appropriate model .

All times are GMT -4. The time now is 11:33.