Add OpenFOAM partitioned heat equation #214
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an attempt to port the 2x-laplacianFoam case from the OpenFOAM adapter repository and shape it to simulate the same problem as the FEniCS and Nutils cases that are already here.
Change with side effects: In the
precice-config.xml
, the dataFlux
needs to be renamed toHeat-Flux
, as the OpenFOAM adapter uses the data name (prefix) to determine the data type. Naming itFlux
in the first case sounds like a historical residue and does not agree with ourflow-over-heated-plate
case. This change means that the data needs to be renamed in the (case-specific) FEniCS and Nutils examples.This is only an incomplete attempt, as I cannot manage to set the heat source and sink to be a single point/cell in OpenFOAM. I have tried different (less or more wrong) approaches:
faceSet
and create a patch from it usingcreatePatch
. This is the setup I include here. It runs, but not as expected: the additional patch does not get any temperature values and ParaView complains. A problem may be that there is a conflict of boundary conditions for the same faces.setFields
. Somehow this also gave weird results.blockMeshDict
. I guess the problem there was that the blocks were overlapping.A trivial workaround is to set the complete bottom & left walls of the
Dirichlet
participant as a heat sink and the complete top & right walls of theNeumann
participant as a heat source (I think I even swapped the names accidentally). But this is then a different setup and the isolines have completely different shape.@davidscn if you want, feel free to start from this and debug it.
TODO:
T_sink = 1
,T_source = 8
,k = 3
(which should bealpha
). I have no clue what to do withbeta
.topoSetDict
,createPatchDict
, unused settings inblockMeshDict
/T
, etc.Flux
/Heat-Flux
README.md
The original motivation for this case was to study precice/openfoam-adapter#93. The issue is observable also in the current state of the case.
This also closes #204.