Problem with the density of the coolant

Helle all, i am now doing some research on the effect of coolant axial temperature on power distribution. The model is only a single fuel rod divided into 16 layers with lower tem at the first coolant layer and higher tem at the last coolant layer. The fuel layers are the same density and the same tem.
Here is my materials:

for i in range(16):
    Coolant.append(openmc.Material(name='Coolant'+str(i+1)))
    Coolant[-1].set_density(units='g/cm3', density=0.7119*(1-0.00329871*(-26.85+i*(320-280)/15)))
    Coolant[-1].add_element('H', 2., 'ao')
    Coolant[-1].add_element('O', 1., 'ao')
    Coolant[-1].add_s_alpha_beta('c_H_in_H2O')
    Coolant[-1].temperature = 280+273.15+i*(320-280)/15

But when i tally fission of the fuel layer, the result is as below:


which is totally different with the expectation. The power of first layer(coolant 280°C) is lower than that of last layer(320°C).
I do several tests, I sure that the problem is the density of the coolant, but i dont know how to solve it. Does anyone have an idea?
Thanks
Richard

Maybe the moderator-to-fuel ratio is not correct to obtain a negative feedback mechanism. The fact that a higher moderator temperature would decrease power in the fuel is only true if you start with an under-moderated system (as reactors are designed to be). But if you start with an over-moderated system, you will have a positive feedback mechanism. Read more here. To change your moderator-to-fuel ratio, you may need to change the pitch of your fuel rod or the density of the fuel.

I’ve solved the problem with your suggestion. Thanks a lot