espressomd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ESPResSo-users] pressure boundary condition


From: Wink, Markus
Subject: Re: [ESPResSo-users] pressure boundary condition
Date: Tue, 16 Jun 2015 16:14:07 +0000

Hi everybody,

I have just checked older posts on the mailing-list and found the post of 
Markus and Ulf from the beginning of this year. 
I think it would be interesting to have different boundary conditions like 
pressure/velocity for in- and outlet. Especially having a more complex 
geometry, it is likely that the periodic boundary condition is not sufficient 
to describe the system (Never checked, but can one switch off the PBC in the LB 
scheme?)

Reading once more the User guide, I realized that one can set the 19 
populations of the D3Q19 LB-scheme manually. An idea could be to implement the 
pressure-boundary conditions proposed by Zou and He (for instance) on the TCL 
Level. Nevertheless, I have some concerns about it, and would like to ask you 
about your opinion on that:

1) Is it in principal possible to implement the pressure-boundary condition of 
Zou/He (http://dx.doi.org/10.1063/1.869307) on the TCL level? As far as I know, 
the inlet and outlet conditions are set before the collision step (in a 
collision-streaming algorithm). So would it work to set the distribution 
functions of the boundary nodes (inlet/outlet) before the integrate step? Of 
course one must turn off the PBC then. If not, I guess one has to implement it 
on the C-Level.

2) Assuming this boundary condition is in principal working, I am not sure, if 
it really helps to simulate "real" systems (with real I mean for instance 
systems in microfluidics). As far as I know, the pressure boundary condition is 
only valid for a pressure gradient over the channel which is very small. This 
is probably not the case in most "realistic" setups. Any comments on that?

3) Another idea that came up to my mind is to give a certain velocity profile 
to the inlet nodes and letting the flow profile develop and repeatedly feed the 
inlet with new particles (in every integration step). At the outlet, one has to 
delete the particles leaving the simulation box. I guess this approach is very 
poor when it comes to computation time. Nevertheless, would that approach work 
in principal?

Those are some ideas I had and I would be very grateful if one of you could 
comment on that. 

Greetings

Markus

P.S.: Concerning the question of Markus (maybe outdated already, if so, I am 
really sorry): 
> Another important point would be the definition of more complex 
> boundary shapes. Is it possible to set single lattice nodes as 
> boundaries? We would like to use voxel data to set the boundary nodes. 
> Again, where would be the best starting point for the implementation?

Concerning the user guide, the command "boundary" in the LB implementation does 
not support "set". So I guess it is not possible (I remember asking a similar 
question Georg at the last Espresso-summerschool. He told me, that for every 
new geometry you have to define a distance function for the geometry in the 
file constraint.cpp. This distance vector is not normalized and is the vector 
from the surface to the particle. The geometry has to be furthermore added to 
interaction_data.hpp. I am not sure, if I remember everything correctly or if I 
forgot something.)


-----Ursprüngliche Nachricht-----
Von: address@hidden [mailto:address@hidden Im Auftrag von Ulf Schiller
Gesendet: Montag, 12. Januar 2015 11:46
An: address@hidden
Betreff: Re: [ESPResSo-users] pressure boundary condition

Hi Markus,

have a look at the functions lb_outlet_x and lb_inlet_x in my gist code:
https://gist.github.com/uschille/8f65dd40572b2d943409

They implement pressure boundary conditions for in/outlets in the x-direction. 
They can be easily modified for the other cartesian directions. For inclined 
in/outlets it's a bit more complicated though.
The basic idea is to solve an equation system for the unkown populations that 
satisfies the conservation laws plus appropriate conditions for the 
non-equilibrium parts. For the latter, I don't think there is a universal rule 
so it will depend on the specific application what works best.

Best wishes,
Ulf

On 12/01/15 10:39, Markus Gusenbauer wrote:
> Dear users and developers,
> 
> we would like to implement pressure boundary conditions in order to 
> simulate Poiseuille flow. The example poiseuille.tcl is quite limited 
> as we would like to have more complex flow geometries with different 
> in-/outflow directions.
> 
> What would be the best starting point to implement the boundary 
> condition? Is there any appropriate literature that would fit for 
> ESPResSo? Maybe someone has already started writing the code? Any 
> experiences, ideas or suggestions?
> 
> Another important point would be the definition of more complex 
> boundary shapes. Is it possible to set single lattice nodes as 
> boundaries? We would like to use voxel data to set the boundary nodes. 
> Again, where would be the best starting point for the implementation?
> 
> Any help would be appreciated!
> 
> Thanks,
> Markus
> 


--
Dr Ulf D Schiller
Centre for Computational Science
University College London
20 Gordon Street
London WC1H 0AJ
United Kingdom

Phone: +44 (0)20 7679 5300


reply via email to

[Prev in Thread] Current Thread [Next in Thread]