On 4/5/19 11:25 AM, Anton wrote:
> I need to apply a boundary condition (discontinuous function) to a few
> components of a dof_handler only. I am currently using
>
> |
> voidVectorTools::interpolate_boundary_values
> <
https://dealii.org/current/doxygen/deal.II/group__constraints.html#ga2376b9a282a2b62be5c55ab62a11a132>(constDoFHandlerType<dim,spacedim
> >&dof,consttypes::boundary_id
> <
https://dealii.org/current/doxygen/deal.II/namespacetypes.html#aaf4eb6ec214fa642dfd956f11a9cd2d7>boundary_component,constFunction
> <
https://dealii.org/current/doxygen/deal.II/classFunction.html><spacedim,number >&boundary_function,ConstraintMatrix
> <
https://dealii.org/current/doxygen/deal.II/classConstraintMatrix.html>&constraints,constComponentMask
> <
https://dealii.org/current/doxygen/deal.II/classComponentMask.html>&component_mask=ComponentMask
> <
https://dealii.org/current/doxygen/deal.II/classComponentMask.html>())
> |
>
> for this purpose, but because of the discontinuity I get unwanted effects near
> the discontinuity - that is even when the discontinuity is aligned with the
> mesh, and even though I am using discontinuous elements (FE_FaceQ), I get
> unwanted effects because the interpolation point falls exactly between the
> elements. Is there a way of applying project_boundary_values instead to fix
> this issue? Basically I cannot seem to find support for component selection
> in connection with project_boundary_values.
Can you explain what these unwanted effects are, for example in a picture?
You're right that the project_b_v() function (currently) doesn't support
selecting individual components. But you can just project onto all components
into a separate object, and then you only transfer those elements that
correspond to the components you care about.
Best
Wolfgang
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@colostate.edu
www:
http://www.math.colostate.edu/~bangerth/