Cyclic fan asymmetry in buoyantSimpleFoam
I am working on an OpenFOAM v2412 simulation using buoyantSimpleFoam for an ODAF transformer cooling setup with porous media radiators and internal radiator fans.
The fans are modeled as internal baffles created with createBaffles and implemented using cyclic + fan boundary conditions.
After a lot of debugging, I found that placing the fan condition in p_rgh instead of p was critical. Before that, the fans produced almost no flow (phi ~1e-4). After moving the fan BC to p_rgh, the flow magnitude became physically reasonable.
Current setup:
In p_rgh:
ventoinhas_master
{
type fan;
patchType cyclic;
phi phi;
rho rho;
uniformJump false;
jumpTable table
(
(0.0000 180)
(0.0833 161)
(0.1389 144)
(0.2083 126)
(0.2778 106)
(0.3333 92)
(0.4167 86)
(0.5000 82)
(0.5556 70)
(0.6250 59)
(0.6944 46)
(0.7778 32)
(0.8333 17)
(0.9167 0)
);
value uniform 101325;
}
ventoinhas_slave
{
type cyclic;
}
The simulation converges correctly and continuity errors remain low.
Boundary file:
ventoinhas_master
{
type cyclic;
nFaces 575;
startFace 8167426;
matchTolerance 0.0001;
transform unknown;
neighbourPatch ventoinhas_slave;
}
ventoinhas_slave
{
type cyclic;
nFaces 575;
startFace 8168001;
matchTolerance 0.0001;
transform unknown;
neighbourPatch ventoinhas_master;
}
The strange part is the fan flow monitoring.
I added:
operation sum;
fields (phi);
and also:
operation sumMag;
fields (phi);
Results near convergence:
surfaceFieldValue flowFanMaster write:
sum(ventoinhas_master) of phi = 0.747326
surfaceFieldValue flowFanSlave write:
sum(ventoinhas_slave) of phi = -0.483340
surfaceFieldValue flowFanMasterAbs write:
sumMag(ventoinhas_master) of phi = 0.747326
surfaceFieldValue flowFanSlaveAbs write:
sumMag(ventoinhas_slave) of phi = 0.489628
So:
- the flow is now physically significant
- but master/slave do not balance
- and even
sumMag(phi)differs considerably between the two sides
Additionally:
- the velocity field near the fans still looks very tangential/chaotic instead of a clean axial jet
- glyphs near the fan surfaces do not look strongly normal to the disks
Uzshows mixed structures around the fans
What I am trying to understand is:
- Is this asymmetry between master/slave expected for
fan + cyclicin buoyantSimpleFoam? - Can
surfaceFieldValuereport misleading values on internal cyclic fan patches? - Could this be related to:
transform unknown- fan being applied only on one side
- parallel decomposition
- or an issue with createBaffles/cyclic implementation?
- Has anyone successfully implemented physically realistic internal axial fans using
fan + cyclicin buoyantSimpleFoam?
At this point I am considering creating a completely isolated minimal fan test case to determine whether the issue comes from the fan implementation itself or from interaction with the porous radiator domain.