Hello Vachan,

Sounds like you're implementing nodal DG, hence why you only need values 
and gradients at the *quadrature* points from the neighbor. Something you 
might want to consider rather than communicating them at solution points, 
in case you ever decide to overintegrate.

You could still ask for the unit support points and figure out which of 
>> them are geometrically on a given face.
>
>
> This is definitely possible, but would probably be inefficient if I code 
> for it. Isn't there a function in DoFTools which does this? Because not 
> marking all dofs of ghost cells as relevant will give much savings in 
> communication, I was wondering if DoFTools already doesn't have an 
> implementation for this.
>
>
I don't think there is currently an implementation. You should be able to 
mark your degrees of freedom on the subdomain interface 
using FE_DGQ::has_support_on_face(...). Basically, if you loop over the 
ghost elements, you can loop over the dof indices of the cell, and use that 
function to figure out if its on a face. Efficiency shouldn't be an issue, 
especially since this is pre-processing.

 

> However, note that as soon as gradients are involved all the degrees of 
>> freedom contribute to values on faces.
>
>
> I don't have much experience in parallel programming, but I think we can 
> circumvent this by computing gradients at all dof locations in a subdomain 
> and again only communicating data of dofs lying on subdomain interfaces. I 
> might need some correction on this :).
>

Yes, that works if you decide to first compute all your gradients and store 
them. Note that in 3D, you're doing 3x the communication for the face 
gradients, so your efficiency only shows up when using elements of order 4 
or more. 

Depending on where you want to take your code in the future, I'd be careful 
with early code optimization like this. I would just stick with 
communicating all the neighbor's dofs and optimize the code if you really 
see a slowdown. 

Doug

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/da5650a9-9042-475b-8ce8-671d615ab9ab%40googlegroups.com.

Reply via email to