- Feb 19, 2020
-
-
- was missing cast to symmTensor
-
- Feb 18, 2020
-
-
Mark OLESEN authored
- can be convenient to bundle IO options as a single parameter
-
Mark OLESEN authored
STYLE: change return type of NewOFstream from Ostream to OSstream
-
Mark OLESEN authored
- expose the write IOstreamOption in Time
-
Mark OLESEN authored
* Support default values for format/compress enum lookups. - Avoids situations where the preferred default format is not ASCII. For example, with dictionary input: format binar; The typing mistake would previously have caused formatEnum to default to ASCII. We can now properly control its behaviour. IOstream::formatEnum ( dict.get<word>("format"), IOstream::BINARY ); Allowing us to switch ascii/binary, using BINARY by default even in the case of spelling mistakes. The mistakes are flagged, but the return value can be non-ASCII. * The format/compression lookup behave as pass-through if the lookup string is empty. - Allows the following to work without complaint IOstream::formatEnum ( dict.getOrDefault("format", word::null), IOstream::BINARY ); - Or use constructor-like failsafe method IOstream::formatEnum("format", dict, IOstream::BINARY); - Apply the same behaviour with setting stream format/compression from a word. is.format("binar"); will emit a warning, but leave the stream format UNCHANGED * Rationalize versionNumber construction - constexpr constructors where possible. Default construct is the "currentVersion" - Construct from token to shift the burden to versionNumber. Support token as argument to version(). Now: is.version(headerDict.get<token>("version")); or failsafe constructor method is.version ( IOstreamOption::versionNumber("version", headerDict) ); Before (controlled input): is.version ( IOstreamOption::versionNumber ( headerDict.get<float>("version") ) ); Old, uncontrolled input - has been removed: is.version(headerDict.lookup("version")); * improve consistency, default behaviour for IOstreamOption construct - constexpr constructors where possible - add copy construct with change of format. - construct IOstreamOption from streamFormat is now non-explicit. This is a commonly expected result with no ill-effects
-
Mark OLESEN authored
- align Switch more with Enum. Now have find(), found() static methods. Constructors with failsafe option. The find() method makes for clearer coding: OLD Switch sw(some_string, true); // NB: true = allowBad if (sw.valid()) ... NOW Switch sw = Switch::find(some_string); if (sw.good()) ... or if (Switch::found(some_string)) ... - improve construct from dictionary to handle all valid token types. Previously just read in a word. - Remove asText() method - replaced by c_str() and str() several versions ago.
-
Mark OLESEN authored
- allows reuse as base implementation for IOstream::check()
-
Mark OLESEN authored
- The warning in Field.C has been emitted since 2005. - The warning in mappedPatchBase.C has been emitted since 2012.
-
Mark OLESEN authored
- an old pre-OpenFOAM transitional feature (prior to 2004) for named faces.
-
Mark OLESEN authored
-
Mark OLESEN authored
- underflow/overflow handling for type narrowing. Eg, double -> float, int64 -> int32
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- renamed 'core/' -> 'base/' to avoid gitignore masking when re-adding files - rename 'nas/' to 'nastran/' for more clarity - relocated OBJstream from surfMesh to fileFormats STYLE: remove unused parseNASCoord. Was deprecated 2017-09
-
Mark OLESEN authored
-
Andrew Heather authored
ENH: Improve polynomial equations and analytical eigendecompositions See merge request !340
-
- `tensor` and `tensor2D` returns complex eigenvalues/vectors - `symmTensor` and `symmTensor2D` returns real eigenvalues/vectors - adds new test routines for eigendecompositions - improves numerical stability by: - using new robust algorithms, - reordering the conditional branches in root-type selection
-
- In the course of time, global funcs/opers of Tensor types expanded leaving funcs/opers unordered. - Therefore, by following the order designated in Matrix class, the order of global funcs and global opers are reordered: - oper+ oper- oper* oper/ inner-product double-inner-product outer-product
-
- ensures each Tensor-container operates for the following base types: - floatScalar - doubleScalar - complex - adds/improves test applications for each container and base type: - constructors - member functions - global functions - global operators - misc: - silently removes `invariantIII()` for `tensor2D` and `symmTensor2D` since the 3rd invariant does not exist for 2x2 matrices - fixes `invariantII()` algorithm for `tensor2D` and `symmTensor2D` - adds `Cmpt` multiplication to `Vector2D` and `Vector` - adds missing access funcs for symmetric containers - improves func/header documentations
-
- replaces floating-point equal comparisons in `linearEqn`, `quadraticEqn`, and `cubicEqn`, - ensures `quadraticEqn` and `cubicEqn` can return `complex` roots, - reorders if-branches in `quadraticEqn` and `cubicEqn` to avoid zero-equal comparison, - adds Kahan's cancellation-avoiding algorithm into `quadraticEqn` and `cubicEqn` for the numerically-sensitive discriminant computation, - adds/improves `polynomialEqns` tests: * adds Test-linearEqn.C * adds Test-quadraticEqn.C * improves Test-cubicEqn.C
-
Andrew Heather authored
Feature ensight parts See merge request !339
-
- includes restructuring and simplification of low-level ensight part handling and refactor of backends to improve code reuse. foamToEnsight ------------- * new cellZone support. This was previously only possible via a separate foamToEnsightParts utility that was not parallelized. * support for point fields. * `-nearCellValue` option (as per foamToVTK) * data indexing now uses values from the time index. This is consistent with the ensightWrite function object and can help with restarts. * existing ensight directories are removed, unless the -no-overwrite option is supplied foamToEnsightParts ------------------ * now redundant and removed. ensightOutputSurface (new class) -------------------------------- * a lightweight wrapper for point/face references that is tailored for the ensightSurfaceWriter. It uses compact face/point information and is serial only, since this is the format requirements from the surfaceWriter class. ensightMesh (revised class) --------------------------- * now only holds a polyMesh reference, which removes its dependency on finiteVolume and allows it to be relocated under fileFormats instead of conversion. Removed classes: ensightParts, ensighPartFaces, ensightPartCells - these were used by foamToEnsightParts, but not needed anymore.
-
- indirect lists, lists of labels - writeString() methods to avoid any ambiguities - support handling of mixed element/node data in ensightCase
-
- Feb 12, 2020
-
-
mattijs authored
-
mattijs authored
-
mattijs authored
-
Mark OLESEN authored
-
mattijs authored
In differing precisions the PrecisionAdaptor will copy the input array element by element and this can trigger NaN detection.
-
Mark OLESEN authored
- '-c' option (as per shell), '-Dkey[=value]' option to provide preferences via the command-line. For example, etc/openfoam -DWM_COMPILER=Clang -int64 ./Allwmake -j -s -l These can also be combined with other options. Eg, etc/openfoam -DWM_COMPILER=Clang \ -c 'wmake -show-path-cxx -show-cxxflags' - relocated from bin/tools/ => etc/ for easier access - bin/tools/openfoam.in : for autoconfig-style installation - Auto-detect if the shell script was executed with openfoam and interpret accordingly. Simple example, -------------- #!/usr/bin/openfoam cd "${0%/*}" || exit # Run -*-sh-*- from this dir blockMesh simpleFoam -------------- Note it is NOT currently possible to provide any other parameters this way. Eg, `#!/usr/bin/openfoam -sp` (NOT) This will either fail to run, or result in infinite recursion.
-
Mark OLESEN authored
- simplifies code, covers most cases. Can use wmake -show-api or wmakeBuildInfo to query the make rules. STYLE: Allwmake script adjustments - use bin/foamEtcFile instead of relying on PATH. The make environment may not have the OpenFOAM bin/ in it. - simpler shell syntax
-
mattijs authored
-
- Feb 11, 2020
-
-
Mark OLESEN authored
-
- Feb 10, 2020
-
-
Mark OLESEN authored
-
Andrew Heather authored
-
- Feb 07, 2020
-
-
Mark OLESEN authored
- useful for post-processing and data conversion tests
-
Mark OLESEN authored
- Query the etc/config.sh values for ThirdParty software. Usable without an active OpenFOAM environment.
-
Mark OLESEN authored
-
- Feb 06, 2020