View Issue Details

IDProjectCategoryView StatusLast Update
0004079OpenFOAMBugpublic2024-05-15 15:16
Reporterblocksgearing0d Assigned Tohenry  
Status closedResolutionsuspended 
PlatformGNU/LinuxOSUbuntuOS Version22.04
Product Versiondev 
Summary0004079: meshToMesh topology change always yields error with multiphaseEuler
DescriptionTopology change yields an error when using the multiphaseEuler at the first meshToMesh mapping time.
Steps To ReproduceCopy and run the attached script in any multiphaseEuler tutorial (which utilises first order ddt-scheme).

The script will create a dynamicMeshDict with mapping at the first write-time to the current mesh (i.e. to constant/polyMesh).
Additional InformationThe following tutorials are tested and failed:
- multiphaseEuler/bed
- multiphaseEuler/LBend
- multiphaseEuler/hydrofoil
- multiphaseEuler/injection
- multiphaseEuler/wallBoilingIATE

In contrast, these tutorials are tested and mapped successfully:
- fluid/aerofoilNACA0012
- fluid/blockedChannel
- incompressibleFluid/pitzDailyPulse
TagsNo tags attached.



2024-05-15 09:26

reporter (1,150 bytes)   
cd ${0%/*} || exit 1    # Run from this directory

# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions

# Create dynamic mesh with only one topology change at first write time
cp $FOAM_TUTORIALS/shockFluid/movingCone/constant/dynamicMeshDict constant/dynamicMeshDict
foamDictionary -entry mover -remove constant/dynamicMeshDict
foamDictionary -set '
    topoChanger/times=( ${${FOAM_CASE}/system/controlDict!writeInterval} ),
' constant/dynamicMeshDict

# Set topology change settings
foamDictionary -set '
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-6;
        relTol          0;
' system/fvSolution

# Generate meshToMesh region
writeInterval=$(foamDictionary -entry writeInterval -value system/controlDict)
mkdir constant/meshToMesh_${writeInterval}
ln -sf ../polyMesh constant/meshToMesh_${writeInterval}/polyMesh 

# Decompose meshToMesh after the main mesh
sed -i "/decomposePar/a runApplication -s ${writeInterval} decomposePar -noFields -region meshToMesh_${writeInterval}" Allrun* (1,150 bytes)   


2024-05-15 11:56

manager   ~0013240

mesh-to-mesh mapping is VERY complex and new functionality which requires significant further development, testing and validation which will require further funding. Are you in a position to contribute to OpenFOAM development and maintenance funding for this functionality?


2024-05-15 13:40

reporter   ~0013241

We just noticed that the current mesh-to-mesh mapping limitation with multiphaseEuler is not mentioned in the topology change article ( ). Seeking a clarification we opened this bug report.
I am afraid, I am not in a position to make any funding policy decisions but our group (Aalto Energy Conversion) has purchased a maintenance plan.


2024-05-15 15:15

manager   ~0013242

Mesh-to-mesh mapping has not been tested with multiphaseEuler or other complex physics solvers other than for engine calculations as it is a recent addition the development of which is funded by a group for this purpose. I will investigate the issue but it is likely to involve significant development to resolve, more than can reasonably by covered within the standard maintenance. We well seek further funding for this work.


2024-05-15 15:16

manager   ~0013243

Pending funding

Issue History

Date Modified Username Field Change
2024-05-15 09:26 blocksgearing0d New Issue
2024-05-15 09:26 blocksgearing0d File Added:
2024-05-15 11:56 henry Note Added: 0013240
2024-05-15 13:40 blocksgearing0d Note Added: 0013241
2024-05-15 15:15 henry Note Added: 0013242
2024-05-15 15:16 henry Assigned To => henry
2024-05-15 15:16 henry Status new => closed
2024-05-15 15:16 henry Resolution open => suspended
2024-05-15 15:16 henry Note Added: 0013243