Domains and Partial Differential Equations in Modelica

Modelica — is an equation-based object-oriented modeling language that supports models containing ordinary differential equations and differential and algebraic equations. In this article, we make an object-oriented design for extending Modelica with partial differential equations (PDEs) in order to describe and solve initial and boundary-value problems. We present constructs for geometric description of domains and domain boundaries using parametric expressions, and a hierarchical specification of PDEs and boundary conditions using inheritance, with a general PDE as a base model and more specific, application oriented sub-models. Using instances of PDE models, boundary conditions and domains we specify a complete PDE problem. Two environments used for prototype implementations are also described.