- Oct 03, 2016
-
-
Mark Olesen authored
All of the access methods for autoPtr include validity checks and will fail if the underlying point is NULL. In some cases, however, we'd like to retain the automatic deletion mechanism, but still address a nullptr. This is mostly for cases in which a file-stream should be allocated, but only on the master process. For these cases we'd still like to pass through and reference the underlying pointer (eg, to obtain the correct method call) without tripping the pointer check mechanism. If we attempt to use the ptr() method, the autoPtr memory management is bypassed and we risk memory leaks. Instead provide an alternative mechanism to obtain the raw underlying pointers/references. Use rawPtr() and rawRef() for these potentially useful, but also potentially dangerous, operations.
-
mattijs authored
-
- Sep 28, 2016
-
-
mattijs authored
-
mattijs authored
-
Mark Olesen authored
- Normally use '()' to deference. This has extra safety and issues a fatal error if the underlying pointer is not valid. However, in some cases we are happy with getting a null reference. The refOrNull() method returns the reference without any checking. Usage example: autoPtr<OFstream> osPtr; if (Pstream::master()) { osPtr.reset(new OFstream(...)); } writeViaMaster(osPtr.refOrNull()); - The writeViaMaster() call takes an OFstream reference, but this is only used directly on the master. The slaves will pass things through to the master.
-
- Sep 27, 2016
-
-
Mark Olesen authored
- can be used to loop over all enumerations in the order of definition.
-
- Sep 26, 2016
-
-
Mark Olesen authored
-
Mark Olesen authored
-
- Sep 23, 2016
-
-
Mark Olesen authored
- Similar to ensight converters (issue #240), improve speed for detection of lagrangian clouds. - provide a -noLagrangian option for symmetry
-
Mark Olesen authored
- Less looping when detecting lagrangian clouds and their fields. - Avoid using Time::setTime() and IOobjectList in tight loops. They both kill performance immensely. ENH: provide a -noLagrangian option to foamToEnsight and foamToEnsightParts for even more control.
-
Mark Olesen authored
- More informative than a horizonal line, can help when debugging. STYLE: remove unused write field methods from ensightParts
-
Mark Olesen authored
- The new field needs initialization with a dimensioned<Type> not just the dimensionSet. - The new field was also incorrectly being registered, which could cause issues later.
-
Mark Olesen authored
- affects foamToEnsightParts, sampled surfaces - Use ensightPTraits mechanism throughout to avoid this issue
-
- Sep 21, 2016
-
-
Mark Olesen authored
Old code: Found 10990 time steps Search for moving mesh ... no moving mesh detected. Startup in 329.09 s Updated: Found 10990 time steps Search for moving mesh ... no moving mesh detected. Startup in 1.6 s - Cause was checking "polyMesh/points" via an IOobject. Short-circuit with a check for a polyMesh/ directory first. Limit the check to the master-node as well to further reduce load on the file-system. ------------------------------ ENH: improve per-step conversion times for foamToEnsight. Old code: Converting 11001 time steps Time [0] = 0 Wrote in 1.53 s Time [1] = 1 Wrote in 1.52 s ... Time [100] = 100 Elapsed time 205.35 s Updated: Converting 11001 time steps Time [0] = 0 Wrote in 1.4 s Time [1] = 1 Wrote in 0.07 s ... Time [100] = 100 Elapsed time 42.4 s - Speedup by hashing test results from the first conversion step instead of checking each time. Check data on all nodes to avoid problems with incomplete writes. ------------------------------ BUG: moving mesh detection failed for foamToEnsightParts - adjusted to agree with updated foamToEnsight ------------------------------ Note: - foamToEnsightParts (serial) still has about twice the throughput of foamToEnsight.
-
- Sep 20, 2016
-
-
mattijs authored
-
Andrew Heather authored
BUG: output field name instead of field (fixes #224) See merge request !59
-
Prashant Sonakar authored
-
- Sep 16, 2016
-
-
Mark Olesen authored
- bugfix (empty patches), and added detection of steady-state scheme. Caveat: when called via execFlowFunctionObjects will always produce a zero field, since the oldTime field is not available for this mode.
-
Mark Olesen authored
Extrapolate internal field to walls for post-processing. Uses as new syntax for handling the naming of multiple fields. The input fields are selected via a wordReList. For example, fields (U "(T|k|epsilon|omega)"); The names of the resulting output fields use placeholder tokens for flexibility. For example, result zeroGradient(@@); The '@@' placeholder is replaced by the name of the input field. Eg, fields (U T); result zeroGradient(@@); -> zeroGradient(U), zeroGradient(T) Or, fields (U T); result @@nearWall; -> UnearWall, TnearWall NOTE: The function object will skip over fields that only have processor, empty, zeroGradient patches. The operation does not make much sense for these, and it avoids inadvertently re-processing fields twice.
-
- Sep 14, 2016
-
-
Mark Olesen authored
- implemented using magSqr() instead of sqr(). For scalar fields they are the same, but can be useful if this function object is extended for more field types.
-
- Sep 13, 2016
-
-
Mark Olesen authored
- Default is a width of 8 characters, but this can be extended up to 31 characters via the '-width' command-line option. - Now use a similar structure as foamToEnsightParts for the masking. This reduces the clutter within the directory, makes it easier to selectively delete some time steps (using shell commands). - Added in a "time" information data in each sub-directory to make it possible to reconstruct the case file with an external script. - Conversion of cloud data should now also work in parallel (may need more testing). - Support binary output for cloud data. - Better avoidance of illegal ensight variable names. But still partially incomplete (due to patch fields). ================================================== Example of NEW file structure: EnSight/verticalChannel.case # case name EnSight/geometry # for non-moving geometry EnSight/data/ # time-varying data EnSight/data/00000000/ EnSight/data/00000001/ ... Fields are stored by name within the data/********/ directories: EnSight/data/00000001/time # human-readable time info EnSight/data/00000001/U EnSight/data/00000001/p ... EnSight/data/00000001/geometry # for moving geometry Clouds are stored at the next sub-directory level: EnSight/data/00000001/lagrangian/<cloudName>/positions EnSight/data/00000001/lagrangian/<cloudName>/U ... ================================================== The old structure was significantly more cluttered: EnSight/verticalChannel.case EnSight/verticalChannel.0000.mesh EnSight/verticalChannel.0001.p EnSight/verticalChannel.0001.<cloudName> EnSight/verticalChannel.0001.<cloudName>.U ==================================================
-
Mark Olesen authored
- 64-bit builds of gcc/mpfr/gmp use lib64/ for their installation path. Use this for the wmake rules as well.
-
Mark Olesen authored
- spurious use of floatScalar instead of scalar for processor weights. STYLE: partially updated dummy metis.h to reflect metis-5.1.0 API
-
- Sep 08, 2016
-
-
Andrew Heather authored
-
- Sep 07, 2016
-
-
mattijs authored
-
Andrew Heather authored
-
Mark Olesen authored
-
- Sep 06, 2016
-
-
Mark Olesen authored
- reported by Bruno
-
Mark Olesen authored
- Also reported as http://bugs.openfoam.org/view.php?id=2188
-
Mark Olesen authored
- add corrsponding testing into surfaceMeshConvertTesting too
-
- Sep 02, 2016
-
-
sergio authored
-
sergio authored
-
sergio authored
-
Andrew Heather authored
-
- Aug 25, 2016
-
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
-
- Aug 18, 2016
-
-
Andrew Heather authored
BUG: ensightSurfaceReader - enabled reading of data from sub-directory and updated field mask (See #215)
-