Dear deal.II users,
I'd like to ask a question concerning the use of RHS function
represented by a DoF vector from another solver.
I'm trying to build RHS of one solver (A) using solution obtained with
another solver (B) , i.e. instead of Function there is a DoF vector.
Both solvers have the same coarse Triangulation (but differently
refined), but with different finite element systems: RHS source (solver
B) uses FESystem(FE_DGQ<dim>, 1, FESystem(FE_DGQ<dim>, dim), 1), the
solver A uses FESystem(FE_Q<dim>, 1, FE_Nedelec<dim>, 1). I have
devised the following scheme:
1. Solver A contains two DoFHandlers: one for RHS vector
(dof_handler_rhs), and another for the equation to solve
(dof_handler);
2. The solver B's output gets interpolated via
VectorTools::interpolate_to_different_mesh using dof_handler_rhs
as the destination space;
3. During solver A's assembly phase a separate FEValues is created
for RHS vector which is initialized to the same cell as the
FEValues corresponding to the equation;
4. FEValues::get_function_values gives RHS function values at the
quadrature points.
The problem here is the step 3: somehow I need to specify the same
geometric cell for two FEValues with different finite element
systems while preserving the ability to use get_function_values.
Surprisingly, there doesn't seem to be any obvious way to convert
CellAccessor given by Triangulation::active_cell_iterators() to
TriaIterator<DoFCellAccessor> needed for a "full reinit".
Of course, one can use VectorTools::point_value (or FEFieldFunction)
directly without interpolating, but it seems that the performance would
be very low: because of differing finite element systems, I cannot even
pass a cell hint. There is also an option to interpolate the B's
solution to the FE system used to solve A, but there might be an RHS
incompatible with FE_Nedelec elements.
Which tools could be used to overcome this problem? Or is my approach
deficient in general?
Best regards,
Alexander Kiselyov
--
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/dad5bd7365e64e64a4028153aec640150d3cb9c9.camel%40gmail.com.