A Theory of Discontinuities in Physical System Models

Pieter J. Mosterman and Gautam Biswas
Center for Intelligent Systems


Physical systems are by nature continuous, but often display nonlinear behaviors that makes them hard to analyze. Typically, these nonlinearities occur at a time scale that is much smaller than the time scale at which gross system behavior needs to be described. In other situations, nonlinear effects are small and of a parasitic nature. To achieve efficiency and clarity in building complex system models, and to reduce computational complexity in the analysis of system behavior, modelers often abstract away any parasitic component parameter effects, and analyze the system at more abstract time scales. However, these abstractions often introduce abrupt, instantaneous changes in system behavior. To accommodate mixed continuous and discrete behavior, this paper develops a hybrid modeling formalism that dynamically constructs bond graph model fragments that govern system behavior during continuous operation. When threshold values are crossed, a meta-level control model invokes discontinuous state and model configuration changes. Discontinuities violate physical principles of conservation of energy and continuity of power, but the principle of invariance of state governs model behavior when the control module is active. Conservation of energy and continuity of power again govern behavior generation as soon as a new model configuration is established. This allows for maximally constrained continuous model fragments. The two primary contributions of this paper are an algorithm for inferring the correct new mode and state variable values in the hybrid modeling framework, and a verification scheme that ensures hybrid models conform to physical system principles based on the principles of divergence of time and temporal evolution in behavior transtions. These principles are employed in energy phase space analysis to verify physical consistency of models.

The zipped up postscript version of this paper is 473168 bytes.