|
| | OutputDecorator (std::unique_ptr< AbstractIntegrator< S > > integrator, OutputConfig config={}, std::function< void(const S &, typename IntegratorDecorator< S >::time_type, size_t)> handler=nullptr) |
| | Construct output decorator.
|
| |
| | ~OutputDecorator () |
| | Destructor ensures proper cleanup and final output flush.
|
| |
| void | step (typename IntegratorDecorator< S >::state_type &state, typename IntegratorDecorator< S >::time_type dt) override |
| | Override step to add output handling.
|
| |
| void | integrate (typename IntegratorDecorator< S >::state_type &state, typename IntegratorDecorator< S >::time_type dt, typename IntegratorDecorator< S >::time_type end_time) override |
| | Override integrate to handle different output modes.
|
| |
| void | set_output_handler (std::function< void(const S &, typename IntegratorDecorator< S >::time_type, size_t)> handler) |
| | Set or change output handler function.
|
| |
| const std::vector< std::tuple< S, typename IntegratorDecorator< S >::time_type, size_t > > & | get_buffer () const |
| | Get current output buffer contents.
|
| |
| void | clear_buffer () |
| | Clear the output buffer.
|
| |
| void | flush_output () |
| | Force immediate output flush.
|
| |
| const OutputStats & | get_statistics () const |
| | Get output statistics.
|
| |
| void | reset_statistics () |
| | Reset output statistics.
|
| |
| OutputConfig & | config () |
| | Access and modify output configuration.
|
| |
| const OutputConfig & | config () const |
| |
| void | update_config (OutputConfig new_config) |
| | Update output configuration with validation.
|
| |
| | IntegratorDecorator (std::unique_ptr< base_type > integrator) |
| | Construct decorator wrapping another integrator.
|
| |
|
virtual | ~IntegratorDecorator ()=default |
| | Virtual destructor for proper cleanup.
|
| |
| void | step (state_type &state, time_type dt) override |
| |
| void | integrate (state_type &state, time_type dt, time_type end_time) override |
| |
| time_type | current_time () const override |
| |
| void | set_time (time_type t) override |
| |
| void | set_system (system_function sys) override |
| |
| base_type & | wrapped () |
| | Access to wrapped integrator for advanced use.
|
| |
| const base_type & | wrapped () const |
| |
| bool | has_wrapped_integrator () const |
| | Check if wrapped integrator exists.
|
| |
| | AbstractIntegrator (system_function sys) |
| |
| time_type | current_time () const |
| |
| void | set_time (time_type t) |
| |
| void | set_system (system_function sys) |
| |
template<
system_state S>
class diffeq::core::composable::OutputDecorator< S >
Output decorator - adds configurable output to any integrator.
This decorator provides comprehensive output capabilities with the following features:
- Online, offline, and hybrid output modes
- Configurable output intervals and buffering
- Optional file output with compression
- Detailed statistics and performance monitoring
Key Design Principles:
- Single Responsibility: ONLY handles output functionality
- No Dependencies: Works with any integrator type
- Flexible: Multiple output modes and configurations
- Efficient: Minimal performance impact on integration
Definition at line 97 of file output_decorator.hpp.