Skip to content

Infinite contact_length Error - contact length calculation #240

@RichardPfr

Description

@RichardPfr

The contact_length is currently calculated like this:

@RollPass.Roll.contact_length
def contact_length(self: RollPass.Roll):
height_change = self.roll_pass.in_profile.height - self.roll_pass.height
return np.sqrt(self.min_radius * height_change - height_change ** 2 / 4)

Problem

In cases like in the following this height_change outputs a negative value which in turn causes an error in the return function:

This is because for the roll_pass.height PyRolL only looks at the tip depth of the groove and if that is grater than the incoming profile it thinks, that both dont touch at all so no contact length would be there.

Proposed Solution

As the picture above shows though there would logically be a contact_length.
Would it be feasible, to handle the contact length calculation differently in these cases, by looking at the intersection of groove and in_profile instead?

P.S.:
The Error that is output with the above:
grafik

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions