Adams Advanced Package > Adams Controls > Control System Import > Importing External System Library

Importing External System Library

Imports an External System Library (ESL) into your Adams model by creating general state equation (GSE) and other supporting elements that use the library.

To import an External System Library:

1. Click the Plugin tab on the Adams View ribbon.
2. From the Controls container, click the Adams Controls icon . Select Controls System Import.
The Adams Controls System Import dialog box appears.
3. Complete the dialog box as described in Adams Controls System Import help page.
4. Select OK.

Setting External System Library Error Tolerance

Adams Controls System Import loads the equations found in the External System Library (ESL) with an ADAMS General State Equation (GSE) element. By default, the continuous states of the GSE are integrated to an error tolerance as specified by the INTEGRATOR statement. However, Adams Controls gives you the option to override the default computation of the integrator's local integration error using the error tolerance settings for the continuous states of an ESL. Effectively, you have more control over the error of the individual states of the ESL. You may want to use this feature to help refine the accuracy of your ESL states, but just like any INTEGRATOR setting, this may require tuning.
In order to apply the error tolerance of the ESL, Adams Controls will pass a scale factor to the GSE subroutine that will multiply the ESL error tolerance values to determine the final GSE continuous state error, that is:
Final GSE error tolerance = Error Scale Factor * ESL error tolerance, Error Scale Factor > 0
For an Error Scale Factor <=0, this will disable the ESL error tolerance values and will use the default method instead.
For example, if you set the Error Scale Factor = 20, this will loosen the ESL error tolerance values by multiplying them all by 20.
ESL Error tolerance, state 1 = 1e-8
ESL Error tolerance, state 2 = 1e-6
Error Scale Factor = 20
Final GSE error tolerance, state 1 = 1E-8 *20 = 2E-7
Final GSE error tolerance, state 2 = 1E-6 *20 = 2E-5
These final GSE error tolerance values will then be used to scale the local integration error of the respective state, as described next.
The integrator error tolerance is compared against a local error measure that depends on the difference between the current predicted and corrected states, the past history of the states, and the current integration order.
The integrator's error tolerance check can effectively be written as:
where e is the difference between the predicted and corrected state, and E is the integrator ERROR setting. If, for example, e3 has an error tolerance setting from the ESL for the GSE of E3, then the formula becomes:
which effectively tightens the error tolerance if E3 < E.
As a general guideline, this feature may be more effective when the number of continuous states from your ESL is much larger than the number of states in the rest of the Adams model. If the opposite is true, then the addition of the ESL error tolerance values may not have much effect, or may be too restrictive. Also, you may find this beneficial to decrease simulation times if you are able to increase the integrator ERROR setting to loosen error needed on the Adams parts, and so on, while maintaining the error required for the GSE/ESL.
See the INTEGRATOR statement for more details about ERROR. This feature only applies to the C++ Solver, and only Easy5 models currently report error tolerance values.