espressomd-users
[Top][All Lists]
Advanced

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

Re: [ESPResSo-users] LB Boundary


From: Vincent Ustach
Subject: Re: [ESPResSo-users] LB Boundary
Date: Tue, 13 Aug 2013 18:33:38 -0700

Georg,

I have created a sample boundary using

lbboundary wall dist 50 normal 1. 0. 0.

and printed the boundary to a file using

lbfluid print vtk boundary <filename>

using ParaView-3.98.1-Linux-64bit and selecting open with either VTK particle files or legacy VTK, there is only a blank viewfield with the x y and z origin mark.

Can you help with determining the proper way to visualize the boundary?

Best,

Vincent



--Vincent Ustach
  University of California, Davis


On Thu, Jul 18, 2013 at 2:30 PM, Georg Rempfer <address@hidden> wrote:

It actually only consists of two individual lbboundaries - one pore and one cylinder.

The hundreds of boundaries, we only did as a proof of concept for a significantly more complex geometry. Joost de Graaf ultimately decided to make it into a dedicated lbboundary just like the rest of them (it's called stomatocyte).

Am 18.07.2013 21:21 schrieb "Vincent Ustach" <address@hidden>:

Interesting, so that is two "pores" and how did you make the flat surface with the hole in the middle? Is this the "hundreds of boundaries" you referred to in your first email?

--Vincent Ustach
  University of California, Davis


On Thu, Jul 18, 2013 at 5:58 AM, Georg Rempfer <address@hidden> wrote:
Hello Vincent,

this is a visualization of the actual boundary grid from espresso,
created with paraview. I implemented a few commands to output vtk
files in espresso. If I remember correctly, those are

lbfluid print vtk boundary <filename>
lbfluid print vtk velocity <filename>
writevtk filename <particletype>

They are part of the User's guide as well.

Greetings,
Georg

2013/7/18 Vincent Ustach <address@hidden>:
> Georg,
>
> I will try it. Is that a drawing of your boundaries made separately or is it
> a visualization of the actual boundaries from your simulation? Can you make
> that image in ParaView using the vtk file format?
>
> Thanks,
>
> Vincent
>
> On Jul 18, 2013 12:39 AM, "Georg Rempfer" <address@hidden>
> wrote:
>>
>> 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
>>
>> 2013/7/18 Vincent Ustach <address@hidden>:
>> > 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
>> > <address@hidden> wrote:
>> >>
>> >> 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
>> >> >>> follow the
>> >> >>> 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
>> >>
>> >



reply via email to

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