[dune-pdelab] bug/problem in set_trivial_row function routine(dune-pdelab) (2)
Felix Heimann
felix.heimann at iwr.uni-heidelberg.de
Mon Jan 17 17:32:34 CET 2011
Dear Nagaiah,
I was just informed, that a significant Bug-fix concerning ghost
elements was added in revision 795. If you are working with an older
revision, you might want to update.
Best Regards,
Felix
Am Montag, den 17.01.2011, 17:25 +0100 schrieb Felix Heimann:
> Dear Nagaiah,
>
> you are right. The grid operator space is supposed to set the correct
> constraints for the ghost elements automatically. However, to my
> knowledge, the parallel mechanisms were not thoroughly tested for
> multi-component grid function spaces. Therefore, it is quite possible,
> that there are still some bugs in the implementation, resulting in a
> wrong identification of the constrained dofs. However, the
> implementation of set_trivial_row() itself appears to be sound.
>
> By the way, I just found a bug concerning the constraints. It is rather
> specific to instationary applications using a istl vector backend of
> block size > 1, but may be it is of interest to you.
>
> I recommend to set up a simple small example problem and then to
> manually check the constraints container which is passed to
> set_trivial_row(). It should contain the flat indices of the ghost
> elements and the Dirichlet elements. If this is not the case, then
> please file a bug report at
>
> http://users.dune-project.org/projects/dune-pdelab
>
> and please follow the guidelines of bug reporting as given at
>
> http://users.dune-project.org/projects/main-wiki/wiki/Guides_bug_reporting
>
> Best Regards,
> Felix
>
>
> Am Freitag, den 14.01.2011, 23:11 +0100 schrieb Nagaiah Chamakuri:
> > Dear Felix Heimann,
> > Thank you for your response. I am sorry to say that I did not give
> > complete details.
> > you are right. I am referring vector valued solution which can be
> > represented by PowerGridFunctionSpace in PDELab.
> > I know only that we can set physical boundary conditions (Neumann or
> > Dirichlet BC's)
> > using Dune::PDELab::constriants() function. I do not know that we can
> > impose
> > constraints (artificial BC) for ghost elements as well. Also, I am not
> > sure how to set the constraints
> > for ghost elements in this constraints() function.
> >
> > Is it a good idea to set artificial boundary conditions for ghost
> > elements
> > in non overlapping grids case using Dune::PDELab::constraints(..)?
> > I would expect that these atrificial boundary conditions should be
> > automatically taken care by
> > gridoperator function routines. am I stupid here or did not understand
> > parallel pdelab routines properly?
> >
> > Thank you in advance.
> >
> > Best Regards
> > Nagaiah
> >
> >
> >
> > On Fri, Jan 14, 2011 at 4:46 PM, Felix Heimann
> > <felix.heimann at iwr.uni-heidelberg.de> wrote:
> > Dear Nagaiah,
> >
> > I am not sure, what exactly you mean by "more than one
> > solution
> > component". If you refer to e.g. a vector valued solution,
> > then this
> > should be represented by e.g. a PowerGridFunctionSpace. In
> > such a case,
> > the set_trivial_row() function will work correctly as long as
> > the
> > indices in the constraints container are consistent to the
> > indices of
> > the grid function space (this should be guaranteed if you set
> > up the
> > container with the Dune::PDELab::constraints(..) function).
> >
> > However, this functionality is the same for all trivially
> > constrained
> > dofs, independent of whether they result from a ghost cell in
> > a domain
> > decomposed non-overlapping application or a Dirichlet boundary
> > in a
> > standard application. Hence, I do not see the connection to
> > the specific
> > grid i.e. application and may not have grasped your problem.
> > May be you
> > can clarify...
> >
> > Best Regards,
> > Felix Heimann
> >
> >
> >
> > Am Mittwoch, den 12.01.2011, 22:57 +0100 schrieb Nagaiah
> > Chamakuri:
> >
> > > Dear dune-pdelab,
> > >
> > > I have a question about "set_trivial_row" function in
> > > new_gridoperatorspace.hh at line 885 (precisely I am using
> > Jacobian
> > > function routine to construct matrices) and defined in
> > > gridoperatorspaceutilities.hh at line 971.
> > > Mainly I am using non overlapping grid (UG grid) and
> > diagonal elements
> > > of the ghost nodes are set to zero in the global matrix
> > > in case of more than one solution component presents.
> > > This function routine works well in case of one solution
> > component
> > > presents in the problem.
> > >
> > >
> > > right answer should look like as follows (up to my
> > knowledge):
> > >
> > > for j=1 to no.of.comp
> > > B::clear_row(i+j,globalcontainer)
> > >
> > > B::access(globalcontainer,i+j,i+j) = 1,
> > >
> > >
> > >
> > > Is it right? or didn't I understand correctly?
> > >
> > > Thanks & Regards
> > > Nagaiah
> >
> > > _______________________________________________
> > > dune-pdelab mailing list
> > > dune-pdelab at dune-project.org
> > > http://lists.dune-project.org/mailman/listinfo/dune-pdelab
> >
> > --
> > Felix Heimann
> > Universität Heidelberg
> > Interdisziplinäres Zentrum für Wissenschaftliches Rechnen
> > Arbeitsgruppe Paralleles Rechnen
> > IWR 368, Raum 422
> > Tel: 06221 / 54 8881
> >
> >
> > _______________________________________________
> > dune-pdelab mailing list
> > dune-pdelab at dune-project.org
> > http://lists.dune-project.org/mailman/listinfo/dune-pdelab
> >
> >
> >
> > --
> > Dr. Chamakuri Nagaiah
> > Institute of Mathematics and Scientific Computing
> > Heinrichstrasse-36, University of Graz,
> > A-8010, Graz, Austria. Ph(office) : (0043) 316 380 5063
> >
> > _______________________________________________
> > dune-pdelab mailing list
> > dune-pdelab at dune-project.org
> > http://lists.dune-project.org/mailman/listinfo/dune-pdelab
>
--
Felix Heimann
Universität Heidelberg
Interdisziplinäres Zentrum für Wissenschaftliches Rechnen
Arbeitsgruppe Paralleles Rechnen
IWR 368, Raum 422
Tel: 06221 / 54 8881
More information about the dune-pdelab
mailing list