WDSolve is a generic tool for numerically solving hyperbolic partial differential equations (PDEs) by means of the Wave Digital (WD) method. Some explanations are in order:
WDSolve is a by-product of the doctoral thesis which the author wrote at the Ruhr-University Bochum:
http://nbn-resolving.de/urn/resolver.pl?urn=urn:nbn:de:hbz:294-31582
It is driven by the idea that numerical integration with the WD method can be greatly simplified by using modular programming. This is due to the fact that WD algorithms are comprised of predefined building blocks. Furthermore, many aspects of the method can be formulated generically, i.e. independent of the PDE to be solved.
There exists a related tool with the name WDInt, which was developed at the University of Paderborn. WDInt is written in Matlab to solve ordinary differential equations (ODEs) primarily. WDSolve is written in C++ with the intention to solve PDEs primarily. WDInt was known to the author before he wrote the first line of code and has thus inspired him.
Let's begin with what WDSolve can not do. Key difficulties of the WD method are
WDSolve cannot help you with that. It takes the reference circuit as input. A comprehensive introduction to the above concepts is given in chapters 1 and 2 of the doctoral thesis linked above, and the references given therein. An automated generation of reference circuits from PDEs is subject to current research. Currently, a tool for this task is not known to the author.
WDSolve can be thought of as a black box solver. Simply put, the user tells WDSolve which PDE is to be solved (via a Circuit file) in what environment (via a Scene file), clicks on "Run", and WDSolve returns the numerical results, both graphically and as a file with numerical values. WDSolve features
WDSolve is a generic tool, i. e. it is not bound to a particular problem and can be used to solve a large variety of PDEs. By now, several students have worked with the author to create an archive of example projects, each of which is dedicated to solve a particular PDE in a particular setting. Covered physical problems include
Typically, there are parts of a problem which cannot be solved generically. Therefore, the user can provide a DLL with pre-compiled code, which is embedded into the final algorithm. For programming the DLL, WDSolve provides a framework and helper functions.