Skip to content
Snippets Groups Projects
  1. Feb 20, 2023
    • Sergey Lesnik's avatar
      Refactor field writing · 0ab08a43
      Sergey Lesnik authored
      - Accumulate field data in a dictionary
      - ASCII data
          - with keywords are stored in primitiveEntry objects
          - without keywords are stored in formattingEntry objects
      - Binary data are stored in fieldDataEntry objects
      - The IDs in the data.bp are names of the entries
      - New feature: global uniform. Determine whether each field is uniform on all the ranks. Do it using a single reduce per GeometricField.
      - For volFields the procPatch fields are removed from the IO
      - For surfaceFields the procPatch fields are mapped into the global internal surfaceField and then removed
      0ab08a43
  2. Dec 22, 2022
  3. Dec 21, 2022
  4. Dec 16, 2022
  5. Dec 15, 2022
  6. Dec 12, 2022
  7. Nov 30, 2022
    • Sergey Lesnik's avatar
      coherenFields writing works for internal volFields · 935cceba
      Sergey Lesnik authored
      - Introduce OFCstream derived from OFstream
      - OFCstream is created in GeometricField and enables tracking which List will be written next
      - Back-up for currently not supported Lists: write with full id containing processor directory name
      - Derive sliceMesh from MeshObject in order to put the former into the objectRegistry, thus, keeping it at run and enabling access via the registry
      935cceba
  8. Nov 29, 2022
  9. Nov 17, 2022
  10. Oct 11, 2022
  11. Oct 10, 2022
  12. Oct 07, 2022
  13. Oct 04, 2022
    • Sergey Lesnik's avatar
      Bug fix: list allocation of n^2 size for n MPI ranks in Pstream · 8b18a030
      Sergey Lesnik authored
      - Lists for linear and tree communications were allocated at start-up, each of those is n^2 large where n is number of MPI ranks. This behavior leeded to job failure due to insufficient memory for large jobs.
      - Only size the lists to n at the start-up. Do not allocate the memory for the list entries. Evaluate a communication list entry of type commsStruct on the fly when accessed via operator[] of the UList.
      8b18a030
  14. Aug 09, 2022
  15. Jul 12, 2022
  16. Jul 11, 2022
  17. Jul 07, 2022
  18. May 19, 2022
  19. Mar 15, 2022
  20. Feb 01, 2022
    • Gregor Weiss's avatar
      Enable decomposePar with ADIOS2 and taring to reduce inodes for benchmarks · f1e477ee
      Gregor Weiss authored
      - adds icoFoamTar
      - installation of tar modules requires local manual third party installation (see applications/tarmodules/startTarCase/thirdParty/myreadme)
      - usage of tar modules is described in applications/tarmodules/README
      - example controlDict for tar modules in applications/tarmodules/tarSystemCall/controlDict
      - to use ADIOS2 IO in decomposePar it has to be performed twice
          1) decomposePar -mesh
          2) decomposePar -fields
      - uncollated ascii, binary, and parallel IO mode can all be started from polyMesh.bp and data.bp
      (Processor folders are still created during decomposition to enable uncollated IO modes.)
      f1e477ee
  21. Jan 28, 2022
    • Sergey Lesnik's avatar
      Bug Fix: fail to save large string data via ADIOS · 90d162e9
      Sergey Lesnik authored
      - ADIOS restricts the string size (64kB?) and thus e.g. faces could not be written
      - Switch from std::string to char arrays
      - Reading with bpls is still possible with -S flag, e.g.:
        bpls -Sd constant/polyMesh.bp constant/polyMesh/faces
      90d162e9
  22. Jan 24, 2022
  23. Jan 19, 2022
  24. Jan 18, 2022
    • Sergey Lesnik's avatar
      Enable writing mesh files via ADIOS · 2c98295a
      Sergey Lesnik authored
      - Add a functionality to UListIO for writing non-contiguous data in order to handle faces (list of lists)
      - UListIO uses a OStringStream to buffer list of lists and OFStream puts it as a string into the .bp file at destruction
      - Make a typedef parIOType for the ADIOS data type which are not strings. Now it can be changed (e.g. from char to double) at one place in IOStream.H
      2c98295a
  25. Jan 14, 2022
  26. Jan 07, 2022
  27. Jan 03, 2022
  28. Dec 28, 2021
    • Sergey Lesnik's avatar
      Enable restarts with ADIOS · 3f085f99
      Sergey Lesnik authored
          - The only working variant for write is BeginStep() and EndStep() in Mode::Append. Other variants of writing have issues, see commentary in adiosWrite.C
          - Save only double arrays => all adios templates are instantiated with double* instead of char*.
          - Refactor adios classes. Pull adios write and read functionality out of adiosCore into seprate classes. Clean up.
      3f085f99
  29. Dec 10, 2021
    • Sergey Lesnik's avatar
      Introduce debug switches in order to inspect file reading · f2a7ad3d
      Sergey Lesnik authored
      Example of a subdict in controlDict:
      
      DebugSwitches
      {
          dictionary 2;
          IOobject 1;
          time 1;
          DebugIOList 1;
          DebugIOField 1;
          volScalarField 1;
          volVectorField 1;
          OFstream 1;
          ISstream 2;
          IFstream 1;
      }
      
      Note that some of the switches have several level of verbosity, i.e. much more ouput if set to 2.
      f2a7ad3d