View Issue Details

IDProjectCategoryView StatusLast Update
0000318OpenFOAMBugpublic2011-10-19 15:58
Reporteruser26Assigned Tohenry  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSOpenSuseOS Version11.3
Summary0000318: Face swept volume optimisation
DescriptionSince other functions in face.C seem to have an optimisation for triangles, I was wondering if something similar could be done for face swept-volumes:

So, in face::sweptVol, we could have something like this -

    if (face.size() == 3)
    {
        return
        (
            triPointRef
            (
                oldPoints[operator[0]],
                oldPoints[operator[1]],
                oldPoints[operator[2]]
            ).sweptVol
            (
                newPoints[operator[0]],
                newPoints[operator[1]],
                newPoints[operator[2]]
            )
        );
    }

Thanks,
Sandeep
TagsNo tags attached.

Activities

henry

2011-10-19 15:47

manager   ~0000723

Sure it could be added but it is not clear it would improve the performance much given the cost of the sweptVol operation on a triangle. Try it and let us know.

user26

2011-10-19 15:52

  ~0000724

Henry,

I agree that performance improvement would probably be minor, but it also helps to minimize round-off, particularly with skewed/sliver triangles, since it avoids the unnecessary decomposition and computes the value directly.

Thanks,
Sandeep

henry

2011-10-19 15:58

manager   ~0000725

Fair point, I will make the change for the next release.

Issue History

Date Modified Username Field Change
2011-10-19 14:45 user26 New Issue
2011-10-19 15:47 henry Note Added: 0000723
2011-10-19 15:52 user26 Note Added: 0000724
2011-10-19 15:58 henry Note Added: 0000725
2011-10-19 15:58 henry Status new => resolved
2011-10-19 15:58 henry Resolution open => fixed
2011-10-19 15:58 henry Assigned To => henry