petrobras / ross

ROSS is a library written in Python for rotordynamic analysis.
https://ross.readthedocs.io
Apache License 2.0
126 stars 101 forks source link

Add analysis to the 6dof model #1034

Closed raphaeltimbo closed 1 week ago

raphaeltimbo commented 5 months ago

Create tests for 6dof:

jguarato commented 5 months ago

Before creating specific tests for the 6 dof model, I decided to conduct the same analyses performed in the ROSS tutorial. To accomplish this, I took the 4 dof model from the tutorial and converted it to the 6 dof model, as demonstrated in the code snippet below:

rotor_model = rotor3

shaft_elements_lenght = rotor_model.shaft_elements
shaft_elem = [
    rs.ShaftElement6DoF(
        material=rotor_model.shaft_elements[l].material,
        L=rotor_model.shaft_elements[l].L,
        n=rotor_model.shaft_elements[l].n,
        idl=rotor_model.shaft_elements[l].idl,
        odl=rotor_model.shaft_elements[l].odl,
        idr=rotor_model.shaft_elements[l].idr,
        odr=rotor_model.shaft_elements[l].odr,
    )
    for l, p in enumerate(shaft_elements_lenght)
]

disk_elem = [
    rs.DiskElement6DoF(
        n=rotor_model.disk_elements[l].n,
        m=rotor_model.disk_elements[l].m,
        Id=rotor_model.disk_elements[l].Id,
        Ip=rotor_model.disk_elements[l].Ip,
    )
    for l in range(len(rotor_model.disk_elements))
]

bearing_elem = [
    rs.BearingElement6DoF(
        n=rotor_model.bearing_elements[l].n,
        kxx=rotor_model.bearing_elements[l].kxx,
        kyy=rotor_model.bearing_elements[l].kyy,
        cxx=rotor_model.bearing_elements[l].cxx,
        cyy=rotor_model.bearing_elements[l].cyy,
        kxy=rotor_model.bearing_elements[l].kxy,
        kyx=rotor_model.bearing_elements[l].kyx,
        cxy=rotor_model.bearing_elements[l].cxy,
        cyx=rotor_model.bearing_elements[l].cyx,
        frequency=rotor_model.bearing_elements[l].frequency,
    )
    for l in range(len(rotor_model.bearing_elements))
]

rotor3 = rs.Rotor(shaft_elem, disk_elem, bearing_elem)
jguarato commented 3 months ago

Hi @raphaeltimbo!

I was thinking about this issue and had doubts. I'm unsure whether I would have to create analyzes to be included in the documentation, or whether I would have to create quick tests to be run with pytest.