Dear John, > Assuming that I want to continue to use > constraints.distribute_local_to_global, how do I treat the assembly > terms ui_ve_matrix, ue_vi_matrix i.e. those that contain integrals > involving cell and neighbor? The two cells may not have the same number > of degrees of freedom, so the matrices may not be square, so I tried to use > void ConstraintMatrix::distribute_local_to_global ( const > FullMatrix< double > & local_matrix, > const std::vector< unsigned int > & row_indices, > const std::vector< unsigned int > & col_indices, > MatrixType & global_matrix > ) const > but the local_dof_indices and neighbor_dof_indices are not the correct > variables to pass - how do I get row_indices and col_indices from the > dof_indices?
What do you mean by "not the correct variables to pass"? To me your assembly routines seems correct. Your matrix ui_ve_matrix has local_dof_indices.size() rows and neighbor_dof_indices.size() columns, which is exactly the dimension the distribute_local_to_global function expects. So I can't really see any flaw with this problem. Is some kind of exception thrown (there might still be a bug in that distribute_l_t_g function, we haven't been using it so much yet)? How is the sparsity pattern of your matrix obtained - did you use make_flux_sparsity_pattern? Best, Martin _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
