Skip to content

Commit ef1092b

Browse files
Merge pull request #1818 from arcaneframework/dev/gg-fix-material-update-after-removing-ghost-layer
Fix missing constituents update after removing ghost cells
2 parents 2cacd83 + 304d069 commit ef1092b

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

arcane/src/arcane/mesh/MeshRefinement.cc

+11-3
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,17 @@
3434
#include "arcane/core/ItemRefinementPattern.h"
3535
#include "arcane/core/Properties.h"
3636
#include "arcane/core/IGhostLayerMng.h"
37+
#include "arcane/core/ItemVector.h"
3738

3839
#include "arcane/mesh/DynamicMesh.h"
3940
#include "arcane/mesh/ItemRefinement.h"
4041
#include "arcane/mesh/MeshRefinement.h"
41-
4242
#include "arcane/mesh/ParallelAMRConsistency.h"
4343
#include "arcane/mesh/FaceReorienter.h"
44-
4544
#include "arcane/mesh/NodeFamily.h"
4645
#include "arcane/mesh/EdgeFamily.h"
47-
#include "arcane/core/ItemVector.h"
46+
47+
#include "arcane/core/materials/IMeshMaterialMng.h"
4848

4949
#include <vector>
5050

@@ -739,6 +739,14 @@ coarsenItemsV2(bool update_parent_flag)
739739
UniqueArray<Int64> ghost_cell_to_refine;
740740
UniqueArray<Int64> ghost_cell_to_coarsen;
741741

742+
if (!update_parent_flag) {
743+
// Si les matériaux sont actifs, il faut forcer un recalcul des matériaux car les groupes
744+
// de mailles ont été modifiés et donc la liste des constituants aussi
745+
Materials::IMeshMaterialMng* mm = Materials::IMeshMaterialMng::getReference(m_mesh, false);
746+
if (mm)
747+
mm->forceRecompute();
748+
}
749+
742750
m_mesh->modifier()->updateGhostLayerFromParent(ghost_cell_to_refine, ghost_cell_to_coarsen, true);
743751

744752
return m_mesh->parallelMng()->reduce(Parallel::ReduceMax, (!to_coarse.empty()));

0 commit comments

Comments
 (0)