espressomd-users
[Top][All Lists]

Re: [ESPResSo-users] LB Boundary

 From: Georg Rempfer Subject: Re: [ESPResSo-users] LB Boundary Date: Thu, 18 Jul 2013 09:39:16 +0200

Hello Vincent,

you are right, all lbboundaries are inherently 3D objects. That is
because LB is a regular grid based algorithm and the bounce-back
boundary conditions we use only allow a node to be boundary or not.
However, a rhomboid with thickness 1 in one of the directions is a
valid lbboundary. I don't see why that would be a problem in you case,
though. I am doing a similar thing right now, as you can see in the
attachment.

Greetings,
Georg

> Georg,
>
> Thanks for your advice. I realize now that rhomboid will not work because of
> the structure I want to make. Do attachments work on this listserve? See
> attached for the picture of walls made of particles. The membrane is the
> squares with the square pyramid cut out. The pore is the pyramidal cut out
> shape. The square in the bottom of the figure is to prevent particles from
> going from source to sink through the periodic boundary.
>
> I was thinking the rhomboid shape is a 2-D four sided shape, not a 3-D
> shape. Fundamentally I misunderstood the idea that a node must be inside or
> outside the boundary and all the lbboundaries are 3-D.
>
> Stefan,
>
> Thanks for your continued help. I will look for this command that will help
> apply the particle geometry to lbnode boundaries. According to the UG "set"
> is not supported with lbnode.
>
> the code
> lbnode 15 15 15 set boundary 1
>
> gives the error
> unknown feature "boundary" of lbnode x y z set
>     while executing
> "lbnode 15 15 15 set boundary 1 "
>
> Otherwise I am going to start work on the developer's side to allow
> individual boundary nodes to be set.
>
> Cheers,
>
> Vincent
>
> --Vincent Ustach
>   University of California, Davis
>
>
> On Wed, Jul 17, 2013 at 12:53 AM, Stefan Kesselheim
>>
>> Hi Vincent, hi Georg, hi Mailing list,
>> one little remark. Vincent, you have made your geometry with particles
>> already? Then it should be possible to just mark all lbnodes "inside" as
>> wall nodes. There should be command similar to lbnode set boundary…
>> The lbboundaries do nothing but evaluating for every boundary which node
>> is inside and which one is not.
>> One thing however comes to my mind: We collect the forces on every lb
>> boundary in every step. The forces acting on nodes which are set
>> independently of lbboundaries probably accidentally are collected in
>> lbboundary 0.
>> This is of course undesired, but I did not think about that when
>> implementing it. Not having lbboundary 0 might lead to crashes.
>> It might make sense to define an "nonexistent" lbboundary (e.g. a sphere
>> at coordinates much larger than the box_l) as lbboundary 0. This is a
>> workaround, and I hope I can clean that up soon.
>> Cheers
>> Stefan
>>
>>
>> On Jul 17, 2013, at 9:22 AM, Georg Rempfer <address@hidden>
>> wrote:
>>
>> > Hello Vincent,
>> >
>> > another hint: the lbfluid grid's origin is located at (agrid/2,
>> > agrid/2, agrid/2). So to create a cubic boundary that contains the
>> > lbnode at (x+agrid/2, y+agrid/2, z+agrid/2) use pos = (x, y, z) and a
>> > = (agrid, 0 , 0), b = (0, agrid, 0), and c = (0, 0, agrid), where x,
>> > y, and z are integers ranging from 0 to box_l - 1 (in the respective
>> > direction).
>> >
>> > Greetings,
>> > Georg
>> >
>> > 2013/7/17 Georg Rempfer <address@hidden>:
>> >> Hello Vincent,
>> >>
>> >> the pos argument is used to define any of the corners and the
>> >> arguments a, b, and c are meant to define three edges adjacent to the
>> >> corner given by pos. You can imagine this as a tripod consisting of
>> >> three vectors (a,b, and c) originating at pos. In other terms, pos
>> >> gives the coordinates of one of the corners and a, b, and c give the
>> >> difference vectors of three neighboring corners and pos.
>> >>
>> >> I remember we recently used lbboundaries in that fashion to do a
>> >> similar thing. A minor problem that occurred was that with the
>> >> creation of every individual boundary, the whole boundary grid got
>> >> reinitialized, which made the initialization very slow when we used
>> >> hundreds of boundaries. I am not sure that this is going to happen for
>> >> you as well, as it might have been caused by code not present in the
>> >> current master / release versions. If it does happen, please just
>> >> notify us using this mailing list. This should be easy to fix.
>> >>
>> >> Greetings,
>> >> Georg
>> >>
>> >> 2013/7/17 Vincent Ustach <address@hidden>:
>> >>> Hello all,
>> >>>
>> >>> I have a complex geometry made of walls of particles with LJ and
>> >>> coulomb
>> >>> potentials to simulate roughness and charge, respectively.
>> >>>
>> >>> These simulate a thin membrane with a pore. The pore shape is square
>> >>> pyramidal.
>> >>>
>> >>> I also need hydrodynamic boundaries and I believe some of these can be
>> >>> modeled using several "lbboundary rhomboid" constraints that will
>> >>> shape of the walls of particles. If not, I will look into augmenting
>> >>> the C
>> >>> code to allow for flagging of individual boundaries.
>> >>>
>> >>> My question is regarding the shape args of the lbboundary rhomboid. If
>> >>> "pos
>> >>> [3]" is the coordinates of one corner, are a and b and c the other
>> >>> three
>> >>> corners?
>> >>>
>> >>> Thanks,
>> >>>
>> >>> --Vincent Ustach
>>
>

lbboundary.png
Description: PNG image