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:JOBFLG 
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.