FeynMLΒΆ
Convenient saving and loading of style independent feynman diagrams as XML or FeynML.
[1]:
from xsdata.formats.dataclass.parsers import XmlParser
from xsdata.formats.dataclass.serializers import XmlSerializer
from xsdata.formats.dataclass.serializers.config import SerializerConfig
from pyfeyn2 import io_utils
from pyfeyn2.feynmandiagram import FeynmanDiagram, Leg, Propagator, Vertex
[2]:
fd = FeynmanDiagram()
v1 = Vertex("v1")
v2 = Vertex("v2")
p1 = Propagator("p1")
l1 = Leg("l1")
p1.set_source(v1)
p1.set_target(v2)
fd.propagators.append(p1)
fd.vertices.append(v1)
fd.vertices.append(v2)
fd.legs.append(l1)
config = SerializerConfig(pretty_print=True)
serializer = XmlSerializer(config=config)
print(serializer.render(fd))
<?xml version="1.0" encoding="UTF-8"?>
<feynmandiagram>
<propagator id="p1" source="v1" target="v2" pdgid="0" type="" label=""/>
<vertex id="v1" label=""/>
<vertex id="v2" label=""/>
<leg id="l1" target="" pdgid="0" type="" label="" sense=""/>
</feynmandiagram>
[ ]: