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