Reducing overhead when no collisions are present

Particles are added to lists only if there are MCC collisions. Hopefully
this will reduce overhead when OpenMP is used and no collisions are
active.
This commit is contained in:
Jorge Gonzalez 2023-01-07 12:12:37 +01:00
commit 7ce1b7a4dd
13 changed files with 142 additions and 114 deletions

View file

@ -59,7 +59,7 @@ MODULE moduleMesh1DCart
PROCEDURE, PASS:: phy2log => phy2logSegm
PROCEDURE, PASS:: neighbourElement => neighbourElementSegm
!PARTICLUAR PROCEDURES
PROCEDURE, PASS, PRIVATE:: vol => volumeSegm
PROCEDURE, PASS, PRIVATE:: calculateVolume => volumeSegm
END TYPE meshCell1DCartSegm
@ -193,7 +193,7 @@ MODULE moduleMesh1DCart
self%x = (/ r1(1), r2(1) /)
!Assign node volume
CALL self%vol()
CALL self%calculateVolume()
CALL OMP_INIT_LOCK(self%lock)
@ -419,7 +419,7 @@ MODULE moduleMesh1DCart
END SUBROUTINE neighbourElementSegm
!Compute element vol
!Compute element volume
PURE SUBROUTINE volumeSegm(self)
IMPLICIT NONE
@ -478,10 +478,10 @@ MODULE moduleMesh1DCart
INTEGER:: e, et
DO e = 1, self%numCells
!Connect Vol-Vol
!Connect Cell-Cell
DO et = 1, self%numCells
IF (e /= et) THEN
CALL connectVolVol(self%cells(e)%obj, self%cells(et)%obj)
CALL connectCellCell(self%cells(e)%obj, self%cells(et)%obj)
END IF
@ -489,9 +489,9 @@ MODULE moduleMesh1DCart
SELECT TYPE(self)
TYPE IS(meshParticles)
!Connect Vol-Edge
!Connect Cell-Edge
DO et = 1, self%numEdges
CALL connectVolEdge(self%cells(e)%obj, self%edges(et)%obj)
CALL connectCellEdge(self%cells(e)%obj, self%edges(et)%obj)
END DO
@ -501,7 +501,7 @@ MODULE moduleMesh1DCart
END SUBROUTINE connectMesh1DCart
SUBROUTINE connectVolVol(elemA, elemB)
SUBROUTINE connectCellCell(elemA, elemB)
IMPLICIT NONE
CLASS(meshCell), INTENT(inout):: elemA
@ -517,7 +517,7 @@ MODULE moduleMesh1DCart
END SELECT
END SUBROUTINE connectVolVol
END SUBROUTINE connectCellCell
SUBROUTINE connectSegmSegm(elemA, elemB)
IMPLICIT NONE
@ -542,7 +542,7 @@ MODULE moduleMesh1DCart
END SUBROUTINE connectSegmSegm
SUBROUTINE connectVolEdge(elemA, elemB)
SUBROUTINE connectCellEdge(elemA, elemB)
IMPLICIT NONE
CLASS(meshCell), INTENT(inout):: elemA
@ -558,7 +558,7 @@ MODULE moduleMesh1DCart
END SELECT
END SUBROUTINE connectVolEdge
END SUBROUTINE connectCellEdge
SUBROUTINE connectSegmEdge(elemA, elemB)
IMPLICIT NONE