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 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