Skip to content

Commit aae4b59

Browse files
Merge pull request #54 from gridap/adapt_for_general_integers
Changed the signature of .adapt() s.t. it accepts any Integer and not necessarily Cint, as per required by p4est
2 parents ea6a9a0 + a5b7ae9 commit aae4b59

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/OctreeDistributedDiscreteModels.jl

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,12 +1432,16 @@ function _refine_coarsen_balance!(model::OctreeDistributedDiscreteModel{Dc,Dp},
14321432
end
14331433

14341434
function Gridap.Adaptivity.adapt(model::OctreeDistributedDiscreteModel{Dc,Dp},
1435-
refinement_and_coarsening_flags::MPIArray{<:Vector{Cint}};
1435+
refinement_and_coarsening_flags::MPIArray{<:Vector{<:Integer}};
14361436
parts=nothing) where {Dc,Dp}
14371437

14381438
Gridap.Helpers.@notimplementedif parts!=nothing
1439+
1440+
_refinement_and_coarsening_flags = map(refinement_and_coarsening_flags) do flags
1441+
convert(Vector{Cint},flags)
1442+
end
14391443

1440-
ptr_new_pXest = _refine_coarsen_balance!(model, refinement_and_coarsening_flags)
1444+
ptr_new_pXest = _refine_coarsen_balance!(model, _refinement_and_coarsening_flags)
14411445

14421446
# Extract ghost and lnodes
14431447
ptr_pXest_ghost = setup_pXest_ghost(Val{Dc}, ptr_new_pXest)
@@ -1457,7 +1461,7 @@ function Gridap.Adaptivity.adapt(model::OctreeDistributedDiscreteModel{Dc,Dp},
14571461
adaptivity_glue = _compute_fine_to_coarse_model_glue(model.parts,
14581462
model.dmodel,
14591463
fmodel,
1460-
refinement_and_coarsening_flags)
1464+
_refinement_and_coarsening_flags)
14611465
adaptive_models = map(local_views(model),
14621466
local_views(fmodel),
14631467
adaptivity_glue) do model, fmodel, glue

test/PoissonNonConformingOctreeModelsTests.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ module PoissonNonConformingOctreeModelsTests
3939
reffe=ReferenceFE(lagrangian,T,order)
4040
VH=FESpace(dmodel,reffe;dirichlet_tags="boundary")
4141
UH=TrialFESpace(VH,u)
42-
ref_coarse_flags=map(ranks,partition(get_cell_gids(dmodel.dmodel))) do rank,indices
42+
ref_coarse_flags=map(ranks,partition(get_cell_gids(dmodel.dmodel))) do rank,indices
4343
flags=zeros(Cint,length(indices))
4444
flags.=nothing_flag
4545

@@ -176,7 +176,7 @@ module PoissonNonConformingOctreeModelsTests
176176

177177
degree = 2*order+1
178178
ref_coarse_flags=map(ranks,partition(get_cell_gids(dmodel.dmodel))) do rank,indices
179-
flags=zeros(Cint,length(indices))
179+
flags=zeros(Int,length(indices))
180180
flags.=nothing_flag
181181
if (rank==1)
182182
flags[1:2^Dc].=coarsen_flag

0 commit comments

Comments
 (0)