Trying to use regionCouple and solidWallMixedTemperatureCoupled
I am trying to implement a multiphysics solver for nuclear engineering purposes. In short my application will solve for the neutron flux and fluid properties in a cell containing fuel (solid) and water (liquid).
I have used 1.6-ext in order to get coupledFvScalarMatrix for the neutron flux (which is solved for both the fuel and the water simultaneously). The velocity and pressure is solved separately (using equations from buoyantSimpleFoam).
My idea was to solve the energy equation using a temperature equation in the solid and an enthalpy equation in the fluid. This makes it difficult to use regionCoupling (solving for two different quantities). However, the fields are coupled and I therefore want to use solidWallMixedTemperatureCoupled boundary condition.
The problem is that the specified boundary can not be of both the type regionCouple and directMappedWall. I can not figure out a way to combine these two.
Anyone having an idea?
To me the obvious solution is to solve for the enthalpy in both liquid and solid. Not only does it solve your dilemma and avoid deriving new classes to do what you want. Your solver will also be faster. The explicit coupling can be rather slow.
If you want, you could still have a temperature field in the solid, that you use only for the initial conditions to the enthalpy field and for post-processing.
I'm using the regionCouple functionality in 1.6-ext for solving electrohydrodynamics problems with ion transport, electrical fields and fluid flow. However, I use the same case directory structure, mesh and field creation approach as in the chtMultiRegionSolver of the original release. This way I can use the -region option for all utilities, splitMeshRegions for region splitting and both paraview and paraFoam work with these regions out-of-the-box.
Thank you for your response. I think I will follow your advice and try to stay with the regionCoupling.
I think solving the enthalpy in the fuel is not obvious. The temperature ought not be continuous at the solid-fluid border after solving for the enthalpy, when there are different heat capacities etc. This could perhaps be overcome by using a "pseudo-solid-specific-heat" (as proposed by Chen and Han in "A note on the solution of conjugate heat transfer problems using SIMPLE-like algorithms") and taking a reference enthalpy in the solid from the fluid. This I have not yet tested. For now I am instead casting all energy equations to temperature.
I have tested cases with coupled calculations for both neutrons and temperature in both regions and it works beautifully.
Again, thank you for your advices!
I can't comment on the reference, as I don't have it. But what you say is to me another compelling argument for using the enthalpy instead of the temperature. Enthalpy (aka energy) is a conserved quantity, but temperature is not. Of course, you need to make sure you have correct values for the heat capacities locally, as temperatures change.
Do you really have a temperature jump at the surface? Isn't it rather a thin boundary layer, or a localized resistance, that you don't resolve? Things like that might have to be considered separately, as it's not really part of the equation you solve across the interface. But that is another story, separate from the issue of temperature vs enthalpy in the equation. In an open code like OpenFOAM, most issues can be solved, in my experience, it just takes some extra thinking... :)
|All times are GMT -4. The time now is 10:07.|