Re: [deal.II] Re: Applying boundary values in parll::distr:triang setting for two dof_handler Sparsematrux
Alex, Hey I just added my changes to a github branch ( > https://github.com/gabpeters/dealii/tree/sparsity ) > I changed the make_sparsity_pattern(dof_row,dor_col,sparsity) function and > also changed the header in the > dof_tools.h file and the signature in the dof_tools_sparsity.inst.in file. > But still I get the following error, when I compile my code: > > undefined reference to `void > dealii::DoFTools::make_sparsity_pattern, > > dealii::DynamicSparsityPattern>(dealii::DoFHandler<3, 3> const&, > dealii::DoFHandler<3, 3> > const&, > dealii::DynamicSparsityPattern&, dealii::ConstraintMatrix const&, bool)' > > Did I still forget to change any reference? > Looking at the GitHub branch it seems that you copied a lot of files from an older deal.II version (you probably modified) to a recent developer version. That is not going to work. It's best if you make modifications on top off the master branch. Otherwise, it is also fine to make the modifications to an older release. We can certainly sort out how to convert such a patch to one to the recent master. Best, Daniel -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Controllins fill-in, abs. tol and rel. tol or smoother and coarse solver of TrilinosWrappers::PreconditionAMG
Dear Jean-Paul, I've compiled the new DEALII version with your changes, but I am unsure of how to use the changes correctly. If I understand correctly, you can now set Teuchos parameters after you have initialized the TrilinosWrappers::PreconditionAMG. This is achieved by creating a Teuchos::ParameterList object and using it in the set_parameters public function of the Preconditioner::AdditionalParameters. So for instance in my case it would be something like: // Still need to figure out the syntax for the additional_parameters Teuchos::ParameterListadditional_parameter("smoother: params"); And then I would set the parameters in the preconditioner additional parameters I have two things i am unsure: 1) For the set the additional parameters I need a std::unique_ptr _constant_modes . I presume this vector is created in the initialization from the std::vector of constant boolean modes? Is there a way to grab it again and reuse it? I do not understand why I need to specify the constant modes for every change of parameters. 2) Is there any documentation on the various parameter list. What I would like to change is the atol of the ILU smoother and ILU preconditions. I think this will be in the smoother: params, but I am unsure how to proceed from there. I have found the MULUE documentation, but it seems to be more tailored around their XML interface? Thank you so much, Bruno On Tuesday, 12 March 2019 05:06:03 UTC-4, Jean-Paul Pelteret wrote: > > Dear Bruno, > > I believe that my proposed changes are working now, so you could always > pull that branch from my repository and use it immediately. That might be > the most convenient way for you to move forward. > > Thanks for being willing to share your findings wrt. AMG parameters. I > think that would be really useful. I also think that encapsulating a > parameter study for NS + AMG/GMG within a tutorial could be interesting and > valuable. Maybe you could open up an issue on the GitHub repository and we > could all discuss the specifics there. > > Best, > Jean-Paul > > On 11 Mar 2019, at 14:25, Bruno Blais > > wrote: > > Dear Jean-Paul and Wolfgang, > Is it better if I try to go with the Teuchos way or should I wait until > Jean-Paul finishes the merge on his branch ? I think the latter might be a > good option. > In all cases, I would be more than glad to share my experience in > parameters tuning for the AMG solver with ILU type of smoother and coarse > solve. > > On a slightly related note. Hopefully I will have finished the basis of my > GLS stabilized navier-stokes solver by June or so. It already works pretty > well in parallel with GMRES + ILU, but I want to test more what can be done > in terms of multigrid and AMG. > In a way, it is very reminescent of a similar work done in MOOSE, but > using Trilinos, P4est and deal.II. The MOOSE paper is here: > https://www.sciencedirect.com/science/article/pii/S0965997817310591 > > I am more than willing to share everything about the solver. Do you > believe this could be something that could make an interesting Tutorial? I > could wrap-it around the study of the flow around a cylinder or a backward > facing step to have some validation. Verification would be done using MMS. > Best > Bruno > > -- > The deal.II project is located at http://www.dealii.org/ > For mailing list/forum options, see > https://groups.google.com/d/forum/dealii?hl=en > --- > You received this message because you are subscribed to the Google Groups > "deal.II User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to dea...@googlegroups.com . > For more options, visit https://groups.google.com/d/optout. > > > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Re: Applying boundary values in parll::distr:triang setting for two dof_handler Sparsematrux
On 4/1/19 7:05 AM, gabriel.pet...@koeln.de wrote: > > Hey I just added my changes to a github branch ( > https://github.com/gabpeters/dealii/tree/sparsity ) > I changed the make_sparsity_pattern(dof_row,dor_col,sparsity) function > and also changed the header in the > dof_tools.h file and the signature in the dof_tools_sparsity.inst.in file. > But still I get the following error, when I compile my code: > > undefined reference to `void > dealii::DoFTools::make_sparsity_pattern, > dealii::DynamicSparsityPattern>(dealii::DoFHandler<3, 3> const&, > dealii::DoFHandler<3, 3> > const&, dealii::DynamicSparsityPattern&, dealii::ConstraintMatrix > const&, bool)' > > Did I still forget to change any reference? You probably forgot to add an explicit instantiation for your function. Take a look at the section on "Instantiation of template functions/classes" here: https://dealii.org/developer/doxygen/deal.II/CodingConventions.html Best W. -- Wolfgang Bangerth email: bange...@colostate.edu www: http://www.math.colostate.edu/~bangerth/ -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Re: Applying boundary values in parll::distr:triang setting for two dof_handler Sparsematrux
Am Donnerstag, 28. März 2019 21:37:19 UTC+1 schrieb Daniel Arndt: > > Gabriel, > > At first I extended the make_sparsity_pattern function to >> >> void DoFTools::make_sparsity_pattern ( const DoFHandlerType & dof_row, >>const >> DoFHandlerType & dof_col, >> >> SparsityPatternType & sparsity, >>const >> ConstraintMatrix, >>const >> bool keep_constrained_dofs) >> >> and also changed the dof_tools.h file in deal.II\source\dofs and changed >> the adding function; >> but when I compiled this I got lots of errors of this kind: >> error:* template-id* >> ‘make_sparsity_pattern, >> dealii::BlockDynamicSparsityPattern>’ for ‘void >> dealii::DoFTools::make_sparsity_pattern(const dealii::hp::DoFHandler<1, >> 3>&, const dealii::hp::DoFHandler<1, 3>&, >> dealii::BlockDynamicSparsityPattern&)’ *does not match any template >> declaration* >> >> > This looks like you were not adapting the signature in the function's > definition in source/dofs/dof_tools_constraints.h. It still only has three > instead of five parameters. > > >> My second attempt was to make a new function, with a different name, >> which takes the same arguments as above and does exactly was the classical >> make_sp_pt(row_id,col_id,sparsity) function does, up to the >> constraints.add... function. >> I also added the header of these function to the dof_tools.h file. >> This compiled fine, but when I used this function in my program I got the >> error: >> undefined reference to: (function parameters). >> > > This looks like you didn't provide a definition but only a declaration. > > Do you have your changes in a GitHub branch such that we can have a look > what you did precisely? > Hey I just added my changes to a github branch ( https://github.com/gabpeters/dealii/tree/sparsity ) I changed the make_sparsity_pattern(dof_row,dor_col,sparsity) function and also changed the header in the dof_tools.h file and the signature in the dof_tools_sparsity.inst.in file. But still I get the following error, when I compile my code: undefined reference to `void dealii::DoFTools::make_sparsity_pattern, dealii::DynamicSparsityPattern>(dealii::DoFHandler<3, 3> const&, dealii::DoFHandler<3, 3> const&, dealii::DynamicSparsityPattern&, dealii::ConstraintMatrix const&, bool)' Did I still forget to change any reference? Best Gabriel PS, you can ignore the make*s*_sparsity_pattern(...) function which I added to dof_tools_sparsity.cc > > Best, > Daniel > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Re: Function transfer from coarse to fine grid
Bruno, thanks a lot for the clarification. Now that I read the docu again, it also seems clear to me that one has to construct the matrix oneself. The transfer representation contains the information on how to map a coarse grid dof to the fine grid. This can be transformed to a matrix of size (dof_handler_fine.n_dofs(), dof_handler_coarse.n_dofs()). Directly applying this matrix to a vector leaves a lot of zero entries (i.e. those vector entries that don't have a dof correspondence on the coarse grid). See the attached image. So we still need to interpolate between the coarse values in the fine space. The only interpolation function that I found that uses a transformation matrix was this one https://dealii.org/8.5.0/doxygen/deal.II/namespaceVectorTools.html#a5e3af70a47cedfaf361cf5c621e94e3d. When looking into the implementation of this function, the interpolation function expects a FullMatrix of size (dof_handler_fine.get_fe().dofs_per_cell, dof_handler_coarse.get_fe().dofs_per_cell), so it has to map the cell data of individual cells to each other. I don't think that the transfer representation matrix can provide this information. Do you know how to create the matrix needed by the interpolate function using the data of the transfer representation? If not, is there another way to interpolate using a transfer matrix? Thanks a lot for your help. Best, Ina -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Candi installation fail
On Friday, 29 March 2019 20:10:27 UTC+1, Giorgos Kourakos wrote: > > I was able to pass that point. By the way, I specified in the > candi.cfg file the following STABLE_BUILD=false to force candi to download > the master. > you could try not to build all packages in their development version, by setting only the deal.ii version (some lines above STABLE_BUILD) to `master' -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Candi installation fail
On Sunday, 31 March 2019 18:54:22 UTC+2, 杨荣伟 wrote: > > Dear Mr.Kourakos, > Thanks a lot for your kindly response. Could you please show me how > to set up the cmake configuration? I am curious that is Mac 10.14 > compatible with deal 9.0.0? > just checking that and patch candi if anything went well. So far you can try to use "highsierra.platform" or add 10.14 in the same way as 10.13 in candi.sh -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.