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 moduleMesh1DRad
|
|||
PROCEDURE, PASS:: phy2log => phy2logSegm
|
||||
PROCEDURE, PASS:: neighbourElement => neighbourElementSegm
|
||||
!PARTICLUAR PROCEDURES
|
||||
PROCEDURE, PASS, PRIVATE:: vol => volumeSegm
|
||||
PROCEDURE, PASS, PRIVATE:: calculateVolume => volumeSegm
|
||||
|
||||
END TYPE meshCell1DRadSegm
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ MODULE moduleMesh1DRad
|
|||
self%r = (/ r1(1), r2(1) /)
|
||||
|
||||
!Assign node volume
|
||||
CALL self%vol()
|
||||
CALL self%calculateVolume()
|
||||
|
||||
CALL OMP_INIT_LOCK(self%lock)
|
||||
|
||||
|
|
@ -427,7 +427,7 @@ MODULE moduleMesh1DRad
|
|||
|
||||
END SUBROUTINE neighbourElementSegm
|
||||
|
||||
!Compute element vol
|
||||
!Compute element volume
|
||||
PURE SUBROUTINE volumeSegm(self)
|
||||
USE moduleConstParam, ONLY: PI4
|
||||
IMPLICIT NONE
|
||||
|
|
@ -493,10 +493,10 @@ MODULE moduleMesh1DRad
|
|||
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
|
||||
|
||||
|
|
@ -504,9 +504,9 @@ MODULE moduleMesh1DRad
|
|||
|
||||
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
|
||||
|
||||
|
|
@ -516,7 +516,7 @@ MODULE moduleMesh1DRad
|
|||
|
||||
END SUBROUTINE connectMesh1DRad
|
||||
|
||||
SUBROUTINE connectVolVol(elemA, elemB)
|
||||
SUBROUTINE connectCellCell(elemA, elemB)
|
||||
IMPLICIT NONE
|
||||
|
||||
CLASS(meshCell), INTENT(inout):: elemA
|
||||
|
|
@ -532,7 +532,7 @@ MODULE moduleMesh1DRad
|
|||
|
||||
END SELECT
|
||||
|
||||
END SUBROUTINE connectVolVol
|
||||
END SUBROUTINE connectCellCell
|
||||
|
||||
SUBROUTINE connectSegmSegm(elemA, elemB)
|
||||
IMPLICIT NONE
|
||||
|
|
@ -557,7 +557,7 @@ MODULE moduleMesh1DRad
|
|||
|
||||
END SUBROUTINE connectSegmSegm
|
||||
|
||||
SUBROUTINE connectVolEdge(elemA, elemB)
|
||||
SUBROUTINE connectCellEdge(elemA, elemB)
|
||||
IMPLICIT NONE
|
||||
|
||||
CLASS(meshCell), INTENT(inout):: elemA
|
||||
|
|
@ -573,7 +573,7 @@ MODULE moduleMesh1DRad
|
|||
|
||||
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