Hello Ali,
you have to modify the constraint matrix. This means you have to add
the line corresponding to the dof you want to set to 0 to the
constraint matrix. Have a look in the documentation of the
ConstraintMatrix class, especially the function add_line.
Best Regards,
Markus
Ali M. Koupaei schrieb:
|
Hi,
I am solving the lid-driven cavity problem; though I would
need to prescribe four dirichlet boundary condition for u and the other
four for v velocity;
But, I would need to prescribe pressure to zero value on
ONLY one node on the boundary; say the lower boundary just to make the
solution unique; my code for imposing the boundary conditions looks
like :
std::map<uint, double>
boundary_values;
this->dirichlet_bc(boundary_values);
MatrixTools::apply_boundary_values(boundary_values,
this->matrix,
solution,
rhs);
here, this->matrix is of the type "BlockSparseMatrix";
But I don't know how to prescribe the pressure constraint
on only one node on the boundary; I manipulated the this->matrix
directly after the above codes and set the appropriate
pressure dof index to 1 and in rhs to 0; but it
doesn't work; I mean the solution looks wrong; that node became a
source of flow!!
Thank you very much,
Ali,
|
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
|
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii