code: def from_structure(cls, structure, ff_elements=None, atom_style="charge"):
          
          s = structure.get_sorted_structure()
          box, symmop = lattice_2_lmpbox(s.lattice)
          coords = symmop.operate_multi(s.cart_coords)
          site_properties = s.site_properties
          if "velocities" in site_properties:
              velos = np.array(s.site_properties["velocities"])
              rot = SymmOp.from_rotation_and_translation(symmop.rotation_matrix)
              rot_velos = rot.operate_multi(velos)
              site_properties.update({"velocities": rot_velos})
          boxed_s = Structure(box.to_lattice(), s.species, coords,
                              site_properties=site_properties,
                              coords_are_cartesian=True)
  
          symbols = list(s.symbol_set)
          if ff_elements:
              symbols.extend(ff_elements)
          elements = sorted(Element(el) for el in set(symbols))
          mass_info = [tuple([i.symbol] * 2) for i in elements]
          ff = ForceField(mass_info)
          topo = Topology(boxed_s)
          return cls.from_ff_and_topologies(box=box, ff=ff, topologies=[topo],
                                            atom_style=atom_style)
docs: Simple constructor building LammpsData from a structure without
          force field parameters and topologies.
  
          Args:
              structure (Structure): Input structure.
              ff_elements ([str]): List of strings of elements that must
                  be present due to force field settings but not
                  necessarily in the structure. Default to None.
              atom_style (str): Choose between "atomic" (neutral) and
              "charge" (charged). Default to "charge".