Skip to content

Commit 1e7ad70

Browse files
authored
Merge pull request #267 from gridap/fix_bug_restrict_array_triangulation_portion_boundary_function
Bug fixed `restrict(::AbstractArray,::TriangulationPortion)` for portions of BoundaryTriangulation(s)
2 parents 1fde696 + eca1dda commit 1e7ad70

File tree

4 files changed

+9
-5
lines changed

4 files changed

+9
-5
lines changed

NEWS.md

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1616
### Fixed
1717
- Fixed some methods of the `sparsecsr` generic function. Since PR [#262](https://github.com/gridap/Gridap.jl/pull/262).
1818
- Fixed BUG in `findnz` function for `SparseMatrixCSR`. Since PR [#264](https://github.com/gridap/Gridap.jl/pull/264).
19+
- Fixed `restrict(::AbstractArray,::TriangulationPortion)` for portions of triangulations extending `BoundaryTriangulation`. Since PR [#267](https://github.com/gridap/Gridap.jl/pull/267).
1920

2021
## [0.10.2] - 2020-5-21
2122

src/Geometry/BoundaryTriangulations.jl

-3
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,3 @@ end
131131
# D = num_cell_dims(model)
132132
# face_to_mask = get_face_mask(labeling,tags,D-1)
133133
#end
134-
135-
136-

src/Geometry/TriangulationPortions.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ function get_cell_id(trian::TriangulationPortion)
4545
end
4646

4747
function restrict(f::AbstractArray,trian::TriangulationPortion)
48-
reindex(f,trian)
48+
reindex(restrict(f,trian.oldtrian),trian.cell_to_oldcell)
4949
end
5050

5151
function get_normal_vector(trian::TriangulationPortion)

test/GeometryTests/TriangulationPortionsTests.jl

+7-1
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,17 @@ test_triangulation(strian)
3030
ns = get_normal_vector(strian)
3131
@test length(ns) == num_cells(strian)
3232

33+
v = [i for i=1:num_cells(trian)]
34+
cell_to_oldcell = [2,9,7]
35+
trian_portion = TriangulationPortion(oldtrian,cell_to_oldcell)
36+
trian_portion_portion = TriangulationPortion(trian_portion,[3,1])
37+
@test get_cell_id(trian_portion_portion)==[7,2]
38+
@test restrict(v, trian_portion_portion)==[7,2]
39+
3340
#using Gridap.Visualization
3441
#writevtk(oldtrian,"oldtrian")
3542
#writevtk(btrian,"btrian",cellfields=["normal"=>nb],celldata=["oldcell"=>get_cell_id(btrian)])
3643
#writevtk(strian,"strian",cellfields=["normal"=>ns],
3744
# celldata=["oldcell_left"=>get_cell_id(strian).left,"oldcell_right"=>get_cell_id(strian).right])
3845

3946
end # module
40-

0 commit comments

Comments
 (0)