SDX Modeling & Simulation Software

 
small aircraft images

Q

What exactly is SDX?

A

SDX is a modeling and simulation environment that provides all the computational facilities necessary for high performance numeric solution of technical problems. These features include advanced solution methods, automatic selection of solution methods, and ways to easily incorporate innovative solution methods. Moreover, SDX uses an established language, so users can run it without learning another package specific language.

Overall, SDX creates a framework that is many things to many people -- it solves simple or complex problems, supports rapid prototyping or detailed analysis, and can be used in education or at the frontiers of science and engineering. SDX also lets you exploit free NETLIB resources, a vast repository of mathematical software ready to use or tailor to solve particular problems. This is a pleasant difference from translated netlib originals which are routinely peddled as costly "black-box" toolboxes -- sadly, often stripped of many features built-in by the authors.

One of the most important features of SDX, one we took care to preserve, is its complete language/resource inheritance. This allows you the freedom to create and reuse software as you see fit rather than depend on "weekly upgrades". In the years that SDX has been available, it was a great source of motivation watching the development of new and powerful applications which no amount of the competition's script writing or icon dragging is likely to accomplish anytime soon.


Q

Which platforms are supported?

A

Available platforms are identical to those supported by the compilers and can vary among vendors. For instance, Watcom compiler supports both 16 and 32 bit development on all major operating systems -- from DOS and Win to OS/2.


Q

Can it solve PDEs?

A

There are no native facilities for solving PDEs in their natural form except for the class of PDEs which can be transformed to the system of ODEs. However, PDE solvers are available on the netlib and can be imported when needed.


Q

What is the max number of variables and equations in the model?

A

There are no limits on either the number of equations or variables. The model size is constrained however by the installed system memory and/or the compiler's memory utilization limits.


Q

Can dynamic systems with complex parameters be solved? 

A

These problems require separation into a set of systems corresponding to the real and imaginary part respectively -- a simple task due to full support of complex arithmetic. Separation is required solely for the propagation of complex dynamics -- complex states may freely be used elsewhere in the model. An analytical approach is also possible though it is often too tedious for practical use.


Q

Is a compiler included in the package?

A

The choice and purchase of the compiler is the user's responsibility. Several compilers are supported, however if your preference is not listed please register your choice -- the addition of new compilers is based primarily on popular demand.


Q

Can parameter estimation problems for differential systems be solved?

A

Problems which can be formulated as multi-objective optimization, such as parameter estimation, have specific needs -- manipulation of reference (measured) trajectories and execution of the model as a subprocess. Both are easily accommodated without the difficulties we commonly hear about. A built-in nonlinear least squares estimation completes a triad of facilities necessary for solving these types of problems.


Q

What toolboxes are available?

A

Among commercial and public domain resources the netlib repository, with its freely available source code, stands out as the most valuable. The access to these algorithms allows efficient utilization of your existing skill-set with the world's largest collection of technical software. There's also a netlib companion site GAMS (Guide to Available Mathematical Software) which guides you to the solution via an interactive problem classification tree. You'd be well advised to stop here first before selecting a "black-box" commercial package many of which originate from the netlib component libraries.


Q

Are conditionally executed subsystems supported?

A

These types of systems are the foundation of SDX modeling structure. In fact, their absence would be akin to a language without the "if_then_else". In particular language control statements and built-in model control functions can alter the flow of execution as well as activate any part of the model. Neither the triggering logic nor the mix of permissible (subsystem) components are restricted, permitting modeling that can accommodate the most versatile functional requirements.