Introduction ============ Routine CALCUL is the routine for *encapsulating all elementary calculations*: matrices, vectors, or elementary fields. In this description used to maintain routine CALCUL, we will present successively: 1. the simplified flowcharts of the main routines of CALCUL ("dynamic" aspect of the program) [:ref:`§2 <§2>`] and [:ref:`§3 <§3>`], 2. then the **data** manipulated ("static" aspect). These are: * knots, meshes [:external:ref:`D3.01.01 `], type_elements, finite elements, finite elements, quantities [:ref:`§4 <§4>`], GREL, LIGREL, option [:external:ref:`D3.02.01 `] and [:ref:`D4.06.02 `], * finite element catalogs [:ref:`D4.04.01 `], * of the CHAMPS: CHAM_NO, CHAM_ELEM, CARTE and RESUELEM [:ref:`D4.06.05 `], * extended "CARTES" [:ref:`§5 <§5>`], * JEVEUX work objects specific to the CALCUL [:ref:`§6 <§6>`] "package", * as well as COMMONS specific to the CALCUL [:ref:`§7 <§7>`] "package". 1. finally, we list the uses of COMMONS by the various routines [:ref:`§8 <§8>`] Routine CALCUL essentially takes as arguments the name of an option you want to calculate, the name of a LIGREL on which you want to perform this calculation and lists of IN/ OUT parameters and IN/ OUT fields corresponding to these parameters that are necessary for calculating the option. These lists are noted below LPAIN, LPAOU,, LCHIN and LCHOU,