- Sep 19, 2017
-
-
XiEngineFoam is a premixed/partially-premixed combustion engine solver which exclusively uses the Xi flamelet combustion model. engineFoam is a general engine solver for inhomogeneous combustion with or without spray supporting run-time selection of the chemistry-based combustion model.
-
-
Standard crank-connecting rod and the new free-piston kinematics motion options are provides, others can easily be added. Contributed by Francesco Contino and Nicolas Bourgeois, BURN Research Group.
-
- Sep 15, 2017
-
-
Patch contributed by Juho Peltola, VTT Resolves bug-report https://bugs.openfoam.org/view.php?id=2699
-
- Sep 14, 2017
-
-
- Sep 09, 2017
-
-
Patch contributed by Bruno Santos Resolves patch request https://bugs.openfoam.org/view.php?id=2691
-
- Sep 06, 2017
-
-
- May 09, 2018
-
-
Andrew Heather authored
-
Andrew Heather authored
-
- May 08, 2018
-
-
Andrew Heather authored
-
mattijs authored
-
Andrew Heather authored
-
Andrew Heather authored
Calculates and outputs a field whose values are offset to a reference value obtained by sampling the field at a user-specified location. The field values are calculated using: \f[ f_c = s(f_{c,t} - f_p + f_{off}) \f] where \vartable f_c | field values at cell s | optional scale factor (default = 1) f_{c,t} | current field values at cell at this time f_p | field value at position f_{off} | offset field value (default = 0) \endvartable Usage Example of function object specification to calculate the reference field: \verbatim pRef { type reference; libs ("libfieldFunctionObjects.so"); ... field p; result pRef; position (0 0 0); scale 1.2; offset 100000; } \endverbatim
-
Mark OLESEN authored
- now treat all mesh geometries as moving, since we cannot know beforehand if this is the case.
-
mattijs authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- allows processing of the data during the calculation.
-
Mark OLESEN authored
- prevents accidental overwrite of runtime conversions.
-
Mark OLESEN authored
- use same data mask width as ensightCase (8 digits) - consolidate geometry time steps with data time steps if possible, for a cleaner case file.
-
- May 07, 2018
-
-
Mark OLESEN authored
- catch (value) - forward declarations for operator<<() - non-const access to Reaction name() - spurious return statement
-
Mark OLESEN authored
-
Mark OLESEN authored
- the problem arises since the various surface writers are stateless. The collated output format hacks around this limitation by adding in its own fieldDict caching (to disk). Now include an updateMesh() method to hook into geometry changes. This is considered a stop-gap measure until the surface output handling is improved.
-
Mark OLESEN authored
- improvement documentation for surface sampling. - can now specify alternative sampling scheme for obtaining the face values instead of just using the "cell" value. For example, sampleScheme cellPoint; This can be useful for cases when the surface is close to a boundary cell and there are large gradients in the sampled field. - distanceSurface now handles non-closed surfaces more robustly. Unknown regions (not inside or outside) are marked internally and excluded from consideration. This allows use of 'signed' surfaces where not previously possible.
-
- May 03, 2018
-
-
Andrew Heather authored
-
- May 02, 2018
-
-
Mark OLESEN authored
- this avoids some valgrind messages "Uninitialised byte(s) found during client check request"
-
Mark OLESEN authored
- a -valgrind option for logging with valgrind - determine number of processors from system/decomposeParDict or -decomposeParDict if -np was not specified
-
Mark OLESEN authored
- find the position of the first bit off - symmetrical with find_first()
-
- Apr 30, 2018
-
-
Mark OLESEN authored
- this should normally not be triggered, provided that setRefCell was used. However, if getRefCellValue() was called without any previous checking on refCelli, it is possible to provoke errors.
-
- Mar 07, 2018
-
-
Mark OLESEN authored
-
- Mar 05, 2018
-
-
Mark OLESEN authored
- The iterator for a HashSet dereferences directly to its key. - Eg, for (const label patchi : patchSet) { ... } vs. forAllConstIter(labelHashSet, patchSet, iter) { const label patchi = iter.key(); ... }
-
- Apr 30, 2018
-
-
mattijs authored
-
Mark OLESEN authored
-
Mattijs Janssens authored
Feature regionsplit See merge request OpenFOAM-plus!201
-
Mark OLESEN authored
-
Mark OLESEN authored
No completion added for XXX ... incorrect platform, or not yet compiled?
-
- Apr 27, 2018
-
-
Mark OLESEN authored
- the algorithm was last used in OpenFOAM-2.4, after which it was replaced with a FaceCellWave version. Whereas the original (2.4.x) version exhibited performance degradation on very large meshes (with explicit constraints), the FaceCellWave version exhibited performance issues with large numbers of blocked faces. With large numbers of blocked faces, the FaceCellWave regionSplit could take between 10 to 100 times longer due to the slow propagation speed through blocked faces. The 2.4 regionSplit has been revamped to avoid local memory allocations, which appears to have been the source of the original performance issues on large meshes. For additional performance, intermediate renumbering is also avoided during the consolidation of regions over processor domains.
-
Mark OLESEN authored
- controlled by the the 'printExecutionFormat' InfoSwitch in etc/controlDict // Style for "ExecutionTime = " output // - 0 = seconds (with trailing 's') // - 1 = day-hh:mm:ss ExecutionTime = 112135.2 s ClockTime = 113017 s ExecutionTime = 1-07:08:55.20 ClockTime = 1-07:23:37 - Callable via the new Time::printExecutionTime() method, which also helps to reduce clutter in the applications. Eg, runTime.printExecutionTime(Info); vs Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; -- ENH: return elapsedClockTime() and clockTimeIncrement as double - previously returned as time_t, which is less portable.
-
- Apr 26, 2018
-
-
Mark OLESEN authored
- reduce cell looping. Avoid initial looping over blockFace. - make early return (no processor sets, connections, or blocked faces) more apparent.
-
- Apr 27, 2018
-
-
Mark OLESEN authored
- alternative calcCellCells that handled explicitConnections was deactivated (2014 or earlier) and finally removed APR-2018.
-
Mark OLESEN authored
For example, with some HashTable or Map container of models { model0 => 1, model1 => 4, model2 => 5, model3 => 12, model4 => 15, } specify the remapping Map<label> mapper({{1, 3}, {2, 6}, {3, 12}, {5, 8}}); inplaceMapValue(mapper, models) then yields { model0 => 3, model1 => 4, model2 => 8, model3 => 12, model4 => 15, } -- ENH: extend bitSet::count() to optionally count unset bits instead. -- ENH: BitOps compatibility methods for boolList. - These ease coding that uses a boolList instead of bitSet and use short-circuit logic when possible. Eg, when 'bitset' and 'bools' contain the same information bitset.count() <-> BitOps::count(bools) bitset.all() <-> BitOps::all(bools) bitset.any() <-> BitOps::any(bools) bitset.none() <-> BitOps::none(bools) These methods can then be used directly in parameters or in logic. Eg, returnReduce(bitset.any(), orOp<bool>()); returnReduce(BitOps::any(bools), orOp<bool>()); if (BitOps::any(bools)) ...
-