def METHOD_NAME(self, ptype):
    """
    This function breaks the FourMetalFractions field (if present)
    into its four component metal fraction fields and adds
    corresponding metal density fields which will later get smoothed
    This gets used with the Gadget group0000 format
    as defined in the gadget_field_specs in frontends/gadget/definitions.py
    """
    metal_names = ["C", "O", "Si", "Fe"]
    def _Fraction(field, data, i: int):
        return data[(ptype, "FourMetalFractions")][:, i]
    def _Metal_density(field, data, i: int):
        return data[(ptype, "FourMetalFractions")][:, i] * data[(ptype, "density")]
    for i, metal_name in enumerate(metal_names):
        # add the metal fraction fields
        self.add_field(
            (ptype, metal_name + "_fraction"),
            sampling_type="particle",
            function=partial(_Fraction, i=i),
            units="",
        )
        # add the metal density fields
        self.add_field(
            (ptype, metal_name + "_density"),
            sampling_type="particle",
            function=partial(_Metal_density, i=i),
            units=self.ds.unit_system["density"],
        )
    return metal_names