- Dec 01, 2023
-
-
Andrew Heather authored
Added -writeChecks <format> option - writes computed mesh metrics to file in using <format> - currently supported formats are OpenFOAM dictionary and JSON
-
- Jun 13, 2023
-
-
Mark OLESEN authored
- primarily relevant for finite-area meshes, in which case they can be considered to be an additional, detailed diagnositic that is normally not needed (clutters the file system). Writing can be enabled with the `-write-edges` option.
-
- Mar 10, 2022
-
-
Mark OLESEN authored
- the very old 'writer' class was fully stateless and always templated on an particular output type. This is now replaced with a 'coordSetWriter' with similar concepts as previously introduced for surface writers (#1206). - writers change from being a generic state-less set of routines to more properly conforming to the normal notion of a writer. - Parallel data is done *outside* of the writers, since they are used in a wide variety of contexts and the caller is currently still in a better position for deciding how to combine parallel data. ENH: update sampleSets to sample on per-field basis (#2347) - sample/write a field in a single step. - support for 'sampleOnExecute' to obtain values at execution intervals without writing. - support 'sets' input as a dictionary entry (as well as a list), which is similar to the changes for sampled-surface and permits use of changeDictionary to modify content. - globalIndex for gather to reduce parallel communication, less code - qualify the sampleSet results (properties) with the name of the set. The sample results were previously without a qualifier, which meant that only the last property value was actually saved (previous ones overwritten). For example, ``` sample1 { scalar { average(line,T) 349.96521; min(line,T) 349.9544281; max(line,T) 350; average(cells,T) 349.9854619; min(cells,T) 349.6589286; max(cells,T) 350.4967271; average(line,epsilon) 0.04947733869; min(line,epsilon) 0.04449639927; max(line,epsilon) 0.06452856475; } label { size(line,T) 79; size(cells,T) 1720; size(line,epsilon) 79; } } ``` ENH: update particleTracks application - use globalIndex to manage original parcel addressing and for gathering. Simplify code by introducing a helper class, storing intermediate fields in hash tables instead of separate lists. ADDITIONAL NOTES: - the regionSizeDistribution largely retains separate writers since the utility of placing sum/dev/count for all fields into a single file is questionable. - the streamline writing remains a "soft" upgrade, which means that scalar and vector fields are still collected a priori and not on-the-fly. This is due to how the streamline infrastructure is currently handled (should be upgraded in the future).
-
- Feb 07, 2022
-
-
mattijs authored
-
- May 07, 2021
-
-
- Mar 10, 2021
-
-
mattijs authored
-
- Dec 11, 2020
-
-
This adds a 'geometry' scheme section to the system/fvSchemes: geometry { type highAspectRatio; } These 'fvGeometryMethod's are used to calculate - deltaCoeffs - nonOrthoCoeffs etc and can even modify the basic face/cellCentres calculation.
-
- Jul 27, 2020
-
-
Mark OLESEN authored
STYLE: use global operator instead of HashSet -= operator
-
- Jul 23, 2020
-
-
mattijs authored
-
- Jun 02, 2020
-
-
Mark OLESEN authored
- Favour use of argList methods that are more similar to dictionary method names with the aim of reducing the cognitive load. * Silently deprecate two-parameter get() method in favour of the more familiar getOrDefault. * Silently deprecate opt() method in favour of get() These may be verbosely deprecated in future versions.
-
- Feb 06, 2020
-
-
mattijs authored
-
- Jan 06, 2020
-
-
mattijs authored
-
- Nov 26, 2019
-
-
Mark OLESEN authored
- previously only had 'opt<..>()' for options, but 'get<..>()' provides more similarity with dictionary methods. The 'opt<..>()' method is retained.
-
- Oct 31, 2019
-
-
OpenFOAM bot authored
-
- Sep 02, 2019
-
-
mattijs authored
-
- Feb 07, 2019
-
-
Mark OLESEN authored
- The writers have changed from being a generic state-less set of routines to more properly conforming to the normal notion of a writer. These changes allow us to combine output fields (eg, in a single VTK/vtp file for each timestep). Parallel data reduction and any associated bookkeeping is now part of the surface writers. This improves their re-usability and avoids unnecessary and premature data reduction at the sampling stage. It is now possible to have different output formats on a per-surface basis. - A new feature of the surface sampling is the ability to "store" the sampled surfaces and fields onto a registry for reuse by other function objects. Additionally, the "store" can be triggered at the execution phase as well
-
- Feb 06, 2019
-
-
OpenFOAM bot authored
-
- Dec 11, 2018
-
-
Mark OLESEN authored
-
- Dec 12, 2018
-
-
Mark OLESEN authored
- also replaced a few instances of readIfPresent with opt<> for constant values.
-
- Jul 31, 2018
-
-
Mark OLESEN authored
General: * -roots, -hostRoots, -fileHandler Specific: * -to <coordinateSystem> -from <coordinateSystem> - Display -help-compat when compatibility or ignored options are available STYLE: capitalization of options text
-
- Mar 21, 2018
-
-
mattijs authored
-
- Mar 12, 2018
-
-
mattijs authored
-
- Feb 22, 2018
-
-
Mark OLESEN authored
- the wordHashSet typedef is always available when HashSet has been included. - use default HashTable key (word) instead of explicitly mentioning it
-
- Jan 08, 2018
-
-
Mark OLESEN authored
- use succincter method names that more closely resemble dictionary and HashTable method names. This improves method name consistency between classes and also requires less typing effort: args.found(optName) vs. args.optionFound(optName) args.readIfPresent(..) vs. args.optionReadIfPresent(..) ... args.opt<scalar>(optName) vs. args.optionRead<scalar>(optName) args.read<scalar>(index) vs. args.argRead<scalar>(index) - the older method names forms have been retained for code compatibility, but are now deprecated
-
- Jul 16, 2017
-
-
Pete Bachant authored
-
- Jul 07, 2017
-
-
Andrew Heather authored
Original commit message: ------------------------ Parallel IO: New collated file format When an OpenFOAM simulation runs in parallel, the data for decomposed fields and mesh(es) has historically been stored in multiple files within separate directories for each processor. Processor directories are named 'processorN', where N is the processor number. This commit introduces an alternative "collated" file format where the data for each decomposed field (and mesh) is collated into a single file, which is written and read on the master processor. The files are stored in a single directory named 'processors'. The new format produces significantly fewer files - one per field, instead of N per field. For large parallel cases, this avoids the restriction on the number of open files imposed by the operating system limits. The file writing can be threaded allowing the simulation to continue running while the data is being written to file. NFS (Network File System) is not needed when using the the collated format and additionally, there is an option to run without NFS with the original uncollated approach, known as "masterUncollated". The controls for the file handling are in the OptimisationSwitches of etc/controlDict: OptimisationSwitches { ... //- Parallel IO file handler // uncollated (default), collated or masterUncollated fileHandler uncollated; //- collated: thread buffer size for queued file writes. // If set to 0 or not sufficient for the file size threading is not used. // Default: 2e9 maxThreadFileBufferSize 2e9; //- masterUncollated: non-blocking buffer size. // If the file exceeds this buffer size scheduled transfer is used. // Default: 2e9 maxMasterFileBufferSize 2e9; } When using the collated file handling, memory is allocated for the data in the thread. maxThreadFileBufferSize sets the maximum size of memory in bytes that is allocated. If the data exceeds this size, the write does not use threading. When using the masterUncollated file handling, non-blocking MPI communication requires a sufficiently large memory buffer on the master node. maxMasterFileBufferSize sets the maximum size in bytes of the buffer. If the data exceeds this size, the system uses scheduled communication. The installation defaults for the fileHandler choice, maxThreadFileBufferSize and maxMasterFileBufferSize (set in etc/controlDict) can be over-ridden within the case controlDict file, like other parameters. Additionally the fileHandler can be set by: - the "-fileHandler" command line argument; - a FOAM_FILEHANDLER environment variable. A foamFormatConvert utility allows users to convert files between the collated and uncollated formats, e.g. mpirun -np 2 foamFormatConvert -parallel -fileHandler uncollated An example case demonstrating the file handling methods is provided in: $FOAM_TUTORIALS/IO/fileHandling The work was undertaken by Mattijs Janssens, in collaboration with Henry Weller.
-
- May 08, 2017
- Jul 22, 2016
-
-
Henry Weller authored
- the checking for point-connected multiple-regions now also writes the conflicting points to a pointSet - with the -writeSets option it now also reconstructs & writes pointSets
-
- Jun 17, 2016
-
-
Henry Weller authored
-
- Jun 12, 2016
-
-
Henry Weller authored
In parallel the sets are reconstructed. e.g. mpirun -np 6 checkMesh -parallel -allGeometry -allTopology -writeSets vtk will create a postProcessing/ folder with the vtk files of the (reconstructed) faceSets and cellSets. Also improved analysis of disconnected regions now also checks for point connectivity with is useful for detecting if AMI regions have duplicate points. Patch contributed by Mattijs Janssens
-
- Jun 06, 2016
-
-
mattijs authored
-
- May 13, 2016
-
-
Henry Weller authored
Patch contributed by Mattijs Janssens Resolves bug-report http://bugs.openfoam.org/view.php?id=2088
-
- Jun 27, 2016
-
-
Andrew Heather authored
-
- Nov 23, 2015
-
-
mattijs authored
- checkMesh has option to write faceSets or (outside of) cellSets as sampledSurface format. It automatically reconstructs the set on the master and writes it to the postProcessing folder (as any sampledSurface). E.g. mpirun -np 6 checkMesh -allTopology -allGeometry -writeSets vtk -parallel - fixed order writing of symmTensor in Ensight writers
-
- Feb 10, 2015
-
-
Henry authored
-
- Feb 21, 2013
-
-
andy authored
-
- May 30, 2012
-
-
mattijs authored
-
- May 16, 2012
-
-
mattijs authored
-
- Aug 14, 2011
-
-
Henry authored
-