next up previous contents
Next: 4.5.3.3 Definition of Charge Up: 4.5.3 PROMIS-NT Model Classes Previous: 4.5.3.1.4 Controlling the Numerical


4.5.3.2 Specification of Quantities

The list of quantities for which segment and boundary models can be defined, is specified by an MDL class derived from the base class QuantityListModel. The evaluate method of this class has to set up the interface parameter quantity which is an associative list that relates the MDL names of quantities with the according PIF material specifications. A PIF material specification consists of the material type and an additional attribute string referred to as the ``activity'' type of the material (e.g.: ``interstitial'', ``substitutional'', ``active'', ...). Example 4.2 depicts the definition of the MDL quantities B and B_act describing two kinds of boron distributions, the active electrically charged B_act and the electrically inactive interstitial boron concentration B.

\includegraphics[width=0.6cm]{figures/exaLeft.eps}

NewModel MyQuantList : QuantityListModel {
   evaluate {
      /*       ["MDL-name"] = {{ PIF-Material PIF-activity }} */
      :quantity["B"       ] = {{ B                         }};    
      :quantity["B_act"   ] = {{ B            active       }};
   }
}

Example 4.2: A sample QuantityListModel

PROMIS-NT provides the MDL class DefaultQuantityListModel which defines the method setupPromisDefaultQuantities. This is the default class used when the parameter quantityList was not specified by the PromisNTSetup model instance (Section 4.5.3.1) and is used to setup the quantity set described in Table 4.1.

Example 4.3 demonstrates how the default quantity list can be extended by a quantity with the PIF material type TMP1 and the MDL quantity name tmp1, by inheriting from the DefaultQuantityListModel.

\includegraphics[width=0.6cm]{figures/exaLeft.eps}

NewModel MySecondQuantityList : DefaultQuantityListModel {
   evaluate {
      /* 1. setup the default quantity list                   */
      call setupPromisDefaultQuantities;

      /* 2. add additional user defined quantities            */
      /*       ["MDL-name"] = {{ PIF-Material PIF-activity }}  */
      :quantity["tmp1"    ] = {{ TMP1                      }};    
   }
}

Example 4.3: A sample QuantityListModel


next up previous contents
Next: 4.5.3.3 Definition of Charge Up: 4.5.3 PROMIS-NT Model Classes Previous: 4.5.3.1.4 Controlling the Numerical
Robert Mlekus
1999-11-14