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.

Reply via email to