Input: A D-EVM and the number of dimensions .
Output: The number of internal contacts perpendicular to -axis.
(1)Procedure  InternalContacts  (D-EVM , )
(2)     EVM couplet, currentSection, previousSection;
(3)     EVM sectionInt; // Intersection result
(4)     integer 1, 2; // Couplets coordinates
(5)     integer nCoords;
(6)     integer ; // Total internal contacts
(7)     previousSection InitEVM ( );
(8)     1  getCoord ();
(9)     couplet readCouplet ();
(10)   while  !endEVM ()  do
              // Internal contacts for the current slice
(11)            currentSection getSection (previousSection, couplet);
(12)           2  getCoord (p);
(13)           ;
(14)            icic + Coords Content (currentSection, );
              // Internal contacts between consecutive slices
(15)            sectionInt BooleanOperation (previousSection, currentSection, , );
(16)            icic + Content (sectionInt,);
(17)           ;
(18)           ;
(19)            couplet readCouplet ();
(20)   return ic
Algorithm 4: Computing the () adjacencies, shared () cells, between the hypervoxels that originally defined to a given D-OPP .