Fred,

For the compute_nonzero_normal_flux(), I want to generate a a constraint like this:

Require that $q\in W_h$ is such that for all test functions $\lambda \in \Trace V_h$ we have

$$
0 = \int_{\Gamma_N} \lambda ((q-g)\dot \eta) \dee x
$$

That looks easy enough if W_h is so that the normal component on the boundary is discontinuous -- because then the condition can be enforced locally on every face separately. Specifically, this is true for this choice of spaces:

Here, $W_h$ is fe_dgq^dim and $V_h$ is fe_dgq, both of the same degree (or fe_dgp in both places).

Does the function you propose take two function spaces as arguments? Or are W_h and V_h somehow related?


I do this now by building a matrix for each cell $\Omega_i$ like

$$
\int_{\Gamma_N\cap \partial \Omega_i} \lambda (q\dot \eta)\dee x
$$

for test functions in $V_h$ (not just $Trace V_h$),

But since you only evaluate \lambda at the boundary, the distinction really doesn't matter. It just adds a bunch of rows to the matrix:

then I use the singular value decomposition of this matrix to remove (really just identify) linearly dependent rows of this matrix, and store the results in normal SparseMatrices.

That seems unnecessary: these local matrices are dofs_per_cell times dofs_per_cell, so pretty small.

What I haven't understood yet is how you're going to use this matrix. I understand what the matrix means, but at the end of the day you want to constrain some degrees of freedom so that they are equal to a linear combination of other DoFs plus possibly an inhomogeneity. How do you go from the matrix above to identifying a DoF that you want to constrain? (I think that I can come up with an algorithm, but I'm curious to hear your idea first.)

Best
 W.


--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to