Loading...
Searching...
No Matches
Opm::ConvergenceReportQueue Class Reference

Communication channel between thread creating output requests and consumer thread writing those requests to a file. More...

`#include <ExtraConvergenceOutputThread.hpp>`

## Classes

struct | OutputRequest
| Single output request. More...

## Public Member Functions

void | enqueue (std::vector< OutputRequest > &&requests)
| Push sequence of output requests, typically all substeps whether converged or not, of a single report step.
void | signalLastOutputRequest ()
| Signal end of output request stream.

## Friends

class | ConvergenceOutputThread

## Detailed Description

Communication channel between thread creating output requests and consumer thread writing those requests to a file.

Output thread has access to internal state. Producer thread uses public interface. Producer thread creates an object of this type and launches the output thread with a reference to that queue object.

## Member Function Documentation

## enqueue()

void Opm::ConvergenceReportQueue::enqueue | ( | std::vector< OutputRequest > && | requests | ) |

Push sequence of output requests, typically all substeps whether converged or not, of a single report step.

Parameters

  [in] | requests | Output request sequence. Queue takes ownership.

## signalLastOutputRequest()

void Opm::ConvergenceReportQueue::signalLastOutputRequest | ( |  | ) |

Signal end of output request stream.

No additional requests should be added to queue following a call to this member function. Output thread detects this signal, completes any pending output requests, and shuts down afterwards.

The documentation for this class was generated from the following files:

- opm/simulators/flow/ExtraConvergenceOutputThread.hpp
- opm/simulators/flow/ExtraConvergenceOutputThread.cpp