Re: [deal.II] Re: Applying boundary values in parll::distr:triang setting for two dof_handler Sparsematrux

2019-04-01 Thread Daniel Arndt
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

2019-04-01 Thread Bruno Blais
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

2019-04-01 Thread Wolfgang Bangerth
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

2019-04-01 Thread gabriel . peters


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

2019-04-01 Thread Ina
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

2019-04-01 Thread 'Uwe Köcher' via deal . II User Group

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

2019-04-01 Thread 'Uwe Köcher' via deal . II User Group
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.