The program reads the case but stops while doind the simulation

This commit is contained in:
Jorge Gonzalez 2026-02-26 14:25:47 +01:00
commit 31f0b510bc
5 changed files with 224 additions and 215 deletions

View file

@ -642,21 +642,33 @@ MODULE moduleMesh
integer:: n
character(:), allocatable:: name
contains
procedure, pass:: init => initBoundaryParticle
procedure(applyParticle_interface), deferred, pass:: apply
end type boundaryParticleGeneric
interface
module subroutine initBoundaryParticle(self, config, object, b)
use json_module
module subroutine initWallTemperature(boundary, T, c)
CLASS(boundaryParticleGeneric), ALLOCATABLE, INTENT(inout):: boundary
REAL(8), INTENT(in):: T, c !Wall temperature and specific heat
class(boundaryParticleGeneric), intent(out):: self
type(json_file), intent(inout):: config
character(:), allocatable, intent(in):: object
integer, intent(in):: b
end subroutine initWallTemperature
end subroutine initBoundaryParticle
module subroutine initIonization(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
integer, intent(in):: ion
real(8), intent(in):: effTime
character(:), allocatable, intent(in):: crossSection
real(8), intent(in):: eThreshold
integer, optional, intent(in):: electronSecondary
end subroutine initIonization
module subroutine initQuasiNeutrality(boundary)
class(boundaryParticleGeneric), allocatable, intent(inout):: boundary
end subroutine initQuasiNeutrality
module function boundaryParticleName_to_Index(boundaryName) result(bp)
character(:), allocatable:: boundaryName
@ -844,7 +856,7 @@ MODULE moduleMesh
!Number of boundaries
INTEGER:: nBoundariesParticle = 0
!Array for boundaries
TYPE(boundaryParticleCont), ALLOCATABLE, TARGET:: boundariesParticle(:)
type(boundaryParticleCont), allocatable, target:: boundariesParticle(:)
! BOUNDARY ELECTROMAGNETIC DEFINITIONS
! Generic type for electromagnetic boundary conditions
@ -856,21 +868,28 @@ MODULE moduleMesh
procedure(updateEM_interface), pointer, pass:: update => null()
contains
procedure, pass:: init => initBoundaryEM
procedure(applyEM_interface), deferred, pass:: apply
end type boundaryEMGeneric
interface
module subroutine initBoundaryEM(self, config, object, b)
module subroutine initDirichlet(self, config, object)
use json_module
class(boundaryEMGeneric), intent(out):: self
class(boundaryEMGeneric), allocatable, intent(inout):: self
type(json_file), intent(inout):: config
character(:), allocatable, intent(in):: object
integer, intent(in):: b
end subroutine initBoundaryEM
end subroutine initDirichlet
module subroutine initDirichletTime(self, config, object)
use json_module
class(boundaryEMGeneric), allocatable, intent(inout):: self
type(json_file), intent(inout):: config
character(:), allocatable, intent(in):: object
end subroutine initDirichletTime
module function boundaryEMName_to_Index(boundaryName) result(bp)
character(:), allocatable:: boundaryName