openfoam issueshttps://develop.openfoam.com/Development/openfoam/-/issues2017-12-22T11:54:11Zhttps://develop.openfoam.com/Development/openfoam/-/issues/680decomposition fails with faMesh2017-12-22T11:54:11ZMark OLESENdecomposition fails with faMeshRunning the wolfsgrube avalanche tutorial. Decomposing with 4 proc OK.
Decomposing with hierarchical (4 4 1)
--> FOAM FATAL ERROR:
Impossible processor label 757738797for face 8
From function Finite area mesh decompositio...Running the wolfsgrube avalanche tutorial. Decomposing with 4 proc OK.
Decomposing with hierarchical (4 4 1)
--> FOAM FATAL ERROR:
Impossible processor label 757738797for face 8
From function Finite area mesh decomposition
in file faMeshDecomposition.C at line 223.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/673scalarRanges from string could be improved2018-01-23T15:54:43ZMark OLESENscalarRanges from string could be improvedAs noted discovered in #672 the creation of scalarRanges from a string uses an Istream for the intermediate tokens and parses through until it hits an error. This fails when the Istream is an ITstream since for that class the eof trig...As noted discovered in #672 the creation of scalarRanges from a string uses an Istream for the intermediate tokens and parses through until it hits an error. This fails when the Istream is an ITstream since for that class the eof triggers an error.
Would be cleanest to pass through the raw string directly create tokens and then walk through them in a normal loop.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/720add toc-style functionality to clouds/parcels2018-02-02T17:27:24ZMark OLESENadd toc-style functionality to clouds/parcelsCan currently write to an objectRegistry, but cannot otherwise ascertain which fields a cloud would normally write.
Add a classes() method similar to what objectRegistry and IOobjectList have. However, it is probably inconvenient to hav...Can currently write to an objectRegistry, but cannot otherwise ascertain which fields a cloud would normally write.
Add a classes() method similar to what objectRegistry and IOobjectList have. However, it is probably inconvenient to have the matcher predicate.
In the cloud:
template<class CloudType>
void queryClasses(const CloudType&, HashTable<wordHashSet>& classes) const
{
classes(IOField<label>::typeName).insert
({
"active",
"typeId",
});
classes(IOField<scalar>::typeName).insert
({
"nParticle",
"d",
"dTarget",
"rho",
"age",
"tTurb",
});
...
}
@andyv1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/739avoid implicit conversion of string to regExp in string-list matching2018-02-22T12:16:37ZMark OLESENavoid implicit conversion of string to regExp in string-list matchingCurrently have this type of code:
labelList findStrings(const std::string& re, const UList<StringType>& lst, const bool invert=false)
{
const regExp matcher(re);
return findMatchingStrings(matcher, lst, invert);
...Currently have this type of code:
labelList findStrings(const std::string& re, const UList<StringType>& lst, const bool invert=false)
{
const regExp matcher(re);
return findMatchingStrings(matcher, lst, invert);
}
This means that the seeming innocuous call
findStrings(someWord, listOfString);
actually incurs an additional regExp allocation and then uses this for
performing the match. If the word contains a '.' meta-character, this
could well lead to false positives. In either case, we would be
using the regex matcher when a simple string compare would also work.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/726Adjustments for hashset hashtable2018-02-22T12:17:02ZMark OLESENAdjustments for hashset hashtableCurrently have one and two parameter non-const versions of operator() - should be possible to combine using a forwarding variadic. To avoid ambiguities it would be advisable to restrict const access to the dedicated lookup method.
Explic...Currently have one and two parameter non-const versions of operator() - should be possible to combine using a forwarding variadic. To avoid ambiguities it would be advisable to restrict const access to the dedicated lookup method.
Explicitly delete the inherited operator() in hashset instead of relying on masking. v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/721minor cleanup of lagrangian writing etc2018-02-22T12:17:21ZMark OLESENminor cleanup of lagrangian writing etc- the writeLagrangianPositions switch is not registered (so local system/controlDict changes are ignored).
- the writeLagrangianCoordinate switch should now be dropped. No longer transition, things won't restart if `coordinates` aren't t...- the writeLagrangianPositions switch is not registered (so local system/controlDict changes are ignored).
- the writeLagrangianCoordinate switch should now be dropped. No longer transition, things won't restart if `coordinates` aren't there.
- relocate geometryType enum from IOPosition to particle. This will make it non-templated.
- consolidate oldParticle struct into one place (eg, in particle) and rename as something like `compat1706` so that its compatibility level is transparently documented via the API.
Optional: add `-write-positions` command-line option that forces writeLagrangianPositions on. This could be useful for things like reconstructPar, foamToVTK, foamToEnsight etc, when the user needs the information for external consumption, but only realized it after the simulation was complete.
@andy @Rogerv1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/724misleading name for two-parameter Foam::name()2018-02-22T12:18:23ZMark OLESENmisleading name for two-parameter Foam::name()- currently accepts a printf-style format string. It should probably be renamed as `format` instead. Since this is reasonably infrequently used, I think that it should be relegated to the stringOps namespace as well. Eg,
stringOps::...- currently accepts a printf-style format string. It should probably be renamed as `format` instead. Since this is reasonably infrequently used, I think that it should be relegated to the stringOps namespace as well. Eg,
stringOps::format("fmt%d", 10);
In fact, probably want to make the whole thing templated:
template<class Primitive, class StringType=string>
StringType format(const char* fmt, const Primitive& val)
If desired, could have convenience static `word::format` as part of the word class, etc.
Might also consider with Args... forwarding.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/725missing construct List from UList2018-02-22T12:19:44ZMark OLESENmissing construct List from UListseems to be handled by this one:
template<class T2>
explicit List(const List<T2>&);
only noticed when I tried to inherit constructors from List in a derived class.seems to be handled by this one:
template<class T2>
explicit List(const List<T2>&);
only noticed when I tried to inherit constructors from List in a derived class.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/674configuring 3rd party clang and mpfr2018-03-05T15:26:00ZMark OLESENconfiguring 3rd party clang and mpfr- When using third-party compilers, it is currently possible to build gcc with a system or third-party installation of gmp/mpfr. The clang installation does not normally need these. However CGAL does normally build using gmp/mpfr. If the...- When using third-party compilers, it is currently possible to build gcc with a system or third-party installation of gmp/mpfr. The clang installation does not normally need these. However CGAL does normally build using gmp/mpfr. If these are not available on the system, it is also possible to compile without. Eg,
./makeCGAL gmp-none mpfr-none
This mostly solves the problem, but only until the final link stage. The wmake rules for CGAL include `-lmpfr` explicitly. As a workaround, this can be removed, but a better solution may be to check the contents of the CGAL/compiler_config.h for this type of content:
#define CGAL_USE_GMP 1
#define CGAL_USE_MPFR 1
//#define CGAL_USE_GMPXX 1v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/706Fix regressions introduced by #6862018-04-06T10:41:16ZMark OLESENFix regressions introduced by #686v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/700cannot run foamSearch on read-only directory2018-05-07T14:58:44ZMark OLESENcannot run foamSearch on read-only directorya local temp file is created that causes problems.
cross-reference EP#587a local temp file is created that causes problems.
cross-reference EP#587v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/781Change default flag for lagrangian post-processing in paraview2018-05-15T10:22:04ZRoger AlmenarChange default flag for lagrangian post-processing in paraviewRequest to change the default flag under $FOAM_ETC/controlDict
```
// Write lagrangian "positions" file in v1706 format (at earlier)
writeLagrangianPositions 0;
```
from 0 to 1. Otherwise it is not possible to post-process lagrangian...Request to change the default flag under $FOAM_ETC/controlDict
```
// Write lagrangian "positions" file in v1706 format (at earlier)
writeLagrangianPositions 0;
```
from 0 to 1. Otherwise it is not possible to post-process lagrangian cases in Paraview, loading directly the OpenFOAM case.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/751cleanup packed lists2018-05-30T09:53:40ZMark OLESENcleanup packed listsVarious things affecting PackedList and PackedBoolList
- PackedBoolList is a class built on PackedList with additional features, but could be streamlined/reduces with some refactoring.
- iterator access in general is/was a questionable d...Various things affecting PackedList and PackedBoolList
- PackedBoolList is a class built on PackedList with additional features, but could be streamlined/reduces with some refactoring.
- iterator access in general is/was a questionable design feature. It is normally needed, and adds a layer of complexity. However, being able to quickly find and access the indices of bits set (for PackedBoolList) would be more useful - we otherwise spend loads of times indexing through zeroes and have numerous bit-ops on the way (losing the inherent parallelism for Bool).
- propagate into reduction operations.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/804additional input/output parameters for lumped point motion2018-06-07T05:58:53ZMark OLESENadditional input/output parameters for lumped point motion- input or output scaling of values. Eg when the structures model uses `mm`, `ton` units etc.
- logging of input/output. To track the information exchange throughout the entire simulation- input or output scaling of values. Eg when the structures model uses `mm`, `ton` units etc.
- logging of input/output. To track the information exchange throughout the entire simulationv1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/858swirlFanVelocity2018-06-11T14:48:02ZPrashant SonakarswirlFanVelocityoptional entry rEff is set to zero. Please reconsider division.optional entry rEff is set to zero. Please reconsider division.v1806Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/openfoam/-/issues/883major() / minor() conflicts with sys/sysmacros.h2018-06-20T00:04:13ZMark OLESENmajor() / minor() conflicts with sys/sysmacros.hmajor() and minor() are GNU macros in sys/sysmacros.h - generates warning on Ubuntu.major() and minor() are GNU macros in sys/sysmacros.h - generates warning on Ubuntu.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/888bad indexing in regionSizeDistribution function object2018-06-20T12:06:29ZMark OLESENbad indexing in regionSizeDistribution function objectnoted by @Prashantnoted by @Prashantv1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/901system command swallows first argument2018-06-22T14:14:19ZMark OLESENsystem command swallows first argumentThe multi-argument version of Foam::system() inadvertently swallows the first argument.
- Affects dumping of rays (uses objToVTK)
- doxygen browser
- dynamic code (swallows the leading `-s`, meaning that there is additional verbosity)The multi-argument version of Foam::system() inadvertently swallows the first argument.
- Affects dumping of rays (uses objToVTK)
- doxygen browser
- dynamic code (swallows the leading `-s`, meaning that there is additional verbosity)v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/884access to invalid coordinateRotation after move assignment2018-06-26T05:56:09ZMark OLESENaccess to invalid coordinateRotation after move assignmentThe coordinateSystem move assignment leaves the coordinateRotation undefined. This is OK, and consistent with various move semantics, but the transfer also forces a clear() on the old object. This causes an invalid access to the autoPtr.The coordinateSystem move assignment leaves the coordinateRotation undefined. This is OK, and consistent with various move semantics, but the transfer also forces a clear() on the old object. This causes an invalid access to the autoPtr.v1806Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/issues/892Incorrect order for 6-component VTK symmTensor2018-07-01T05:46:06ZMark OLESENIncorrect order for 6-component VTK symmTensor| | order | reference |
|----|----|---|
| OpenFOAM | XX, XY, XZ, YY, YZ, ZZ | [SymmTensor] |
| VTK | XX, YY, ZZ, XY, YZ, XZ | [vtkMath::TensorFromSymmetricTensor][vtkMath] |
The reordering is thus `(0 3 5 1 4 2)` in either di...| | order | reference |
|----|----|---|
| OpenFOAM | XX, XY, XZ, YY, YZ, ZZ | [SymmTensor] |
| VTK | XX, YY, ZZ, XY, YZ, XZ | [vtkMath::TensorFromSymmetricTensor][vtkMath] |
The reordering is thus `(0 3 5 1 4 2)` in either direction, or
```
swap(1, 3)
swap(2, 5)
```
[SymmTensor]: https://develop.openfoam.com/Development/OpenFOAM-plus/blob/master/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H
[vtkMath]: https://www.vtk.org/doc/nightly/html/classvtkMath.htmlv1806Mark OLESENMark OLESEN