docs: def checking_stack(stack, database='ENDF_VII'):
      """This method makes sure that all the elements from the various stacks are
      in the database and that the thickness has the correct format (float)
  
      Parameters:
      ==========
      stack: dictionary that defines the various stacks
      database: string (default is 'ENDF_VII') name of database
      
      Raises:
      ======
      ValueError if one of the element in one of the stack can not be found 
      ValueError if thickness is not a float
      ValueError if elements and stoichiometric ratio arrays do not have the same size
      
      Return:
      ======
      True: for testing purpose only
      """
      for _keys in stack:
          _elements = stack[_keys]['elements']
          for _element in _elements:
              if not is_element_in_database(element=_element, database=database):
                  raise ValueError("Element {} can not be found in the database".format(_element))
  
          _thickness = stack[_keys]['thickness']['value']
          if not isinstance(_thickness, numbers.Number):
              raise ValueError("Thickness {} should be a number!".format(_thickness))
  
          _stoichiometric_ratio = stack[_keys]['stoichiometric_ratio']
          if len(_stoichiometric_ratio) != len(_elements):
              raise ValueError("stoichiometric Ratio and Elements should have the same size!")
  
      return True