From: David K. <dav...@ba...> - 2008-01-22 22:53:32
|
I'd like to implement the following boundary condition for the outflow of a channel: du/dn - n*p = 0, where n is the outward normal and p is the pressure. It seems to me that this BC would result in an extra boundary term $-\int_{\partial\Omega} n p \ds$ being added to the momentum equations? In my case the outward normal on the outflow boundary is n = (1,0). I tried to implement this BC using the following code in side_constraint: if (boundary_id == outflow_id) Fu(i) -= JxW_side[qp] * p * phi_side[i][qp]; if (boundary_id != outflow_id) Fv(i) += JxW_side[qp] * penalty * (v - v_value) * phi_side[i][qp]; if (boundary_id != outflow_id) Kuu(i,j) += JxW_side[qp] * penalty * phi_side[i][qp] * phi_side[j][qp]; if (boundary_id != outflow_id) Kvv(i,j) += JxW_side[qp] * penalty * phi_side[i][qp] * phi_side[j][qp]; where p = side_value(p_var, qp), plus there are other BCs not shown here for inflow and no-slip. This doesn't appear to work; the Newton convergence fails with these BCs. If anyone can point out how to properly implement this BC, I'd be most appreciative :) Cheers, David |