.. _dynamic-solution: ================ Dynamic Solution ================ The NeurEco Dynamic solution creates neural network models for **time-series data** where inputs and outputs evolve over time. These models capture the temporal dynamics of systems, making them ideal for simulation, prediction, and digital twin applications. .. contents:: On this page :local: :depth: 2 Overview ======== Dynamic models learn to predict how a system responds over time to changing inputs (excitations). Unlike static models that produce instantaneous outputs, dynamic models maintain internal state and produce trajectories that evolve according to learned dynamics. **Key characteristics:** - Models systems with memory (current output depends on past inputs/outputs) - Handles variable-length time series - Supports multiple experiments/sequences for training - Exports to FMU format for simulation tool integration When to Use Dynamic =================== Choose the Dynamic solution when: - Your data involves **time-dependent behavior** - Outputs depend on the **history** of inputs, not just current values - You're modeling **physical systems** (mechanical, thermal, electrical, etc.) - You need to **simulate** system response to new input trajectories - You want to create a **digital twin** of a real-world system **Common applications:** - Mechanical system simulation (vibrations, dynamics) - Thermal modeling (heat transfer, temperature prediction) - Control system design and testing - Process modeling in manufacturing - Environmental and climate modeling Templates ========= The Dynamic solution offers two templates for different types of temporal modeling: .. list-table:: :header-rows: 1 :widths: 20 40 40 * - Template - Best For - Key Features * - :ref:`ODE ` - Systems governed by differential equations, physical systems with continuous dynamics - Learns hidden states, supports steady-state constraints, initialization from known conditions * - :ref:`Convolutional Dynamic ` - Input-output relationships with time delays, signal processing, systems without explicit state - Sliding window approach, simpler architecture, faster training Choosing Between ODE and Convolutional Dynamic ---------------------------------------------- **Choose ODE when:** - The system has well-defined physical states (position, velocity, temperature, etc.) - You need to initialize simulation from a known state - The system has continuous dynamics governed by differential equations - Long-term prediction accuracy is critical **Choose Convolutional Dynamic when:** - You're modeling input-output relationships with time delays - The system behavior can be captured by a finite time window - Training speed is a priority - You don't need explicit state initialization Data Requirements ================= Dynamic models require time-series data organized as: - **Time arrays**: Time stamps for each sample. **Convolutional Dynamic** requires uniformly spaced time steps; **ODE** only requires the time stamps to be sorted in strictly increasing order (the spacing may be non-uniform). - **Excitation (input) arrays**: Input signals driving the system - **Output arrays**: Target system responses Multiple sequences (experiments) can be used for training. For Convolutional Dynamic they must share the same, uniform time step; for ODE the durations and the spacing may differ from one sequence to another. See :ref:`dynamic-data-preparation` for detailed formatting requirements. Native File Format ================== Dynamic models use the ``.ernn`` extension for the native NeurEco format. This format: - Preserves all model information - Allows continued work in NeurEco - Supports loading in the Python API - Can be re-exported to FMU format .. toctree:: :maxdepth: 2 :caption: Dynamic Solution data-preparation ode/index convolutive/index exporting advanced-features examples/index