<class name="Integrated Circuit">
<subclass ID="1" name="Logic">
<!-- START LOGIC OR DIGITAL INTEGRATED CIRCUITS -->
First the MIL-HDBK-217F hazard rate function for the Logic Integrated Circuit is defined. This if the function that will be parsed and evaluated by libmatheval.
<function>(C1*(0.1*exp((-Ea/0.00008617)*((1/((Tc+thetaJC*P)+273))-(1/Tref))))+(K1*(Np^K2))*PiE)*PiQ*0.01*exp(5.35-0.35*Y)</function>
Then each of the variates in the function above are defined. These are read into an array and are used by libmatheval to evaluate the hazard rate function.
<factor>PiE</factor>
<factor>PiQ</factor>
<factor>C1</factor>
<factor>K1</factor>
<factor>K2</factor>
<factor>Np</factor>
<factor>Y</factor>
<factor>Ea</factor>
<factor>Tref</factor>
Now each of the MIL-HDBK-217F values is defined by technology type. Refer to the six lines with name="C1", you can see that these corrspond to the six bipolar, digital rows in the table on page 5-3 of MIL-HDBK-217F.
<technology name="TTL">
<property name="PiE" row="Ground, Benign">0.5</property> <!-- Used to determine pi E value -->
<property name="PiE" row="Ground, Fixed">2.0</property>
<property name="PiE" row="Ground, Mobile">4.0</property>
<property name="PiE" row="Naval, Sheltered">4.0</property>
<property name="PiE" row="Naval, Unsheltered">6.0</property>
<property name="PiE" row="Airborne, Inhabited, Cargo">4.0</property>
<property name="PiE" row="Airborne, Inhabited, Fighter">5.0</property>
<property name="PiE" row="Airborne, Uninhabited, Cargo">5.0</property>
<property name="PiE" row="Airborne, Uninhabited, Fighter">8.0</property>
<property name="PiE" row="Airborne, Rotary Wing">8.0</property>
<property name="PiE" row="Space, Flight">0.5</property>
<property name="PiE" row="Missile, Flight">5.0</property>
<property name="PiE" row="Missile, Launch">12.0</property>
<property name="PiE" row="Cannon, Launch">220.0</property>
<property name="PiQ" row="S">0.25</property> <!-- Used to determine pi Q value -->
<property name="PiQ" row="B">1.00</property>
<property name="PiQ" row="B-1">2.00</property>
<property name="PiQ" row="Commercial">2.00</property>
<property name="C1" row="1 to 100">0.0025</property> <!-- Used to determine C1 value -->
<property name="C1" row="101 to 1000">0.0050</property>
<property name="C1" row="1001 to 3000">0.0100</property>
<property name="C1" row="3001 to 10000">0.0200</property>
<property name="C1" row="10001 to 30000">0.0400</property>
<property name="C1" row="30001 to 60000">0.0800</property>
<property name="K1" row="Hermetic: DIPs, PGA, SMT">0.00028</property> <!-- Used to calculate C2 -->
<property name="K1" row="DIP, Glass Seal">0.00009</property>
<property name="K1" row="Flatpack">0.00003</property>
<property name="K1" row="Can">0.00003</property>
<property name="K1" row="Non-Hermetic: DIPs, PGA, SMT">00036</property>
<property name="K2" row="Hermetic: DIPs, PGA, SMT">1.08</property>