You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been using the step-14 tutorial program for teaching. Working with it, I found several components where I think we have much better solutions now, so we might think about replacing them. Let me list the items I would change:
// ...then loop over cells and find the evaluation point among the
// vertices (or very close to a vertex, which may happen due to floating
// point round-off):
for (constauto &cell : dof_handler.active_cell_iterators())
for (constauto vertex : cell->vertex_indices())
if (cell->vertex(vertex).distance(evaluation_point) <
cell->diameter() * 1e-8)
{
// Ok, found, so set corresponding entry, and leave function
// since we are finished:
rhs(cell->vertex_dof_index(vertex, 0)) = 1;
return;
}
we could use FEPointEvaluation in conjunction with find_active_cell_around_point.
Note that there might be some educational value in the old way, but I think one stumbles over these things so often that one should not teach a way that we would not recommend at all. Besides these rather isolated bullet points, there might be more things to consider, such as computing the interface jumps with mesh_loop or similar facilities, but I do not consider myself enough expert to do that. I would personally do things in yet another way via FEEvaluation/FEFaceEvaluation, but that is a personal flavor that should not guide the tutorial here.
Any other ideas we should collect? Or opinions that some of the things should not be changed?
The text was updated successfully, but these errors were encountered:
I've been using the step-14 tutorial program for teaching. Working with it, I found several components where I think we have much better solutions now, so we might think about replacing them. Let me list the items I would change:
VectorTools::point_value
with the comment that there are even more efficient strategies with someGridTools::Cache
orRemotePointEvaluation
- maybe also directly showVectorTools::point_values()
.dealii/examples/step-14/step-14.cc
Lines 195 to 198 in 69c845d
VectorTools::point_gradients()
.dealii/examples/step-14/step-14.cc
Lines 1432 to 1450 in 69c845d
FEPointEvaluation
in conjunction withfind_active_cell_around_point
.Note that there might be some educational value in the old way, but I think one stumbles over these things so often that one should not teach a way that we would not recommend at all. Besides these rather isolated bullet points, there might be more things to consider, such as computing the interface jumps with mesh_loop or similar facilities, but I do not consider myself enough expert to do that. I would personally do things in yet another way via
FEEvaluation/FEFaceEvaluation
, but that is a personal flavor that should not guide the tutorial here.Any other ideas we should collect? Or opinions that some of the things should not be changed?
The text was updated successfully, but these errors were encountered: