docs: def __calculate_atoms_per_cm3(self, used_lock=False):
          """calculate for each element, the atoms per cm3"""
          stack = self.stack
          _density_lock = self.density_lock
  
          for _name_of_compound in stack.keys():
              if used_lock and _density_lock[_name_of_compound]:
                  continue
              molar_mass_layer, atoms_per_cm3_layer = _utilities.get_atoms_per_cm3_of_layer(
                  compound_dict=stack[_name_of_compound])
              # Update layer molar mass
              stack[_name_of_compound]['molar_mass'] = {'value': molar_mass_layer,
                                                        'units': 'g/mol'}
              # Update atoms per cm3
              stack[_name_of_compound]['atoms_per_cm3'] = atoms_per_cm3_layer
              for _index, _name_of_ele in enumerate(stack[_name_of_compound]['elements']):
                  stack[_name_of_compound][_name_of_ele]['atoms_per_cm3'] = atoms_per_cm3_layer * \
                                                                            stack[_name_of_compound][
                                                                                'stoichiometric_ratio'][_index]
          self.stack = stack