Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arbitrary evaluation in points #425

Merged
merged 1 commit into from
Feb 25, 2022
Merged

Arbitrary evaluation in points #425

merged 1 commit into from
Feb 25, 2022

Conversation

fredrikekre
Copy link
Member

No description provided.

@fredrikekre fredrikekre changed the title WIP: Arbitratry evaluation in points WIP: Arbitrary evaluation in points Feb 22, 2022
@codecov-commenter
Copy link

codecov-commenter commented Feb 22, 2022

Codecov Report

Merging #425 (24e9107) into master (ff34602) will increase coverage by 0.16%.
The diff coverage is 90.19%.

❗ Current head 24e9107 differs from pull request most recent head 2c0f472. Consider uploading reports for the commit 2c0f472 to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #425      +/-   ##
==========================================
+ Coverage   91.13%   91.30%   +0.16%     
==========================================
  Files          22       22              
  Lines        3181     3243      +62     
==========================================
+ Hits         2899     2961      +62     
  Misses        282      282              
Impacted Files Coverage Δ
src/PointEval/point_values.jl 93.93% <72.72%> (+5.93%) ⬆️
src/PointEval/PointEvalHandler.jl 92.61% <92.00%> (-0.29%) ⬇️
src/Dofs/DofHandler.jl 83.57% <100.00%> (+0.18%) ⬆️
src/FEValues/common_values.jl 93.23% <100.00%> (+2.18%) ⬆️
src/Quadrature/quadrature.jl 94.11% <0.00%> (-0.12%) ⬇️
src/interpolations.jl 86.84% <0.00%> (-0.05%) ⬇️
src/FEValues/cell_values.jl 100.00% <0.00%> (ø)
src/FEValues/face_values.jl 100.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ff34602...2c0f472. Read the comment docs.

@fredrikekre fredrikekre changed the title WIP: Arbitrary evaluation in points Arbitrary evaluation in points Feb 23, 2022
@fredrikekre fredrikekre marked this pull request as ready for review February 23, 2022 13:48
@fredrikekre fredrikekre force-pushed the fe/point_eval branch 2 times, most recently from bdbae00 to 2c0f472 Compare February 24, 2022 21:32
This commit introduces a number of new things that can be used together
with the PointEvalHandler:
 - PointScalarValues and PointVectorValues: These are similar to
   CellValues, but have only one, updateable, "quadrature point".
 - PointIterator: Iterator for iterating over the points in a
   PointEvalHandler.
 - PointLocation: Element of a PointIterator.

The intended workflow is as follows:

    ph = PointEvalHandler(grid, points)
    pv = PointScalarValues(cellvalues)
    for p in PointIterator(ph)
        p === nothing && continue # This point was not found
        reinit!(pv, p)            # reinit! with the new point
        function_gradient(cv, uh) # Compute stuff
    end

Other changes:
 - Grid: Fix cellnodes! and cellcoords! for grids with mixed element types.
 - PointEvalHandler: Rename the old PointScalarValues to
   PointScalarValuesInternal. These are (still) used internally in
   get_point_values, and are a nice optimization of PointScalarValues
   since they avoid recomputation of both i) dNdξ, and ii) dNdx.
 - Docs: update doc build dependencies.
@fredrikekre fredrikekre merged commit f2603d4 into master Feb 25, 2022
@fredrikekre fredrikekre deleted the fe/point_eval branch February 25, 2022 08:33
koehlerson pushed a commit that referenced this pull request Apr 22, 2022
This commit introduces a number of new things that can be used together
with the PointEvalHandler:
 - PointScalarValues and PointVectorValues: These are similar to
   CellValues, but have only one, updateable, "quadrature point".
 - PointIterator: Iterator for iterating over the points in a
   PointEvalHandler.
 - PointLocation: Element of a PointIterator.

The intended workflow is as follows:

    ph = PointEvalHandler(grid, points)
    pv = PointScalarValues(cellvalues)
    for p in PointIterator(ph)
        p === nothing && continue # This point was not found
        reinit!(pv, p)            # reinit! with the new point
        function_gradient(cv, uh) # Compute stuff
    end

Other changes:
 - Grid: Fix cellnodes! and cellcoords! for grids with mixed element types.
 - PointEvalHandler: Rename the old PointScalarValues to
   PointScalarValuesInternal. These are (still) used internally in
   get_point_values, and are a nice optimization of PointScalarValues
   since they avoid recomputation of both i) dNdξ, and ii) dNdx.
 - Docs: update doc build dependencies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants