Am Mittwoch, 27. März 2019 13:58:47 UTC+1 schrieb Daniel Arndt: > > Gabriel, > > Am Mittwoch, 27. März 2019 06:16:18 UTC-4 schrieb Gabriel Peters: >> >> Hey, I just worked through the make_sparsity_pattern code. >> I think I know how to fix the mentioned problem. But I dont understand the >> how to use the "bool_dof_mask" in the correct way. It is used in he >> constraints.add_entries_local_to_global(...) >> function. >> In the make_sparsity_pattern function with a single dof_handler and a >> constraintmatrix, it is constructed by a fe_collection. >> But I don't see how to construct the bool_dof_mask with 2 dof_handlers >> and respectively 2 fe_collections. >> Do you have a clue? >> > > "bool_dof_mask" is only used in case the make_*_pattern has a `const > Table<2, Coupling> & couplings` parameter. That is currently not the case > for the function you are looking at. > For being backward-compatible we need to provide/keep the > > void DoFTools::make_sparsity_pattern ( const DoFHandlerType & dof_row, > const > DoFHandlerType & dof_col, > > SparsityPatternType & sparsity ) > > interface anyway, it is fine to add defaulted parameters at the end, but > adding `const Table<2, Coupling> & couplings` as third parameter would > not. > For now, I would simply assume that all components couple and ignore the > last argument for add_entries_local_to_global. We can always create another > overload later if specifying the coupling is desired/necessary. > > Best, > Daniel >
Hey, its me again. Today I had various tries fixing the upper problem. 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* 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). Could you maybe tel me what I did wrong, or did I do an fundamental error at editting the deal.ii code? Thanks a lot again and sorry for the long message Gabriel -- 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.