||January 8, 2013 12:05
MultiRegions: How are neighbouring domains coupled?
I'm working on an extension of EHDFoam (the one found on the wiki). So far I achieved quite good results for the multiphase fluid simulations. I now want to include a solid phase in these simulations, so I need to have multiple regions solved separately.
The chtMultiRegionFoam program has been a good example so far. I removed the parts about heat transfer, changed everything so that it basically solves 'interFoam' in the fluid part, and set up the electric field equations. I'm now designing a test-case, where I need to couple the electric potential (scalar field) via a shared boundary patch. The question is, is this done automatically by using the same variable name? Or do I need to impose the boundary conditions (BC) for each region explicitly in the code, or perhaps via an additional, specialized library? For the chtMultiRegionFoam I found the coupling occurs via a BC called 'type compressible::turbulentTemperatureCoupledBaffleMix ed;'. Frankly, the code of this particular BC library seems quite elaborate for 'just' passing on the right value+gradient for the temperature from one domain to the other. It also seems much more 'low-level' programming than the actual solver. Therefore I wondered if there would be a more straightforward way of coupling the two (or more) regions.
TL;DR: When using the multi-region framework provided by OpenFOAM, do I always need a separate library to couple the boundaries of two adjacent domains?