Tasks for the User Defined Tire

The user defined tire model conforms to the TYDEX standard, therefore the received input and expected output is determined by the standard.

The things that the user defined tire must do, can be summarized as follows:
  • Read the tire property file to any access tire properties (if any) that the model requires for its calculations. It is recommended that this is done once during the initialization call described by the TYDEX standard.
  • Call the ROAD function that is passed in through the TYDEX interface at an appropriate time to pick the relevant road height information.
  • Calculate the tire forces and moments are output to MotionSolve. These forces must be in the Wheel Carrier axis system (TYDEX C). Some Utility subroutines are available from MotionSolve that might help with these calculations.
  • Load the relevant results in the VARINF array described by the TYDEX standard.
  • Handle errors within the code in the user defined road models and those that can originate from the road call or calls to MotionSolve API.

Calling the User Tire Interface

The User Tire Interface calls the User Tire model several times during the simulation with different JOBFLG. The JOBFLG variable decides the execution model (initialization, reading tire property file, initial condition) of TYRE. The User Tire Interface expects some variables to be updated according to the JOBFLG value. The JOBFLG is called in following order:


1: Initialization mode

2: Reading tire and road property files

11: Actual array size

6: Initial conditions

0: Normal call

99: Final call

For the complete details about the JOBFLG variable please refer to the Tire Subroutine Arguments topic.

Reading Road Property Files

The parameters and data that the tire model requires can be parsed from the tire property file. It is necessary that the road property file has the ‘MODEL’ block with the property file format and the function name, as described in the previous section. The rest of the tire property file can be of any format, depending on the data you choose to read. If the rest of the file is in TeimOrbit format then there are utilities provided that can help with the parsing. These utilities are callable API and are described in further detail in the section Reading TeimOrbit Files.

Calling the Road Function

The road function is received via the TYDEX tire interface. The road function must be called at least once during each tire subroutine call in order to make sure things are initialized correctly in the road. Since the road model is passed in as a function pointer (C) or an EXTERNAL (FORTRAN), different roads can be used with the same tire based on the chosen road property file.

Calculation of Tire Forces and Moments

The user written tire function received inputs as per the TYDEX format. The user model must use these to calculate the wheel kinematic situation, things such as contact patch location, slip angle, slip ratio, etc. The road function is called to receive information about the height of the road. To assist this calculation Altair provides a set of utilities that are documented in the Utilities to Calculate Tire Kinematics, Forces, and Moments topic. All three forces and three moments of the tire must be calculated in the wheel carrier axis system, defined by the TYDEX standard (TYDEX C). The units of forces and moments should be Newton and Newton-meters respectively.

Load Results in the VARINF Array

The VARINF array must be populated before the tire subroutine exits. This makes tire information that is not the tire forces available for the results file. These things include tire kinematics information and other tire parameters.