Dear Wolfgang,

Thank you for your reply. In order to reconstruct the following final 
discretized form as
(M+A)u + A'p=F+G,
 a 2*2 matrix is subdivided into blocks in a way that (block)components 
(0,0) and (1,1) are M+A and A' respectively and components  (0,1) and (1,0) 
set to zero.
Solution vector is declared as a BlockVector but contains/subdivided into 
two scalar components u and p.  Right hand side is also a BlockVector 
containing F_u and G_p.
I hope I could have addressed your point here. Would you please advise me 
if there are any discrepancies in my structuring?

Thank you very much,
Ali

On Thursday, February 24, 2022 at 6:04:12 AM UTC+1 Wolfgang Bangerth wrote:

>
> Ali,
>
> > I have a problem with imposing homogeneous Dirichlet boundary conditions 
> for 
> > pressure in a vector-valued problem.
> > 
> > I have defined interpolate_ and apply_boundary_values as following  in 
> the 
> > assembly routine:
> > 
> > std::map<types::global_dof_index, double> boundary_values;
> > VectorTools::interpolate_boundary_values(dof_handler,
> >                                                                      1,
> > 
> > BoundaryValues<dim>(), //copied from step-22 with slight modifications
> > 
> > boundary_values,
> > 
> > fe.component_mask(pressure));
> > 
> >   MatrixTools::apply_boundary_values(boundary_values, system_matrix, 
> > solution, system_rhs);
> > 
> > But it throws an exception (in line 261, matrix_tools.cc) stating:
> > 
> >  matrix.get_sparsity_pattern().get_column_indices() == 
> > solution.get_block_indices()
> > Additional information:
> >     You are providing a matrix whose subdivision into blocks in either 
> row or 
> > column direction does not use the same block sizes as the solution 
> vector or 
> > right hand side vectors, respectively.
>
> Well, what is the subdivision of matrix and vector, and why are they 
> different? How did you subdivide them?
>
> Best
> W.
>
> -- 
> ------------------------------------------------------------------------
> Wolfgang Bangerth email: bang...@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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/ef47e140-8881-4afd-941d-bebf352b9299n%40googlegroups.com.

Reply via email to