OutputSettings Struct Reference#

DiFfRG: DiFfRG::Config::OutputSettings Struct Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::Config::OutputSettings Struct Reference

#include <output_settings.hh>

Public Member Functions

 OutputSettings ()=default
 
 OutputSettings (const ConfigTree &config)
 

Public Attributes

bool asynchronous = true
 
bool write_vtk = true
 
bool write_hdf5 = true
 
bool write_json = false
 
unsigned int max_pending_frames = 2
 
unsigned int hdf5_queue_depth = 1
 
std::size_t max_pending_bytes = default_max_pending_bytes
 
unsigned int subdivisions = 1
 
int verbosity = 0
 
std::size_t log_queue_size = 8192
 
spdlog::level::level_enum log_level = spdlog::level::info
 
double Lambda = -1.
 
std::string configuration_json = "{}"
 
std::string configuration_log = "{}"
 

Static Public Attributes

static constexpr std::size_t default_max_pending_bytes = 2ull * 1024ull * 1024ull * 1024ull
 

Detailed Description

Typed configuration consumed by output sinks.

Constructor & Destructor Documentation

◆ OutputSettings() [1/2]

DiFfRG::Config::OutputSettings::OutputSettings ( )
default

◆ OutputSettings() [2/2]

DiFfRG::Config::OutputSettings::OutputSettings ( const ConfigTree & config)
explicit

Member Data Documentation

◆ asynchronous

bool DiFfRG::Config::OutputSettings::asynchronous = true

◆ configuration_json

std::string DiFfRG::Config::OutputSettings::configuration_json = "{}"

◆ configuration_log

std::string DiFfRG::Config::OutputSettings::configuration_log = "{}"

◆ default_max_pending_bytes

std::size_t DiFfRG::Config::OutputSettings::default_max_pending_bytes = 2ull * 1024ull * 1024ull * 1024ull
inlinestaticconstexpr

◆ hdf5_queue_depth

unsigned int DiFfRG::Config::OutputSettings::hdf5_queue_depth = 1

Frames the HDF5 writer thread may have in flight. Deliberately separate from max_pending_frames, which bounds VTK/DataOut memory and has nothing to do with this.

The default of 1 is a durability choice rather than a throughput one: each frame is still closed on disk before the next is opened, so a hard abort (SIGKILL, node eviction) loses at most this many frames on top of the one being written. Depth 1 already hides the whole open/write/close behind the next output interval, because frames are separated by many timesteps. Ignored when asynchronous is false.

◆ Lambda

double DiFfRG::Config::OutputSettings::Lambda = -1.

◆ log_level

spdlog::level::level_enum DiFfRG::Config::OutputSettings::log_level = spdlog::level::info

◆ log_queue_size

std::size_t DiFfRG::Config::OutputSettings::log_queue_size = 8192

◆ max_pending_bytes

std::size_t DiFfRG::Config::OutputSettings::max_pending_bytes = default_max_pending_bytes

◆ max_pending_frames

unsigned int DiFfRG::Config::OutputSettings::max_pending_frames = 2

◆ subdivisions

unsigned int DiFfRG::Config::OutputSettings::subdivisions = 1

◆ verbosity

int DiFfRG::Config::OutputSettings::verbosity = 0

Mirrors /output/verbosity, which the timesteppers already read. It sets how much of the run log reaches the console: at 0 only warnings and errors, at 1 the ordinary messages, from 2 upwards also debug records. The log file always receives everything, independent of this.

At 3 and above the output sinks additionally emit one per-frame timing line and one output_timings.csv row. The aggregate timing report at the end of a run is a debug record: it is always written to the log file, and reaches the console from verbosity 2 upwards.

◆ write_hdf5

bool DiFfRG::Config::OutputSettings::write_hdf5 = true

◆ write_json

bool DiFfRG::Config::OutputSettings::write_json = false

Mirrors /output/json. Forces the <name>.log.json copy of the configuration to be written; without it the file is only produced when there is no HDF5 output to carry the configuration in its /config group.

◆ write_vtk

bool DiFfRG::Config::OutputSettings::write_vtk = true

The documentation for this struct was generated from the following file:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/data/output_settings.hh