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:
parent
1c5b887a6d
commit
7ce1b7a4dd
13 changed files with 142 additions and 114 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue