# Algorithm order

Hello!

I was wandering if there is an algorithm that suits well for a lot of different applications. Let me explain myself.
I was first, in order to train, modelling simple channel flows using the operations in the following order for each iteration :
streaming,
boundary conditions (wall speed, cyclic, Zou/He, bounce-back, free slip…) and no slip on solids,
equilibrium calculation and collision/relaxation,
then macroscopic variable diagnose,
as it sounded the more “intuitive” for me. So I began designing a little general code for my research, where I can change the body of each function : streaming, boundary conditions, collision etc.

It worked well, then I picked up a code on internet for a von karman street past a cylinder, and the algorithm looked like :
outlet microscopic no flow condition
macro variable derivation
macroscopic inlet boundary condition
equilibrium calculation
microscopic inlet boundary condition
collision
no-slip on solid
streaming with periodic conditions in x and y

and I couldn’t (maybe I have not tried hard enough yet) manage to have it working for my designed “algorithm order”.
Other codes also were different, sometimes applying the forcing directly on the macroscopic variable (wich works fine).
So, altough I admit there is not a magical or unique way to do, but do you think it is a reasonable/feasable way to stick to a given main function composed of the steps I gave above, changing each function body for appropriate case?

Sincerely,

François