Hello dokken, I follow the Fenicsx tutorial using dolfinx.The code corresponding with xdmf is as follows
xdmf=io.XDMFFile(domain.comm,"Heat_eq/diffusion.xdmf","w")
xdmf.write_mesh(domain)
uh=fem.Function(V)
uh.name="uh"
uh.interpolate(initial_condition)
xdmf.write_function(uh,t)
The xdmf file is as follows where I choose a small time step with a small mesh
<?xml version="1.0"?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
<Xdmf Version="3.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<Domain>
<Grid Name="mesh" GridType="Uniform">
<Topology TopologyType="Triangle" NumberOfElements="200" NodesPerElement="3">
<DataItem Dimensions="200 3" NumberType="Int" Format="HDF">diffusion.h5:/Mesh/mesh/topology</DataItem>
</Topology>
<Geometry GeometryType="XY">
<DataItem Dimensions="121 2" Format="HDF">diffusion.h5:/Mesh/mesh/geometry</DataItem>
</Geometry>
</Grid>
<Grid Name="uh" GridType="Collection" CollectionType="Temporal">
<Grid Name="uh" GridType="Uniform">
<xi:include xpointer="xpointer(/Xdmf/Domain/Grid[@GridType='Uniform'][1]/*[self::Topology or self::Geometry])" />
<Time Value="0" />
<Attribute Name="uh" AttributeType="Scalar" Center="Node">
<DataItem Dimensions="121 1" Format="HDF">diffusion.h5:/Function/uh/0</DataItem>
</Attribute>
</Grid>
<Grid Name="uh" GridType="Uniform">
<xi:include xpointer="xpointer(/Xdmf/Domain/Grid[@GridType='Uniform'][1]/*[self::Topology or self::Geometry])" />
<Time Value="1" />
<Attribute Name="uh" AttributeType="Scalar" Center="Node">
<DataItem Dimensions="121 1" Format="HDF">diffusion.h5:/Function/uh/1</DataItem>
</Attribute>
</Grid>
<Grid Name="uh" GridType="Uniform">
<xi:include xpointer="xpointer(/Xdmf/Domain/Grid[@GridType='Uniform'][1]/*[self::Topology or self::Geometry])" />
<Time Value="2" />
<Attribute Name="uh" AttributeType="Scalar" Center="Node">
<DataItem Dimensions="121 1" Format="HDF">diffusion.h5:/Function/uh/2</DataItem>
</Attribute>
</Grid>
</Grid>
</Domain>
</Xdmf>