  With the recent proliferation of open-source packages for computing, power
system differential-algebraic equation (DAE) modeling and simulation are being
revisited to reduce the programming efforts. Existing open-source tools require
manual efforts to develop code for numerical equations, sparse Jacobians, and
discontinuous components. This paper proposes a hybrid symbolic-numeric
framework, exemplified by an open-source Python-based library ANDES, which
consists of a symbolic layer for descriptive modeling and a numeric layer for
vector-based numerical computation. This method enables the implementation of
DAE models by mixing and matching modeling components, through which models are
described. In the framework, a rich set of discontinuous components and
standard transfer function blocks are provided besides essential modeling
elements for rapid modeling. ANDES can automatically generate robust and fast
numerical simulation code, as well as and high-quality documentation. Case
studies present a) two implementations of turbine governor model TGOV1, b)
power flow computation time break down for MATPOWER systems, c) validation of
time-domain simulation with commercial software using three test systems with a
variety of models, and d) the full eigenvalue analysis for Kundur's system.
Validation shows that ANDES closely matches the commercial tool DSATools for
power flow, time-domain simulation, and eigenvalue analysis.
