On 6/6/21 10:35 PM, Zhuoran Wang wrote:
I'm now trying to use WG(P1,P1) to solve Darcy. For WG(P0,P0), I used FE_DGQ
and FE_FaceQ which are the same as FE_DGP and FE_FaceP. But for higher
elements, I need to use FE_FaceP.
If the face dof is correctly figured out, I suppose I can assign the D.B.C to
constraints by myself. Is that correct?
The issue is that FE_DGP is not interpolatory (i.e., the basis functions do
not have the phi_i(x_j)=delta_ij property), and consequently the
VectorTools::interpolate_boundary_values function does not work.
But you can do the equivalent work yourself:
for (cell=...)
for (face=...)
if (face->at_boundary())
{
get the DoF indices for that face, which in your case will only
correspond to the FE_FaceP component
determine which values these DoFs need to have
add the corresponding constraints to the AffineConstraints object
}
The second step in the inner loop might be the difficult one if you have
nontrivial boundary values since then you probably want to compute the
projection of these boundary values onto the finite element space on that
face. But if you have zero boundary values, for example, then you'd just set
all DoFs to zero in that loop.
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/1ef2ff40-d865-dba5-847f-d5ad859ab04a%40colostate.edu.