- Multiple scattering of waves is eminent in a wide range of applications and extensive research is being undertaken into multiple scattering by ever more complicated structures, with emphasis on the design of metamaterial structures that manipulate waves in a desired fashion. Ongoing research investigates the design of structures and new solution methods for the governing partial differential equations. There is a pressing need for easy-to-use software that empowers rapid prototyping of designs and for validating other solution methods. We develop a general formulation of the multiple scattering problem that facilitates efficient application of the multipole-based method. The shape and morphology of the scatterers is not restricted, provided their T-matrices are available. The multipole method is implemented in the Tmatsolver software package, which uses our general formulation and the T-matrix methodology to simulate accurately multiple scattering by complex configurations with a largeMultiple scattering of waves is eminent in a wide range of applications and extensive research is being undertaken into multiple scattering by ever more complicated structures, with emphasis on the design of metamaterial structures that manipulate waves in a desired fashion. Ongoing research investigates the design of structures and new solution methods for the governing partial differential equations. There is a pressing need for easy-to-use software that empowers rapid prototyping of designs and for validating other solution methods. We develop a general formulation of the multiple scattering problem that facilitates efficient application of the multipole-based method. The shape and morphology of the scatterers is not restricted, provided their T-matrices are available. The multipole method is implemented in the Tmatsolver software package, which uses our general formulation and the T-matrix methodology to simulate accurately multiple scattering by complex configurations with a large number of identical or non-identical scatterers that can have complex shapes and/or morphologies. This article provides a mathematical description of the algorithm and demonstrates application of the software to four contemporary metamaterial problems. It concludes with a brief overview of the object-oriented structure of the Tmatsolver code.…