Hello,
the situation gets clearer.
I have just checked the matrix.
It turnes that:
a) if I don't call dof_map.constrain_element_matrix_and_vector(),
then the matrix comes out as I intend;
b) if I call dof_map.constrain_element_matrix_and_vector(),
then the corresponding raw has additional elements.
In case a) the boundary nodes are okay, but the solution is discontinuous.
In case b) the solution is continuous, but the boundary conditions are disturbed.
The question is: is it possible somehow to have both continuous solution
and apply boundary conditions in our way (not with a penalty method)?
Thank you for your help,
Michael.
Roy Stogner wrote:
> On Thu, 17 Feb 2005, Michael Povolotskyi wrote:
>
>> we set boundary condition in such a way that a row in the matrix that
>> correspond to
>> the boundary node i looks like this:
>>
>> 0 .... 0 1 0 .... 0,
>>
>> where 1 stands at the ith position.
>>
>> We apply the boundary condition while assembling the matrix.
>> Not all the Dirichlet boundary points are wrong  just a few.
>> And not always the same.
>
>
> Have you checked the assembled system matrix, to make sure those rows
> came out the way you intended? Have you checked the solution vector,
> to make sure the Dirichlet node errors are there and not just another
> GMVrelated glitch? Are you sure the nodes end up exactly right with
> uniform refinement?
> 
> Roy Stogner
>


Michael Povolotskyi, Ph.D.
University of Rome "Tor Vergata"
Department of Electronic Engineering
Viale Politecnico, 1  00133 Rome  Italy
Phone + 39 06 72597367
Fax + 39 06 2020519
http://www.optolab.uniroma2.it/pages/moshe/moshe.html

