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: bange...@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/9a97e1d5-4377-77ca-ec41-693d42af7ebb%40colostate.edu.