OpenFOAM-plus issueshttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues2019-10-01T09:49:53Zhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1407surface normal values need temporal ramping2019-10-01T09:49:53ZMark OLESENsurface normal values need temporal rampingref EP1081
@Prashant @svilfayeref EP1081
@Prashant @svilfayeMark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1404correctBoundaryConditions documentation2019-08-21T07:01:34ZPacific ESIcorrectBoundaryConditions documentationIt is difficult to know the correct usage of the GeometricField member function correctBoundaryConditions as the documentation is sparse. My understanding is that it should be called for a volume field if that field is not modified by a ...It is difficult to know the correct usage of the GeometricField member function correctBoundaryConditions as the documentation is sparse. My understanding is that it should be called for a volume field if that field is not modified by a call to a solve function but by other means such as an assignment statement. But my understanding may not be correct as I can see places in the OpenFOAM code where correctBoundaryConditions is not called despite volume variables being changed by assignments. For example, in the interPhaseChangeFoam
solver:
1) pEqn.H
near the end p_rgh is in some cases updated as
p_rgh = p - rho*gh;
2) alphaEqn.H
alpha1 is updated as
alpha1 = 0.5*alpha1 + 0.5*alpha10;
Some clarification of the correct usage of correctBoundaryConditions would be helpful. In particular, when it should be called and when not.https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1399Suggestion for improvement of Code development guide2019-08-19T11:22:10ZJohan RoenbySuggestion for improvement of Code development guideCommunity contributors who want to fix a bug or make an improvement to OpenFOAM will often have an older compiled version of the OpenFOAM-plus develop branch on their local computer. The proper workflow for such people would (as I unders...Community contributors who want to fix a bug or make an improvement to OpenFOAM will often have an older compiled version of the OpenFOAM-plus develop branch on their local computer. The proper workflow for such people would (as I understand it) be to git pull the latest OpenFOAM-plus, recompile it and then introduce their changes in a bug-fix/feature branch derived from there.
However, if API changes have occurred since their last git pull, the recompilation will fail due to outdated dep files etc. Having to wait for a full recompilation of everything every time I wanted to contribute has been a source of frustration for me until I discovered the -u/-update flag of the Allwmake script, which removes deprecated files and directories so the updating becomes much faster.
I therefore suggest to make contributors aware of this flag in the code development guide [here](https://develop.openfoam.com/Development/OpenFOAM-plus/wikis/page-code-development).Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1398Holes are detected in wrong places by the overset algorithm in ``twoSimpleRot...2019-08-26T14:39:10ZHassan KassemHoles are detected in wrong places by the overset algorithm in ``twoSimpleRotors`` tutorial<!--
*** Please read this first! ***
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "bug" label and check to see if it has already been reported
You can see how your report will be ...<!--
*** Please read this first! ***
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "bug" label and check to see if it has already been reported
You can see how your report will be rendered on the platform by using the
"preview" tab above
-->
<!--
All text between these markers are comments and will not be present in the
report
-->
### Summary
The overset algorithm detects the wrong ``cellType``. Basically, it marks some cells as holes when the interpolated cells are near the wall.
### Steps to reproduce
Run the ``twoSimpleRotors`` tutorial for few time steps and visualize the ``cellType`` in paraview.
### Example case
<!--
If possible, please create a SMALL example and attach it to your report
If you are using an older version of OpenFOAM this will also determine
whether the bug has been fixed in a more recent version
-->
Run the ``twoSimpleRotors`` there are no modifications needed to produce this issue.
### What is the current *bug* behaviour?
<!-- What actually happens -->
Holes are detected in wrong places which leads to zero velocity.
### What is the expected *correct* behavior?
<!-- What you should see instead -->
It should be as shown in the [user guide](https://vimeo.com/223790883)
<figure class="video_container">
<iframe src="https://vimeo.com/223790883" frameborder="0" allowfullscreen="true"> </iframe>
</figure>
### Relevant logs and/or images
<!--
Paste any relevant logs - please use code blocks (```) to format console
output, logs, and code as it's very hard to read otherwise.
-->
Here are a collection of six snapshots for ``cellType`` field and two for the velocity field;
* t1
![test1](/uploads/b9a856a0ec9c7ae2e9aa344dd65967af/test1.png)
* t2
![test2](/uploads/51b676d235e83d1b2408bbbf16554878/test2.png)
* t3
![test3](/uploads/5acea4afaac26fe6c6f84f95c13725cb/test3.png)
* t3, velocity field
![test3_U](/uploads/ef1e0494e59b8b4639e4c822bd4fc161/test3_U.png)
* t4
![test4](/uploads/f7e421478a1bfd85a0ed1179f5e9f105/test4.png)
* t5
![test5](/uploads/22ce12218f32cda2fd635eecab93d7bd/test5.png)
* t6
![test6](/uploads/556d2b871a61c616682bfb8bd6c477a8/test6.png)
* t6, velocity field
![test6_U](/uploads/10967ca1af7694e5edfff0f7b9bf7efa/test6_U.png)
### Environment information
<!--
Providing details of your set-up can help us identify any issues, e.g.
OpenFOAM version : v1806|v1812|v1906 etc
Operating system : ubuntu|openSUSE|centos etc
Hardware info : any info that may help?
Compiler : gcc|intel|clang etc
-->
- OpenFOAM version : v1906
- Operating system : ubuntu 18.04LTS WSL on Win10
- Hardware info :
- Compiler : gcc
### Possible fixes
<!--
If you can, link to the line of code that might be responsible for the
problem
The "/label ~bug" text is a gitlab flag that will add the "bug" label to this
issue
-->
I'm not sure but it seems that this issue didn't exist for the version you used to produce the video attached above.https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1396AMI zone inside overset zone2019-09-21T09:31:40ZGreg BurgreenAMI zone inside overset zone### Functionality to add/problem to solve
Is it possible to run an AMI zone within an overset mesh zone? My case involves a cycloidal propeller, in which five blades will rotate together as a single overset mesh zone, and then each sing...### Functionality to add/problem to solve
Is it possible to run an AMI zone within an overset mesh zone? My case involves a cycloidal propeller, in which five blades will rotate together as a single overset mesh zone, and then each single blade will independently vary its pitch as an embedded AMI within the enclosing overset mesh.
https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1392Capillary Courant Number for reducing spurious velocities2019-10-12T17:31:09ZNorbert WeberCapillary Courant Number for reducing spurious velocities### Functionality to add/problem to solve
Spurious (unphysical) velocities are often a problem in volume of fluid simulations. Dozens of papers are written about techniques to reduce them.
As surface tension is implemented explicitly i...### Functionality to add/problem to solve
Spurious (unphysical) velocities are often a problem in volume of fluid simulations. Dozens of papers are written about techniques to reduce them.
As surface tension is implemented explicitly in interFoam, the time step needs to be limited. It should be limited by the capillary Courant number.
### Target audience
A Capillary Courant number will be useful for everyone who uses interFoam or multiphaseInterFoam, and is working with surface tension. It will be especially usefull when simulating instabilities, because before the instability appears there should usually not be any flow in the fluid.
### Proposal
A Capillary Courant Number should be added to interFoam and multiphaseInterFoam.
### What does success look like, and how can we measure that?
The simplest test case would consist of two fluids, one over another. There should not be any flow. Of course, spurious velocities will appear - however, they will be much smaller when using a Capillary Courant number.
### Links / references
Personnettaz, P.; Beckstein, P.; Landgraf, S.; Köllner, T.; Nimtz, M.; Weber, N.; Weier, T.: Thermally driven convection in Li||Bi liquid metal batteries, Journal of Power Sources 401(2018) 362-374
The capillary time step is provided at [page 36, equation A.1 of the arXiv version.](https://arxiv.org/pdf/1805.11521.pdf)
### Funding
I can provide the source code for interFoam and multiphaseInterFoam.Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1391more expressive matrix method names2019-08-12T15:56:26ZMark OLESENmore expressive matrix method namesA problem was recently encountered by @philipc while porting some foam-extend code.
In the OpenFOAM Matrix class, we use `m()` for rows and `n()` for cols, whereas foam-extend use the opposite naming.
This obviously makes for some very d...A problem was recently encountered by @philipc while porting some foam-extend code.
In the OpenFOAM Matrix class, we use `m()` for rows and `n()` for cols, whereas foam-extend use the opposite naming.
This obviously makes for some very difficult error-finding.
Since there is nothing intrinsically meaningful about `m` and `n`, I suggest that we use `rows()` and `cols()` instead (method names as per Eigen3) and mark `m()` and `n()` as deprecated. This would help identify these types of pitfalls in the future.
Votes please: @andy @kuti @philipcv1912Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1389Clang problem reading wild cards2019-08-01T17:05:46ZSergio FerrarisClang problem reading wild cardsClang has problems reading wild cards such as "(U|k|epsilon|s).*".
It doesn't expand it correctly thus, the error: Entry 'epsilonFinal' not found in dictionary.....Clang has problems reading wild cards such as "(U|k|epsilon|s).*".
It doesn't expand it correctly thus, the error: Entry 'epsilonFinal' not found in dictionary.....https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1388Interpolation scheme for electric current / heat flux2019-10-07T19:26:48ZNorbert WeberInterpolation scheme for electric current / heat flux### Functionality to add/problem to solve
An electric current is calculated as
```math
J = \sigma\cdot\nabla\varphi.
```
The gradient of the electric potential can not be calculated using the Gauss theorem with LINEAR interpolation of...### Functionality to add/problem to solve
An electric current is calculated as
```math
J = \sigma\cdot\nabla\varphi.
```
The gradient of the electric potential can not be calculated using the Gauss theorem with LINEAR interpolation of the potential . A special interpolation scheme is necessary. As described below, the potential at the face needs to be weighted by the conductivity of both cells.
![gradient](/uploads/a3f4ad605e37e98d3d0c97aaae1c5002/gradient.png)
### Target audience
The mentioned interpolation scheme is necessary for computing the gradient of
* electric potential (i.e. electric current)
* temperature (i.e. heat flux)
### What does success look like, and how can we measure that?
I use the mentioned interpolation scheme for several years. It is already validated and published.
### Links / references
Weber, N.; Beckstein, P.; Galindo, V.; Starace, M.; Weier, T.: Electro-vortex flow simulation using coupled meshes, Computers and Fluids 168(2018) 101-109
It is Eqn. 16/17 in the [Arxiv version. ](https://arxiv.org/pdf/1707.06546.pdf)
### Funding
I can provide the source code.Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1387Iso surface truncated by new "topo" method2019-11-28T12:07:44ZRiccardo RossiIso surface truncated by new "topo" methodDuring the same run in an external aerodynamics application, I have tried to use the new isoSurfaceTopo method to extract and visualize turbulent structures via Lambda2, which resulted in a troncated iso-surface near the object, as shown...During the same run in an external aerodynamics application, I have tried to use the new isoSurfaceTopo method to extract and visualize turbulent structures via Lambda2, which resulted in a troncated iso-surface near the object, as shown in the picture attached (orange is Lambda2 via standard isoSurface and blue Lambda2 via isoSurfaceTopo).
![isoSurfaceTopoComparison](/uploads/23a8cffff6f8c5c90b629363ef798f29/isoSurfaceTopoComparison.png)Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1386Lamb vector2019-08-06T11:23:11ZRiccardo RossiLamb vectorWhen trying to compute the Lamb vector function object as suggested in the guide with:
postProcess -func lambVector
I receive the following error:
Cannot find functionObject file lambVector
Moreover, the tutorial suggested in the gui...When trying to compute the Lamb vector function object as suggested in the guide with:
postProcess -func lambVector
I receive the following error:
Cannot find functionObject file lambVector
Moreover, the tutorial suggested in the guide to test the Lamb vector does not exist in the path:
$FOAM_TUTORIALS/incompressible/pimpleFoam/LES/motorBikeAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1385Old user/developer upgrade guide page should be removed2019-07-30T08:24:23ZTimofey MukhaOld user/developer upgrade guide page should be removedThe user and developer upgrade guides have migrated to the wiki, but pages for older releases and https://www.openfoam.com/documentation still point to
[the old guides](https://www.openfoam.com/documentation/developer-upgrade-guide.php)...The user and developer upgrade guides have migrated to the wiki, but pages for older releases and https://www.openfoam.com/documentation still point to
[the old guides](https://www.openfoam.com/documentation/developer-upgrade-guide.php), which give a miserable impression of not being updated. The old web-pages should probably be removed and the release pages, as well as [https://www.openfoam.com/documentation](https://www.openfoam.com/documentation) should link to the Gitlab wiki.
I think the spread of parts of documentation across the Gitlab wiki, doxygen (the extended guide), ordinary web-pages, and wiki.openfoam.com is a concern. The above is an example of associated artefacts. Is there some vision for consolidation? In Python, the Sphinx package is commonly used to parse the code like doxygen and then build additional documentation using markdown/rst. There is a C++ parser in Sphinx working on top of doxygen output. Perhaps this approach could be considered?Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1383Writing zoneID with isoSurface2019-10-10T17:08:35ZRiccardo RossiWriting zoneID with isoSurfaceI'm trying to save an alpha based isoSurface from a case running with overInterDyMFoam.
Everything works fine but if I ask for zoneID as one of the fields to be written with the surface along with velocity and turbulent kinetic energy, ...I'm trying to save an alpha based isoSurface from a case running with overInterDyMFoam.
Everything works fine but if I ask for zoneID as one of the fields to be written with the surface along with velocity and turbulent kinetic energy, only U and k files are produced.
I've tried to put the "dummy" keyword in the "fields" list and I get a warning for it only, so it looks like zoneID is found indeed as registered object.https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1382provide config switch to NOT treat errors as exceptions with function objects2019-07-26T10:31:41ZMark OLESENprovide config switch to NOT treat errors as exceptions with function objects- apparently annoys people that the function objects are too forgiving.
We could provide a switch to let people chose to have errors, not exceptions when loading function objects- apparently annoys people that the function objects are too forgiving.
We could provide a switch to let people chose to have errors, not exceptions when loading function objectsMark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1381Incorrect indexing in adjointSolverManager2019-07-23T11:27:07ZAndrew HeatherIncorrect indexing in adjointSolverManagerIn the following the index should simply be `solveri` and not `objectiveSolverIDs_[solveri]`
```
scalar objValue(Zero);
for (const label solveri : objectiveSolverIDs_)
{
objectiveManager& objManager =
adjo...In the following the index should simply be `solveri` and not `objectiveSolverIDs_[solveri]`
```
scalar objValue(Zero);
for (const label solveri : objectiveSolverIDs_)
{
objectiveManager& objManager =
adjointSolvers_[objectiveSolverIDs_[solveri]].getObjectiveManager();
objValue += objManager.print();
}
```v1912Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1380Simplify output of the forces functionObject2019-08-03T16:45:17ZTimofey MukhaSimplify output of the forces functionObject### Functionality to add/problem to solve
The output produced by the `forces` function object is much more complex than what it could be.
For each time step the output line is as
`0.65004 \t(4.966426e-01 1.252274e+00 -3.007485e-0...### Functionality to add/problem to solve
The output produced by the `forces` function object is much more complex than what it could be.
For each time step the output line is as
`0.65004 \t(4.966426e-01 1.252274e+00 -3.007485e-04)\t(4.246068e-01 1.273820e+00 2.141011e-17)\t(7.203576e-02 -2.154636e-02 -3.007485e-04)`
Here `\t` is a tab.
Also, two separate files are created, one for the forces and one for the moments.
### Proposal
Simply having 10 values separated by spaces or tabs (consistently!) would make it much easier to open the text file with e.g. numpy or pandas, without sacrificing much.
Combining both forces and moments into single file is also reasonable.
A switch could be added to allow falling back to the old output format.https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1377The current page 'OpenFOAM® Installation on Windows' has a somewhat misleadi...2019-07-17T22:52:57ZBruno SantosThe current page 'OpenFOAM® Installation on Windows' has a somewhat misleading FAQ entry about ParaViewI only noticed this after a forum member wasn't able to understand how ParaView is meant to be used on Windows when OpenFOAM.com is installed on Docker, see [discussion thread here](https://www.cfd-online.com/Forums/openfoam-installation...I only noticed this after a forum member wasn't able to understand how ParaView is meant to be used on Windows when OpenFOAM.com is installed on Docker, see [discussion thread here](https://www.cfd-online.com/Forums/openfoam-installation/219109-paraview-5-7-0-openfoam-v1906-windows.html).
So on this page: https://www.openfoam.com/download/install-binary-windows.php
Namely this FAQ entry:
> _How can I post process the results from OpenFOAM? I am unable to launch Paraview/ParaFoam from terminal?_
>
> **You will need to install ParaView for Windows separately from ParaView.** Create a file with the suffix ”.foam” e.g. type the command ”touch a.foam” in your case folder. **Launch ParaView and browse the case folder.** Open the file with suffix ”.foam” to start the post processing.
The sentences I put in bold are the ones that are in need of attention:
1. The first sentence is not stating explicitly that it needs ParaView to be installed separately from the Docker installation and instead be installed directly on Windows.
2. The second one is assuming the person understood the first sentence correctly, i.e. to do it on Windows and to work on Windows when handling the `.foam` file...
So the suggestion is that the first statement is revised to something like:
It's not possible to use ParaView within the container, you will need to download ParaView for Windows from the ParaView website, install it directly on Windows and use it outside of the Docker container.https://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1375add -postProcess to solvers2019-07-16T10:14:13ZMark OLESENadd -postProcess to solversMissing on some solvers, as mentioned on
https://www.cfd-online.com/Forums/openfoam-bugs/217677-wrong-statement-openfoam-documentation.htmlMissing on some solvers, as mentioned on
https://www.cfd-online.com/Forums/openfoam-bugs/217677-wrong-statement-openfoam-documentation.htmlMark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1374distance surfaces has gaps in mesh2019-11-08T07:11:42ZMark OLESENdistance surfaces has gaps in meshcross-ref EP1041cross-ref EP1041Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/OpenFOAM-plus/-/issues/1373laserDTRM infinite loop2019-07-15T14:08:17ZDawidLuczynieclaserDTRM infinite loop<!--
*** Please read this first! ***
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "bug" label and check to see if it has already been reported
You can see how your report will be ...<!--
*** Please read this first! ***
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "bug" label and check to see if it has already been reported
You can see how your report will be rendered on the platform by using the
"preview" tab above
-->
<!--
All text between these markers are comments and will not be present in the
report
-->
### Summary
<!-- Summarize the bug encountered concisely -->
A bug was encountered during the use of laserDTRM model in icoReactingMultiphaseInterFoam. When running in parallel, a particle or particles get stuck in the infinite loop at processor patches. The particle jumps from one CPU to another causing increase in the memory usage up to system overload and crash.
### Steps to reproduce
<!-- How one can reproduce the issue - this is very important -->
run icoReactingMultiphaseInterFoam on multiple CPUs with beam crossing multiple processor patches. Time to crash shorter when surface of the absorption/reflection is of complex texture.
### Example case
<!--
If possible, please create a SMALL example and attach it to your report
If you are using an older version of OpenFOAM this will also determine
whether the bug has been fixed in a more recent version
-->
unavailable
### What is the current *bug* behaviour?
<!-- What actually happens -->
simulation hangs during the cloud evolution / particles move. The job maintains CPU load up to the moment of memory overload.
### What is the expected *correct* behavior?
<!-- What you should see instead -->
The tracking of the particles stuck at patches should be abandoned after a few particle transactions between CPUs.
### Relevant logs and/or images
The bug doesn't produce error message - stuck at "moving particles ...." message.
<!--
Paste any relevant logs - please use code blocks (```) to format console
output, logs, and code as it's very hard to read otherwise.
-->
### Environment information
<!--
Providing details of your set-up can help us identify any issues, e.g.
OpenFOAM version : v1806|v1812|v1906 etc
Operating system : ubuntu|openSUSE|centos etc
Hardware info : any info that may help?
Compiler : gcc|intel|clang etc
-->
- OpenFOAM version :1812, 1906
- Operating system : ubuntu 18.04 LTS
- Hardware info : 2xEpyc7601, 1TB memory; also tested on Intel Xeon arch.
- Compiler : gcc
### Possible fixes
<!--
If you can, link to the line of code that might be responsible for the
problem
The "/label ~bug" text is a gitlab flag that will add the "bug" label to this
issue
-->
Introduce transaction counter.
Issue similar to [3056 bug](https://bugs.openfoam.org/view.php?id=3056 )
solution from attached file works for OF.org:
[0001-particle-Added-logic-to-break-closed-loops.patch](/uploads/4572f30ce474e37c4296df9bdce3267a/0001-particle-Added-logic-to-break-closed-loops.patch)