Skip to content

Getting different velocities in versions 0.9.0 and 0.10.0 #625

Closed
@dad616610

Description

Consider the following example

Example

import pandapipes as pp

def main():
    net = pp.create_empty_network("network", fluid="lgas")

    pp.create_junctions(net, nr_junctions=2, pn_bar=1, tfluid_k=300)
    pp.create_pipe_from_parameters(net, from_junction=0, to_junction=1, length_km=0.1, diameter_m=0.2)
    pp.create_ext_grid(net, junction=0, p_bar=6)
    pp.create_sink(net, junction=1, mdot_kg_per_s=6)

    pp.pipeflow(net, mode="hydraulics", friction_model="colebrook")

    print(net.res_pipe)


if __name__ == "__main__":
    main()

Result in 0.9.0

   v_from_m_per_s  v_to_m_per_s  v_mean_m_per_s  p_from_bar  p_to_bar  \
0       41.008797     43.510454       42.211015         6.0  5.602638   

   t_from_k  t_to_k  mdot_from_kg_per_s  mdot_to_kg_per_s  vdot_norm_m3_per_s  \
0     300.0   300.0                 6.0              -6.0            8.246366   

       reynolds   lambda  normfactor_from  normfactor_to  
0  3.160386e+06  0.01971          0.15623        0.16576 

Result in 0.10.0

   v_from_m_per_s  v_to_m_per_s  v_mean_m_per_s  p_from_bar  p_to_bar  \
0       37.320712     39.376898       38.312616         6.0  5.639141

   t_from_k  t_to_k  mdot_from_kg_per_s  mdot_to_kg_per_s  vdot_norm_m3_per_s  \
0     300.0   300.0                 6.0              -6.0            7.504737

       reynolds    lambda  normfactor_from  normfactor_to
0  3.160386e+06  0.019722          0.15623       0.164837

As you can see the velocity is drastically changed. Is this intentional? Could this PR #597 be a velocity changer?

I used velocity to calculate the Reynolds number by hand using this formula:

$$Re = \frac{net.res\_pipe['v\_from\_m\_per\_s'] * pp.get\_fluid(net).get\_density(T) * net.pipe['diameter\_m']}{pp.get\_fluid(net).get\_viscocity(T) * net.res\_pipe['normfactor\_from']}$$

, where T is the initial temperature

The formula above in Python

T = 300
Re = (
    pp.get_fluid(net).get_density(T)
    * net.res_pipe["v_from_m_per_s"]
    / net.res_pipe["normfactor_from"]
    * net.pipe["diameter_m"]
    / pp.get_fluid(net).get_viscosity(T)
)

With version 0.9.0 the Reynolds numbers calculated by pandapipes and by hand matched. With version 0.10.0, however, the Reynolds numbers didn't match. The Reynolds numbers calculated by pandapipes are identical in versions 0.9.0 and 0.10.0

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions