From 818f9fe37b31cfb7ded022bdac62127f8e8ee2d4 Mon Sep 17 00:00:00 2001 From: JGonzalez Date: Sat, 14 Mar 2026 20:28:03 +0100 Subject: [PATCH] Rename of procedures in boundaries --- src/modules/init/moduleInput.f90 | 6 +- src/modules/mesh/moduleMesh.f90 | 64 ++++++++++--------- .../mesh/moduleMesh@boundaryParticle.f90 | 46 ++++++------- 3 files changed, 61 insertions(+), 55 deletions(-) diff --git a/src/modules/init/moduleInput.f90 b/src/modules/init/moduleInput.f90 index c5be312..8b7aaff 100644 --- a/src/modules/init/moduleInput.f90 +++ b/src/modules/init/moduleInput.f90 @@ -864,7 +864,7 @@ MODULE moduleInput CALL config%get(object // '.specificHeat', cw, found) IF (.NOT. found) CALL criticalError("specificHeat not found for wallTemperature boundary type", 'readBoundary') - CALL initWallTemperature(bound, Tw, cw) + CALL wallTemperature_init(bound, Tw, cw) CASE('ionization') !Neutral parameters @@ -882,10 +882,10 @@ MODULE moduleInput CALL config%get(object // '.electronSecondary', electronSecondary, found) IF (found) THEN electronSecondaryID = speciesName2Index(electronSecondary) - CALL initIonization(bound, me/m_ref, m0, n0, v0, T0, & + CALL ionization_init(bound, me/m_ref, m0, n0, v0, T0, & speciesID, effTime, crossSection, eThreshold, electronSecondaryID) ELSE - CALL initIonization(bound, me/m_ref, m0, n0, v0, T0, & + CALL ionization_init(bound, me/m_ref, m0, n0, v0, T0, & speciesID, effTime, crossSection, eThreshold) END IF diff --git a/src/modules/mesh/moduleMesh.f90 b/src/modules/mesh/moduleMesh.f90 index de6fb54..7ce7565 100644 --- a/src/modules/mesh/moduleMesh.f90 +++ b/src/modules/mesh/moduleMesh.f90 @@ -664,13 +664,15 @@ MODULE moduleMesh end type boundaryParticleGeneric interface - module subroutine initWallTemperature(boundary, T, c) + ! Init interfaces + ! wallTemeprature + module subroutine wallTemperature_init(boundary, T, c) CLASS(boundaryParticleGeneric), ALLOCATABLE, INTENT(inout):: boundary REAL(8), INTENT(in):: T, c !Wall temperature and specific heat - end subroutine initWallTemperature + end subroutine wallTemperature_init - module subroutine initIonization(boundary, mImpact, m0, n0, v0, T0, ion, effTime, crossSection, eThreshold, electronSecondary) + module subroutine ionization_init(boundary, mImpact, m0, n0, v0, T0, ion, effTime, crossSection, eThreshold, electronSecondary) class(boundaryParticleGeneric), allocatable, intent(inout):: boundary real(8), intent(in):: mImpact real(8), intent(in):: m0, n0, v0(1:3), T0 !Neutral properties @@ -680,20 +682,23 @@ MODULE moduleMesh real(8), intent(in):: eThreshold integer, optional, intent(in):: electronSecondary - end subroutine initIonization + end subroutine ionization_init + ! quasiNeutrality module subroutine quasiNeutrality_init(boundary, s_incident) class(boundaryParticleGeneric), allocatable, intent(inout):: boundary integer, intent(in):: s_incident end subroutine quasiNeutrality_init + ! outflowAdaptive module subroutine outflowAdaptive_init(boundary, s_incident) class(boundaryParticleGeneric), allocatable, intent(inout):: boundary integer, intent(in):: s_incident end subroutine outflowAdaptive_init + ! Get the index of the species from its name module function boundaryParticleName_to_Index(boundaryName) result(bp) character(:), allocatable:: boundaryName integer:: bp @@ -703,6 +708,7 @@ MODULE moduleMesh end interface abstract interface + ! Apply the effects of the boundary to the particle subroutine applyParticle_interface(self, edge, part) use moduleSpecies import boundaryParticleGeneric, meshEdge @@ -721,7 +727,7 @@ MODULE moduleMesh end subroutine updateParticle_interface - ! Update the values of the particle boundary model + ! Write the values of the particle boundary model subroutine printParticle_interface(self, fileID) import boundaryParticleGeneric @@ -735,28 +741,28 @@ MODULE moduleMesh !Reflecting boundary TYPE, PUBLIC, EXTENDS(boundaryParticleGeneric):: boundaryReflection CONTAINS - procedure, pass:: apply => reflection + procedure, pass:: apply => reflection_apply END TYPE boundaryReflection !Absorption boundary TYPE, PUBLIC, EXTENDS(boundaryParticleGeneric):: boundaryAbsorption CONTAINS - procedure, pass:: apply => absorption + procedure, pass:: apply => absorption_apply END TYPE boundaryAbsorption !Transparent boundary TYPE, PUBLIC, EXTENDS(boundaryParticleGeneric):: boundaryTransparent CONTAINS - procedure, pass:: apply => transparent + procedure, pass:: apply => transparent_apply END TYPE boundaryTransparent !Symmetry axis TYPE, PUBLIC, EXTENDS(boundaryParticleGeneric):: boundaryAxis CONTAINS - procedure, pass:: apply => symmetryAxis + procedure, pass:: apply => symmetryAxis_apply END TYPE boundaryAxis @@ -765,7 +771,7 @@ MODULE moduleMesh !Thermal velocity of the wall: square root(Wall temperature X specific heat) REAL(8):: vTh CONTAINS - procedure, pass:: apply => wallTemperature + procedure, pass:: apply => wallTemperature_apply END TYPE boundaryWallTemperature @@ -781,7 +787,7 @@ MODULE moduleMesh integer:: tally integer(KIND=OMP_LOCK_KIND):: tally_lock CONTAINS - procedure, pass:: apply => ionization + procedure, pass:: apply => ionization_apply END TYPE boundaryIonization @@ -791,7 +797,7 @@ MODULE moduleMesh integer:: s_incident ! species index of the incident species type(meshEdgePointer), allocatable:: edges(:) !Array with edges contains - procedure, pass:: apply => quasiNeutrality + procedure, pass:: apply => quasiNeutrality_apply end type boundaryQuasiNeutrality @@ -801,82 +807,82 @@ MODULE moduleMesh integer:: s_incident ! species index of the incident species type(meshEdgePointer), allocatable:: edges(:) !Array with edges contains - procedure, pass:: apply => outflowAdaptive + procedure, pass:: apply => outflowAdaptive_apply end type boundaryOutflowAdaptive interface - module subroutine reflection(self, edge, part) + module subroutine reflection_apply(self, edge, part) use moduleSpecies class(boundaryReflection), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine reflection + end subroutine reflection_apply - module subroutine absorption(self, edge, part) + module subroutine absorption_apply(self, edge, part) use moduleSpecies class(boundaryAbsorption), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine absorption + end subroutine absorption_apply - module subroutine transparent(self, edge, part) + module subroutine transparent_apply(self, edge, part) use moduleSpecies class(boundaryTransparent), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine transparent + end subroutine transparent_apply - module subroutine symmetryAxis(self, edge, part) + module subroutine symmetryAxis_apply(self, edge, part) use moduleSpecies class(boundaryAxis), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine symmetryAxis + end subroutine symmetryAxis_apply - module subroutine wallTemperature(self, edge, part) + module subroutine wallTemperature_apply(self, edge, part) use moduleSpecies class(boundaryWallTemperature), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine wallTemperature + end subroutine wallTemperature_apply - module subroutine ionization(self, edge, part) + module subroutine ionization_apply(self, edge, part) use moduleSpecies class(boundaryIonization), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine ionization + end subroutine ionization_apply - module subroutine quasiNeutrality(self, edge, part) + module subroutine quasiNeutrality_apply(self, edge, part) use moduleSpecies class(boundaryQuasiNeutrality), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine quasiNeutrality + end subroutine quasiNeutrality_apply - module subroutine outflowAdaptive(self, edge, part) + module subroutine outflowAdaptive_apply(self, edge, part) use moduleSpecies class(boundaryOutflowAdaptive), intent(inout):: self class(meshEdge), intent(inout):: edge class(particle), intent(inout):: part - end subroutine outflowAdaptive + end subroutine outflowAdaptive_apply ! Generic basic boundary conditions to use internally in the code module subroutine genericReflection(edge, part) diff --git a/src/modules/mesh/moduleMesh@boundaryParticle.f90 b/src/modules/mesh/moduleMesh@boundaryParticle.f90 index ce5e1f5..0280dcf 100644 --- a/src/modules/mesh/moduleMesh@boundaryParticle.f90 +++ b/src/modules/mesh/moduleMesh@boundaryParticle.f90 @@ -26,7 +26,7 @@ submodule(moduleMesh) boundaryParticle end function boundaryParticleName_to_Index - module SUBROUTINE reflection(self, edge, part) + module SUBROUTINE reflection_apply(self, edge, part) USE moduleCaseParam USE moduleSpecies IMPLICIT NONE @@ -50,10 +50,10 @@ submodule(moduleMesh) boundaryParticle !particle is assumed to be inside part%n_in = .TRUE. - END SUBROUTINE reflection + END SUBROUTINE reflection_apply !Absoption in a surface - module SUBROUTINE absorption(self, edge, part) + module SUBROUTINE absorption_apply(self, edge, part) USE moduleCaseParam USE moduleSpecies IMPLICIT NONE @@ -87,10 +87,10 @@ submodule(moduleMesh) boundaryParticle END IF - END SUBROUTINE absorption + END SUBROUTINE absorption_apply !Transparent boundary condition - module SUBROUTINE transparent(self, edge, part) + module SUBROUTINE transparent_apply(self, edge, part) USE moduleSpecies IMPLICIT NONE @@ -101,12 +101,12 @@ submodule(moduleMesh) boundaryParticle !Removes particle from domain part%n_in = .FALSE. - END SUBROUTINE transparent + END SUBROUTINE transparent_apply !Symmetry axis. Reflects particles. !Although this function should never be called, it is set as a reflective boundary !to properly deal with possible particles reaching a corner and selecting this boundary. - module SUBROUTINE symmetryAxis(self, edge, part) + module SUBROUTINE symmetryAxis_apply(self, edge, part) USE moduleSpecies IMPLICIT NONE @@ -116,12 +116,12 @@ submodule(moduleMesh) boundaryParticle CALL genericReflection(edge, part) - END SUBROUTINE symmetryAxis + END SUBROUTINE symmetryAxis_apply ! wallTemperature ! During the collision, the boundary transfers part of the energy to the incident particle ! Init - module SUBROUTINE initWallTemperature(boundary, T, c) + module SUBROUTINE wallTemperature_init(boundary, T, c) USE moduleRefParam IMPLICIT NONE @@ -138,10 +138,10 @@ submodule(moduleMesh) boundaryParticle end select - END SUBROUTINE initWallTemperature + END SUBROUTINE wallTemperature_init ! Apply - module SUBROUTINE wallTemperature(self, edge, part) + module SUBROUTINE wallTemperature_apply(self, edge, part) USE moduleSpecies USE moduleRandom IMPLICIT NONE @@ -159,12 +159,12 @@ submodule(moduleMesh) boundaryParticle CALL genericReflection(edge, part) - END SUBROUTINE wallTemperature + END SUBROUTINE wallTemperature_apply ! ionization ! An electron will pass through the surface and create a series of ion-electron pairs based on a neutral background !init - module SUBROUTINE initIonization(boundary, mImpact, m0, n0, v0, T0, ion, effTime, crossSection, eThreshold, electronSecondary) + module SUBROUTINE ionization_init(boundary, mImpact, m0, n0, v0, T0, ion, effTime, crossSection, eThreshold, electronSecondary) use moduleRefParam use moduleSpecies use moduleCaseParam @@ -212,7 +212,7 @@ submodule(moduleMesh) boundaryParticle boundary%eThreshold = eThreshold*eV2J/(m_ref*v_ref**2) boundary%deltaV = DSQRT(boundary%eThreshold/mImpact) - boundary%update => ionization_resetTally + boundary%update => ionization_update boundary%print => ionization_print boundary%tally = 0 @@ -220,10 +220,10 @@ submodule(moduleMesh) boundaryParticle END SELECT - END SUBROUTINE initIonization + END SUBROUTINE ionization_init ! Apply - module SUBROUTINE ionization(self, edge, part) + module SUBROUTINE ionization_apply(self, edge, part) USE moduleList USE moduleSpecies USE moduleMesh @@ -324,10 +324,10 @@ submodule(moduleMesh) boundaryParticle !Removes ionizing electron regardless the number of pair created part%n_in = .FALSE. - END SUBROUTINE ionization + END SUBROUTINE ionization_apply ! Update - subroutine ionization_resetTally(self) + subroutine ionization_update(self) implicit none class(boundaryParticleGeneric), intent(inout):: self @@ -338,7 +338,7 @@ submodule(moduleMesh) boundaryParticle end select - end subroutine ionization_resetTally + end subroutine ionization_update ! Print subroutine ionization_print(self, fileID) @@ -382,7 +382,7 @@ submodule(moduleMesh) boundaryParticle end subroutine quasiNeutrality_init ! Apply - module subroutine quasiNeutrality(self, edge, part) + module subroutine quasiNeutrality_apply(self, edge, part) use moduleRandom implicit none @@ -398,7 +398,7 @@ submodule(moduleMesh) boundaryParticle end if - end subroutine quasiNeutrality + end subroutine quasiNeutrality_apply ! Update subroutine quasiNeutrality_update(self) @@ -513,7 +513,7 @@ submodule(moduleMesh) boundaryParticle end subroutine outflowAdaptive_init ! Apply - module subroutine outflowAdaptive(self, edge, part) + module subroutine outflowAdaptive_apply(self, edge, part) use moduleSpecies use moduleRefParam, only: v_ref implicit none @@ -532,7 +532,7 @@ submodule(moduleMesh) boundaryParticle end if - end subroutine outflowAdaptive + end subroutine outflowAdaptive_apply ! Update subroutine outflowAdaptive_update(self)