Compare commits
2 Commits
develop.me
...
fix-3387-G
| Author | SHA1 | Date | |
|---|---|---|---|
| c6f87c961a | |||
| 4eaa76c835 |
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2019-2024 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2025 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -243,7 +243,15 @@ Foam::GAMGAgglomeration::GAMGAgglomeration
|
||||
const dictionary& controlDict
|
||||
)
|
||||
:
|
||||
MeshObject_type(mesh),
|
||||
MeshObject_type
|
||||
(
|
||||
controlDict.getOrDefault<word>
|
||||
(
|
||||
"name",
|
||||
GAMGAgglomeration::typeName
|
||||
),
|
||||
mesh
|
||||
),
|
||||
|
||||
maxLevels_(50),
|
||||
|
||||
@ -308,10 +316,17 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New
|
||||
const dictionary& controlDict
|
||||
)
|
||||
{
|
||||
|
||||
|
||||
|
||||
const GAMGAgglomeration* agglomPtr =
|
||||
mesh.thisDb().cfindObject<GAMGAgglomeration>
|
||||
(
|
||||
GAMGAgglomeration::typeName
|
||||
controlDict.getOrDefault<word>
|
||||
(
|
||||
"name",
|
||||
GAMGAgglomeration::typeName
|
||||
)
|
||||
);
|
||||
|
||||
if (agglomPtr)
|
||||
@ -373,12 +388,16 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New
|
||||
const GAMGAgglomeration* agglomPtr =
|
||||
mesh.thisDb().cfindObject<GAMGAgglomeration>
|
||||
(
|
||||
GAMGAgglomeration::typeName
|
||||
controlDict.getOrDefault<word>
|
||||
(
|
||||
"name",
|
||||
GAMGAgglomeration::typeName
|
||||
)
|
||||
);
|
||||
|
||||
if (agglomPtr)
|
||||
{
|
||||
if (agglomPtr->requireUpdate_)
|
||||
if (agglomPtr->requireUpdate_ || agglomPtr->requiresUpdate())
|
||||
{
|
||||
mesh.thisDb().checkOut(const_cast<GAMGAgglomeration*>(agglomPtr));
|
||||
return GAMGAgglomeration::New(matrix, controlDict);
|
||||
@ -431,12 +450,16 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New
|
||||
const GAMGAgglomeration* agglomPtr =
|
||||
mesh.thisDb().cfindObject<GAMGAgglomeration>
|
||||
(
|
||||
GAMGAgglomeration::typeName
|
||||
controlDict.getOrDefault<word>
|
||||
(
|
||||
"name",
|
||||
GAMGAgglomeration::typeName
|
||||
)
|
||||
);
|
||||
|
||||
if (agglomPtr)
|
||||
{
|
||||
if (agglomPtr->requireUpdate_)
|
||||
if (agglomPtr->requireUpdate_ || agglomPtr->requiresUpdate())
|
||||
{
|
||||
mesh.thisDb().checkOut(const_cast<GAMGAgglomeration*>(agglomPtr));
|
||||
return GAMGAgglomeration::New(mesh, controlDict);
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2019-2023 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2025 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -38,8 +38,12 @@ Description
|
||||
|
||||
// Whether to cache the agglomeration
|
||||
cacheAgglomeration yes;
|
||||
// Optionally update every updateInterval mesh motion. Default is 1.
|
||||
// Optionally update every updateInterval time steps. Default is 1.
|
||||
// - only applies if cacheAgglomeration
|
||||
// - applies also for static mesh cases
|
||||
updateInterval 10;
|
||||
// Optional name (default is GAMGAgglomeration)
|
||||
//name pAgglomeration;
|
||||
|
||||
// Optionally agglomerate coarsest-level across processors
|
||||
processorAgglomerator masterCoarsest;
|
||||
@ -188,7 +192,7 @@ protected:
|
||||
// Protected Member Functions
|
||||
|
||||
//- Does the agglomeration need to be fully updated?
|
||||
bool requiresUpdate() const;
|
||||
virtual bool requiresUpdate() const;
|
||||
|
||||
//- Assemble coarse mesh addressing
|
||||
void agglomerateLduAddressing(const label fineLevelIndex);
|
||||
|
||||
Reference in New Issue
Block a user