Skip to content

ENH: added option to control log frequency of lagrangian calculations

Andrew Heather requested to merge feature-clouds-log-output into develop

Summary

Cross ref: EP#1945

Lagrangian cloud calculations can generate significant amounts of reporting, e.g.

Solving2-D cloud reactingCloud1
Cloud: reactingCloud1
    Current number of parcels       = 994
    Current mass in system          = 0.009735873844
    Linear momentum                 = (0.0001652067978 0.0001039875528 0)
   |Linear momentum|                = 0.0001952093676
    Linear kinetic energy           = 0.0001660812145
    Average particle per parcel     = 19.21387643
    Injector model1:
      - parcels added               = 994
      - mass introduced             = 0.01
    Parcel fate: system (number, mass)
      - escape                      = 0, 0
    Parcel fate: patch (walls|cyc.*) (number, mass)
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate: patch (inlet|outlet) (number, mass)
      - escape                      = 0, 0
      - stick                       = 0, 0
    Temperature min/max             = 275.039299, 275.4193813
    Mass transfer phase change      = 0.000264126156
    Mass transfer devolatilisation  = 0
    Mass transfer surface reaction  = 0

If multiple injectors and/or more interaction patches are present, the quantity of output information can increase dramatically.

For some workflows it can be beneficial to reduce the amount of output by reporting this data every n time steps instead of every step.

Details of new models (If applicable)

Added an optional logFrequency keyword to the cloud solution input dictionary, e.g. in the <case>/constant/*CloudProperties

solution
{
    active          true;
    coupled         false;
    transient       yes;
    cellValueSourceCorrection off;
    maxCo           0.3;

    logFrequency    3; // <--- NEW ENTRY

    ...
}

The value is set to 1 by default to maintain backwards compatibility.

Risks

  • Multiple small changes across the code - should be low risk.
  • use of Log_ vs Log annoying but needed for use in templated code - suggestions welcome

Merge request reports