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.
How could the "STATIC_HOLD" flag be turned on directly via syntaxes in the c++ code of DLL without needing to be set manually via the Adams view GUI menu?
In the referred solver documentation, there exists an example for creating a separate function as:
SUBROUTINE GSE_SET_STATIC_HOLD (ID, STATIC_HOLD)
INTEGER STATIC_HOLD = 1
However, this will set STATIC_HOLD to 1, locally; this means that the STATIC_HOLD integer is not unity under the Gse_deriv function, when it gets printed...
How could the "STATIC_HOLD" flag be turned on directly via syntaxes in the c++ code of DLL without needing to be set manually via the Adams view GUI menu?
In the referred solver documentation, there exists an example for creating a separate function as:
SUBROUTINE GSE_SET_STATIC_HOLD (ID, STATIC_HOLD)
INTEGER STATIC_HOLD = 1
However, this will set STATIC_HOLD to 1, locally; this means that the STATIC_HOLD integer is not unity under the Gse_deriv function, when it gets printed...