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    &constraints,
>>                                                            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::hp::DoFHandler<1, 3>, 
>> 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::DoFHandler<3, 3>,
                                          
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to