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
With PR #11804 merged, we will have an easy way to evaluate solution vectors at arbitrary (distributed) point.
Although the intention for writing this function was completely different, I have used locally this function for the following two post-processing tasks:
Both of these postprocessing tasks are different, however, need somewhere the ability to evaluate the solution at some points. In the second case, these points correspond to the support points.
My question would be if such postprocessing function would be useful in the library? If yes, what would be the correct place and how could appropriate interfaces look like?
Furthermore, I am not sure how to approach the second case? At the moment, I am doing the following: 1) create a new triangulation, 2) create a new DoFHandler, 3) collect the support points, 4) call the new function (point -> value), 5) write the result into a global vector, and 6) finally use DataOut to output the result. This works for now locally but I feel it is a bit clumsy. Wouldn't it be possible to write a new DataOut class (maybe DataOutSampling): it would be used as usual but in the attach_triangulation() function users could attach a triangulation object that does not match the vectors added for post processing? I am absolutely not an expert in DataOut and the interaction with the base class but I think this way one might be able to skip the creation of the DoFHandler since the patches could be directly filled.
Is there interest? Any ideas?
@tjhei This topic might be also interesting for you!?
The text was updated successfully, but these errors were encountered:
The second task you think about above already works: You can select via lambda functions which cells to generate output on, and that includes non-active ones. So at least the downsampling thing works. The slicing is more difficult since we can't use cell-based output. I would suggest to leave that to viz tools -- in particular also because one quite frequently does not know up front which slice one really wants, and the right solution would be to just output the data necessary to make that decision at a later time.
As for evaluating at multiple points: Yes, that would be useful. I would simply build on the existing point_value() functions and overload as appropriate.
With PR #11804 merged, we will have an easy way to evaluate solution vectors at arbitrary (distributed) point.
Although the intention for writing this function was completely different, I have used locally this function for the following two post-processing tasks:
DataOut
, I could write the data on a slice (2D) or an coarser (non-matching) 3D mesh - see also: https://github.com/dealii/dealii/pull/11804/files#diff-dd3e88a18dc69bf7b9ccf6444ad6fbe43d1deb33ffae7ab5bb399dca357cdf58Both of these postprocessing tasks are different, however, need somewhere the ability to evaluate the solution at some points. In the second case, these points correspond to the support points.
My question would be if such postprocessing function would be useful in the library? If yes, what would be the correct place and how could appropriate interfaces look like?
Furthermore, I am not sure how to approach the second case? At the moment, I am doing the following: 1) create a new triangulation, 2) create a new
DoFHandler
, 3) collect the support points, 4) call the new function (point -> value), 5) write the result into a global vector, and 6) finally useDataOut
to output the result. This works for now locally but I feel it is a bit clumsy. Wouldn't it be possible to write a newDataOut
class (maybeDataOutSampling
): it would be used as usual but in theattach_triangulation()
function users could attach a triangulation object that does not match the vectors added for post processing? I am absolutely not an expert inDataOut
and the interaction with the base class but I think this way one might be able to skip the creation of theDoFHandler
since the patches could be directly filled.Is there interest? Any ideas?
@tjhei This topic might be also interesting for you!?
The text was updated successfully, but these errors were encountered: