Dear all,
I would like to ask for some pointers on interpolations between non-matching grids. And here is the issue I ran into when writing an AMR program for a space-time HDG method - please see the toy graph attached. After solving for one time step, I obtain the face solution (blue dots on purple line, based on an FEFaceQ object) which is imposed as part of the Dirichlet boundary condition for the next time step. For example, when we look at the element boundary in yellow and when we need the b. c. value on the quadrature point green x (both x’s are at the same spatial location), we need to interpolate the face solution at the green x. It seemed that point_value function would be the way to go but VectorTools::point_value(dof_handler, locally_relevant_solution, point_x) was only able to produce nan‘s. Here are some lines copied from the source code of the point_value function: const std::pair<typename DoFHandler<dim, spacedim>::active_cell_iterator, Point<spacedim>> cell_point = GridTools::find_active_cell_around_point(mapping, dof, point); const Quadrature<dim> quadrature( cell_point.first->reference_cell().closest_point(cell_point.second)); FEValues<dim> fe_values(mapping, fe, quadrature, update_values); fe_values.reinit(cell_point.first); std::vector<Vector<Number>> u_value(1, Vector<Number>(fe.n_components())); fe_values.get_function_values(fe_function, u_value); …and the issue seems to be that FEFaceQ is not supported here. When modifying the source code to cater for FEFaceQ, an immediate issue is how to find the dim-1 Point for the single-point quadrature: const Quadrature<dim-1> quadrature( cell_point.first->reference_cell().closest_point(cell_point.second)); In my case a solution could be get rid of the time component of the output of closest_point function but I wonder whether there are less hacky ways. Also, since point_value can be an expensive operation, I was wondering would the procedure outlined above be considered as economical as it can get in deal.II? Would really appreciate any comments and/or suggestions! Best regards, Yuan -- 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/cd2f311d-7513-4f95-81d8-4aff7511f630n%40googlegroups.com.