We've developed a C++based DLL for an Adams model, included Gse-deriv & Gse-output functions. It works with the dynamic solver "Sim/DYN"(results validated); however, with Sim/STAT, it gets equilibrium issue error!
We've developed a C++based DLL for an Adams model. The code includes Gse-deriv & Gse-output functions. It works perfectly fine with the dynamic solver "Sim/DYN" and the simulation results have been successfully validated; however, with Sim/STAT, it encounters error! As the model is dynamically stable and thorough, we think that the "equilibrium error" in the simulation with Sim/STAT is due to engaging with solving the differential dynamic equations in the Gse-deriv. Is there any way to deactivate Gse-deriv function when the solver is Sim/STAT? If not, shall we create to separate DLL, one for the static and 1 for the dynamic simulations?!
Much appreciated in advance for your helpful response.
Static is defined as "all derivatives == 0" (in a loose sense). Meaning that if you have a user defined differential equation active during statics, Adams will change the model so that the derivatives are zero. Often used to setup the model in a specific way, for example ride height for a vehicle being tied to preload of the suspension springs.
To avoid this, all user defined differential equations have a "STATIC_HOLD" flag. Turning this on, 'freezes' the differential equation during statics. This goes also for a GSE. Well documented in the solver documentation.
(as a side note, there is now also a "STATIC_ONLY" flag available for GSE. By some strange reason it is called "DYNAMIC_HOLD" for differential equations).
Static is defined as "all derivatives == 0" (in a loose sense). Meaning that if you have a user defined differential equation active during statics, Adams will change the model so that the derivatives are zero. Often used to setup the model in a specific way, for example ride height for a vehicle being tied to preload of the suspension springs.
To avoid this, all user defined differential equations have a "STATIC_HOLD" flag. Turning this on, 'freezes' the differential equation during statics. This goes also for a GSE. Well documented in the solver documentation.
(as a side note, there is now also a "STATIC_ONLY" flag available for GSE. By some strange reason it is called "DYNAMIC_HOLD" for differential equations).