[Dune] Gmsh reader crashes when using the grid factory read for ALUSimpleGRid<3, 3> with boundary id

Oliver Sander sander at mi.fu-berlin.de
Wed Oct 14 12:20:38 CEST 2009


Hi Andreas!
Peter, Christian, Benedikt and I put forth a proposal on how boundary 
ids should be
handled by the GridFactory.  It is described in the grid howto, even 
though we are
fully aware that it is not yet part of the interface and needs a formal 
vote first.
UG implements that proposal.

--
Oliver

Andreas Dedner schrieb:
> There are two method for doing something at the boundaries:
> 1) the one in the interface with the default implementation;
>     this method is used in UG and does not have the possibility to
>     set boundary ids as far as I know
> 2) the method
>      virtual void
>      insertBoundary ( const GeometryType &geometry,
>                       const std::vector< unsigned int > &faceVertices,
>                       const int id );
>     used in the ALU factory which supports boundary ids.
>
> So the ALUGridFactory has the method you need - I did a search for this
> in the gmeshreader and could not find anything. So prehaps Peter can
> comment on how IDs can be handled through the gmsh reader?
> Andreas
>
> Oswald Benedikt wrote:
>   
>> Hi Again, thanks for the feeback!
>>
>> Yes, we definitely need boundary id's, since boundary conditions in electromagnetics are very critical
>> (as they certainly are in other fields of physics as well) and may vary over the boundary considerably.
>>
>> For example, we will very soon have a postdoc here who will even need fictitious boundaries, i.e. internal boundaries
>> that are used for evaluating electric and magnetic currents that are then used for evaluating Green's
>> functions on the real boundary, the subject is discontinuous Galerkin methods combined with
>> boundary integrals in order to achieve an accurate absorbing boundary conditions that can be
>> placed very close to radiating structures, the application is in nano-optics.
>>
>> I do not know how to do this in DUNE at the moment, but I think other fields may need this as well.
>>
>> BUT, at the moment, boundary id's on the outside boundary would already be very useful.
>>
>> As far as I can see from the gmshreader docu, it does support boundary id's.
>> Peter Implented them in July or so.
>>
>> Therefore, if you could reconsider implementing them, this would be appreciated very much!
>>
>> Have a great day, Benedikt
>>
>>
>> ------------------------------------------------------------------------------------------------------------------
>> Benedikt Oswald, Dr. sc. techn., dipl. El. Ing. ETH, www.psi.ch, Computational Accelerator Scientist
>> Paul Scherrer  Institute (PSI), CH-5232 Villigen, Suisse, benedikt.oswald at psi.ch, +41(0)56 310 32 12
>> "Passion is required for any great work, and for the Revolution passion and audacity are required in big doses.", 
>> Ernesto 'Che' Guevara, Letter to his parents.
>> http://maxwell.psi.ch/amaswiki/index.php/User:BenediktOswald 
>> ------------------------------------------------------------------------------------------------------------------
>>
>>
>>
>>
>> -----Original Message-----
>> From: Andreas Dedner [mailto:dedner at mathematik.uni-freiburg.de]
>> Sent: Wed 14.10.2009 11:42
>> To: Oswald Benedikt
>> Cc: dune at dune-project.org
>> Subject: Re: [Dune] Gmsh reader crashes when using the grid factory read for ALUSimpleGRid<3, 3> with boundary id
>>  
>> Hi,
>>
>> I agree that gmsh support for ALU would be nice - but it is not so much 
>> an ALU problem as a gmsh reader problem IMO.
>> Thus I would say that the flyspray task was not critical bug in ALU but 
>> more a feature request for the gmsh reader :-) But since the boundary
>> insertion method are not standard this might be difficult to add
>> to the gmsh reader at the moment.
>>
>> The problem with the misleading documentation is in
>> fact that the method is available on the interface class with a default
>> implementation (a DUNE_THROW). The method is then not overloaded in
>> the alugrid factory and thus not only inherits the method but also
>> its documentation. As I already said, the interface methods for 
>> inserting boundaries has not been fixed yet.
>>
>> Do you actually need boundary ids? If so I think the gmsh reader does
>> not support these (as far as I know).
>>
>> Best Andreas
>>
>>
>> Oswald Benedikt wrote:
>>     
>>> Hi ALU Developers, I am mildly suprised about your comments.
>>>
>>> Wouldn't it be good to provide different methods for mesh input into ALUGrid quite soon,
>>> particularly when there is a need from users ?
>>>
>>> This is not about deprecating DGF, by the way, be assured!
>>>
>>> I might add that, here, we use probably dozens of grids that we created in GMSH
>>> and then, with some effort, convert into the DGF format, which we still plan rto use intensively.
>>>
>>> Anyway, the documentation of Dune::GridFactory< ALUSimplexGrid< 3, 3 > > Class Template Reference
>>> (http://www.dune-project.org/doc/doxygen/dune-grid-html/classDune_1_1GridFactory_3_01ALUSimplexGrid_3_013_00_013_01_4_01_4.html#_details)
>>> says that the method virtual void
>>>
>>> "insertBoundarySegment (const std::vector< unsigned int > vertices, const BoundarySegment< dimension, dimworld > *boundarySegment)
>>>  	Method to insert an arbitrarily shaped boundary segment into a coarse grid. "
>>>
>>> is here. 
>>>
>>> That is the source of my quite convinced feeling that it should be available.
>>>
>>>
>>> More, or even most, importantly, reading large meshes from the DGF format, may not be ultra-fast after all.
>>>
>>> When I say large, I mean 10^5 or more tetrahedral elements. This is the size of the meshes that we have to cope
>>> with here when running electromagnetic simulations and I think for ALUGrid to be relevant in the future
>>> it must address users's needs.
>>>
>>> After all, I have always believed that DUNE and its external libraries are
>>> a great achievement, meant to be capable of solving today's and tomorrow's large problems.
>>>
>>>
>>> Have a great day! Benedikt
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>       
>>>> S#624 - [Dune] Gmsh reader crashes when using the grid factory read for ALUSimpleGRid<3, 3> with boundary id
>>>> User who did this - Robert Klöfkorn (robertk)
>>>> ----------
>>>> This feature is not supported yet. I don't know you got the feeling that it is implemented. There will be an anouncement on the mailing list when the gmsh boundary ids are supported. Until then: DON'T USE IT !!! 
>>>>         
>>>
>>> ------------------------------------------------------------------------------------------------------------------
>>> Benedikt Oswald, Dr. sc. techn., dipl. El. Ing. ETH, www.psi.ch, Computational Accelerator Scientist
>>> Paul Scherrer  Institute (PSI), CH-5232 Villigen, Suisse, benedikt.oswald at psi.ch, +41(0)56 310 32 12
>>> "Passion is required for any great work, and for the Revolution passion and audacity are required in big doses.", 
>>> Ernesto 'Che' Guevara, Letter to his parents.
>>> http://maxwell.psi.ch/amaswiki/index.php/User:BenediktOswald 
>>> ------------------------------------------------------------------------------------------------------------------
>>>
>>>
>>>
>>> _______________________________________________
>>> Dune mailing list
>>> Dune at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune
>>>       
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>   


-- 
************************************************************************
* Oliver Sander                ** email: sander at mi.fu-berlin.de        *
* Freie Universität Berlin     ** phone: + 49 (30) 838 75348           *
* Institut für Mathematik      ** URL  : page.mi.fu-berlin.de/~sander  *
* Arnimallee 6                 ** -------------------------------------*
* 14195 Berlin, Germany        ** Member of MATHEON (www.matheon.de)   *
************************************************************************





More information about the Dune mailing list