def format_geometry_in
      line = "atom %16.6f %16.6f %16.6f %s" % [self.x, self.y, self.z, self.species]
      if self.constrain
        if self.constrain == true
          line << "\nconstrain_relaxation .true."
        elsif self.constrain.is_a? String
          line << "\nconstrain_relaxation #{self.constrain}"
        elsif self.constrain.is_a? Array and not self.constrain.empty?
          self.constrain.each{|c|
            line << "\nconstrain_relaxation #{c}"            
          }
          line << "\n"
        end
      end
      line
    end
def format_geometry_in
      line = "atom %16.6f %16.6f %16.6f %s" % [self.x, self.y, self.z, self.species]
      if self.constrain
        if self.constrain == true
          line << "\nconstrain_relaxation .true."
        elsif self.constrain.is_a? String
          line << "\nconstrain_relaxation #{self.constrain}"
        elsif self.constrain.is_a? Array and not self.constrain.empty?
          self.constrain.each{|c|
            line << "\nconstrain_relaxation #{c}"            
          }
          line << "\n"
        end
      end
      line
    end
Print a string representation of this atom formatted in the
 geometry.in format used by Aims