Hello To test how to implement
u.n = 0 in step-20 which uses FE_RaviartThomas for u, I know from here https://groups.google.com/g/dealii/c/Tvs-V4ESiZE/m/fJ0RQ3VwAQAJ that we cannot do this. But if I change to FE_RaviartThomasNodal, template <int dim> MixedLaplaceProblem<dim>::MixedLaplaceProblem(const unsigned int degree) : degree(degree) , fe(FE_RaviartThomasNodal<dim>(degree), 1, FE_DGQ<dim>(degree), 1) , dof_handler(triangulation) {} I thought following should work std::map<types::global_dof_index, double> vel_boundary_values; ComponentMask vel_mask = fe.component_mask(velocities); VectorTools::interpolate_boundary_values(dof_handler, types::boundary_id(0), Functions::ZeroFunction<2>(3), vel_boundary_values, vel_mask); but it does not -------------------------------------------------------- An error occurred in line <263> of file </Users/praveen/Applications/deal.II/9.6.0/include/deal.II/numerics/vector_tools_boundary.templates.h> in function void dealii::VectorTools::internal::do_interpolate_boundary_values(const M_or_MC<dim, spacedim> &, const DoFHandler<dim, spacedim> &, const std::map<types::boundary_id, const Function<spacedim, number> *> &, std::map<types::global_dof_index, number> &, const ComponentMask &) [dim = 2, spacedim = 2, number = double, M_or_MC = dealii::Mapping] The violated condition was: fe.is_primitive(i) Additional information: This function can only deal with requested boundary values that correspond to primitive (scalar) base elements. You may want to look up in the deal.II glossary what the term 'primitive' means. There are alternative boundary value interpolation functions in namespace 'VectorTools' that you can use for non-primitive finite elements. But FE_RaviartThomasNodal actually has nodal dofs on the boundary which fix u.n. Is this not working because it is not implemented, or it is not possible to do this at all ? thanks praveen -- 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 visit https://groups.google.com/d/msgid/dealii/5EAE7A44-BE7B-4DD2-9F95-E3CAF10625F4%40gmail.com.
